diff --git a/Qt_EQL/cpp_calling_lisp/eql_cpp.pro b/Qt_EQL/cpp_calling_lisp/eql_cpp.pro index a450a99..6f8af7c 100644 --- a/Qt_EQL/cpp_calling_lisp/eql_cpp.pro +++ b/Qt_EQL/cpp_calling_lisp/eql_cpp.pro @@ -1,7 +1,8 @@ QT += widgets TEMPLATE = lib CONFIG += plugin release -LIBS += -L../.. -leql5 +INCLUDEPATH += /usr/local/include +LIBS += -L/usr/local/lib -leql5 DESTDIR = ../ TARGET = eql_fun_cpp OBJECTS_DIR = ./tmp/ @@ -12,4 +13,5 @@ win32 { } HEADERS += lib.h + SOURCES += lib.cpp diff --git a/Qt_EQL/cpp_calling_lisp/lib.cpp b/Qt_EQL/cpp_calling_lisp/lib.cpp index dc7a976..890ffb2 100644 --- a/Qt_EQL/cpp_calling_lisp/lib.cpp +++ b/Qt_EQL/cpp_calling_lisp/lib.cpp @@ -1,5 +1,5 @@ #include "lib.h" -#include "../../src/eql_fun.h" // for eql_fun() +#include // for eql_fun() QT_BEGIN_NAMESPACE diff --git a/Qt_EQL_plugin/qt_plugin.cpp b/Qt_EQL_plugin/qt_plugin.cpp index 7c57b0d..73e100f 100644 --- a/Qt_EQL_plugin/qt_plugin.cpp +++ b/Qt_EQL_plugin/qt_plugin.cpp @@ -1,5 +1,5 @@ #include "qt_plugin.h" -#include "eql.h" +#include QT_BEGIN_NAMESPACE diff --git a/Qt_EQL_plugin/qt_plugin.pro b/Qt_EQL_plugin/qt_plugin.pro index e397c6c..1ce2379 100644 --- a/Qt_EQL_plugin/qt_plugin.pro +++ b/Qt_EQL_plugin/qt_plugin.pro @@ -1,7 +1,7 @@ TEMPLATE = lib CONFIG += dll no_keywords release -INCLUDEPATH += ../src -LIBS += -L.. -leql5 +INCLUDEPATH += /usr/local/include +LIBS += -L/usr/local/lib -leql5 TARGET = qt_plugin DESTDIR = ./ OBJECTS_DIR = ./tmp/ diff --git a/README-1.txt b/README-1.txt index 970214e..db7fde0 100644 --- a/README-1.txt +++ b/README-1.txt @@ -47,8 +47,8 @@ REQUIREMENTS QtWebKit note: If you want QtWebKit included in the official downloads from qt.io archives, you need to choose Qt 5.5, and not later versions! - QtWebKit will continue to work with versions > 5.5, but it has to be compiled - manually (which is not fun). + QtWebKit will continue to work with versions > 5.5, but it has to be + compiled manually (which is not fun). QtWebKit has a better, more native integration with Qt than QtWebEngine, see for example QWebElement, which doesn't exist in QtWebEngine. @@ -57,21 +57,25 @@ REQUIREMENTS PREPARE ======= -Install the ECL sources, and build it from the sources (ECL needs to be built with the -same compiler you'll use to compile EQL5). +Install the ECL sources, and build it from the sources (ECL needs to be built +with the same compiler you'll use to compile EQL5). Just use the standard configuration of ECL (both threads & unicode enabled). Qt4/Qt5 note: - You can have both old EQL (Qt4) and EQL5 (Qt5) installed in parallel (exe and lib - names differ). + You can have both old EQL (Qt4) and EQL5 (Qt5) installed in parallel (exe and + lib names differ). - If you have both Qt4 and Qt5 installed, you can use the following environment variable - to switch between the both (Unix): + If you have both Qt4 and Qt5 installed, you can use the following environment + variable to switch between the both (Unix): export QT_SELECT=5 +Please note that you need to build EQL5 in a path where you will keep it (you +can't move around the whole file tree later, since the build path needs to be +hard-coded in the executable). + BUILD @@ -80,7 +84,8 @@ BUILD (N.B. for rebuilding, please see README-REBUILD.txt) [Windows] - You first need to adapt the file 'src/windows.pri' (include & library paths). + You first need to adapt the file 'src/windows.pri' (include & library + paths). Since EQL requires the C compiler anyway (not the bytecode compiler), you should put this line in your '~/.eclrc': (require :cmp) @@ -89,12 +94,13 @@ BUILD Substitute make with nmake. [MinGW] - If 'make' is stuck in an infinite loop of creating the 'Makefile', just remove - the line 'include(windows.pri)' from your '*.pro' file, setting eventually - needed paths in your '~/.profile' instead. + If 'make' is stuck in an infinite loop of creating the 'Makefile', just + remove the line 'include(windows.pri)' from your '*.pro' file, setting + eventually needed paths in your '~/.profile' instead. [OSX] - To force creation of a Makefile (instead of an Xcode project), use this flag: + To force creation of a Makefile (instead of an Xcode project), use this + flag: qmake -spec macx-g++ 1) In src/ run: @@ -105,15 +111,25 @@ BUILD qmake eql_lib.pro make + sudo make install (unix only) qmake eql_exe.pro make + sudo make install (unix only) This will build both the EQL executable and shared library. + If you ran "make install", you'll find the installed files here: + + /usr/local/bin/ + /usr/local/lib/ + /usr/local/include/eql5/ + 3) cd .. [Linux] + N.B: skip this if you did "sudo make install" + You need to create links to EQL, something like (note the "5"): cd /usr/lib sudo ln -s ~/eql5/libeql5.so.1 libeql5.so.1 @@ -121,12 +137,14 @@ BUILD sudo ln -s ~/eql5/eql5 eql5 [OSX] + N.B: skip this if you did "sudo make install" + You need to create links to EQL, something like (note the "5"): cd /usr/local/lib sudo ln -s ~/eql5/libeql5.1.dylib libeql5.1.dylib cd /usr/local/bin sudo ln -s ~/eql5/eql5.app/Contents/MacOS/eql5 eql5 - + [Windows] Add your EQL directory to the Path environment variable, see: @@ -136,11 +154,6 @@ BUILD RUN === -PLEASE NOTE: -You will often need to "reset" (command) your console/shell after EQL finished -working, especially during development time or other exits than "(eql:qquit)". - - You can run a simple interactive REPL UI doing: eql5 -qgui @@ -150,8 +163,8 @@ To run a Lisp file without top-level, do: (If you don't see the application window, it might be in the background. Use your taskbar to show it.) -If you start the EQL executable without arguments, it will start the usual ECL top-level -(without processing Qt events). +If you start the EQL executable without arguments, it will start the usual ECL +top-level (without processing Qt events). To _not_ load ~/.eclrc on startup, do: eql5 -norc @@ -160,12 +173,19 @@ To quit the tool, do: (eql:qquit) or (eql:qq) -In order to run (sort of) a top-level processing Qt events, do (requires ECL threads): +In order to run (sort of) a top-level processing Qt events, do: eql5 -qtpl Note: If you want to use "ecl-readline" together with "-qtpl", just compile - "eql5/src/lisp/ecl-readline.lisp" (which depends on the "readline" C library). - It will then be loaded automatically on startup. + "lib/ecl-readline.lisp" (which depends on the "readline" C library). + It will then be loaded automatically on startup: + + cd ~/eql5/lib + ecl -compile ecl-readline.lisp + + N.B: Using readline, you will often need to "reset" (command) your + console/shell after EQL finished working, especially during + development time or other exits than "(eql:qquit)". @@ -176,8 +196,10 @@ To build an EQL module (corresponding to a Qt module), do the following in src/: qmake module_.pro (e.g. qmake module_network.pro) make + sudo make install (unix only) [Linux,OSX] + (N.B: skip this if you did "sudo make install") You need to create links to the modules, see EQL library above. In Lisp, use function QREQUIRE to load a module: @@ -194,9 +216,10 @@ You might want to put this in your ~/.eclrc file: (setf eql:*qtpl* t ; same as -qtpl eql:*break-on-errors* t) -It is HIGHLY RECOMMENDED to integrate the wrapper functions, see README-3-OPTIONAL. -This will make all Qt functions real Lisp functions, which also means symbol tab- -completion, both in Emacs/Slime and with ecl-readline. +It is HIGHLY RECOMMENDED to integrate the wrapper functions, see +README-3-OPTIONAL. +This will make all Qt functions real Lisp functions, which also means symbol +tab-completion, both in Emacs/Slime and with ecl-readline. diff --git a/README-2-REBUILD.txt b/README-2-REBUILD.txt index 09f6471..fea03fd 100644 --- a/README-2-REBUILD.txt +++ b/README-2-REBUILD.txt @@ -1,12 +1,13 @@ REBUILD STEPS (on every upgrade of: ECL, Qt, EQL) ============= -1) remove directory src/tmp/ - remove file src/lisp/ecl-readline.fas* +0) cd src + +1) remove directory tmp/ 2) ecl -shell make-eql-lib.lisp -3) qmake, make in this order: (MSVC: nmake) +3) qmake, make, sudo make install (Unix only) in this order: (MSVC: nmake) eql_lib.pro eql_exe.pro @@ -14,10 +15,6 @@ REBUILD STEPS (on every upgrade of: ECL, Qt, EQL) module_network.pro module_... - for readline (Unix): - - ecl -compile src/lisp/ecl-readline.lisp - Optionally (integrate wrapper functions): 4) eql5 make-eql-lib-wrappers.lisp @@ -27,6 +24,7 @@ Optionally (integrate wrapper functions): touch tmp/eql.o (or delete "tmp/eql.o*") qmake eql_lib.pro make + sudo make install (Unix only) IMPORTANT NOTES @@ -50,4 +48,4 @@ ECL/C++ integration). TIP === -If you're on Linux, see "src/rebuild". +If you're on Linux, see "src/rebuild" (needs password for make install). diff --git a/doc/Debugging.htm b/doc/Debugging.htm index 104ef31..165bd21 100644 --- a/doc/Debugging.htm +++ b/doc/Debugging.htm @@ -121,7 +121,7 @@ is resolved automatically (RESTART-QT-EVENTS would block the REPL i

In order to automatically switch the REPL to a given package after loading a file, add this line:

  (qlater (lambda () (in-package :my-package)))

-

