EQL5/examples/M-modules/webkit/Tic-Tac-Toe
2017-04-28 19:10:11 +02:00
..
lib unix: add "make install" option for exe, lib, modules (refactor file locations) 2017-04-28 12:05:59 +02:00
h-utils.lisp add 'search class' to "gui.lisp"; small revesions; 2017-01-03 14:27:34 +01:00
inspector.lisp port of EQL/Qt4 to Qt5 2016-11-25 23:30:38 +01:00
qt.lisp small revision (wrong path for "invokables.lisp") 2017-04-28 19:10:11 +02:00
README-JS-CALLBACKS.txt port of EQL/Qt4 to Qt5 2016-11-25 23:30:38 +01:00
README.txt port of EQL/Qt4 to Qt5 2016-11-25 23:30:38 +01:00
template.htm port of EQL/Qt4 to Qt5 2016-11-25 23:30:38 +01:00
template.lisp add example "video-graphics-item"; add QIdentityProxyModel, QItemEditorCreatorBase; various revisions; 2016-12-20 16:40:05 +01:00
tic-tac-toe.htm port of EQL/Qt4 to Qt5 2016-11-25 23:30:38 +01:00
tic-tac-toe.lisp add example "video-graphics-item"; add QIdentityProxyModel, QItemEditorCreatorBase; various revisions; 2016-12-20 16:40:05 +01:00

WEBKIT APP DEMO
===============

After creating a basic Html skeleton of the GUI, any Html
properties/callbacks can be set from Lisp. 

No Qt/JavaScript code needed, just use the convenience
functions in "h-utils.lisp".


WEB ELEMENT FUNCTIONS
=====================

All QWebElement methods have convenience wrappers, e.g:

  (h:geometry "#c1")
  (h:set-style-property x :color "red")
  (h:hget "*" :onclick)

Given the introspective nature of a WebKit GUI, you can easily
automate GUI testing:

  ;; calls NEW-GAME
  (h:js (h:hget "#new-game" :onclick))

  ;; calls MOVE
  (h:js (h:hget "#c5" :onclick)
        (h:find-first-element "#c5"))

Calling a JS function with e.g. a string argument is as simple as:

  ;; call JS function
  (h:js (format nil "myJavaScriptFunction(~S)" string))


THREADS NOTE
============

Using the functions in "h-utils.lisp", you don't need to
care about "eval in GUI thread" (all EQL functions are wrapped
in QRUN*).