From be2b4520d11253c1d2ca2cbc0882d0a9d2d0585b Mon Sep 17 00:00:00 2001 From: "pls.153" Date: Fri, 25 Feb 2022 15:09:02 +0100 Subject: [PATCH] add readme/screenshot for 'QML Live Preview and Slime'; revisions --- doc/help.htm | 22 ++++++++---- examples/app-template/app.pro | 2 +- .../app-template/build-android/install.sh | 1 + examples/app-template/readme-build.md | 2 +- examples/app-template/run.lisp | 2 +- examples/planets/lisp/txt/sun.txt | 2 +- platforms/shared/make.lisp | 4 +-- readme-build.md | 5 +-- readme-qml-live-preview-and-slime.md | 33 ++++++++++++++++++ screenshots/qml-live-preview-and-slime.jpg | Bin 0 -> 103656 bytes src/cpp/ecl_ext.cpp | 26 ++++++++++++-- src/cpp/ecl_ext.h | 1 + src/cpp/lqml.cpp | 2 +- src/cpp/main.cpp | 13 ++++++- src/cpp/marshal.cpp | 1 - src/lisp/package.lisp | 1 + src/lisp/qml.lisp | 22 ++++++------ 17 files changed, 107 insertions(+), 32 deletions(-) create mode 100644 readme-qml-live-preview-and-slime.md create mode 100644 screenshots/qml-live-preview-and-slime.jpg diff --git a/doc/help.htm b/doc/help.htm index ce8519b..2d39f63 100644 --- a/doc/help.htm +++ b/doc/help.htm @@ -69,11 +69,11 @@ given property of all items sharing the same 'objectName'. -qapropos (name &optional qt-object/name) +qapropos (string &optional qt-object/name) - Searches properties, methods, signals, slots for NAME in QObject - (e.g. QQuickItem) passed as second argument. QQuickItems can also be passed - by their 'objectName'. + Searches properties, methods, signals, slots for STRING in QObject (e.g. + QQuickItem) passed as second argument. A QQuickItem can also be passed by + its 'objectName'. (qapropos nil *canvas*) (qapropos "color") @@ -91,12 +91,20 @@ qcopy-file (from to) - Convenience function for e.g. copying asset files on android, which can't - be accessed directly from Lisp. + Convenience function for android, for e.g. copying files from 'assets:/', + which can't be accessed directly from Lisp. (qcopy-file "assets:/lib/asdf.fas" "asdf.fas") +qdirectory (path) + + Convenience function for android, which works also with 'assets:/' + paths. + + (qdirectory "assets:/lib") + + qescape (string) Calls QString::toHtmlEscaped(). @@ -134,7 +142,7 @@ (qget *quick-view* |width|) -qjs (method-name item/name &rest arguments) +qjs (function item/name &rest arguments) Fast and convenient way to call JS functions defined in QML. You may pass up to 10 arguments of the following types: diff --git a/examples/app-template/app.pro b/examples/app-template/app.pro index 528b262..978aca4 100644 --- a/examples/app-template/app.pro +++ b/examples/app-template/app.pro @@ -23,7 +23,7 @@ QMAKE_EXTRA_COMPILERS += lisp QT += quick qml TEMPLATE = app CONFIG += no_keywords release -DEFINES += INI_LISP +DEFINES += INI_LISP # SWANK INCLUDEPATH = /usr/local/include LIBS = -L/usr/local/lib -lecl DESTDIR = . diff --git a/examples/app-template/build-android/install.sh b/examples/app-template/build-android/install.sh index e96fb3e..5d02f91 100755 --- a/examples/app-template/build-android/install.sh +++ b/examples/app-template/build-android/install.sh @@ -1 +1,2 @@ adb install -r android-build/*.apk +adb shell am start -n org.qtproject.example.app/org.qtproject.qt5.android.bindings.QtActivity # Qt5 diff --git a/examples/app-template/readme-build.md b/examples/app-template/readme-build.md index f705428..eb0a4cc 100644 --- a/examples/app-template/readme-build.md +++ b/examples/app-template/readme-build.md @@ -3,7 +3,7 @@ Prepare ------- If you use Qt versions prior to 5.15, you need to adapt the QML module version -to your minor Qt version in file `qml/main.qml`. +to your minor Qt version in all files under `qml/`. Example: Qt5.**12** => import QtQuick 2.**12**. diff --git a/examples/app-template/run.lisp b/examples/app-template/run.lisp index 1b42281..cb46a75 100644 --- a/examples/app-template/run.lisp +++ b/examples/app-template/run.lisp @@ -14,6 +14,6 @@ ;;; for Slime after copying 'lqml-start-swank.lisp' from LQML sources ;;; to your Slime directory, which is assumed to be '~/slime/' -(when (find "-slime" (ext:command-args) :test 'string=) +(when (find "-slime" (ext:command-args) :test 'search) (load "~/slime/lqml-start-swank")) ; for 'slime-connect' from Emacs diff --git a/examples/planets/lisp/txt/sun.txt b/examples/planets/lisp/txt/sun.txt index 3f3bfca..f9aa973 100644 --- a/examples/planets/lisp/txt/sun.txt +++ b/examples/planets/lisp/txt/sun.txt @@ -1,3 +1,3 @@ The Sun, also known by the Latin name Sol and the Greek name Helios, is a yellow dwarf star of spectral type G2V. The eight planets, including Earth, orbit the sun, as do countless other objects. -The sun a classified as spectral class G2V. The "G" means it is a moderately warm yellow star. The "2" means it is in the third hottest group of stars within type "G" (the scale runs from 0 to 9). The "V" is a Roman numeral for 5 and indicates the Sun's size. A size V star is a dwarf, main sequence star. The sun is in the 95th percentile in its class by size and mass of other stars in its immediate region. +The sun is classified as spectral class G2V. The "G" means it is a moderately warm yellow star. The "2" means it is in the third hottest group of stars within type "G" (the scale runs from 0 to 9). The "V" is a Roman numeral for 5 and indicates the Sun's size. A size V star is a dwarf, main sequence star. The sun is in the 95th percentile in its class by size and mass of other stars in its immediate region. diff --git a/platforms/shared/make.lisp b/platforms/shared/make.lisp index 692b0a1..b9a98a8 100644 --- a/platforms/shared/make.lisp +++ b/platforms/shared/make.lisp @@ -7,7 +7,7 @@ ;;; *** (1) byte-compile ASDF system *** -(si:install-bytecodes-compiler) +(ext:install-bytecodes-compiler) (when *ql-libs* (let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp" @@ -34,7 +34,7 @@ ;;; load and prepare cross-compiler -(si:install-c-compiler) +(ext:install-c-compiler) (defun cc (&rest args) (apply 'concatenate 'string args)) diff --git a/readme-build.md b/readme-build.md index 3f91112..52179af 100644 --- a/readme-build.md +++ b/readme-build.md @@ -10,8 +10,9 @@ Important note of any Lisp code next time you do a build. * **LQML**: any time you upgrade LQML, please purge the build directories in - `src/` (see also `src/mkdirs.sh`) and rebuild the whole library for every - single platform. + `src/`, including `.qmake.stash` in case you use a different Qt version + (see also `src/mkdirs.sh`) and rebuild the whole library for every single + platform. diff --git a/readme-qml-live-preview-and-slime.md b/readme-qml-live-preview-and-slime.md new file mode 100644 index 0000000..04c3bc2 --- /dev/null +++ b/readme-qml-live-preview-and-slime.md @@ -0,0 +1,33 @@ + +QML Preview and Slime +--------------------- + +(LQML >= 22.2.2, see `lqml -v`) + +If you want to be impressed (I certainly was when I first tried it), do the +following: + +* edit `lisp/main.lisp` of an example, and add this line at the end: +``` +(load "~/slime/lqml-start-swank.lisp") +``` + +* edit `app.pro` and change `DEFINES` to: +``` +DEFINES += INI_LISP SWANK +``` +* open `app.pro` in **Qt Creator**, and in 'Build Settings' choose `build/` + from the example as 'Build directory' + +* in the 'Edit' view of Qt Creator choose 'Build / QML Preview' (after a + 'Build / Clean') + +Now the example should compile and start. You may now select any QML file from +the tree view on the left, and any change to QML will be shown immediately in +the running app, while you are typing! + +Additionally you may now also run `M-x slime-connect` from Emacs (the Swank +server should already run, see 'Application Ouput' at the bottom of Qt +Creator). + +[Screenshot](screenshots/qml-live-preview-and-slime.jpg) diff --git a/screenshots/qml-live-preview-and-slime.jpg b/screenshots/qml-live-preview-and-slime.jpg new file mode 100644 index 0000000000000000000000000000000000000000..73c99c85c61c45c5befe399e011b4b7c7cc1a255 GIT binary patch literal 103656 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 literal 0 HcmV?d00001 diff --git a/src/cpp/ecl_ext.cpp b/src/cpp/ecl_ext.cpp index 9e2ceca..47a1307 100644 --- a/src/cpp/ecl_ext.cpp +++ b/src/cpp/ecl_ext.cpp @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include @@ -32,6 +33,7 @@ void iniCLFunctions() { DEFUN ("%qapropos", qapropos2, 3) DEFUN ("qchildren", qchildren, 1) DEFUN ("qcopy-file", qcopy_file, 2) + DEFUN ("qdirectory", qdirectory, 1) DEFUN ("qescape", qescape, 1) DEFUN ("%qexec", qexec2, 1) DEFUN ("qexit", qexit, 0) @@ -330,7 +332,6 @@ cl_object qexec2(cl_object l_milliseconds) { LQML::eventLoop->exec(); return l_milliseconds; } - QCoreApplication::exit(); // prevent "the event loop is already running" QCoreApplication::exec(); return ECL_T; } @@ -556,13 +557,32 @@ cl_object reload2() { cl_object qcopy_file(cl_object l_from, cl_object l_to) { /// args: (from to) - /// Convenience function for e.g. copying asset files on android, which can't - /// be accessed directly from Lisp. + /// Convenience function for android, for e.g. copying files from 'assets:/', + /// which can't be accessed directly from Lisp. /// (qcopy-file "assets:/lib/asdf.fas" "asdf.fas") bool ok = QFile::copy(toQString(l_from), toQString(l_to)); ecl_return1(ecl_process_env(), ok ? ECL_T : ECL_NIL); } +cl_object qdirectory(cl_object l_dir) { + /// args: (path) + /// Convenience function for android, which works also with 'assets:/' + /// paths. + /// (qdirectory "assets:/lib") + QDir dir(toQString(l_dir)); + QFileInfoList infos(dir.entryInfoList()); + cl_object l_files = ECL_NIL; + for (QFileInfo info : qAsConst(infos)) { + QString path(info.absoluteFilePath()); + if (info.isDir()) { + path.append("/"); + } + l_files = CONS(from_qstring(path), l_files); + } + l_files = cl_nreverse(l_files); + ecl_return1(ecl_process_env(), l_files); +} + cl_object ensure_permissions2(cl_object l_permissions) { /// args: (&rest permissions) /// Android only; requests the passed permissions. Returns the list of diff --git a/src/cpp/ecl_ext.h b/src/cpp/ecl_ext.h index c4ccde7..1366ac0 100644 --- a/src/cpp/ecl_ext.h +++ b/src/cpp/ecl_ext.h @@ -57,6 +57,7 @@ cl_object pixel_ratio (); cl_object qapropos2 (cl_object, cl_object, cl_object); cl_object qchildren (cl_object); cl_object qcopy_file (cl_object, cl_object); +cl_object qdirectory (cl_object); cl_object qescape (cl_object); cl_object qexec2 (cl_object); cl_object qexit (); diff --git a/src/cpp/lqml.cpp b/src/cpp/lqml.cpp index 8923d11..e83ac2e 100644 --- a/src/cpp/lqml.cpp +++ b/src/cpp/lqml.cpp @@ -7,7 +7,7 @@ #include #include -const char LQML::version[] = "22.2.1"; // Feb 2022 +const char LQML::version[] = "22.2.2"; // Feb 2022 extern "C" void ini_LQML(cl_object); diff --git a/src/cpp/main.cpp b/src/cpp/main.cpp index 8d5b4a4..0f43b2a 100644 --- a/src/cpp/main.cpp +++ b/src/cpp/main.cpp @@ -77,7 +77,14 @@ int main(int argc, char* argv[]) { arguments.removeAll("-norc"); } else { - LQML::eval("(x:when-it (probe-file \"~/.eclrc\") (load x:it))"); +#if (defined Q_OS_ANDROID) || (defined Q_OS_IOS) + // mobile: don't hang on startup + LQML::eval("(x:when-it (probe-file \"~/.eclrc\")" + " (ignore-errors (load x:it)))"); +#else + LQML::eval("(x:when-it (probe-file \"~/.eclrc\")" + " (load x:it))"); +#endif } #ifdef INI_LISP @@ -99,6 +106,10 @@ int main(int argc, char* argv[]) { } } +#ifdef SWANK + slime = true; +#endif + if (slime) { // fallback restart for conditions while processing the Qt event loop LQML::eval("(loop (with-simple-restart (restart-qt-events \"Restart Qt event processing.\")" diff --git a/src/cpp/marshal.cpp b/src/cpp/marshal.cpp index 7a90150..85d55d5 100644 --- a/src/cpp/marshal.cpp +++ b/src/cpp/marshal.cpp @@ -260,7 +260,6 @@ cl_object from_qstring(const QString& s) { cl_object from_qstringlist(const QStringList& l) { cl_object l_list = ECL_NIL; - for (QString s : qAsConst(l)) { l_list = CONS(from_qstring(s), l_list); } diff --git a/src/lisp/package.lisp b/src/lisp/package.lisp index ba1c784..cce5f9c 100644 --- a/src/lisp/package.lisp +++ b/src/lisp/package.lisp @@ -13,6 +13,7 @@ #:qapropos* #:qchildren #:qcopy-file + #:qdirectory #:qfind-child #:qml-call #:qml-get diff --git a/src/lisp/qml.lisp b/src/lisp/qml.lisp index 3098536..7724573 100644 --- a/src/lisp/qml.lisp +++ b/src/lisp/qml.lisp @@ -160,8 +160,8 @@ ;;; JS calls -(defmacro qjs (method-name item/name &rest arguments) - "args: (method-name item/name &rest arguments) +(defmacro qjs (function item/name &rest arguments) + "args: (function item/name &rest arguments) Fast and convenient way to call JS functions defined in QML. You may pass up to 10 arguments of the following types: T, NIL, INTEGER, FLOAT, STRING, VECTOR of octets, and (nested) lists of @@ -172,9 +172,9 @@ (qjs |drawLine| *canvas* x1 y1 x2 y2)) (qjs |addPlanet| *planets* (list :name \"Jupiter\" :src \"img/jupiter.png\"))" `(qrun* (qfun (quick-item ,item/name) - ,(if (symbolp method-name) - (symbol-name method-name) - method-name) + ,(if (symbolp function) + (symbol-name function) + function) ,@arguments))) ;;; apropos @@ -184,14 +184,14 @@ x (quick-item x))) -(defun qapropos (name &optional qt-object/name offset) - "args: (name &optional qt-object/name) - Searches properties, methods, signals, slots for NAME in QObject - (e.g. QQuickItem) passed as second argument. QQuickItems can also be passed - by their 'objectName'. +(defun qapropos (string &optional qt-object/name offset) + "args: (string &optional qt-object/name) + Searches properties, methods, signals, slots for STRING in QObject (e.g. + QQuickItem) passed as second argument. A QQuickItem can also be passed by + its 'objectName'. (qapropos nil *canvas*) (qapropos \"color\")" - (dolist (sub1 (%qapropos (%string-or-nil name) (%to-qt-object qt-object/name) offset)) + (dolist (sub1 (%qapropos (%string-or-nil string) (%to-qt-object qt-object/name) offset)) (format t "~%~%~A~%" (first sub1)) (dolist (sub2 (rest sub1)) (format t "~% ~A~%~%" (first sub2))