If you use ECL readline (see ecl-readline.lisp in sources):
After entering :qq (quitting the top-level), the console/shell should always be reset (but you won't probably see the command while typing it; an alias might help):

+

If you use ECL readline (see lib/ecl-readline.lisp, to be compiled manually the first time):
After entering :qq (quitting the top-level), the console/shell should always be reset (but you won't probably see the command while typing it; an alias might help):

  $ reset

 
  diff --git a/doc/Deploy.htm b/doc/Deploy.htm index 8f73bcd..feca9fb 100644 --- a/doc/Deploy.htm +++ b/doc/Deploy.htm @@ -11,10 +11,11 @@

Please follow the my_app/README.txt (which assumes that your lisp files are in my_app/lisp/)

The dependencies are:

    -
  • eql5, ecl, QtCore, QtGui, QtWidgets, QtPrintSupport shared libraries +
  • eql5, ecl, Qt5Core, Qt5Gui, Qt5Widgets, Qt5PrintSupport shared libraries (plus used modules, both Qt5 and EQL5)
  • your *.ui files (if any)
  • your *.qm translation files (if any)
+

[Unix]
Deploy the installed libraries from /usr/local/lib/, because they have already been stripped, and are therefore smaller.

A detailed description of deploying Qt applications can be found in Qt Assistant.

diff --git a/doc/EQL-Slime-Integration.htm b/doc/EQL-Slime-Integration.htm index 05a3fb1..4491ff0 100644 --- a/doc/EQL-Slime-Integration.htm +++ b/doc/EQL-Slime-Integration.htm @@ -58,7 +58,7 @@ cl_funcall(1, (cl_object)closure); // ECL function call } -

After introducing a macro qrun*, and wrapping all EQL functions in it (see "slime/thread-safe.lisp"), we are done!

+

After introducing a macro qrun*, and wrapping all EQL functions in it (see "lib/thread-safe.lisp"), we are done!

(Please note that the above code is a stripped down version, see sources for the actual implementation.)


diff --git a/doc/Slime.htm b/doc/Slime.htm index 7b33bb3..79f6bec 100644 --- a/doc/Slime.htm +++ b/doc/Slime.htm @@ -49,7 +49,7 @@

Notes

If you notice slow execution of a function called from the REPL, try to wrap it in qrun/qrun*, as this will reduce eventual, multiple thread switches (for each EQL function call) to a single one.

-

All EQL functions are wrapped in qrun* (see eql5/slime/thread-safe.lisp), so it's safe to call them either directly from the REPL or using 'eval region' (or from any other ECL thread).

+

All EQL functions are wrapped in qrun* (see lib/thread-safe.lisp), so it's safe to call them either directly from the REPL or using 'eval region' (or from any other ECL thread).

If the Slime REPL hangs, you can simply try to connect again (losing the old connection): no need to restart Lisp.

This Slime mode is both convenient and simple to use, but conses a little more for every EQL function call.
If you absolutely want direct EQL function calls, please see the less convenient Slime REPL Hook mode.

diff --git a/examples/M-modules/quick/README.txt b/examples/M-modules/quick/README.txt index ecfdc22..0a58e18 100644 --- a/examples/M-modules/quick/README.txt +++ b/examples/M-modules/quick/README.txt @@ -1,6 +1,3 @@ -Please note that you will need to build a small C++ plugin for most of the -examples (see "lib/"); this is just for providing the "import EQL5" in QML. - If you are new to QML/EQL5, you probably want to go through the examples (and READMEs) in this order: diff --git a/examples/M-modules/quick/Tic-Tac-Toe/lib/qml_lisp.h b/examples/M-modules/quick/Tic-Tac-Toe/lib/qml_lisp.h deleted file mode 100644 index c8531b6..0000000 --- a/examples/M-modules/quick/Tic-Tac-Toe/lib/qml_lisp.h +++ /dev/null @@ -1,60 +0,0 @@ -#ifndef LIB_H -#define LIB_H - -#include -#include -#include - -#ifdef Q_CC_MSVC -#define LIB_EXPORT __declspec(dllexport) -#else -#define LIB_EXPORT -#endif - -QT_BEGIN_NAMESPACE - -extern "C" { LIB_EXPORT QObject* ini(); } - -class Lisp : public QObject { - Q_OBJECT - -public: - Q_INVOKABLE QVariant call(const QJSValue&, - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue()); - - Q_INVOKABLE QVariant apply(const QJSValue&, - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue()); -}; - -class EQLPaintedItem : public QQuickPaintedItem { - Q_OBJECT - -public: - EQLPaintedItem(QQuickItem* parent = 0) : QQuickPaintedItem(parent) {} - - void paint(QPainter* painter) { - eql_fun("qml:paint", - Q_ARG(QQuickPaintedItem*, this), - Q_ARG(QPainter*, painter)); } -}; - -QT_END_NAMESPACE - -#endif diff --git a/examples/M-modules/quick/Tic-Tac-Toe/lib/qml_lisp.pro b/examples/M-modules/quick/Tic-Tac-Toe/lib/qml_lisp.pro deleted file mode 100644 index 6e8dd06..0000000 --- a/examples/M-modules/quick/Tic-Tac-Toe/lib/qml_lisp.pro +++ /dev/null @@ -1,17 +0,0 @@ -QT += qml quick -TEMPLATE = lib -CONFIG += plugin release -INCLUDEPATH += ../../../../../src -LIBS += -L../../../../.. -leql5 -DESTDIR = ./ -TARGET = qml_lisp -OBJECTS_DIR = ./tmp/ -MOC_DIR = ./tmp/ - -win32 { - include(../../../../../src/windows.pri) -} - -HEADERS += qml_lisp.h -SOURCES += qml_lisp.cpp - diff --git a/examples/M-modules/quick/Tic-Tac-Toe/properties.lisp b/examples/M-modules/quick/Tic-Tac-Toe/properties.lisp index 5816280..7bfc237 100644 --- a/examples/M-modules/quick/Tic-Tac-Toe/properties.lisp +++ b/examples/M-modules/quick/Tic-Tac-Toe/properties.lisp @@ -6,7 +6,7 @@ (defun show-properties-dialog (&optional item) "Lists all instance properties of a QML item (either a QQuickItem or an 'objectName'). If no item is passed, QML:*CALLER* will be used." (unless (find-package :properties) - (load (in-home "gui/properties"))) + (load (in-home "lib/properties"))) (funcall (%sym :show :properties) (or (if (stringp item) (qml:find-quick-item item) diff --git a/examples/M-modules/quick/Tic-Tac-Toe/qml-lisp.lisp b/examples/M-modules/quick/Tic-Tac-Toe/qml-lisp.lisp index b94c8f4..1fc2c05 100644 --- a/examples/M-modules/quick/Tic-Tac-Toe/qml-lisp.lisp +++ b/examples/M-modules/quick/Tic-Tac-Toe/qml-lisp.lisp @@ -3,7 +3,6 @@ ;;; * allows to get/set any QML property from Lisp (needs 'objectName' to be set) ;;; * allows to evaluate JS code from Lisp (needs 'objectName' to be set) ;;; -;;; (requires a C++ plugin, see "lib/") (defpackage :qml-lisp (:use :common-lisp :eql) @@ -26,9 +25,8 @@ (in-package :qml-lisp) -(defvar *qml-lisp* (qload-c++ "lib/qml_lisp")) -(defvar *caller* nil) (defvar *quick-view* nil) +(defvar *caller* nil) (defun string-to-symbol (name) (let ((upper (string-upcase name)) diff --git a/examples/M-modules/quick/Tic-Tac-Toe/tic-tac-toe.lisp b/examples/M-modules/quick/Tic-Tac-Toe/tic-tac-toe.lisp index 7788888..ec5589e 100644 --- a/examples/M-modules/quick/Tic-Tac-Toe/tic-tac-toe.lisp +++ b/examples/M-modules/quick/Tic-Tac-Toe/tic-tac-toe.lisp @@ -4,8 +4,6 @@ ;;; This is a port of a QtQuick1/Qt4 example. ;;; The JS game logic has been ported to Lisp. ;;; -;;; (requires a C++ plugin, see "lib/") -;;; #-qt-wrapper-functions ; see README-OPTIONAL.txt (load (in-home "src/lisp/all-wrappers")) diff --git a/examples/M-modules/quick/item-model/lib/qml_lisp.cpp b/examples/M-modules/quick/item-model/lib/qml_lisp.cpp deleted file mode 100644 index aeb8702..0000000 --- a/examples/M-modules/quick/item-model/lib/qml_lisp.cpp +++ /dev/null @@ -1,108 +0,0 @@ -#include "qml_lisp.h" - -QT_BEGIN_NAMESPACE - -static Lisp* lisp = 0; - -static QObject* lisp_provider(QQmlEngine*, QJSEngine*) { return lisp; } - -QObject* ini() { - if(!lisp) { - lisp = new Lisp; - qmlRegisterSingletonType("EQL5", 1, 0, "Lisp", lisp_provider); - qmlRegisterType("EQL5", 1, 0, "PaintedItem"); } - return lisp; } - -static QQmlContext* rootContext() { - QVariant var = eql_fun("qml:root-context", QMetaType::VoidStar); - return Q_PTR(QQmlContext*, var); } - -static QVariant qmlApply(QObject* caller, const QString& function, const QVariantList& arguments) { - QVariant var = - eql_fun("qml:qml-apply", QVariant::String, - Q_ARG(QObject*, caller), - Q_ARG(QString, function), - Q_ARG(QVariantList, arguments)); - QString str(var.toString()); - if(str.startsWith("#<>")) { // prepared in Lisp for JS eval - QQmlExpression exp(rootContext(), caller, str.mid(3)); - return exp.evaluate(); } - return var; } - -QVariant Lisp::call(const QJSValue& caller_or_function, const QJSValue& function_or_arg0, - const QJSValue& arg1, - const QJSValue& arg2, - const QJSValue& arg3, - const QJSValue& arg4, - const QJSValue& arg5, - const QJSValue& arg6, - const QJSValue& arg7, - const QJSValue& arg8, - const QJSValue& arg9, - const QJSValue& arg10, - const QJSValue& arg11, - const QJSValue& arg12, - const QJSValue& arg13, - const QJSValue& arg14, - const QJSValue& arg15, - const QJSValue& arg16) { - QObject* caller = 0; - QString function; - QVariantList arguments; - if(caller_or_function.isQObject()) { - caller = caller_or_function.toQObject(); - function = function_or_arg0.toString(); } - else if(caller_or_function.isString()) { - function = caller_or_function.toString(); - if(!function_or_arg0.isUndefined()) { - arguments << function_or_arg0.toVariant(); }} - if(!arg1.isUndefined()) { - arguments << arg1.toVariant(); - if(!arg2.isUndefined()) { - arguments << arg2.toVariant(); - if(!arg3.isUndefined()) { - arguments << arg3.toVariant(); - if(!arg4.isUndefined()) { - arguments << arg4.toVariant(); - if(!arg5.isUndefined()) { - arguments << arg5.toVariant(); - if(!arg6.isUndefined()) { - arguments << arg6.toVariant(); - if(!arg7.isUndefined()) { - arguments << arg7.toVariant(); - if(!arg8.isUndefined()) { - arguments << arg8.toVariant(); - if(!arg9.isUndefined()) { - arguments << arg9.toVariant(); - if(!arg10.isUndefined()) { - arguments << arg10.toVariant(); - if(!arg11.isUndefined()) { - arguments << arg11.toVariant(); - if(!arg12.isUndefined()) { - arguments << arg12.toVariant(); - if(!arg13.isUndefined()) { - arguments << arg13.toVariant(); - if(!arg14.isUndefined()) { - arguments << arg14.toVariant(); - if(!arg15.isUndefined()) { - arguments << arg15.toVariant(); - if(!arg16.isUndefined()) { - arguments << arg16.toVariant(); }}}}}}}}}}}}}}}} - return qmlApply(caller, function, arguments); } - -QVariant Lisp::apply(const QJSValue& caller_or_function, - const QJSValue& function_or_arguments, - const QJSValue& arguments_or_undefined) { - QObject* caller = 0; - QString function; - QVariantList arguments; - if(caller_or_function.isQObject()) { - caller = caller_or_function.toQObject(); - function = function_or_arguments.toString(); - arguments = arguments_or_undefined.toVariant().value(); } - else if(caller_or_function.isString()) { - function = caller_or_function.toString(); - arguments = function_or_arguments.toVariant().value(); } - return qmlApply(caller, function, arguments); } - -QT_END_NAMESPACE diff --git a/examples/M-modules/quick/item-model/lib/qml_lisp.pro b/examples/M-modules/quick/item-model/lib/qml_lisp.pro deleted file mode 100644 index 6e8dd06..0000000 --- a/examples/M-modules/quick/item-model/lib/qml_lisp.pro +++ /dev/null @@ -1,17 +0,0 @@ -QT += qml quick -TEMPLATE = lib -CONFIG += plugin release -INCLUDEPATH += ../../../../../src -LIBS += -L../../../../.. -leql5 -DESTDIR = ./ -TARGET = qml_lisp -OBJECTS_DIR = ./tmp/ -MOC_DIR = ./tmp/ - -win32 { - include(../../../../../src/windows.pri) -} - -HEADERS += qml_lisp.h -SOURCES += qml_lisp.cpp - diff --git a/examples/M-modules/quick/item-model/properties.lisp b/examples/M-modules/quick/item-model/properties.lisp index 5816280..7bfc237 100644 --- a/examples/M-modules/quick/item-model/properties.lisp +++ b/examples/M-modules/quick/item-model/properties.lisp @@ -6,7 +6,7 @@ (defun show-properties-dialog (&optional item) "Lists all instance properties of a QML item (either a QQuickItem or an 'objectName'). If no item is passed, QML:*CALLER* will be used." (unless (find-package :properties) - (load (in-home "gui/properties"))) + (load (in-home "lib/properties"))) (funcall (%sym :show :properties) (or (if (stringp item) (qml:find-quick-item item) diff --git a/examples/M-modules/quick/item-model/qml-lisp.lisp b/examples/M-modules/quick/item-model/qml-lisp.lisp index b94c8f4..1fc2c05 100644 --- a/examples/M-modules/quick/item-model/qml-lisp.lisp +++ b/examples/M-modules/quick/item-model/qml-lisp.lisp @@ -3,7 +3,6 @@ ;;; * allows to get/set any QML property from Lisp (needs 'objectName' to be set) ;;; * allows to evaluate JS code from Lisp (needs 'objectName' to be set) ;;; -;;; (requires a C++ plugin, see "lib/") (defpackage :qml-lisp (:use :common-lisp :eql) @@ -26,9 +25,8 @@ (in-package :qml-lisp) -(defvar *qml-lisp* (qload-c++ "lib/qml_lisp")) -(defvar *caller* nil) (defvar *quick-view* nil) +(defvar *caller* nil) (defun string-to-symbol (name) (let ((upper (string-upcase name)) diff --git a/examples/M-modules/quick/painted-item/lib/qml_lisp.cpp b/examples/M-modules/quick/painted-item/lib/qml_lisp.cpp deleted file mode 100644 index aeb8702..0000000 --- a/examples/M-modules/quick/painted-item/lib/qml_lisp.cpp +++ /dev/null @@ -1,108 +0,0 @@ -#include "qml_lisp.h" - -QT_BEGIN_NAMESPACE - -static Lisp* lisp = 0; - -static QObject* lisp_provider(QQmlEngine*, QJSEngine*) { return lisp; } - -QObject* ini() { - if(!lisp) { - lisp = new Lisp; - qmlRegisterSingletonType("EQL5", 1, 0, "Lisp", lisp_provider); - qmlRegisterType("EQL5", 1, 0, "PaintedItem"); } - return lisp; } - -static QQmlContext* rootContext() { - QVariant var = eql_fun("qml:root-context", QMetaType::VoidStar); - return Q_PTR(QQmlContext*, var); } - -static QVariant qmlApply(QObject* caller, const QString& function, const QVariantList& arguments) { - QVariant var = - eql_fun("qml:qml-apply", QVariant::String, - Q_ARG(QObject*, caller), - Q_ARG(QString, function), - Q_ARG(QVariantList, arguments)); - QString str(var.toString()); - if(str.startsWith("#<>")) { // prepared in Lisp for JS eval - QQmlExpression exp(rootContext(), caller, str.mid(3)); - return exp.evaluate(); } - return var; } - -QVariant Lisp::call(const QJSValue& caller_or_function, const QJSValue& function_or_arg0, - const QJSValue& arg1, - const QJSValue& arg2, - const QJSValue& arg3, - const QJSValue& arg4, - const QJSValue& arg5, - const QJSValue& arg6, - const QJSValue& arg7, - const QJSValue& arg8, - const QJSValue& arg9, - const QJSValue& arg10, - const QJSValue& arg11, - const QJSValue& arg12, - const QJSValue& arg13, - const QJSValue& arg14, - const QJSValue& arg15, - const QJSValue& arg16) { - QObject* caller = 0; - QString function; - QVariantList arguments; - if(caller_or_function.isQObject()) { - caller = caller_or_function.toQObject(); - function = function_or_arg0.toString(); } - else if(caller_or_function.isString()) { - function = caller_or_function.toString(); - if(!function_or_arg0.isUndefined()) { - arguments << function_or_arg0.toVariant(); }} - if(!arg1.isUndefined()) { - arguments << arg1.toVariant(); - if(!arg2.isUndefined()) { - arguments << arg2.toVariant(); - if(!arg3.isUndefined()) { - arguments << arg3.toVariant(); - if(!arg4.isUndefined()) { - arguments << arg4.toVariant(); - if(!arg5.isUndefined()) { - arguments << arg5.toVariant(); - if(!arg6.isUndefined()) { - arguments << arg6.toVariant(); - if(!arg7.isUndefined()) { - arguments << arg7.toVariant(); - if(!arg8.isUndefined()) { - arguments << arg8.toVariant(); - if(!arg9.isUndefined()) { - arguments << arg9.toVariant(); - if(!arg10.isUndefined()) { - arguments << arg10.toVariant(); - if(!arg11.isUndefined()) { - arguments << arg11.toVariant(); - if(!arg12.isUndefined()) { - arguments << arg12.toVariant(); - if(!arg13.isUndefined()) { - arguments << arg13.toVariant(); - if(!arg14.isUndefined()) { - arguments << arg14.toVariant(); - if(!arg15.isUndefined()) { - arguments << arg15.toVariant(); - if(!arg16.isUndefined()) { - arguments << arg16.toVariant(); }}}}}}}}}}}}}}}} - return qmlApply(caller, function, arguments); } - -QVariant Lisp::apply(const QJSValue& caller_or_function, - const QJSValue& function_or_arguments, - const QJSValue& arguments_or_undefined) { - QObject* caller = 0; - QString function; - QVariantList arguments; - if(caller_or_function.isQObject()) { - caller = caller_or_function.toQObject(); - function = function_or_arguments.toString(); - arguments = arguments_or_undefined.toVariant().value(); } - else if(caller_or_function.isString()) { - function = caller_or_function.toString(); - arguments = function_or_arguments.toVariant().value(); } - return qmlApply(caller, function, arguments); } - -QT_END_NAMESPACE diff --git a/examples/M-modules/quick/painted-item/lib/qml_lisp.h b/examples/M-modules/quick/painted-item/lib/qml_lisp.h deleted file mode 100644 index c8531b6..0000000 --- a/examples/M-modules/quick/painted-item/lib/qml_lisp.h +++ /dev/null @@ -1,60 +0,0 @@ -#ifndef LIB_H -#define LIB_H - -#include -#include -#include - -#ifdef Q_CC_MSVC -#define LIB_EXPORT __declspec(dllexport) -#else -#define LIB_EXPORT -#endif - -QT_BEGIN_NAMESPACE - -extern "C" { LIB_EXPORT QObject* ini(); } - -class Lisp : public QObject { - Q_OBJECT - -public: - Q_INVOKABLE QVariant call(const QJSValue&, - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue()); - - Q_INVOKABLE QVariant apply(const QJSValue&, - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue()); -}; - -class EQLPaintedItem : public QQuickPaintedItem { - Q_OBJECT - -public: - EQLPaintedItem(QQuickItem* parent = 0) : QQuickPaintedItem(parent) {} - - void paint(QPainter* painter) { - eql_fun("qml:paint", - Q_ARG(QQuickPaintedItem*, this), - Q_ARG(QPainter*, painter)); } -}; - -QT_END_NAMESPACE - -#endif diff --git a/examples/M-modules/quick/painted-item/lib/qml_lisp.pro b/examples/M-modules/quick/painted-item/lib/qml_lisp.pro deleted file mode 100644 index 6e8dd06..0000000 --- a/examples/M-modules/quick/painted-item/lib/qml_lisp.pro +++ /dev/null @@ -1,17 +0,0 @@ -QT += qml quick -TEMPLATE = lib -CONFIG += plugin release -INCLUDEPATH += ../../../../../src -LIBS += -L../../../../.. -leql5 -DESTDIR = ./ -TARGET = qml_lisp -OBJECTS_DIR = ./tmp/ -MOC_DIR = ./tmp/ - -win32 { - include(../../../../../src/windows.pri) -} - -HEADERS += qml_lisp.h -SOURCES += qml_lisp.cpp - diff --git a/examples/M-modules/quick/painted-item/properties.lisp b/examples/M-modules/quick/painted-item/properties.lisp index 5816280..7bfc237 100644 --- a/examples/M-modules/quick/painted-item/properties.lisp +++ b/examples/M-modules/quick/painted-item/properties.lisp @@ -6,7 +6,7 @@ (defun show-properties-dialog (&optional item) "Lists all instance properties of a QML item (either a QQuickItem or an 'objectName'). If no item is passed, QML:*CALLER* will be used." (unless (find-package :properties) - (load (in-home "gui/properties"))) + (load (in-home "lib/properties"))) (funcall (%sym :show :properties) (or (if (stringp item) (qml:find-quick-item item) diff --git a/examples/M-modules/quick/painted-item/qml-lisp.lisp b/examples/M-modules/quick/painted-item/qml-lisp.lisp index b94c8f4..1fc2c05 100644 --- a/examples/M-modules/quick/painted-item/qml-lisp.lisp +++ b/examples/M-modules/quick/painted-item/qml-lisp.lisp @@ -3,7 +3,6 @@ ;;; * allows to get/set any QML property from Lisp (needs 'objectName' to be set) ;;; * allows to evaluate JS code from Lisp (needs 'objectName' to be set) ;;; -;;; (requires a C++ plugin, see "lib/") (defpackage :qml-lisp (:use :common-lisp :eql) @@ -26,9 +25,8 @@ (in-package :qml-lisp) -(defvar *qml-lisp* (qload-c++ "lib/qml_lisp")) -(defvar *caller* nil) (defvar *quick-view* nil) +(defvar *caller* nil) (defun string-to-symbol (name) (let ((upper (string-upcase name)) diff --git a/examples/M-modules/quick/palindrome-1/properties.lisp b/examples/M-modules/quick/palindrome-1/properties.lisp index 6fb2eef..b276d05 100644 --- a/examples/M-modules/quick/palindrome-1/properties.lisp +++ b/examples/M-modules/quick/palindrome-1/properties.lisp @@ -60,7 +60,7 @@ (defun show-properties-dialog (&optional item) "Lists all instance properties of a QML item (either a QQuickItem or an 'objectName')." (unless (find-package :properties) - (load (in-home "gui/properties"))) + (load (in-home "lib/properties"))) (funcall (%sym :show :properties) (if (stringp item) (find-quick-item item) diff --git a/examples/M-modules/quick/palindrome-2/lib/libqml_lisp.so b/examples/M-modules/quick/palindrome-2/lib/libqml_lisp.so deleted file mode 100755 index ad22f30..0000000 Binary files a/examples/M-modules/quick/palindrome-2/lib/libqml_lisp.so and /dev/null differ diff --git a/examples/M-modules/quick/palindrome-2/lib/qml_lisp.cpp b/examples/M-modules/quick/palindrome-2/lib/qml_lisp.cpp deleted file mode 100644 index aeb8702..0000000 --- a/examples/M-modules/quick/palindrome-2/lib/qml_lisp.cpp +++ /dev/null @@ -1,108 +0,0 @@ -#include "qml_lisp.h" - -QT_BEGIN_NAMESPACE - -static Lisp* lisp = 0; - -static QObject* lisp_provider(QQmlEngine*, QJSEngine*) { return lisp; } - -QObject* ini() { - if(!lisp) { - lisp = new Lisp; - qmlRegisterSingletonType("EQL5", 1, 0, "Lisp", lisp_provider); - qmlRegisterType("EQL5", 1, 0, "PaintedItem"); } - return lisp; } - -static QQmlContext* rootContext() { - QVariant var = eql_fun("qml:root-context", QMetaType::VoidStar); - return Q_PTR(QQmlContext*, var); } - -static QVariant qmlApply(QObject* caller, const QString& function, const QVariantList& arguments) { - QVariant var = - eql_fun("qml:qml-apply", QVariant::String, - Q_ARG(QObject*, caller), - Q_ARG(QString, function), - Q_ARG(QVariantList, arguments)); - QString str(var.toString()); - if(str.startsWith("#<>")) { // prepared in Lisp for JS eval - QQmlExpression exp(rootContext(), caller, str.mid(3)); - return exp.evaluate(); } - return var; } - -QVariant Lisp::call(const QJSValue& caller_or_function, const QJSValue& function_or_arg0, - const QJSValue& arg1, - const QJSValue& arg2, - const QJSValue& arg3, - const QJSValue& arg4, - const QJSValue& arg5, - const QJSValue& arg6, - const QJSValue& arg7, - const QJSValue& arg8, - const QJSValue& arg9, - const QJSValue& arg10, - const QJSValue& arg11, - const QJSValue& arg12, - const QJSValue& arg13, - const QJSValue& arg14, - const QJSValue& arg15, - const QJSValue& arg16) { - QObject* caller = 0; - QString function; - QVariantList arguments; - if(caller_or_function.isQObject()) { - caller = caller_or_function.toQObject(); - function = function_or_arg0.toString(); } - else if(caller_or_function.isString()) { - function = caller_or_function.toString(); - if(!function_or_arg0.isUndefined()) { - arguments << function_or_arg0.toVariant(); }} - if(!arg1.isUndefined()) { - arguments << arg1.toVariant(); - if(!arg2.isUndefined()) { - arguments << arg2.toVariant(); - if(!arg3.isUndefined()) { - arguments << arg3.toVariant(); - if(!arg4.isUndefined()) { - arguments << arg4.toVariant(); - if(!arg5.isUndefined()) { - arguments << arg5.toVariant(); - if(!arg6.isUndefined()) { - arguments << arg6.toVariant(); - if(!arg7.isUndefined()) { - arguments << arg7.toVariant(); - if(!arg8.isUndefined()) { - arguments << arg8.toVariant(); - if(!arg9.isUndefined()) { - arguments << arg9.toVariant(); - if(!arg10.isUndefined()) { - arguments << arg10.toVariant(); - if(!arg11.isUndefined()) { - arguments << arg11.toVariant(); - if(!arg12.isUndefined()) { - arguments << arg12.toVariant(); - if(!arg13.isUndefined()) { - arguments << arg13.toVariant(); - if(!arg14.isUndefined()) { - arguments << arg14.toVariant(); - if(!arg15.isUndefined()) { - arguments << arg15.toVariant(); - if(!arg16.isUndefined()) { - arguments << arg16.toVariant(); }}}}}}}}}}}}}}}} - return qmlApply(caller, function, arguments); } - -QVariant Lisp::apply(const QJSValue& caller_or_function, - const QJSValue& function_or_arguments, - const QJSValue& arguments_or_undefined) { - QObject* caller = 0; - QString function; - QVariantList arguments; - if(caller_or_function.isQObject()) { - caller = caller_or_function.toQObject(); - function = function_or_arguments.toString(); - arguments = arguments_or_undefined.toVariant().value(); } - else if(caller_or_function.isString()) { - function = caller_or_function.toString(); - arguments = function_or_arguments.toVariant().value(); } - return qmlApply(caller, function, arguments); } - -QT_END_NAMESPACE diff --git a/examples/M-modules/quick/palindrome-2/lib/qml_lisp.h b/examples/M-modules/quick/palindrome-2/lib/qml_lisp.h deleted file mode 100644 index c8531b6..0000000 --- a/examples/M-modules/quick/palindrome-2/lib/qml_lisp.h +++ /dev/null @@ -1,60 +0,0 @@ -#ifndef LIB_H -#define LIB_H - -#include -#include -#include - -#ifdef Q_CC_MSVC -#define LIB_EXPORT __declspec(dllexport) -#else -#define LIB_EXPORT -#endif - -QT_BEGIN_NAMESPACE - -extern "C" { LIB_EXPORT QObject* ini(); } - -class Lisp : public QObject { - Q_OBJECT - -public: - Q_INVOKABLE QVariant call(const QJSValue&, - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue()); - - Q_INVOKABLE QVariant apply(const QJSValue&, - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue()); -}; - -class EQLPaintedItem : public QQuickPaintedItem { - Q_OBJECT - -public: - EQLPaintedItem(QQuickItem* parent = 0) : QQuickPaintedItem(parent) {} - - void paint(QPainter* painter) { - eql_fun("qml:paint", - Q_ARG(QQuickPaintedItem*, this), - Q_ARG(QPainter*, painter)); } -}; - -QT_END_NAMESPACE - -#endif diff --git a/examples/M-modules/quick/palindrome-2/lib/qml_lisp.pro b/examples/M-modules/quick/palindrome-2/lib/qml_lisp.pro deleted file mode 100644 index 6e8dd06..0000000 --- a/examples/M-modules/quick/palindrome-2/lib/qml_lisp.pro +++ /dev/null @@ -1,17 +0,0 @@ -QT += qml quick -TEMPLATE = lib -CONFIG += plugin release -INCLUDEPATH += ../../../../../src -LIBS += -L../../../../.. -leql5 -DESTDIR = ./ -TARGET = qml_lisp -OBJECTS_DIR = ./tmp/ -MOC_DIR = ./tmp/ - -win32 { - include(../../../../../src/windows.pri) -} - -HEADERS += qml_lisp.h -SOURCES += qml_lisp.cpp - diff --git a/examples/M-modules/quick/palindrome-2/lib/tmp/moc_qml_lisp.cpp b/examples/M-modules/quick/palindrome-2/lib/tmp/moc_qml_lisp.cpp deleted file mode 100644 index d15c622..0000000 --- a/examples/M-modules/quick/palindrome-2/lib/tmp/moc_qml_lisp.cpp +++ /dev/null @@ -1,568 +0,0 @@ -/**************************************************************************** -** Meta object code from reading C++ file 'qml_lisp.h' -** -** Created by: The Qt Meta Object Compiler version 67 (Qt 5.5.1) -** -** WARNING! All changes made in this file will be lost! -*****************************************************************************/ - -#include "../qml_lisp.h" -#include -#include -#if !defined(Q_MOC_OUTPUT_REVISION) -#error "The header file 'qml_lisp.h' doesn't include ." -#elif Q_MOC_OUTPUT_REVISION != 67 -#error "This file was generated using the moc from 5.5.1. It" -#error "cannot be used with the include files from this version of Qt." -#error "(The moc has changed too much.)" -#endif - -QT_BEGIN_MOC_NAMESPACE -struct qt_meta_stringdata_Lisp_t { - QByteArrayData data[5]; - char stringdata0[26]; -}; -#define QT_MOC_LITERAL(idx, ofs, len) \ - Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ - qptrdiff(offsetof(qt_meta_stringdata_Lisp_t, stringdata0) + ofs \ - - idx * sizeof(QByteArrayData)) \ - ) -static const qt_meta_stringdata_Lisp_t qt_meta_stringdata_Lisp = { - { -QT_MOC_LITERAL(0, 0, 4), // "Lisp" -QT_MOC_LITERAL(1, 5, 4), // "call" -QT_MOC_LITERAL(2, 10, 0), // "" -QT_MOC_LITERAL(3, 11, 8), // "QJSValue" -QT_MOC_LITERAL(4, 20, 5) // "apply" - - }, - "Lisp\0call\0\0QJSValue\0apply" -}; -#undef QT_MOC_LITERAL - -static const uint qt_meta_data_Lisp[] = { - - // content: - 7, // revision - 0, // classname - 0, 0, // classinfo - 21, 14, // methods - 0, 0, // properties - 0, 0, // enums/sets - 0, 0, // constructors - 0, // flags - 0, // signalCount - - // methods: name, argc, parameters, tag, flags - 1, 18, 119, 2, 0x02 /* Public */, - 1, 17, 156, 2, 0x22 /* Public | MethodCloned */, - 1, 16, 191, 2, 0x22 /* Public | MethodCloned */, - 1, 15, 224, 2, 0x22 /* Public | MethodCloned */, - 1, 14, 255, 2, 0x22 /* Public | MethodCloned */, - 1, 13, 284, 2, 0x22 /* Public | MethodCloned */, - 1, 12, 311, 2, 0x22 /* Public | MethodCloned */, - 1, 11, 336, 2, 0x22 /* Public | MethodCloned */, - 1, 10, 359, 2, 0x22 /* Public | MethodCloned */, - 1, 9, 380, 2, 0x22 /* Public | MethodCloned */, - 1, 8, 399, 2, 0x22 /* Public | MethodCloned */, - 1, 7, 416, 2, 0x22 /* Public | MethodCloned */, - 1, 6, 431, 2, 0x22 /* Public | MethodCloned */, - 1, 5, 444, 2, 0x22 /* Public | MethodCloned */, - 1, 4, 455, 2, 0x22 /* Public | MethodCloned */, - 1, 3, 464, 2, 0x22 /* Public | MethodCloned */, - 1, 2, 471, 2, 0x22 /* Public | MethodCloned */, - 1, 1, 476, 2, 0x22 /* Public | MethodCloned */, - 4, 3, 479, 2, 0x02 /* Public */, - 4, 2, 486, 2, 0x22 /* Public | MethodCloned */, - 4, 1, 491, 2, 0x22 /* Public | MethodCloned */, - - // methods: parameters - QMetaType::QVariant, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - QMetaType::QVariant, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - QMetaType::QVariant, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - QMetaType::QVariant, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - QMetaType::QVariant, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - QMetaType::QVariant, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - QMetaType::QVariant, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - QMetaType::QVariant, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - QMetaType::QVariant, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - QMetaType::QVariant, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, - QMetaType::QVariant, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 2, 2, 2, 2, 2, 2, 2, 2, - QMetaType::QVariant, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 2, 2, 2, 2, 2, 2, 2, - QMetaType::QVariant, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 2, 2, 2, 2, 2, 2, - QMetaType::QVariant, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 2, 2, 2, 2, 2, - QMetaType::QVariant, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 2, 2, 2, 2, - QMetaType::QVariant, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 2, 2, 2, - QMetaType::QVariant, 0x80000000 | 3, 0x80000000 | 3, 2, 2, - QMetaType::QVariant, 0x80000000 | 3, 2, - QMetaType::QVariant, 0x80000000 | 3, 0x80000000 | 3, 0x80000000 | 3, 2, 2, 2, - QMetaType::QVariant, 0x80000000 | 3, 0x80000000 | 3, 2, 2, - QMetaType::QVariant, 0x80000000 | 3, 2, - - 0 // eod -}; - -void Lisp::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) -{ - if (_c == QMetaObject::InvokeMetaMethod) { - Lisp *_t = static_cast(_o); - Q_UNUSED(_t) - switch (_id) { - case 0: { QVariant _r = _t->call((*reinterpret_cast< const QJSValue(*)>(_a[1])),(*reinterpret_cast< const QJSValue(*)>(_a[2])),(*reinterpret_cast< const QJSValue(*)>(_a[3])),(*reinterpret_cast< const QJSValue(*)>(_a[4])),(*reinterpret_cast< const QJSValue(*)>(_a[5])),(*reinterpret_cast< const QJSValue(*)>(_a[6])),(*reinterpret_cast< const QJSValue(*)>(_a[7])),(*reinterpret_cast< const QJSValue(*)>(_a[8])),(*reinterpret_cast< const QJSValue(*)>(_a[9])),(*reinterpret_cast< const QJSValue(*)>(_a[10])),(*reinterpret_cast< const QJSValue(*)>(_a[11])),(*reinterpret_cast< const QJSValue(*)>(_a[12])),(*reinterpret_cast< const QJSValue(*)>(_a[13])),(*reinterpret_cast< const QJSValue(*)>(_a[14])),(*reinterpret_cast< const QJSValue(*)>(_a[15])),(*reinterpret_cast< const QJSValue(*)>(_a[16])),(*reinterpret_cast< const QJSValue(*)>(_a[17])),(*reinterpret_cast< const QJSValue(*)>(_a[18]))); - if (_a[0]) *reinterpret_cast< QVariant*>(_a[0]) = _r; } break; - case 1: { QVariant _r = _t->call((*reinterpret_cast< const QJSValue(*)>(_a[1])),(*reinterpret_cast< const QJSValue(*)>(_a[2])),(*reinterpret_cast< const QJSValue(*)>(_a[3])),(*reinterpret_cast< const QJSValue(*)>(_a[4])),(*reinterpret_cast< const QJSValue(*)>(_a[5])),(*reinterpret_cast< const QJSValue(*)>(_a[6])),(*reinterpret_cast< const QJSValue(*)>(_a[7])),(*reinterpret_cast< const QJSValue(*)>(_a[8])),(*reinterpret_cast< const QJSValue(*)>(_a[9])),(*reinterpret_cast< const QJSValue(*)>(_a[10])),(*reinterpret_cast< const QJSValue(*)>(_a[11])),(*reinterpret_cast< const QJSValue(*)>(_a[12])),(*reinterpret_cast< const QJSValue(*)>(_a[13])),(*reinterpret_cast< const QJSValue(*)>(_a[14])),(*reinterpret_cast< const QJSValue(*)>(_a[15])),(*reinterpret_cast< const QJSValue(*)>(_a[16])),(*reinterpret_cast< const QJSValue(*)>(_a[17]))); - if (_a[0]) *reinterpret_cast< QVariant*>(_a[0]) = _r; } break; - case 2: { QVariant _r = _t->call((*reinterpret_cast< const QJSValue(*)>(_a[1])),(*reinterpret_cast< const QJSValue(*)>(_a[2])),(*reinterpret_cast< const QJSValue(*)>(_a[3])),(*reinterpret_cast< const QJSValue(*)>(_a[4])),(*reinterpret_cast< const QJSValue(*)>(_a[5])),(*reinterpret_cast< const QJSValue(*)>(_a[6])),(*reinterpret_cast< const QJSValue(*)>(_a[7])),(*reinterpret_cast< const QJSValue(*)>(_a[8])),(*reinterpret_cast< const QJSValue(*)>(_a[9])),(*reinterpret_cast< const QJSValue(*)>(_a[10])),(*reinterpret_cast< const QJSValue(*)>(_a[11])),(*reinterpret_cast< const QJSValue(*)>(_a[12])),(*reinterpret_cast< const QJSValue(*)>(_a[13])),(*reinterpret_cast< const QJSValue(*)>(_a[14])),(*reinterpret_cast< const QJSValue(*)>(_a[15])),(*reinterpret_cast< const QJSValue(*)>(_a[16]))); - if (_a[0]) *reinterpret_cast< QVariant*>(_a[0]) = _r; } break; - case 3: { QVariant _r = _t->call((*reinterpret_cast< const QJSValue(*)>(_a[1])),(*reinterpret_cast< const QJSValue(*)>(_a[2])),(*reinterpret_cast< const QJSValue(*)>(_a[3])),(*reinterpret_cast< const QJSValue(*)>(_a[4])),(*reinterpret_cast< const QJSValue(*)>(_a[5])),(*reinterpret_cast< const QJSValue(*)>(_a[6])),(*reinterpret_cast< const QJSValue(*)>(_a[7])),(*reinterpret_cast< const QJSValue(*)>(_a[8])),(*reinterpret_cast< const QJSValue(*)>(_a[9])),(*reinterpret_cast< const QJSValue(*)>(_a[10])),(*reinterpret_cast< const QJSValue(*)>(_a[11])),(*reinterpret_cast< const QJSValue(*)>(_a[12])),(*reinterpret_cast< const QJSValue(*)>(_a[13])),(*reinterpret_cast< const QJSValue(*)>(_a[14])),(*reinterpret_cast< const QJSValue(*)>(_a[15]))); - if (_a[0]) *reinterpret_cast< QVariant*>(_a[0]) = _r; } break; - case 4: { QVariant _r = _t->call((*reinterpret_cast< const QJSValue(*)>(_a[1])),(*reinterpret_cast< const QJSValue(*)>(_a[2])),(*reinterpret_cast< const QJSValue(*)>(_a[3])),(*reinterpret_cast< const QJSValue(*)>(_a[4])),(*reinterpret_cast< const QJSValue(*)>(_a[5])),(*reinterpret_cast< const QJSValue(*)>(_a[6])),(*reinterpret_cast< const QJSValue(*)>(_a[7])),(*reinterpret_cast< const QJSValue(*)>(_a[8])),(*reinterpret_cast< const QJSValue(*)>(_a[9])),(*reinterpret_cast< const QJSValue(*)>(_a[10])),(*reinterpret_cast< const QJSValue(*)>(_a[11])),(*reinterpret_cast< const QJSValue(*)>(_a[12])),(*reinterpret_cast< const QJSValue(*)>(_a[13])),(*reinterpret_cast< const QJSValue(*)>(_a[14]))); - if (_a[0]) *reinterpret_cast< QVariant*>(_a[0]) = _r; } break; - case 5: { QVariant _r = _t->call((*reinterpret_cast< const QJSValue(*)>(_a[1])),(*reinterpret_cast< const QJSValue(*)>(_a[2])),(*reinterpret_cast< const QJSValue(*)>(_a[3])),(*reinterpret_cast< const QJSValue(*)>(_a[4])),(*reinterpret_cast< const QJSValue(*)>(_a[5])),(*reinterpret_cast< const QJSValue(*)>(_a[6])),(*reinterpret_cast< const QJSValue(*)>(_a[7])),(*reinterpret_cast< const QJSValue(*)>(_a[8])),(*reinterpret_cast< const QJSValue(*)>(_a[9])),(*reinterpret_cast< const QJSValue(*)>(_a[10])),(*reinterpret_cast< const QJSValue(*)>(_a[11])),(*reinterpret_cast< const QJSValue(*)>(_a[12])),(*reinterpret_cast< const QJSValue(*)>(_a[13]))); - if (_a[0]) *reinterpret_cast< QVariant*>(_a[0]) = _r; } break; - case 6: { QVariant _r = _t->call((*reinterpret_cast< const QJSValue(*)>(_a[1])),(*reinterpret_cast< const QJSValue(*)>(_a[2])),(*reinterpret_cast< const QJSValue(*)>(_a[3])),(*reinterpret_cast< const QJSValue(*)>(_a[4])),(*reinterpret_cast< const QJSValue(*)>(_a[5])),(*reinterpret_cast< const QJSValue(*)>(_a[6])),(*reinterpret_cast< const QJSValue(*)>(_a[7])),(*reinterpret_cast< const QJSValue(*)>(_a[8])),(*reinterpret_cast< const QJSValue(*)>(_a[9])),(*reinterpret_cast< const QJSValue(*)>(_a[10])),(*reinterpret_cast< const QJSValue(*)>(_a[11])),(*reinterpret_cast< const QJSValue(*)>(_a[12]))); - if (_a[0]) *reinterpret_cast< QVariant*>(_a[0]) = _r; } break; - case 7: { QVariant _r = _t->call((*reinterpret_cast< const QJSValue(*)>(_a[1])),(*reinterpret_cast< const QJSValue(*)>(_a[2])),(*reinterpret_cast< const QJSValue(*)>(_a[3])),(*reinterpret_cast< const QJSValue(*)>(_a[4])),(*reinterpret_cast< const QJSValue(*)>(_a[5])),(*reinterpret_cast< const QJSValue(*)>(_a[6])),(*reinterpret_cast< const QJSValue(*)>(_a[7])),(*reinterpret_cast< const QJSValue(*)>(_a[8])),(*reinterpret_cast< const QJSValue(*)>(_a[9])),(*reinterpret_cast< const QJSValue(*)>(_a[10])),(*reinterpret_cast< const QJSValue(*)>(_a[11]))); - if (_a[0]) *reinterpret_cast< QVariant*>(_a[0]) = _r; } break; - case 8: { QVariant _r = _t->call((*reinterpret_cast< const QJSValue(*)>(_a[1])),(*reinterpret_cast< const QJSValue(*)>(_a[2])),(*reinterpret_cast< const QJSValue(*)>(_a[3])),(*reinterpret_cast< const QJSValue(*)>(_a[4])),(*reinterpret_cast< const QJSValue(*)>(_a[5])),(*reinterpret_cast< const QJSValue(*)>(_a[6])),(*reinterpret_cast< const QJSValue(*)>(_a[7])),(*reinterpret_cast< const QJSValue(*)>(_a[8])),(*reinterpret_cast< const QJSValue(*)>(_a[9])),(*reinterpret_cast< const QJSValue(*)>(_a[10]))); - if (_a[0]) *reinterpret_cast< QVariant*>(_a[0]) = _r; } break; - case 9: { QVariant _r = _t->call((*reinterpret_cast< const QJSValue(*)>(_a[1])),(*reinterpret_cast< const QJSValue(*)>(_a[2])),(*reinterpret_cast< const QJSValue(*)>(_a[3])),(*reinterpret_cast< const QJSValue(*)>(_a[4])),(*reinterpret_cast< const QJSValue(*)>(_a[5])),(*reinterpret_cast< const QJSValue(*)>(_a[6])),(*reinterpret_cast< const QJSValue(*)>(_a[7])),(*reinterpret_cast< const QJSValue(*)>(_a[8])),(*reinterpret_cast< const QJSValue(*)>(_a[9]))); - if (_a[0]) *reinterpret_cast< QVariant*>(_a[0]) = _r; } break; - case 10: { QVariant _r = _t->call((*reinterpret_cast< const QJSValue(*)>(_a[1])),(*reinterpret_cast< const QJSValue(*)>(_a[2])),(*reinterpret_cast< const QJSValue(*)>(_a[3])),(*reinterpret_cast< const QJSValue(*)>(_a[4])),(*reinterpret_cast< const QJSValue(*)>(_a[5])),(*reinterpret_cast< const QJSValue(*)>(_a[6])),(*reinterpret_cast< const QJSValue(*)>(_a[7])),(*reinterpret_cast< const QJSValue(*)>(_a[8]))); - if (_a[0]) *reinterpret_cast< QVariant*>(_a[0]) = _r; } break; - case 11: { QVariant _r = _t->call((*reinterpret_cast< const QJSValue(*)>(_a[1])),(*reinterpret_cast< const QJSValue(*)>(_a[2])),(*reinterpret_cast< const QJSValue(*)>(_a[3])),(*reinterpret_cast< const QJSValue(*)>(_a[4])),(*reinterpret_cast< const QJSValue(*)>(_a[5])),(*reinterpret_cast< const QJSValue(*)>(_a[6])),(*reinterpret_cast< const QJSValue(*)>(_a[7]))); - if (_a[0]) *reinterpret_cast< QVariant*>(_a[0]) = _r; } break; - case 12: { QVariant _r = _t->call((*reinterpret_cast< const QJSValue(*)>(_a[1])),(*reinterpret_cast< const QJSValue(*)>(_a[2])),(*reinterpret_cast< const QJSValue(*)>(_a[3])),(*reinterpret_cast< const QJSValue(*)>(_a[4])),(*reinterpret_cast< const QJSValue(*)>(_a[5])),(*reinterpret_cast< const QJSValue(*)>(_a[6]))); - if (_a[0]) *reinterpret_cast< QVariant*>(_a[0]) = _r; } break; - case 13: { QVariant _r = _t->call((*reinterpret_cast< const QJSValue(*)>(_a[1])),(*reinterpret_cast< const QJSValue(*)>(_a[2])),(*reinterpret_cast< const QJSValue(*)>(_a[3])),(*reinterpret_cast< const QJSValue(*)>(_a[4])),(*reinterpret_cast< const QJSValue(*)>(_a[5]))); - if (_a[0]) *reinterpret_cast< QVariant*>(_a[0]) = _r; } break; - case 14: { QVariant _r = _t->call((*reinterpret_cast< const QJSValue(*)>(_a[1])),(*reinterpret_cast< const QJSValue(*)>(_a[2])),(*reinterpret_cast< const QJSValue(*)>(_a[3])),(*reinterpret_cast< const QJSValue(*)>(_a[4]))); - if (_a[0]) *reinterpret_cast< QVariant*>(_a[0]) = _r; } break; - case 15: { QVariant _r = _t->call((*reinterpret_cast< const QJSValue(*)>(_a[1])),(*reinterpret_cast< const QJSValue(*)>(_a[2])),(*reinterpret_cast< const QJSValue(*)>(_a[3]))); - if (_a[0]) *reinterpret_cast< QVariant*>(_a[0]) = _r; } break; - case 16: { QVariant _r = _t->call((*reinterpret_cast< const QJSValue(*)>(_a[1])),(*reinterpret_cast< const QJSValue(*)>(_a[2]))); - if (_a[0]) *reinterpret_cast< QVariant*>(_a[0]) = _r; } break; - case 17: { QVariant _r = _t->call((*reinterpret_cast< const QJSValue(*)>(_a[1]))); - if (_a[0]) *reinterpret_cast< QVariant*>(_a[0]) = _r; } break; - case 18: { QVariant _r = _t->apply((*reinterpret_cast< const QJSValue(*)>(_a[1])),(*reinterpret_cast< const QJSValue(*)>(_a[2])),(*reinterpret_cast< const QJSValue(*)>(_a[3]))); - if (_a[0]) *reinterpret_cast< QVariant*>(_a[0]) = _r; } break; - case 19: { QVariant _r = _t->apply((*reinterpret_cast< const QJSValue(*)>(_a[1])),(*reinterpret_cast< const QJSValue(*)>(_a[2]))); - if (_a[0]) *reinterpret_cast< QVariant*>(_a[0]) = _r; } break; - case 20: { QVariant _r = _t->apply((*reinterpret_cast< const QJSValue(*)>(_a[1]))); - if (_a[0]) *reinterpret_cast< QVariant*>(_a[0]) = _r; } break; - default: ; - } - } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { - switch (_id) { - default: *reinterpret_cast(_a[0]) = -1; break; - case 0: - switch (*reinterpret_cast(_a[1])) { - default: *reinterpret_cast(_a[0]) = -1; break; - case 17: - case 16: - case 15: - case 14: - case 13: - case 12: - case 11: - case 10: - case 9: - case 8: - case 7: - case 6: - case 5: - case 4: - case 3: - case 2: - case 1: - case 0: - *reinterpret_cast(_a[0]) = qRegisterMetaType< QJSValue >(); break; - } - break; - case 1: - switch (*reinterpret_cast(_a[1])) { - default: *reinterpret_cast(_a[0]) = -1; break; - case 16: - case 15: - case 14: - case 13: - case 12: - case 11: - case 10: - case 9: - case 8: - case 7: - case 6: - case 5: - case 4: - case 3: - case 2: - case 1: - case 0: - *reinterpret_cast(_a[0]) = qRegisterMetaType< QJSValue >(); break; - } - break; - case 2: - switch (*reinterpret_cast(_a[1])) { - default: *reinterpret_cast(_a[0]) = -1; break; - case 15: - case 14: - case 13: - case 12: - case 11: - case 10: - case 9: - case 8: - case 7: - case 6: - case 5: - case 4: - case 3: - case 2: - case 1: - case 0: - *reinterpret_cast(_a[0]) = qRegisterMetaType< QJSValue >(); break; - } - break; - case 3: - switch (*reinterpret_cast(_a[1])) { - default: *reinterpret_cast(_a[0]) = -1; break; - case 14: - case 13: - case 12: - case 11: - case 10: - case 9: - case 8: - case 7: - case 6: - case 5: - case 4: - case 3: - case 2: - case 1: - case 0: - *reinterpret_cast(_a[0]) = qRegisterMetaType< QJSValue >(); break; - } - break; - case 4: - switch (*reinterpret_cast(_a[1])) { - default: *reinterpret_cast(_a[0]) = -1; break; - case 13: - case 12: - case 11: - case 10: - case 9: - case 8: - case 7: - case 6: - case 5: - case 4: - case 3: - case 2: - case 1: - case 0: - *reinterpret_cast(_a[0]) = qRegisterMetaType< QJSValue >(); break; - } - break; - case 5: - switch (*reinterpret_cast(_a[1])) { - default: *reinterpret_cast(_a[0]) = -1; break; - case 12: - case 11: - case 10: - case 9: - case 8: - case 7: - case 6: - case 5: - case 4: - case 3: - case 2: - case 1: - case 0: - *reinterpret_cast(_a[0]) = qRegisterMetaType< QJSValue >(); break; - } - break; - case 6: - switch (*reinterpret_cast(_a[1])) { - default: *reinterpret_cast(_a[0]) = -1; break; - case 11: - case 10: - case 9: - case 8: - case 7: - case 6: - case 5: - case 4: - case 3: - case 2: - case 1: - case 0: - *reinterpret_cast(_a[0]) = qRegisterMetaType< QJSValue >(); break; - } - break; - case 7: - switch (*reinterpret_cast(_a[1])) { - default: *reinterpret_cast(_a[0]) = -1; break; - case 10: - case 9: - case 8: - case 7: - case 6: - case 5: - case 4: - case 3: - case 2: - case 1: - case 0: - *reinterpret_cast(_a[0]) = qRegisterMetaType< QJSValue >(); break; - } - break; - case 8: - switch (*reinterpret_cast(_a[1])) { - default: *reinterpret_cast(_a[0]) = -1; break; - case 9: - case 8: - case 7: - case 6: - case 5: - case 4: - case 3: - case 2: - case 1: - case 0: - *reinterpret_cast(_a[0]) = qRegisterMetaType< QJSValue >(); break; - } - break; - case 9: - switch (*reinterpret_cast(_a[1])) { - default: *reinterpret_cast(_a[0]) = -1; break; - case 8: - case 7: - case 6: - case 5: - case 4: - case 3: - case 2: - case 1: - case 0: - *reinterpret_cast(_a[0]) = qRegisterMetaType< QJSValue >(); break; - } - break; - case 10: - switch (*reinterpret_cast(_a[1])) { - default: *reinterpret_cast(_a[0]) = -1; break; - case 7: - case 6: - case 5: - case 4: - case 3: - case 2: - case 1: - case 0: - *reinterpret_cast(_a[0]) = qRegisterMetaType< QJSValue >(); break; - } - break; - case 11: - switch (*reinterpret_cast(_a[1])) { - default: *reinterpret_cast(_a[0]) = -1; break; - case 6: - case 5: - case 4: - case 3: - case 2: - case 1: - case 0: - *reinterpret_cast(_a[0]) = qRegisterMetaType< QJSValue >(); break; - } - break; - case 12: - switch (*reinterpret_cast(_a[1])) { - default: *reinterpret_cast(_a[0]) = -1; break; - case 5: - case 4: - case 3: - case 2: - case 1: - case 0: - *reinterpret_cast(_a[0]) = qRegisterMetaType< QJSValue >(); break; - } - break; - case 13: - switch (*reinterpret_cast(_a[1])) { - default: *reinterpret_cast(_a[0]) = -1; break; - case 4: - case 3: - case 2: - case 1: - case 0: - *reinterpret_cast(_a[0]) = qRegisterMetaType< QJSValue >(); break; - } - break; - case 14: - switch (*reinterpret_cast(_a[1])) { - default: *reinterpret_cast(_a[0]) = -1; break; - case 3: - case 2: - case 1: - case 0: - *reinterpret_cast(_a[0]) = qRegisterMetaType< QJSValue >(); break; - } - break; - case 15: - switch (*reinterpret_cast(_a[1])) { - default: *reinterpret_cast(_a[0]) = -1; break; - case 2: - case 1: - case 0: - *reinterpret_cast(_a[0]) = qRegisterMetaType< QJSValue >(); break; - } - break; - case 16: - switch (*reinterpret_cast(_a[1])) { - default: *reinterpret_cast(_a[0]) = -1; break; - case 1: - case 0: - *reinterpret_cast(_a[0]) = qRegisterMetaType< QJSValue >(); break; - } - break; - case 17: - switch (*reinterpret_cast(_a[1])) { - default: *reinterpret_cast(_a[0]) = -1; break; - case 0: - *reinterpret_cast(_a[0]) = qRegisterMetaType< QJSValue >(); break; - } - break; - case 18: - switch (*reinterpret_cast(_a[1])) { - default: *reinterpret_cast(_a[0]) = -1; break; - case 2: - case 1: - case 0: - *reinterpret_cast(_a[0]) = qRegisterMetaType< QJSValue >(); break; - } - break; - case 19: - switch (*reinterpret_cast(_a[1])) { - default: *reinterpret_cast(_a[0]) = -1; break; - case 1: - case 0: - *reinterpret_cast(_a[0]) = qRegisterMetaType< QJSValue >(); break; - } - break; - case 20: - switch (*reinterpret_cast(_a[1])) { - default: *reinterpret_cast(_a[0]) = -1; break; - case 0: - *reinterpret_cast(_a[0]) = qRegisterMetaType< QJSValue >(); break; - } - break; - } - } -} - -const QMetaObject Lisp::staticMetaObject = { - { &QObject::staticMetaObject, qt_meta_stringdata_Lisp.data, - qt_meta_data_Lisp, qt_static_metacall, Q_NULLPTR, Q_NULLPTR} -}; - - -const QMetaObject *Lisp::metaObject() const -{ - return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; -} - -void *Lisp::qt_metacast(const char *_clname) -{ - if (!_clname) return Q_NULLPTR; - if (!strcmp(_clname, qt_meta_stringdata_Lisp.stringdata0)) - return static_cast(const_cast< Lisp*>(this)); - return QObject::qt_metacast(_clname); -} - -int Lisp::qt_metacall(QMetaObject::Call _c, int _id, void **_a) -{ - _id = QObject::qt_metacall(_c, _id, _a); - if (_id < 0) - return _id; - if (_c == QMetaObject::InvokeMetaMethod) { - if (_id < 21) - qt_static_metacall(this, _c, _id, _a); - _id -= 21; - } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { - if (_id < 21) - qt_static_metacall(this, _c, _id, _a); - _id -= 21; - } - return _id; -} -struct qt_meta_stringdata_EQLPaintedItem_t { - QByteArrayData data[1]; - char stringdata0[15]; -}; -#define QT_MOC_LITERAL(idx, ofs, len) \ - Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ - qptrdiff(offsetof(qt_meta_stringdata_EQLPaintedItem_t, stringdata0) + ofs \ - - idx * sizeof(QByteArrayData)) \ - ) -static const qt_meta_stringdata_EQLPaintedItem_t qt_meta_stringdata_EQLPaintedItem = { - { -QT_MOC_LITERAL(0, 0, 14) // "EQLPaintedItem" - - }, - "EQLPaintedItem" -}; -#undef QT_MOC_LITERAL - -static const uint qt_meta_data_EQLPaintedItem[] = { - - // content: - 7, // revision - 0, // classname - 0, 0, // classinfo - 0, 0, // methods - 0, 0, // properties - 0, 0, // enums/sets - 0, 0, // constructors - 0, // flags - 0, // signalCount - - 0 // eod -}; - -void EQLPaintedItem::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) -{ - Q_UNUSED(_o); - Q_UNUSED(_id); - Q_UNUSED(_c); - Q_UNUSED(_a); -} - -const QMetaObject EQLPaintedItem::staticMetaObject = { - { &QQuickPaintedItem::staticMetaObject, qt_meta_stringdata_EQLPaintedItem.data, - qt_meta_data_EQLPaintedItem, qt_static_metacall, Q_NULLPTR, Q_NULLPTR} -}; - - -const QMetaObject *EQLPaintedItem::metaObject() const -{ - return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; -} - -void *EQLPaintedItem::qt_metacast(const char *_clname) -{ - if (!_clname) return Q_NULLPTR; - if (!strcmp(_clname, qt_meta_stringdata_EQLPaintedItem.stringdata0)) - return static_cast(const_cast< EQLPaintedItem*>(this)); - return QQuickPaintedItem::qt_metacast(_clname); -} - -int EQLPaintedItem::qt_metacall(QMetaObject::Call _c, int _id, void **_a) -{ - _id = QQuickPaintedItem::qt_metacall(_c, _id, _a); - if (_id < 0) - return _id; - return _id; -} -QT_END_MOC_NAMESPACE diff --git a/examples/M-modules/quick/palindrome-2/lib/tmp/moc_qml_lisp.o b/examples/M-modules/quick/palindrome-2/lib/tmp/moc_qml_lisp.o deleted file mode 100644 index 22d2873..0000000 Binary files a/examples/M-modules/quick/palindrome-2/lib/tmp/moc_qml_lisp.o and /dev/null differ diff --git a/examples/M-modules/quick/palindrome-2/lib/tmp/qml_lisp.o b/examples/M-modules/quick/palindrome-2/lib/tmp/qml_lisp.o deleted file mode 100644 index 7f8091a..0000000 Binary files a/examples/M-modules/quick/palindrome-2/lib/tmp/qml_lisp.o and /dev/null differ diff --git a/examples/M-modules/quick/palindrome-2/properties.lisp b/examples/M-modules/quick/palindrome-2/properties.lisp index 5816280..7bfc237 100644 --- a/examples/M-modules/quick/palindrome-2/properties.lisp +++ b/examples/M-modules/quick/palindrome-2/properties.lisp @@ -6,7 +6,7 @@ (defun show-properties-dialog (&optional item) "Lists all instance properties of a QML item (either a QQuickItem or an 'objectName'). If no item is passed, QML:*CALLER* will be used." (unless (find-package :properties) - (load (in-home "gui/properties"))) + (load (in-home "lib/properties"))) (funcall (%sym :show :properties) (or (if (stringp item) (qml:find-quick-item item) diff --git a/examples/M-modules/quick/palindrome-2/qml-lisp.lisp b/examples/M-modules/quick/palindrome-2/qml-lisp.lisp index ceb4ea8..1fc2c05 100644 --- a/examples/M-modules/quick/palindrome-2/qml-lisp.lisp +++ b/examples/M-modules/quick/palindrome-2/qml-lisp.lisp @@ -3,7 +3,6 @@ ;;; * allows to get/set any QML property from Lisp (needs 'objectName' to be set) ;;; * allows to evaluate JS code from Lisp (needs 'objectName' to be set) ;;; -;;; (requires a C++ plugin, see "lib/") (defpackage :qml-lisp (:use :common-lisp :eql) @@ -26,9 +25,8 @@ (in-package :qml-lisp) -;;(defvar *qml-lisp* (qload-c++ "lib/qml_lisp")) ; not needed for this example -(defvar *caller* nil) (defvar *quick-view* nil) +(defvar *caller* nil) (defun string-to-symbol (name) (let ((upper (string-upcase name)) diff --git a/examples/M-modules/quick/qml-lisp/lib/qml_lisp.cpp b/examples/M-modules/quick/qml-lisp/lib/qml_lisp.cpp deleted file mode 100644 index aeb8702..0000000 --- a/examples/M-modules/quick/qml-lisp/lib/qml_lisp.cpp +++ /dev/null @@ -1,108 +0,0 @@ -#include "qml_lisp.h" - -QT_BEGIN_NAMESPACE - -static Lisp* lisp = 0; - -static QObject* lisp_provider(QQmlEngine*, QJSEngine*) { return lisp; } - -QObject* ini() { - if(!lisp) { - lisp = new Lisp; - qmlRegisterSingletonType("EQL5", 1, 0, "Lisp", lisp_provider); - qmlRegisterType("EQL5", 1, 0, "PaintedItem"); } - return lisp; } - -static QQmlContext* rootContext() { - QVariant var = eql_fun("qml:root-context", QMetaType::VoidStar); - return Q_PTR(QQmlContext*, var); } - -static QVariant qmlApply(QObject* caller, const QString& function, const QVariantList& arguments) { - QVariant var = - eql_fun("qml:qml-apply", QVariant::String, - Q_ARG(QObject*, caller), - Q_ARG(QString, function), - Q_ARG(QVariantList, arguments)); - QString str(var.toString()); - if(str.startsWith("#<>")) { // prepared in Lisp for JS eval - QQmlExpression exp(rootContext(), caller, str.mid(3)); - return exp.evaluate(); } - return var; } - -QVariant Lisp::call(const QJSValue& caller_or_function, const QJSValue& function_or_arg0, - const QJSValue& arg1, - const QJSValue& arg2, - const QJSValue& arg3, - const QJSValue& arg4, - const QJSValue& arg5, - const QJSValue& arg6, - const QJSValue& arg7, - const QJSValue& arg8, - const QJSValue& arg9, - const QJSValue& arg10, - const QJSValue& arg11, - const QJSValue& arg12, - const QJSValue& arg13, - const QJSValue& arg14, - const QJSValue& arg15, - const QJSValue& arg16) { - QObject* caller = 0; - QString function; - QVariantList arguments; - if(caller_or_function.isQObject()) { - caller = caller_or_function.toQObject(); - function = function_or_arg0.toString(); } - else if(caller_or_function.isString()) { - function = caller_or_function.toString(); - if(!function_or_arg0.isUndefined()) { - arguments << function_or_arg0.toVariant(); }} - if(!arg1.isUndefined()) { - arguments << arg1.toVariant(); - if(!arg2.isUndefined()) { - arguments << arg2.toVariant(); - if(!arg3.isUndefined()) { - arguments << arg3.toVariant(); - if(!arg4.isUndefined()) { - arguments << arg4.toVariant(); - if(!arg5.isUndefined()) { - arguments << arg5.toVariant(); - if(!arg6.isUndefined()) { - arguments << arg6.toVariant(); - if(!arg7.isUndefined()) { - arguments << arg7.toVariant(); - if(!arg8.isUndefined()) { - arguments << arg8.toVariant(); - if(!arg9.isUndefined()) { - arguments << arg9.toVariant(); - if(!arg10.isUndefined()) { - arguments << arg10.toVariant(); - if(!arg11.isUndefined()) { - arguments << arg11.toVariant(); - if(!arg12.isUndefined()) { - arguments << arg12.toVariant(); - if(!arg13.isUndefined()) { - arguments << arg13.toVariant(); - if(!arg14.isUndefined()) { - arguments << arg14.toVariant(); - if(!arg15.isUndefined()) { - arguments << arg15.toVariant(); - if(!arg16.isUndefined()) { - arguments << arg16.toVariant(); }}}}}}}}}}}}}}}} - return qmlApply(caller, function, arguments); } - -QVariant Lisp::apply(const QJSValue& caller_or_function, - const QJSValue& function_or_arguments, - const QJSValue& arguments_or_undefined) { - QObject* caller = 0; - QString function; - QVariantList arguments; - if(caller_or_function.isQObject()) { - caller = caller_or_function.toQObject(); - function = function_or_arguments.toString(); - arguments = arguments_or_undefined.toVariant().value(); } - else if(caller_or_function.isString()) { - function = caller_or_function.toString(); - arguments = function_or_arguments.toVariant().value(); } - return qmlApply(caller, function, arguments); } - -QT_END_NAMESPACE diff --git a/examples/M-modules/quick/qml-lisp/lib/qml_lisp.h b/examples/M-modules/quick/qml-lisp/lib/qml_lisp.h deleted file mode 100644 index c8531b6..0000000 --- a/examples/M-modules/quick/qml-lisp/lib/qml_lisp.h +++ /dev/null @@ -1,60 +0,0 @@ -#ifndef LIB_H -#define LIB_H - -#include -#include -#include - -#ifdef Q_CC_MSVC -#define LIB_EXPORT __declspec(dllexport) -#else -#define LIB_EXPORT -#endif - -QT_BEGIN_NAMESPACE - -extern "C" { LIB_EXPORT QObject* ini(); } - -class Lisp : public QObject { - Q_OBJECT - -public: - Q_INVOKABLE QVariant call(const QJSValue&, - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue()); - - Q_INVOKABLE QVariant apply(const QJSValue&, - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue()); -}; - -class EQLPaintedItem : public QQuickPaintedItem { - Q_OBJECT - -public: - EQLPaintedItem(QQuickItem* parent = 0) : QQuickPaintedItem(parent) {} - - void paint(QPainter* painter) { - eql_fun("qml:paint", - Q_ARG(QQuickPaintedItem*, this), - Q_ARG(QPainter*, painter)); } -}; - -QT_END_NAMESPACE - -#endif diff --git a/examples/M-modules/quick/qml-lisp/lib/qml_lisp.pro b/examples/M-modules/quick/qml-lisp/lib/qml_lisp.pro deleted file mode 100644 index 6e8dd06..0000000 --- a/examples/M-modules/quick/qml-lisp/lib/qml_lisp.pro +++ /dev/null @@ -1,17 +0,0 @@ -QT += qml quick -TEMPLATE = lib -CONFIG += plugin release -INCLUDEPATH += ../../../../../src -LIBS += -L../../../../.. -leql5 -DESTDIR = ./ -TARGET = qml_lisp -OBJECTS_DIR = ./tmp/ -MOC_DIR = ./tmp/ - -win32 { - include(../../../../../src/windows.pri) -} - -HEADERS += qml_lisp.h -SOURCES += qml_lisp.cpp - diff --git a/examples/M-modules/quick/qml-lisp/properties.lisp b/examples/M-modules/quick/qml-lisp/properties.lisp index 5816280..7bfc237 100644 --- a/examples/M-modules/quick/qml-lisp/properties.lisp +++ b/examples/M-modules/quick/qml-lisp/properties.lisp @@ -6,7 +6,7 @@ (defun show-properties-dialog (&optional item) "Lists all instance properties of a QML item (either a QQuickItem or an 'objectName'). If no item is passed, QML:*CALLER* will be used." (unless (find-package :properties) - (load (in-home "gui/properties"))) + (load (in-home "lib/properties"))) (funcall (%sym :show :properties) (or (if (stringp item) (qml:find-quick-item item) diff --git a/examples/M-modules/quick/qml-lisp/qml-lisp.lisp b/examples/M-modules/quick/qml-lisp/qml-lisp.lisp index b94c8f4..1fc2c05 100644 --- a/examples/M-modules/quick/qml-lisp/qml-lisp.lisp +++ b/examples/M-modules/quick/qml-lisp/qml-lisp.lisp @@ -3,7 +3,6 @@ ;;; * allows to get/set any QML property from Lisp (needs 'objectName' to be set) ;;; * allows to evaluate JS code from Lisp (needs 'objectName' to be set) ;;; -;;; (requires a C++ plugin, see "lib/") (defpackage :qml-lisp (:use :common-lisp :eql) @@ -26,9 +25,8 @@ (in-package :qml-lisp) -(defvar *qml-lisp* (qload-c++ "lib/qml_lisp")) -(defvar *caller* nil) (defvar *quick-view* nil) +(defvar *caller* nil) (defun string-to-symbol (name) (let ((upper (string-upcase name)) diff --git a/examples/M-modules/quick/qml-lisp/qml/example.qml b/examples/M-modules/quick/qml-lisp/qml/example.qml index 87a3796..2878cc2 100644 --- a/examples/M-modules/quick/qml-lisp/qml/example.qml +++ b/examples/M-modules/quick/qml-lisp/qml/example.qml @@ -14,7 +14,7 @@ Item { // use JS arrays for lists (can be nested); // // * the only limit to Lisp.call() is the number of arguments (max. 16); - // this is just an implementation detail; feel free to extend it (see "../lib/"); + // this is just an implementation detail; feel free to extend it (see sources); // // * return values can be nested Lisp lists or vectors, which will be converted to // nested JS arrays: they will be prepared in Lisp and passed to JS eval; diff --git a/examples/M-modules/quick/sokoban/lib/qml_lisp.cpp b/examples/M-modules/quick/sokoban/lib/qml_lisp.cpp deleted file mode 100644 index aeb8702..0000000 --- a/examples/M-modules/quick/sokoban/lib/qml_lisp.cpp +++ /dev/null @@ -1,108 +0,0 @@ -#include "qml_lisp.h" - -QT_BEGIN_NAMESPACE - -static Lisp* lisp = 0; - -static QObject* lisp_provider(QQmlEngine*, QJSEngine*) { return lisp; } - -QObject* ini() { - if(!lisp) { - lisp = new Lisp; - qmlRegisterSingletonType("EQL5", 1, 0, "Lisp", lisp_provider); - qmlRegisterType("EQL5", 1, 0, "PaintedItem"); } - return lisp; } - -static QQmlContext* rootContext() { - QVariant var = eql_fun("qml:root-context", QMetaType::VoidStar); - return Q_PTR(QQmlContext*, var); } - -static QVariant qmlApply(QObject* caller, const QString& function, const QVariantList& arguments) { - QVariant var = - eql_fun("qml:qml-apply", QVariant::String, - Q_ARG(QObject*, caller), - Q_ARG(QString, function), - Q_ARG(QVariantList, arguments)); - QString str(var.toString()); - if(str.startsWith("#<>")) { // prepared in Lisp for JS eval - QQmlExpression exp(rootContext(), caller, str.mid(3)); - return exp.evaluate(); } - return var; } - -QVariant Lisp::call(const QJSValue& caller_or_function, const QJSValue& function_or_arg0, - const QJSValue& arg1, - const QJSValue& arg2, - const QJSValue& arg3, - const QJSValue& arg4, - const QJSValue& arg5, - const QJSValue& arg6, - const QJSValue& arg7, - const QJSValue& arg8, - const QJSValue& arg9, - const QJSValue& arg10, - const QJSValue& arg11, - const QJSValue& arg12, - const QJSValue& arg13, - const QJSValue& arg14, - const QJSValue& arg15, - const QJSValue& arg16) { - QObject* caller = 0; - QString function; - QVariantList arguments; - if(caller_or_function.isQObject()) { - caller = caller_or_function.toQObject(); - function = function_or_arg0.toString(); } - else if(caller_or_function.isString()) { - function = caller_or_function.toString(); - if(!function_or_arg0.isUndefined()) { - arguments << function_or_arg0.toVariant(); }} - if(!arg1.isUndefined()) { - arguments << arg1.toVariant(); - if(!arg2.isUndefined()) { - arguments << arg2.toVariant(); - if(!arg3.isUndefined()) { - arguments << arg3.toVariant(); - if(!arg4.isUndefined()) { - arguments << arg4.toVariant(); - if(!arg5.isUndefined()) { - arguments << arg5.toVariant(); - if(!arg6.isUndefined()) { - arguments << arg6.toVariant(); - if(!arg7.isUndefined()) { - arguments << arg7.toVariant(); - if(!arg8.isUndefined()) { - arguments << arg8.toVariant(); - if(!arg9.isUndefined()) { - arguments << arg9.toVariant(); - if(!arg10.isUndefined()) { - arguments << arg10.toVariant(); - if(!arg11.isUndefined()) { - arguments << arg11.toVariant(); - if(!arg12.isUndefined()) { - arguments << arg12.toVariant(); - if(!arg13.isUndefined()) { - arguments << arg13.toVariant(); - if(!arg14.isUndefined()) { - arguments << arg14.toVariant(); - if(!arg15.isUndefined()) { - arguments << arg15.toVariant(); - if(!arg16.isUndefined()) { - arguments << arg16.toVariant(); }}}}}}}}}}}}}}}} - return qmlApply(caller, function, arguments); } - -QVariant Lisp::apply(const QJSValue& caller_or_function, - const QJSValue& function_or_arguments, - const QJSValue& arguments_or_undefined) { - QObject* caller = 0; - QString function; - QVariantList arguments; - if(caller_or_function.isQObject()) { - caller = caller_or_function.toQObject(); - function = function_or_arguments.toString(); - arguments = arguments_or_undefined.toVariant().value(); } - else if(caller_or_function.isString()) { - function = caller_or_function.toString(); - arguments = function_or_arguments.toVariant().value(); } - return qmlApply(caller, function, arguments); } - -QT_END_NAMESPACE diff --git a/examples/M-modules/quick/sokoban/lib/qml_lisp.h b/examples/M-modules/quick/sokoban/lib/qml_lisp.h deleted file mode 100644 index c8531b6..0000000 --- a/examples/M-modules/quick/sokoban/lib/qml_lisp.h +++ /dev/null @@ -1,60 +0,0 @@ -#ifndef LIB_H -#define LIB_H - -#include -#include -#include - -#ifdef Q_CC_MSVC -#define LIB_EXPORT __declspec(dllexport) -#else -#define LIB_EXPORT -#endif - -QT_BEGIN_NAMESPACE - -extern "C" { LIB_EXPORT QObject* ini(); } - -class Lisp : public QObject { - Q_OBJECT - -public: - Q_INVOKABLE QVariant call(const QJSValue&, - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue()); - - Q_INVOKABLE QVariant apply(const QJSValue&, - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue()); -}; - -class EQLPaintedItem : public QQuickPaintedItem { - Q_OBJECT - -public: - EQLPaintedItem(QQuickItem* parent = 0) : QQuickPaintedItem(parent) {} - - void paint(QPainter* painter) { - eql_fun("qml:paint", - Q_ARG(QQuickPaintedItem*, this), - Q_ARG(QPainter*, painter)); } -}; - -QT_END_NAMESPACE - -#endif diff --git a/examples/M-modules/quick/sokoban/lib/qml_lisp.pro b/examples/M-modules/quick/sokoban/lib/qml_lisp.pro deleted file mode 100644 index 6e8dd06..0000000 --- a/examples/M-modules/quick/sokoban/lib/qml_lisp.pro +++ /dev/null @@ -1,17 +0,0 @@ -QT += qml quick -TEMPLATE = lib -CONFIG += plugin release -INCLUDEPATH += ../../../../../src -LIBS += -L../../../../.. -leql5 -DESTDIR = ./ -TARGET = qml_lisp -OBJECTS_DIR = ./tmp/ -MOC_DIR = ./tmp/ - -win32 { - include(../../../../../src/windows.pri) -} - -HEADERS += qml_lisp.h -SOURCES += qml_lisp.cpp - diff --git a/examples/M-modules/quick/sokoban/properties.lisp b/examples/M-modules/quick/sokoban/properties.lisp index 5816280..7bfc237 100644 --- a/examples/M-modules/quick/sokoban/properties.lisp +++ b/examples/M-modules/quick/sokoban/properties.lisp @@ -6,7 +6,7 @@ (defun show-properties-dialog (&optional item) "Lists all instance properties of a QML item (either a QQuickItem or an 'objectName'). If no item is passed, QML:*CALLER* will be used." (unless (find-package :properties) - (load (in-home "gui/properties"))) + (load (in-home "lib/properties"))) (funcall (%sym :show :properties) (or (if (stringp item) (qml:find-quick-item item) diff --git a/examples/M-modules/quick/sokoban/qml-lisp.lisp b/examples/M-modules/quick/sokoban/qml-lisp.lisp index b94c8f4..1fc2c05 100644 --- a/examples/M-modules/quick/sokoban/qml-lisp.lisp +++ b/examples/M-modules/quick/sokoban/qml-lisp.lisp @@ -3,7 +3,6 @@ ;;; * allows to get/set any QML property from Lisp (needs 'objectName' to be set) ;;; * allows to evaluate JS code from Lisp (needs 'objectName' to be set) ;;; -;;; (requires a C++ plugin, see "lib/") (defpackage :qml-lisp (:use :common-lisp :eql) @@ -26,9 +25,8 @@ (in-package :qml-lisp) -(defvar *qml-lisp* (qload-c++ "lib/qml_lisp")) -(defvar *caller* nil) (defvar *quick-view* nil) +(defvar *caller* nil) (defun string-to-symbol (name) (let ((upper (string-upcase name)) diff --git a/examples/M-modules/quick/table-view/lib/qml_lisp.cpp b/examples/M-modules/quick/table-view/lib/qml_lisp.cpp deleted file mode 100644 index aeb8702..0000000 --- a/examples/M-modules/quick/table-view/lib/qml_lisp.cpp +++ /dev/null @@ -1,108 +0,0 @@ -#include "qml_lisp.h" - -QT_BEGIN_NAMESPACE - -static Lisp* lisp = 0; - -static QObject* lisp_provider(QQmlEngine*, QJSEngine*) { return lisp; } - -QObject* ini() { - if(!lisp) { - lisp = new Lisp; - qmlRegisterSingletonType("EQL5", 1, 0, "Lisp", lisp_provider); - qmlRegisterType("EQL5", 1, 0, "PaintedItem"); } - return lisp; } - -static QQmlContext* rootContext() { - QVariant var = eql_fun("qml:root-context", QMetaType::VoidStar); - return Q_PTR(QQmlContext*, var); } - -static QVariant qmlApply(QObject* caller, const QString& function, const QVariantList& arguments) { - QVariant var = - eql_fun("qml:qml-apply", QVariant::String, - Q_ARG(QObject*, caller), - Q_ARG(QString, function), - Q_ARG(QVariantList, arguments)); - QString str(var.toString()); - if(str.startsWith("#<>")) { // prepared in Lisp for JS eval - QQmlExpression exp(rootContext(), caller, str.mid(3)); - return exp.evaluate(); } - return var; } - -QVariant Lisp::call(const QJSValue& caller_or_function, const QJSValue& function_or_arg0, - const QJSValue& arg1, - const QJSValue& arg2, - const QJSValue& arg3, - const QJSValue& arg4, - const QJSValue& arg5, - const QJSValue& arg6, - const QJSValue& arg7, - const QJSValue& arg8, - const QJSValue& arg9, - const QJSValue& arg10, - const QJSValue& arg11, - const QJSValue& arg12, - const QJSValue& arg13, - const QJSValue& arg14, - const QJSValue& arg15, - const QJSValue& arg16) { - QObject* caller = 0; - QString function; - QVariantList arguments; - if(caller_or_function.isQObject()) { - caller = caller_or_function.toQObject(); - function = function_or_arg0.toString(); } - else if(caller_or_function.isString()) { - function = caller_or_function.toString(); - if(!function_or_arg0.isUndefined()) { - arguments << function_or_arg0.toVariant(); }} - if(!arg1.isUndefined()) { - arguments << arg1.toVariant(); - if(!arg2.isUndefined()) { - arguments << arg2.toVariant(); - if(!arg3.isUndefined()) { - arguments << arg3.toVariant(); - if(!arg4.isUndefined()) { - arguments << arg4.toVariant(); - if(!arg5.isUndefined()) { - arguments << arg5.toVariant(); - if(!arg6.isUndefined()) { - arguments << arg6.toVariant(); - if(!arg7.isUndefined()) { - arguments << arg7.toVariant(); - if(!arg8.isUndefined()) { - arguments << arg8.toVariant(); - if(!arg9.isUndefined()) { - arguments << arg9.toVariant(); - if(!arg10.isUndefined()) { - arguments << arg10.toVariant(); - if(!arg11.isUndefined()) { - arguments << arg11.toVariant(); - if(!arg12.isUndefined()) { - arguments << arg12.toVariant(); - if(!arg13.isUndefined()) { - arguments << arg13.toVariant(); - if(!arg14.isUndefined()) { - arguments << arg14.toVariant(); - if(!arg15.isUndefined()) { - arguments << arg15.toVariant(); - if(!arg16.isUndefined()) { - arguments << arg16.toVariant(); }}}}}}}}}}}}}}}} - return qmlApply(caller, function, arguments); } - -QVariant Lisp::apply(const QJSValue& caller_or_function, - const QJSValue& function_or_arguments, - const QJSValue& arguments_or_undefined) { - QObject* caller = 0; - QString function; - QVariantList arguments; - if(caller_or_function.isQObject()) { - caller = caller_or_function.toQObject(); - function = function_or_arguments.toString(); - arguments = arguments_or_undefined.toVariant().value(); } - else if(caller_or_function.isString()) { - function = caller_or_function.toString(); - arguments = function_or_arguments.toVariant().value(); } - return qmlApply(caller, function, arguments); } - -QT_END_NAMESPACE diff --git a/examples/M-modules/quick/table-view/lib/qml_lisp.h b/examples/M-modules/quick/table-view/lib/qml_lisp.h deleted file mode 100644 index c8531b6..0000000 --- a/examples/M-modules/quick/table-view/lib/qml_lisp.h +++ /dev/null @@ -1,60 +0,0 @@ -#ifndef LIB_H -#define LIB_H - -#include -#include -#include - -#ifdef Q_CC_MSVC -#define LIB_EXPORT __declspec(dllexport) -#else -#define LIB_EXPORT -#endif - -QT_BEGIN_NAMESPACE - -extern "C" { LIB_EXPORT QObject* ini(); } - -class Lisp : public QObject { - Q_OBJECT - -public: - Q_INVOKABLE QVariant call(const QJSValue&, - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue()); - - Q_INVOKABLE QVariant apply(const QJSValue&, - const QJSValue& = QJSValue(), - const QJSValue& = QJSValue()); -}; - -class EQLPaintedItem : public QQuickPaintedItem { - Q_OBJECT - -public: - EQLPaintedItem(QQuickItem* parent = 0) : QQuickPaintedItem(parent) {} - - void paint(QPainter* painter) { - eql_fun("qml:paint", - Q_ARG(QQuickPaintedItem*, this), - Q_ARG(QPainter*, painter)); } -}; - -QT_END_NAMESPACE - -#endif diff --git a/examples/M-modules/quick/table-view/lib/qml_lisp.pro b/examples/M-modules/quick/table-view/lib/qml_lisp.pro deleted file mode 100644 index 6e8dd06..0000000 --- a/examples/M-modules/quick/table-view/lib/qml_lisp.pro +++ /dev/null @@ -1,17 +0,0 @@ -QT += qml quick -TEMPLATE = lib -CONFIG += plugin release -INCLUDEPATH += ../../../../../src -LIBS += -L../../../../.. -leql5 -DESTDIR = ./ -TARGET = qml_lisp -OBJECTS_DIR = ./tmp/ -MOC_DIR = ./tmp/ - -win32 { - include(../../../../../src/windows.pri) -} - -HEADERS += qml_lisp.h -SOURCES += qml_lisp.cpp - diff --git a/examples/M-modules/quick/table-view/properties.lisp b/examples/M-modules/quick/table-view/properties.lisp index 5816280..7bfc237 100644 --- a/examples/M-modules/quick/table-view/properties.lisp +++ b/examples/M-modules/quick/table-view/properties.lisp @@ -6,7 +6,7 @@ (defun show-properties-dialog (&optional item) "Lists all instance properties of a QML item (either a QQuickItem or an 'objectName'). If no item is passed, QML:*CALLER* will be used." (unless (find-package :properties) - (load (in-home "gui/properties"))) + (load (in-home "lib/properties"))) (funcall (%sym :show :properties) (or (if (stringp item) (qml:find-quick-item item) diff --git a/examples/M-modules/quick/table-view/qml-lisp.lisp b/examples/M-modules/quick/table-view/qml-lisp.lisp index b94c8f4..1fc2c05 100644 --- a/examples/M-modules/quick/table-view/qml-lisp.lisp +++ b/examples/M-modules/quick/table-view/qml-lisp.lisp @@ -3,7 +3,6 @@ ;;; * allows to get/set any QML property from Lisp (needs 'objectName' to be set) ;;; * allows to evaluate JS code from Lisp (needs 'objectName' to be set) ;;; -;;; (requires a C++ plugin, see "lib/") (defpackage :qml-lisp (:use :common-lisp :eql) @@ -26,9 +25,8 @@ (in-package :qml-lisp) -(defvar *qml-lisp* (qload-c++ "lib/qml_lisp")) -(defvar *caller* nil) (defvar *quick-view* nil) +(defvar *caller* nil) (defun string-to-symbol (name) (let ((upper (string-upcase name)) diff --git a/examples/M-modules/web-kit-engine/lib/webkit_bridge.cpp b/examples/M-modules/web-kit-engine/lib/webkit_bridge.cpp index 1792e94..e69de29 100644 --- a/examples/M-modules/web-kit-engine/lib/webkit_bridge.cpp +++ b/examples/M-modules/web-kit-engine/lib/webkit_bridge.cpp @@ -1 +0,0 @@ -//exclude "*.*" diff --git a/examples/M-modules/web-kit-engine/lib/webkit_bridge.h b/examples/M-modules/web-kit-engine/lib/webkit_bridge.h index 7ac701a..07a785b 100644 --- a/examples/M-modules/web-kit-engine/lib/webkit_bridge.h +++ b/examples/M-modules/web-kit-engine/lib/webkit_bridge.h @@ -3,7 +3,7 @@ #include #include -#include +#include #ifdef Q_CC_MSVC #define LIB_EXPORT __declspec(dllexport) diff --git a/examples/M-modules/web-kit-engine/lib/webkit_bridge.pro b/examples/M-modules/web-kit-engine/lib/webkit_bridge.pro index bd4b574..ee5a6de 100644 --- a/examples/M-modules/web-kit-engine/lib/webkit_bridge.pro +++ b/examples/M-modules/web-kit-engine/lib/webkit_bridge.pro @@ -1,8 +1,8 @@ QT += webkitwidgets TEMPLATE = lib CONFIG += plugin release -INCLUDEPATH += ../../../../src -LIBS += -L../../../.. -leql5 +INCLUDEPATH += /usr/local/include +LIBS += -L/usr/local/lib -leql5 DESTDIR = ./ TARGET = webkit_bridge OBJECTS_DIR = ./tmp/ @@ -16,5 +16,6 @@ win32 { HEADERS += _invokables.h \ webkit_bridge.h + SOURCES += webkit_bridge.cpp diff --git a/examples/M-modules/webkit/Examples-Browser/lib/webkit_bridge.h b/examples/M-modules/webkit/Examples-Browser/lib/webkit_bridge.h index 1ff5fa0..b1aa19e 100644 --- a/examples/M-modules/webkit/Examples-Browser/lib/webkit_bridge.h +++ b/examples/M-modules/webkit/Examples-Browser/lib/webkit_bridge.h @@ -3,7 +3,7 @@ #include #include -#include +#include #ifdef Q_CC_MSVC #define LIB_EXPORT __declspec(dllexport) diff --git a/examples/M-modules/webkit/Examples-Browser/lib/webkit_bridge.pro b/examples/M-modules/webkit/Examples-Browser/lib/webkit_bridge.pro index 9159be8..3187b69 100644 --- a/examples/M-modules/webkit/Examples-Browser/lib/webkit_bridge.pro +++ b/examples/M-modules/webkit/Examples-Browser/lib/webkit_bridge.pro @@ -1,8 +1,8 @@ QT += webkitwidgets TEMPLATE = lib CONFIG += plugin release -INCLUDEPATH += ../../../../../src -LIBS += -L../../../../.. -leql5 +INCLUDEPATH += /usr/local/include +LIBS += -L/usr/local/lib -leql5 DESTDIR = ./ TARGET = webkit_bridge OBJECTS_DIR = ./tmp/ @@ -16,5 +16,6 @@ win32 { HEADERS += _invokables.h \ webkit_bridge.h + SOURCES += webkit_bridge.cpp diff --git a/examples/M-modules/webkit/Tic-Tac-Toe/lib/webkit_bridge.h b/examples/M-modules/webkit/Tic-Tac-Toe/lib/webkit_bridge.h index 7ac701a..07a785b 100644 --- a/examples/M-modules/webkit/Tic-Tac-Toe/lib/webkit_bridge.h +++ b/examples/M-modules/webkit/Tic-Tac-Toe/lib/webkit_bridge.h @@ -3,7 +3,7 @@ #include #include -#include +#include #ifdef Q_CC_MSVC #define LIB_EXPORT __declspec(dllexport) diff --git a/examples/M-modules/webkit/Tic-Tac-Toe/lib/webkit_bridge.pro b/examples/M-modules/webkit/Tic-Tac-Toe/lib/webkit_bridge.pro index 9159be8..3187b69 100644 --- a/examples/M-modules/webkit/Tic-Tac-Toe/lib/webkit_bridge.pro +++ b/examples/M-modules/webkit/Tic-Tac-Toe/lib/webkit_bridge.pro @@ -1,8 +1,8 @@ QT += webkitwidgets TEMPLATE = lib CONFIG += plugin release -INCLUDEPATH += ../../../../../src -LIBS += -L../../../../.. -leql5 +INCLUDEPATH += /usr/local/include +LIBS += -L/usr/local/lib -leql5 DESTDIR = ./ TARGET = webkit_bridge OBJECTS_DIR = ./tmp/ @@ -16,5 +16,6 @@ win32 { HEADERS += _invokables.h \ webkit_bridge.h + SOURCES += webkit_bridge.cpp diff --git a/examples/M-modules/webkit/lib/webkit_bridge.h b/examples/M-modules/webkit/lib/webkit_bridge.h index 7ac701a..07a785b 100644 --- a/examples/M-modules/webkit/lib/webkit_bridge.h +++ b/examples/M-modules/webkit/lib/webkit_bridge.h @@ -3,7 +3,7 @@ #include #include -#include +#include #ifdef Q_CC_MSVC #define LIB_EXPORT __declspec(dllexport) diff --git a/examples/M-modules/webkit/lib/webkit_bridge.pro b/examples/M-modules/webkit/lib/webkit_bridge.pro index bd4b574..ee5a6de 100644 --- a/examples/M-modules/webkit/lib/webkit_bridge.pro +++ b/examples/M-modules/webkit/lib/webkit_bridge.pro @@ -1,8 +1,8 @@ QT += webkitwidgets TEMPLATE = lib CONFIG += plugin release -INCLUDEPATH += ../../../../src -LIBS += -L../../../.. -leql5 +INCLUDEPATH += /usr/local/include +LIBS += -L/usr/local/lib -leql5 DESTDIR = ./ TARGET = webkit_bridge OBJECTS_DIR = ./tmp/ @@ -16,5 +16,6 @@ win32 { HEADERS += _invokables.h \ webkit_bridge.h + SOURCES += webkit_bridge.cpp diff --git a/examples/X-extras/move-blocks/cpp/lib.cpp b/examples/X-extras/move-blocks/cpp/lib.cpp index 2210f6c..fdd4f39 100644 --- a/examples/X-extras/move-blocks/cpp/lib.cpp +++ b/examples/X-extras/move-blocks/cpp/lib.cpp @@ -1,5 +1,5 @@ #include "lib.h" -#include "eql_fun.h" +#include QT_BEGIN_NAMESPACE diff --git a/examples/X-extras/move-blocks/cpp/lib.pro b/examples/X-extras/move-blocks/cpp/lib.pro index 4d75d85..cb4bad9 100644 --- a/examples/X-extras/move-blocks/cpp/lib.pro +++ b/examples/X-extras/move-blocks/cpp/lib.pro @@ -1,7 +1,7 @@ TEMPLATE = lib CONFIG += plugin release -INCLUDEPATH += ../../../../src -LIBS += -L../../../.. -leql5 +INCLUDEPATH += /usr/local/include +LIBS += -L/usr/local/lib -leql5 DESTDIR = ./ TARGET = easing_curve OBJECTS_DIR = ./tmp/ @@ -12,4 +12,5 @@ win32 { } HEADERS += lib.h + SOURCES += lib.cpp diff --git a/examples/X-extras/palindrome/exe/main.cpp b/examples/X-extras/palindrome/exe/main.cpp index 52f1121..ac01030 100644 --- a/examples/X-extras/palindrome/exe/main.cpp +++ b/examples/X-extras/palindrome/exe/main.cpp @@ -1,7 +1,8 @@ #undef SLOT #include -#include "eql.h" +#include +#include #include "main.h" extern "C" void ini_app(cl_object); diff --git a/examples/X-extras/palindrome/exe/main.h b/examples/X-extras/palindrome/exe/main.h index 66621c0..5330f86 100644 --- a/examples/X-extras/palindrome/exe/main.h +++ b/examples/X-extras/palindrome/exe/main.h @@ -2,7 +2,6 @@ #define MAIN_H #include -#include "eql_fun.h" QT_BEGIN_NAMESPACE diff --git a/examples/X-extras/palindrome/exe/main.pro b/examples/X-extras/palindrome/exe/main.pro index 90b4cd7..d98ed6c 100644 --- a/examples/X-extras/palindrome/exe/main.pro +++ b/examples/X-extras/palindrome/exe/main.pro @@ -1,16 +1,17 @@ QT += widgets -TEMPLATE = app +TEMPLATE = app CONFIG += no_keywords release -INCLUDEPATH += ../../../../src -LIBS += -lecl -L. -lstatic -L../../../.. -leql5 -TARGET = palindrome -DESTDIR = ./ -OBJECTS_DIR = ./tmp/ -MOC_DIR = ./tmp/ +INCLUDEPATH += /usr/local/include +LIBS += -lecl -L. -lstatic -L/usr/local/include -leql5 +TARGET = palindrome +DESTDIR = ./ +OBJECTS_DIR = ./tmp/ +MOC_DIR = ./tmp/ win32 { include(../../../../src/windows.pri) } HEADERS += main.h + SOURCES += main.cpp diff --git a/examples/X-extras/qimage/cpp/lib.pro b/examples/X-extras/qimage/cpp/lib.pro index 27abbfe..f12076d 100644 --- a/examples/X-extras/qimage/cpp/lib.pro +++ b/examples/X-extras/qimage/cpp/lib.pro @@ -1,7 +1,7 @@ TEMPLATE = lib CONFIG += plugin release -INCLUDEPATH += ../../../../src -LIBS += -L../../../.. -leql5 +INCLUDEPATH += /usr/local/include +LIBS += -L/usr/local/lib -leql5 DESTDIR = ./ TARGET = qimage OBJECTS_DIR = ./tmp/ @@ -12,4 +12,5 @@ win32 { } HEADERS += lib.h + SOURCES += lib.cpp diff --git a/helper/generate.lisp b/helper/generate.lisp index bc4afac..a5941e8 100644 --- a/helper/generate.lisp +++ b/helper/generate.lisp @@ -648,7 +648,7 @@ (if gui "" (format nil "~%#include \"../_main_~(~A~)_methods.h\"" type)) (if gui (format nil "~%#include \"../extras.h\"~ - ~%#include \"../eql_global.h\"") + ~%#include \"../eql5/eql_global.h\"") (format nil "~%~A" (module-include module)))))) (let* ((n 0) (methods (if (eql :q type) *q-methods* *n-methods*)) @@ -796,8 +796,8 @@ ~%#include \"_main_n_classes.h\"~ ~%#include \"_main_q_methods.h\"~ ~%#include \"_main_n_methods.h\"~ - ~%#include \"../dyn_object.h\"~ - ~%#include \"../eql.h\"~ + ~%#include \"../eql5/dyn_object.h\"~ + ~%#include \"../eql5/eql.h\"~ ~%~ ~%int LObjects::T_QAudioDeviceInfo = -1;~ ~%int LObjects::T_QList_QAudioDeviceInfo = -1;~ diff --git a/src/lisp/ecl-readline.lisp b/lib/ecl-readline.lisp similarity index 100% rename from src/lisp/ecl-readline.lisp rename to lib/ecl-readline.lisp diff --git a/gui/gui.lisp b/lib/gui.lisp similarity index 99% rename from gui/gui.lisp rename to lib/gui.lisp index a2eb71e..9096f01 100644 --- a/gui/gui.lisp +++ b/lib/gui.lisp @@ -16,7 +16,7 @@ (in-package :gui) -(defconstant +history-file+ (in-home "gui/.command-history")) +(defconstant +history-file+ (in-home "lib/.command-history")) (defconstant +max-history+ 50) (defparameter * nil) @@ -24,7 +24,7 @@ (defparameter *** nil) (defparameter *q* nil) -(defvar *gui* (qload-ui (in-home "gui/gui.ui"))) +(defvar *gui* (qload-ui (in-home "lib/gui.ui"))) (defvar-ui *gui* *display* @@ -408,7 +408,7 @@ (defun show-properties-dialog () (unless (find-package :properties) - (load (in-home "gui/properties"))) + (load (in-home "lib/properties"))) (funcall (find-symbol "SHOW" :properties) *q*)) (gui) diff --git a/gui/gui.ui b/lib/gui.ui similarity index 100% rename from gui/gui.ui rename to lib/gui.ui diff --git a/src/lisp/invokables.lisp b/lib/invokables.lisp similarity index 100% rename from src/lisp/invokables.lisp rename to lib/invokables.lisp diff --git a/gui/properties.lisp b/lib/properties.lisp similarity index 98% rename from gui/properties.lisp rename to lib/properties.lisp index 76d9501..340c8c5 100644 --- a/gui/properties.lisp +++ b/lib/properties.lisp @@ -10,7 +10,7 @@ (in-package :properties) -(defvar *main* (qload-ui (in-home "gui/properties"))) +(defvar *main* (qload-ui (in-home "lib/properties"))) (defvar-ui *main* *meta-class-name* diff --git a/gui/properties.ui b/lib/properties.ui similarity index 100% rename from gui/properties.ui rename to lib/properties.ui diff --git a/src/lisp/qselect.lisp b/lib/qselect.lisp similarity index 100% rename from src/lisp/qselect.lisp rename to lib/qselect.lisp diff --git a/src/lisp/quic.lisp b/lib/quic.lisp similarity index 100% rename from src/lisp/quic.lisp rename to lib/quic.lisp diff --git a/src/lisp/restart-dialog.lisp b/lib/restart-dialog.lisp similarity index 100% rename from src/lisp/restart-dialog.lisp rename to lib/restart-dialog.lisp diff --git a/slime/thread-safe.lisp b/lib/thread-safe.lisp similarity index 100% rename from slime/thread-safe.lisp rename to lib/thread-safe.lisp diff --git a/my_app/main.cpp b/my_app/main.cpp index 25936d9..eeb40f6 100644 --- a/my_app/main.cpp +++ b/my_app/main.cpp @@ -1,11 +1,11 @@ #undef SLOT #include +#include #include #include #include #include -#include "eql.h" extern "C" void ini_app(cl_object); diff --git a/my_app/my_app.pro b/my_app/my_app.pro index 0a531d8..a445422 100644 --- a/my_app/my_app.pro +++ b/my_app/my_app.pro @@ -1,12 +1,12 @@ QT += widgets printsupport uitools -TEMPLATE = app +TEMPLATE = app CONFIG += no_keywords release -INCLUDEPATH += ../src -LIBS += -lecl -L. -lmy_lib -L.. -leql5 -TARGET = my_app -DESTDIR = ./ -OBJECTS_DIR = ./tmp/ -MOC_DIR = ./tmp/ +INCLUDEPATH += /usr/local/include +LIBS += -lecl -L. -lmy_lib -L/usr/local/include -leql5 +TARGET = my_app +DESTDIR = ./ +OBJECTS_DIR = ./tmp/ +MOC_DIR = ./tmp/ win32 { include(../src/windows.pri) diff --git a/slime/repl-hook.lisp b/slime/repl-hook.lisp index 0108455..d7465ee 100644 --- a/slime/repl-hook.lisp +++ b/slime/repl-hook.lisp @@ -2,7 +2,7 @@ ;;; This is a less convenient Slime mode using a REPL eval hook, ;;; with the advantage of running all EQL functions natively. ;;; -;;; (See "thread-safe.lisp" for the default Slime mode.) +;;; (See "../lib/thread-safe.lisp" for the default Slime mode.) (in-package :eql) diff --git a/src/dyn_object.cpp b/src/dyn_object.cpp index 89cd34c..4d3faa4 100644 --- a/src/dyn_object.cpp +++ b/src/dyn_object.cpp @@ -1,6 +1,6 @@ // copyright (c) Polos Ruetz -#include "dyn_object.h" +#include "eql5/dyn_object.h" #include "ecl_fun.h" #include "gen/_lobjects.h" #include diff --git a/src/ecl_fun.cpp b/src/ecl_fun.cpp index 2a16415..01528a1 100644 --- a/src/ecl_fun.cpp +++ b/src/ecl_fun.cpp @@ -1,8 +1,8 @@ // copyright (c) Polos Ruetz #include "ecl_fun.h" -#include "eql.h" -#include "dyn_object.h" +#include "eql5/eql.h" +#include "eql5/dyn_object.h" #include "gen/_lobjects.h" #include "ui_loader.h" #include "single_shot.h" @@ -2433,14 +2433,11 @@ cl_object qrequire2(cl_object l_name, cl_object l_quiet) { /// qrequire /// (qrequire :network) ecl_process_env()->nvalues = 1; QString name = symbolName(l_name); - QString prefix, postfix; -#ifdef Q_OS_DARWIN - prefix = "lib"; postfix = ".1.dylib"; -#endif -#ifdef Q_OS_LINUX - prefix = "lib"; postfix = ".so.1"; -#endif - QLibrary lib(prefix + "eql5_" + name + postfix); // global library + QString fileName = "eql5_" + name; + QLibrary lib(fileName); // global library + if(!lib.load()) { + fileName.prepend("/usr/local/lib/"); // "local" might not be in library search path + lib.setFileName(fileName); } typedef void (*Ini)(); Ini ini = (Ini)lib.resolve("ini"); if(ini) { diff --git a/src/ecl_fun.h b/src/ecl_fun.h index d18c4b3..87c07a2 100644 --- a/src/ecl_fun.h +++ b/src/ecl_fun.h @@ -6,7 +6,7 @@ #undef SLOT #include -#include "eql_global.h" +#include "eql5/eql_global.h" #include #include #include @@ -304,7 +304,7 @@ struct EQL_EXPORT QtObject { }; // for Qt_EQL -struct eql_pointer { +struct EQL_EXPORT eql_pointer { void* pointer; int id; diff --git a/src/eql.cpp b/src/eql.cpp index da5bcf7..d4ba7a3 100644 --- a/src/eql.cpp +++ b/src/eql.cpp @@ -1,13 +1,13 @@ // copyright (c) Polos Ruetz -#include "eql.h" +#include "eql5/eql.h" #include "ecl_fun.h" #include "gen/_lobjects.h" #include #include #include -const char EQL::version[] = "17.4.2"; // Apr 2017 +const char EQL::version[] = "17.4.3"; // Apr 2017 extern "C" void ini_EQL(cl_object); @@ -48,7 +48,6 @@ void EQL::exec(const QStringList& args) { bool exec_with_simple_restart = false; QStringList arguments(args); eval("(in-package :eql-user)"); - eval(QString("(eql::set-home \"%1\")").arg(home()).toLatin1().constData()); QStringList forms; // .eclrc if(arguments.contains("-norc")) { @@ -79,8 +78,8 @@ void EQL::exec(const QStringList& args) { arguments.removeAll("-qtpl"); ecl_setq(ecl_process_env(), s_qtpl, Ct); QApplication::setQuitOnLastWindowClosed(false); - forms << "(when (directory (in-home \"src/lisp/ecl-readline.fas*\"))" - " (load (in-home \"src/lisp/ecl-readline\")))" + forms << "(when (directory (in-home \"lib/ecl-readline.fas*\"))" + " (load (x:check-recompile (in-home \"lib/ecl-readline\"))))" << "(qsingle-shot 500 'eql::start-read-thread)"; exec_with_simple_restart = true; } // -qgui @@ -132,7 +131,6 @@ void EQL::exec(const QStringList& args) { void EQL::exec(lisp_ini ini, const QByteArray& expression, const QByteArray& package) { // see my_app example - eval(QString("(eql::set-home \"%1\")").arg(home()).toLatin1().constData()); read_VV(OBJNULL, ini); eval(QString("(in-package :%1)").arg(QString(package)).toLatin1().constData()); eval(expression.constData()); } @@ -144,8 +142,7 @@ void EQL::exec(QWidget* widget, const QString& lispFile, const QString& slimeHoo bool exec_with_simple_restart = false; QStringList forms; eval("(in-package :eql)"); - forms << QString("(set-home \"%1\")").arg(home()) - << QString("(defvar *qt-main* (qt-object %1 0 (qid \"%2\")))") + forms << QString("(defvar *qt-main* (qt-object %1 0 (qid \"%2\")))") .arg((quintptr)widget) .arg(QString(LObjects::vanillaQtSuperClassName(widget->metaObject()))) << QString("(export '*qt-main*)") diff --git a/src/dyn_object.h b/src/eql5/dyn_object.h similarity index 100% rename from src/dyn_object.h rename to src/eql5/dyn_object.h diff --git a/src/eql.h b/src/eql5/eql.h similarity index 95% rename from src/eql.h rename to src/eql5/eql.h index 7eefc5d..4a68fee 100644 --- a/src/eql.h +++ b/src/eql5/eql.h @@ -6,12 +6,12 @@ #undef SLOT #include +#include +#include #include #include #include #include -#include "dyn_object.h" -#include "eql_global.h" QT_BEGIN_NAMESPACE diff --git a/src/eql_fun.h b/src/eql5/eql_fun.h similarity index 100% rename from src/eql_fun.h rename to src/eql5/eql_fun.h diff --git a/src/eql_global.h b/src/eql5/eql_global.h similarity index 100% rename from src/eql_global.h rename to src/eql5/eql_global.h diff --git a/src/eql_exe.pro b/src/eql_exe.pro index 5182534..a262870 100644 --- a/src/eql_exe.pro +++ b/src/eql_exe.pro @@ -1,20 +1,20 @@ -QT += widgets printsupport uitools -TEMPLATE = app -CONFIG += no_keywords release -INCLUDEPATH += ../src /usr/local/include -LIBS += -lecl -leql5 -L.. -L/usr/local/lib -TARGET = eql5 -DESTDIR = ../ -OBJECTS_DIR = ./tmp/ -MOC_DIR = ./tmp/ +QT += widgets printsupport uitools +TEMPLATE = app +CONFIG += no_keywords release +INCLUDEPATH += ../src /usr/local/include +LIBS += -lecl -leql5 -L.. -L/usr/local/lib +TARGET = eql5 +DESTDIR = ../ +OBJECTS_DIR = ./tmp/ +MOC_DIR = ./tmp/ + +QMAKE_RPATHDIR = /usr/local/lib +target.path = /usr/local/bin +INSTALLS += target win32 { include(windows.pri) -} - -win32 { CONFIG += console } SOURCES += main.cpp - diff --git a/src/eql_lib.pro b/src/eql_lib.pro index 861ff1e..d311a79 100644 --- a/src/eql_lib.pro +++ b/src/eql_lib.pro @@ -1,13 +1,18 @@ -QT += widgets printsupport uitools -TEMPLATE = lib -CONFIG += dll no_keywords release -DEFINES += EQL_LIBRARY -INCLUDEPATH += /usr/local/include -LIBS += -lecl -lini -L. -L/usr/local/lib -TARGET = eql5 -DESTDIR = ../ -OBJECTS_DIR = ./tmp/ -MOC_DIR = ./tmp/ +QT += widgets printsupport uitools +TEMPLATE = lib +CONFIG += dll no_keywords release +DEFINES += EQL_LIBRARY +INCLUDEPATH += /usr/local/include +LIBS += -lecl -L. -lini_eql5 +TARGET = eql5 +DESTDIR = ../ +OBJECTS_DIR = ./tmp/ +MOC_DIR = ./tmp/ + +include.files = eql5/* +include.path = /usr/local/include/eql5 +target.path = /usr/local/lib +INSTALLS = include target win32 { include(windows.pri) @@ -18,15 +23,15 @@ HEADERS += gen/_lobjects.h \ gen/_main_n_classes.h \ gen/_main_q_methods.h \ gen/_main_n_methods.h \ - eql_fun.h \ + eql5/eql.h \ + eql5/eql_fun.h \ + eql5/eql_global.h \ + eql5/dyn_object.h \ qt_eql.h \ - dyn_object.h \ ui_loader.h \ single_shot.h \ - eql_global.h \ ecl_fun.h \ - extras.h \ - eql.h + extras.h SOURCES += gen/_lobjects.cpp \ qt_eql.cpp \ diff --git a/src/gen/_lobjects.cpp b/src/gen/_lobjects.cpp index b4e9ca5..5d3ed07 100644 --- a/src/gen/_lobjects.cpp +++ b/src/gen/_lobjects.cpp @@ -5,8 +5,8 @@ #include "_main_n_classes.h" #include "_main_q_methods.h" #include "_main_n_methods.h" -#include "../dyn_object.h" -#include "../eql.h" +#include "../eql5/dyn_object.h" +#include "../eql5/eql.h" int LObjects::T_QAudioDeviceInfo = -1; int LObjects::T_QList_QAudioDeviceInfo = -1; diff --git a/src/gen/_lobjects.h b/src/gen/_lobjects.h index f6c451f..06c88ba 100644 --- a/src/gen/_lobjects.h +++ b/src/gen/_lobjects.h @@ -4,7 +4,7 @@ #undef SLOT #include -#include "../eql_global.h" +#include "../eql5/eql_global.h" #include "../ecl_fun.h" #include #include diff --git a/src/gen/_main_n_methods.h b/src/gen/_main_n_methods.h index e662d93..adaede6 100644 --- a/src/gen/_main_n_methods.h +++ b/src/gen/_main_n_methods.h @@ -7,7 +7,7 @@ #include #include #include "../extras.h" -#include "../eql_global.h" +#include "../eql5/eql_global.h" QT_BEGIN_NAMESPACE diff --git a/src/gen/_main_q_methods.h b/src/gen/_main_q_methods.h index 26107e9..868273e 100644 --- a/src/gen/_main_q_methods.h +++ b/src/gen/_main_q_methods.h @@ -7,7 +7,7 @@ #include #include #include "../extras.h" -#include "../eql_global.h" +#include "../eql5/eql_global.h" QT_BEGIN_NAMESPACE diff --git a/src/gen/help/_ini2.h b/src/gen/help/_ini2.h index 07203f5..dea1d52 100644 --- a/src/gen/help/_ini2.h +++ b/src/gen/help/_ini2.h @@ -3,7 +3,7 @@ #include "_ini.h" #include "../_lobjects.h" -#include "../../eql.h" +#include #include QT_BEGIN_NAMESPACE diff --git a/src/gen/multimedia/_ini2.h b/src/gen/multimedia/_ini2.h index 71ae2a2..178d7b8 100644 --- a/src/gen/multimedia/_ini2.h +++ b/src/gen/multimedia/_ini2.h @@ -3,7 +3,7 @@ #include "_ini.h" #include "../_lobjects.h" -#include "../../eql.h" +#include #include QT_BEGIN_NAMESPACE diff --git a/src/gen/network/_ini2.h b/src/gen/network/_ini2.h index 4d97402..660e552 100644 --- a/src/gen/network/_ini2.h +++ b/src/gen/network/_ini2.h @@ -3,7 +3,7 @@ #include "_ini.h" #include "../_lobjects.h" -#include "../../eql.h" +#include #include QT_BEGIN_NAMESPACE diff --git a/src/gen/quick/_ini2.h b/src/gen/quick/_ini2.h index 7500634..29ad928 100644 --- a/src/gen/quick/_ini2.h +++ b/src/gen/quick/_ini2.h @@ -2,8 +2,9 @@ #define INI2_H #include "_ini.h" +#include "qml_lisp.h" #include "../_lobjects.h" -#include "../../eql.h" +#include #include QT_BEGIN_NAMESPACE @@ -25,7 +26,8 @@ void ini2() { META_TYPE_(LObjects::T_QQmlProperty, QQmlProperty) META_TYPE_(LObjects::T_QQmlScriptString, QQmlScriptString) META_TYPE_(LObjects::T_QList_QQmlError, QList) - META_TYPE_(LObjects::T_QList_QQuickItem, QList) } + META_TYPE_(LObjects::T_QList_QQuickItem, QList) + iniQml(); } void* toMetaArg(int n, cl_object l_arg, bool* found) { void* p = 0; diff --git a/examples/M-modules/quick/Tic-Tac-Toe/lib/qml_lisp.cpp b/src/gen/quick/qml_lisp.cpp similarity index 99% rename from examples/M-modules/quick/Tic-Tac-Toe/lib/qml_lisp.cpp rename to src/gen/quick/qml_lisp.cpp index aeb8702..68a2e37 100644 --- a/examples/M-modules/quick/Tic-Tac-Toe/lib/qml_lisp.cpp +++ b/src/gen/quick/qml_lisp.cpp @@ -6,7 +6,7 @@ static Lisp* lisp = 0; static QObject* lisp_provider(QQmlEngine*, QJSEngine*) { return lisp; } -QObject* ini() { +QObject* iniQml() { if(!lisp) { lisp = new Lisp; qmlRegisterSingletonType("EQL5", 1, 0, "Lisp", lisp_provider); diff --git a/examples/M-modules/quick/item-model/lib/qml_lisp.h b/src/gen/quick/qml_lisp.h similarity index 85% rename from examples/M-modules/quick/item-model/lib/qml_lisp.h rename to src/gen/quick/qml_lisp.h index c8531b6..14b8c0e 100644 --- a/examples/M-modules/quick/item-model/lib/qml_lisp.h +++ b/src/gen/quick/qml_lisp.h @@ -1,19 +1,18 @@ -#ifndef LIB_H -#define LIB_H +#ifndef QML_LISP_H +#define QML_LISP_H +#include "../../ecl_fun.h" +#include "../../qt_eql.h" #include #include -#include - -#ifdef Q_CC_MSVC -#define LIB_EXPORT __declspec(dllexport) -#else -#define LIB_EXPORT -#endif QT_BEGIN_NAMESPACE -extern "C" { LIB_EXPORT QObject* ini(); } +#define Q_PTR(type, var) (eql_check_type(var.value().id, #type) \ + ? (type)var.value().pointer \ + : 0) + +QObject* iniQml(); class Lisp : public QObject { Q_OBJECT diff --git a/src/gen/sql/_ini2.h b/src/gen/sql/_ini2.h index 9bf9a82..e1f55f5 100644 --- a/src/gen/sql/_ini2.h +++ b/src/gen/sql/_ini2.h @@ -3,7 +3,7 @@ #include "_ini.h" #include "../_lobjects.h" -#include "../../eql.h" +#include #include QT_BEGIN_NAMESPACE diff --git a/src/gen/webengine/_ini2.h b/src/gen/webengine/_ini2.h index 5209997..98728b2 100644 --- a/src/gen/webengine/_ini2.h +++ b/src/gen/webengine/_ini2.h @@ -3,7 +3,7 @@ #include "_ini.h" #include "../_lobjects.h" -#include "../../eql.h" +#include #include QT_BEGIN_NAMESPACE diff --git a/src/gen/webkit/_ini2.h b/src/gen/webkit/_ini2.h index abd203c..8c94465 100644 --- a/src/gen/webkit/_ini2.h +++ b/src/gen/webkit/_ini2.h @@ -3,7 +3,7 @@ #include "_ini.h" #include "../_lobjects.h" -#include "../../eql.h" +#include #include QT_BEGIN_NAMESPACE diff --git a/src/link-wrappers.lisp b/src/link-wrappers.lisp index fa0084b..ec99553 100644 --- a/src/link-wrappers.lisp +++ b/src/link-wrappers.lisp @@ -13,11 +13,8 @@ "special-extensions") *all-wrappers*)) -(c:build-static-library "ini" +(c:build-static-library "ini_eql5" :lisp-files (mapcar (lambda (file) (format nil "lisp/~A.~A" file #+msvc "obj" #-msvc "o")) *lisp-files*) :init-name "ini_EQL") - -#+darwin -(rename-file "libini.a" "libini.dylib") diff --git a/src/link.lisp b/src/link.lisp index 17b05b8..f33e430 100644 --- a/src/link.lisp +++ b/src/link.lisp @@ -9,11 +9,8 @@ "enums1" "enums2" "enums3" "enums4" "enums5" "special-extensions")) -(c:build-static-library "ini" +(c:build-static-library "ini_eql5" :lisp-files (mapcar (lambda (file) (format nil "lisp/~A.~A" file #+msvc "obj" #-msvc "o")) *lisp-files*) :init-name "ini_EQL") - -#+darwin -(rename-file "libini.a" "libini.dylib") diff --git a/src/lisp/ini.lisp b/src/lisp/ini.lisp index 6f4cc55..e9434ea 100644 --- a/src/lisp/ini.lisp +++ b/src/lisp/ini.lisp @@ -158,11 +158,12 @@ (defun %windows-version () (qfun "QSysInfo" "windowsVersion")) -(let (home) +(let ((eql5-home #.(let ((path (namestring *default-pathname-defaults*))) ; hard-code EQL5 directory + (subseq path 0 (- (length path) 4))))) ; cut "src/" (defun set-home (path) - (setf home path)) + (setf eql5-home path)) (defun in-home (&rest files) - (apply 'concatenate 'string home files))) + (apply 'concatenate 'string eql5-home files))) (defun qsignal (name) "args: (name) @@ -319,7 +320,7 @@ (find-symbol "*SLIME-REPL-EVAL-HOOKS*" :swank)) (load (or *slime-hook-file* (in-home "slime/repl-hook"))) ; Slime mode "REPL hook" (qsingle-shot 500 'load-slime-auxiliary-file)) ; we need to wait for Emacs "slime-connect" - (load (x:check-recompile (in-home "slime/thread-safe"))))) ; Slime mode "thread safe" (default) + (load (x:check-recompile (in-home "lib/thread-safe"))))) ; Slime mode "thread safe" (default) #+threads (defun %read-thread () @@ -361,7 +362,7 @@ ;; command line option "-qtpl" only, see "restart-dialog.lisp" (unless loaded (setf loaded t) - (load (in-home "src/lisp/restart-dialog"))) + (load (in-home "lib/restart-dialog"))) (funcall (find-symbol "EXEC-WITH-SIMPLE-RESTART" :restart-dialog))))) (defmacro qeval (&rest forms) @@ -439,7 +440,7 @@ (qfun gui "raise")))) (unless found (in-package :eql-user) - (load (in-home "gui/gui")))) + (load (in-home "lib/gui")))) (when ev (loop (qprocess-events) @@ -606,7 +607,7 @@ (qsel (lambda (widget) (qmsg widget)))" (unless loaded (setf loaded t) - (load (in-home "src/lisp/qselect"))) + (load (in-home "lib/qselect"))) (%qselect on-selected))) (let (loaded) @@ -615,7 +616,7 @@ Takes C++ code from a file generated by the uic user interface compiler, and generates the corresponding EQL code.
See also command line option -quic." (unless loaded (setf loaded t) - (load (in-home "src/lisp/quic"))) + (load (in-home "lib/quic"))) (funcall (intern "RUN" :quic) ui.h ui.lisp ui-package properties))) (defun qrequire (module &optional quiet) diff --git a/src/main.cpp b/src/main.cpp index 6d9d6e2..0351387 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -3,7 +3,7 @@ #include #include #include -#include "eql.h" +#include int catch_all_qexec() { int ret = 0; diff --git a/src/make-eql-lib-wrappers.lisp b/src/make-eql-lib-wrappers.lisp index 6d64c32..61a3e2b 100644 --- a/src/make-eql-lib-wrappers.lisp +++ b/src/make-eql-lib-wrappers.lisp @@ -19,14 +19,10 @@ (dolist (file *all-wrappers*) (compile-file (format nil "lisp/~A.lisp" file) :system-p t)) -(c:build-static-library "ini" +(c:build-static-library "ini_eql5" :lisp-files (mapcar (lambda (file) (format nil "lisp/~A.~A" file #+msvc "obj" #-msvc "o")) *lisp-files*) :init-name "ini_EQL") -#+darwin -(rename-file "libini.a" "libini.dylib") - (eql:qq) - diff --git a/src/make-eql-lib.lisp b/src/make-eql-lib.lisp index 9bf2b99..2c0b786 100644 --- a/src/make-eql-lib.lisp +++ b/src/make-eql-lib.lisp @@ -18,11 +18,8 @@ (delete-file (format nil "~A.~A" file #+msvc "obj" #-msvc "o"))) (compile-file file :system-p t))) -(c:build-static-library "ini" +(c:build-static-library "ini_eql5" :lisp-files (mapcar (lambda (file) (format nil "lisp/~A.~A" file #+msvc "obj" #-msvc "o")) *lisp-files*) :init-name "ini_EQL") - -#+darwin -(rename-file "libini.a" "libini.dylib") diff --git a/src/module_help.pro b/src/module_help.pro index 2b8aa22..979d26b 100644 --- a/src/module_help.pro +++ b/src/module_help.pro @@ -8,6 +8,9 @@ DESTDIR = ../ OBJECTS_DIR = ./tmp/help/ MOC_DIR = ./tmp/help/ +target.path = /usr/local/lib +INSTALLS = target + win32 { include(windows.pri) } diff --git a/src/module_multimedia.pro b/src/module_multimedia.pro index f4d10ee..9a0a636 100644 --- a/src/module_multimedia.pro +++ b/src/module_multimedia.pro @@ -8,6 +8,9 @@ DESTDIR = ../ OBJECTS_DIR = ./tmp/multimedia/ MOC_DIR = ./tmp/multimedia/ +target.path = /usr/local/lib +INSTALLS = target + win32 { include(windows.pri) } diff --git a/src/module_network.pro b/src/module_network.pro index 038bf90..73d8637 100644 --- a/src/module_network.pro +++ b/src/module_network.pro @@ -8,6 +8,9 @@ DESTDIR = ../ OBJECTS_DIR = ./tmp/network/ MOC_DIR = ./tmp/network/ +target.path = /usr/local/lib +INSTALLS = target + win32 { include(windows.pri) } diff --git a/src/module_quick.pro b/src/module_quick.pro index 195a143..db63ff9 100644 --- a/src/module_quick.pro +++ b/src/module_quick.pro @@ -8,6 +8,9 @@ DESTDIR = ../ OBJECTS_DIR = ./tmp/quick/ MOC_DIR = ./tmp/quick/ +target.path = /usr/local/lib +INSTALLS = target + win32 { include(windows.pri) } @@ -17,6 +20,8 @@ HEADERS += gen/quick/_ini.h \ gen/quick/_q_classes.h \ gen/quick/_n_classes.h \ gen/quick/_q_methods.h \ - gen/quick/_n_methods.h + gen/quick/_n_methods.h \ + gen/quick/qml_lisp.h -SOURCES += gen/quick/_ini.cpp +SOURCES += gen/quick/_ini.cpp \ + gen/quick/qml_lisp.cpp diff --git a/src/module_sql.pro b/src/module_sql.pro index 11e449e..8fce33f 100644 --- a/src/module_sql.pro +++ b/src/module_sql.pro @@ -8,6 +8,9 @@ DESTDIR = ../ OBJECTS_DIR = ./tmp/sql/ MOC_DIR = ./tmp/sql/ +target.path = /usr/local/lib +INSTALLS = target + win32 { include(windows.pri) } diff --git a/src/module_svg.pro b/src/module_svg.pro index cbbab5f..82ed2ad 100644 --- a/src/module_svg.pro +++ b/src/module_svg.pro @@ -8,6 +8,9 @@ DESTDIR = ../ OBJECTS_DIR = ./tmp/svg/ MOC_DIR = ./tmp/svg/ +target.path = /usr/local/lib +INSTALLS = target + win32 { include(windows.pri) } diff --git a/src/module_webengine.pro b/src/module_webengine.pro index 073398c..9396043 100644 --- a/src/module_webengine.pro +++ b/src/module_webengine.pro @@ -8,6 +8,9 @@ DESTDIR = ../ OBJECTS_DIR = ./tmp/webengine/ MOC_DIR = ./tmp/webengine/ +target.path = /usr/local/lib +INSTALLS = target + macx:QT += network win32 { diff --git a/src/module_webkit.pro b/src/module_webkit.pro index b9fadf8..c19dd3f 100644 --- a/src/module_webkit.pro +++ b/src/module_webkit.pro @@ -8,6 +8,9 @@ DESTDIR = ../ OBJECTS_DIR = ./tmp/webkit/ MOC_DIR = ./tmp/webkit/ +target.path = /usr/local/lib +INSTALLS = target + macx:QT += network win32 { diff --git a/src/qt_eql.cpp b/src/qt_eql.cpp index f5a849d..56fa926 100644 --- a/src/qt_eql.cpp +++ b/src/qt_eql.cpp @@ -7,7 +7,7 @@ #include #include "qt_eql.h" #include "ecl_fun.h" -#include "eql.h" +#include "eql5/eql.h" #include "gen/_lobjects.h" QT_BEGIN_NAMESPACE diff --git a/src/qt_eql.h b/src/qt_eql.h index c0a7cbe..478bcdc 100644 --- a/src/qt_eql.h +++ b/src/qt_eql.h @@ -6,7 +6,7 @@ #include #include -#include "eql_global.h" +#include "eql5/eql_global.h" QT_BEGIN_NAMESPACE diff --git a/src/rebuild b/src/rebuild index 64ec0d0..8e32212 100755 --- a/src/rebuild +++ b/src/rebuild @@ -2,32 +2,41 @@ rm -fr tmp rm *.a rm lisp/*.o -cd lisp -ecl -compile ecl-readline.lisp -cd .. - ecl -shell make-eql-lib.lisp && qmake eql_lib.pro && make && +sudo make install && qmake eql_exe.pro && make && +sudo make install && eql5 make-eql-lib-wrappers.lisp && touch tmp/eql.o && qmake eql_lib.pro && make && +sudo make install && qmake module_help.pro && make && +sudo make install && qmake module_multimedia.pro && make && +sudo make install && qmake module_network.pro && make && +sudo make install && qmake module_quick.pro && make && +sudo make install && qmake module_sql.pro && make && +sudo make install && qmake module_svg.pro && make && -qmake module_webkit.pro && -make +sudo make install && +# qmake module_webkit.pro && +# make +# sudo make install && +qmake module_webengine.pro && +make && +sudo make install echo OK