commonqt:commonqt.git
6 years agoRemove &key &allow-other-keys from initialize-instance method, it isn't needed.
Stas Boukarev [Thu, 26 Apr 2012 23:23:35 +0000 (03:23 +0400)]
Remove &key &allow-other-keys from initialize-instance method, it isn't needed.

6 years agoMake with-signals-blocked work for several objects.
Stas Boukarev [Sun, 4 Mar 2012 20:11:24 +0000 (00:11 +0400)]
Make with-signals-blocked work for several objects.

6 years agoRemove unused code.
Stas Boukarev [Sun, 4 Mar 2012 20:09:37 +0000 (00:09 +0400)]
Remove unused code.

6 years agoInherit signals in the same way slots are inherited.
Stas Boukarev [Sun, 4 Mar 2012 20:07:00 +0000 (00:07 +0400)]
Inherit signals in the same way slots are inherited.

6 years agoUse direct superclasses instead of class-precedence-list of a qt-class when computing...
Stas Boukarev [Fri, 24 Feb 2012 08:55:19 +0000 (12:55 +0400)]
Use direct superclasses instead of class-precedence-list of a qt-class when computing qt-slots.

6 years agoInherit qt-slots from superclasses. ("slotName()") prevents the slot from being inher...
Stas Boukarev [Fri, 24 Feb 2012 08:30:19 +0000 (12:30 +0400)]
Inherit qt-slots from superclasses. ("slotName()") prevents the slot from being inherited.

6 years agoMake primary methods initialize-instance on qt-class into :around methods.
Stas Boukarev [Thu, 26 Apr 2012 23:13:45 +0000 (03:13 +0400)]
Make primary methods initialize-instance on qt-class into :around methods.
Portable programs cannot do that, and it breaks on recent CCL.

6 years agoqt-repl:start-gui-thread reuses the initial thread on OSX.
Luís Oliveira [Fri, 9 Dec 2011 09:35:25 +0000 (09:35 +0000)]
qt-repl:start-gui-thread reuses the initial thread on OSX.

... otherwise OSX would complain loudly about doing GUI stuff on the
wrong thread.

Also, wrap the call to #_exec with LOOP, for code that calls quit(),
such as the qt-tutorial demo.

6 years agoOn Darwin, pass -spec macx-g++ to qmake.
Luís Oliveira [Fri, 9 Dec 2011 09:32:58 +0000 (09:32 +0000)]
On Darwin, pass -spec macx-g++ to qmake.

6 years agoUse .dylib instead of .so on Darwin.
Luís Oliveira [Fri, 9 Dec 2011 09:31:39 +0000 (09:31 +0000)]
Use .dylib instead of .so on Darwin.

6 years agocommonqt.pro: Add -lsmokebase needed by newer versions of smoke.
Stas Boukarev [Sun, 19 Feb 2012 02:05:44 +0000 (06:05 +0400)]
commonqt.pro: Add -lsmokebase needed by newer versions of smoke.

7 years agowith-signals-blocked: use `optimized-call' instead of #_, because #_
Stas Boukarev [Sun, 15 May 2011 06:35:41 +0000 (10:35 +0400)]
with-signals-blocked: use `optimized-call' instead of #_, because #_
for some reason doesn't survive loading from a fasl.

7 years agodefine-marshalling-test :|QVariant|: objects of type QVariant can be marshalled too.
Stas Boukarev [Tue, 4 Jan 2011 13:52:31 +0000 (16:52 +0300)]
define-marshalling-test :|QVariant|: objects of type QVariant can be marshalled too.

7 years agodescribe-qobject: Don't try to describe properties of object is not a QObject.
Stas Boukarev [Wed, 29 Dec 2010 17:31:27 +0000 (20:31 +0300)]
describe-qobject: Don't try to describe properties of object is not a QObject.

7 years agoAdd with-signals-blocked macro.
Stas Boukarev [Sun, 26 Dec 2010 21:29:43 +0000 (00:29 +0300)]
Add with-signals-blocked macro.

7 years agoFix build on Windows
David Lichteblau [Tue, 8 Mar 2011 18:03:20 +0000 (19:03 +0100)]
Fix build on Windows

7 years agoAdd microbenchmarks for the INTERPRET- functions
David Lichteblau [Sun, 26 Dec 2010 20:03:34 +0000 (21:03 +0100)]
Add microbenchmarks for the INTERPRET- functions

... renamed /naive to -interpret

... now that repetition time is variable, this test doesn't hang as long as
before can be enable safely.

... one -interpret test per normal test

... also includes some last-minute tweaks to benchmark output and repetition
times.

7 years agoAdd Microbenchmarks as tests/microbench.lisp
David Lichteblau [Sun, 26 Dec 2010 19:29:15 +0000 (20:29 +0100)]
Add Microbenchmarks as tests/microbench.lisp

7 years agoBugfix: Signal an error on invalid function specifications (with test case)
David Lichteblau [Sun, 26 Dec 2010 18:18:59 +0000 (19:18 +0100)]
Bugfix: Signal an error on invalid function specifications (with test case)

7 years agoMacroexpand function specifications (with test case)
David Lichteblau [Sun, 26 Dec 2010 18:18:30 +0000 (19:18 +0100)]
Macroexpand function specifications (with test case)

7 years agoAdd a test case for :override in defclass
David Lichteblau [Sun, 26 Dec 2010 18:00:11 +0000 (19:00 +0100)]
Add a test case for :override in defclass

7 years agoAdded QVariant conversions for single/double float, QColor, QPixmap and QIcon.
Ivan Shvedunov [Mon, 20 Dec 2010 13:40:46 +0000 (16:40 +0300)]
Added QVariant conversions for single/double float, QColor, QPixmap and QIcon.

7 years agoAccept types as strings in QTYPEP.
Ivan Shvedunov [Sat, 18 Dec 2010 20:52:52 +0000 (23:52 +0300)]
Accept types as strings in QTYPEP.

7 years agoSignal an error when invalid signal / slot signatures are encountered.
Ivan Shvedunov [Sat, 18 Dec 2010 20:51:47 +0000 (23:51 +0300)]
Signal an error when invalid signal / slot signatures are encountered.

7 years agoFixed OUTPUT-FILES method for CPP->SO in qt.asd.
Ivan Shvedunov [Thu, 16 Dec 2010 02:27:14 +0000 (05:27 +0300)]
Fixed OUTPUT-FILES method for CPP->SO in qt.asd.

There were problems with FASL relocation (qt was always reloaded upon load-op)
and SWANK:DELETE-SYSTEM-FILES. The latter was only deleting libcommonqt.so
leaving other files, which wasn't enough for libcommonqt.so symlink to be
recreated during make (the primary target is libcommonqt.so.1.0.0).

7 years agoRegression fix and test case for QByteArray unmarshalling qbytearray-fix
David Lichteblau [Sun, 12 Dec 2010 18:52:49 +0000 (19:52 +0100)]
Regression fix and test case for QByteArray unmarshalling

7 years agoremove INCLUDEPATH, library directories from project file
David Lichteblau [Sun, 12 Dec 2010 16:48:19 +0000 (17:48 +0100)]
remove INCLUDEPATH, library directories from project file

... they should not have been listed in that file in the first place
    (mea culpa)

... users who need a special directory (as I did in the past, when this
    file pointed to my home directory) should not edit the file, but
    rather run:

    qmake INCLUDEPATH=/path/to/abc LIBS='-L /path/to/def'

7 years agoIn case if receiver is specified for CONNECT, pass it as the first argument of the...
Ivan Shvedunov [Sun, 12 Dec 2010 16:24:08 +0000 (19:24 +0300)]
In case if receiver is specified for CONNECT, pass it as the first argument of the target function.

7 years agoImplemented dynamic slot connections, added DWIMish CONNECT and DISCONNECT.
Ivan Shvedunov [Sun, 12 Dec 2010 14:43:52 +0000 (17:43 +0300)]
Implemented dynamic slot connections, added DWIMish CONNECT and DISCONNECT.

7 years agoTreat const X& as X when looking for a static unmarshaller.
Ivan Shvedunov [Sun, 12 Dec 2010 13:39:19 +0000 (16:39 +0300)]
Treat const X& as X when looking for a static unmarshaller.

7 years agoqt.asd: Don't depend on bordaux-threads, it's not currently used anywhere, except...
Stas Boukarev [Wed, 8 Dec 2010 14:05:41 +0000 (17:05 +0300)]
qt.asd: Don't depend on bordaux-threads, it's not currently used anywhere, except for qt-repl system.

7 years agoqtypep: don't crash if instance is not an abstract-qobject.
Stas Boukarev [Wed, 8 Dec 2010 13:58:15 +0000 (16:58 +0300)]
qtypep: don't crash if instance is not an abstract-qobject.

7 years agoMake qt-tutorial.asd asdf2 friendly.
Stas Boukarev [Mon, 6 Dec 2010 19:26:49 +0000 (22:26 +0300)]
Make qt-tutorial.asd asdf2 friendly.

7 years agoFixed enum handling in can-marshal-p (this also fixes marshalling of QList<QKeySequen...
Ivan Shvedunov [Fri, 19 Nov 2010 22:20:54 +0000 (01:20 +0300)]
Fixed enum handling in can-marshal-p (this also fixes marshalling of QList<QKeySequence>).

7 years agoAdd QList<QListWidgetItem/QTreeWidgetItem/QTableWidgetItem/QGraphicsItem *> marshalling.
Stas Boukarev [Thu, 18 Nov 2010 12:41:56 +0000 (15:41 +0300)]
Add QList<QListWidgetItem/QTreeWidgetItem/QTableWidgetItem/QGraphicsItem *> marshalling.

7 years agoAdd QList<QKeySequence> marshalling.
Stas Boukarev [Wed, 17 Nov 2010 10:57:33 +0000 (13:57 +0300)]
Add QList<QKeySequence> marshalling.

7 years agoMerge https://github.com/ivan4th/commonqt
Stas Boukarev [Wed, 17 Nov 2010 10:35:20 +0000 (13:35 +0300)]
Merge https://github.com/ivan4th/commonqt

Conflicts:
commonqt.cpp

7 years agoMerge branch 'mi-hack' of git://gitorious.org/commonqt/commonqt
Stas Boukarev [Wed, 17 Nov 2010 06:30:34 +0000 (09:30 +0300)]
Merge branch 'mi-hack' of git://gitorious.org/commonqt/commonqt

7 years agoQuick hack to cache objects under their pointers for MI superclasses, too mi-hack
David Lichteblau [Tue, 16 Nov 2010 23:37:30 +0000 (00:37 +0100)]
Quick hack to cache objects under their pointers for MI superclasses, too

7 years agoAdded workaround for temporary macros + RT problem.
Ivan Shvedunov [Tue, 16 Nov 2010 23:02:27 +0000 (02:02 +0300)]
Added workaround for temporary macros + RT problem.

7 years agoFixed can-marshal-p for QLists and QByteArrays, added support for QList<QModelIndex>.
Ivan Shvedunov [Tue, 16 Nov 2010 12:24:28 +0000 (15:24 +0300)]
Fixed can-marshal-p for QLists and QByteArrays, added support for QList<QModelIndex>.

7 years ago"Inclusion of header files from include/Qt is deprecated."
Stas Boukarev [Tue, 16 Nov 2010 12:17:46 +0000 (15:17 +0300)]
"Inclusion of header files from include/Qt is deprecated."

7 years agoAdd QString* marshalling.
Stas Boukarev [Mon, 15 Nov 2010 08:53:25 +0000 (11:53 +0300)]
Add QString* marshalling.

7 years agoAdded some RT-based tests.
Ivan Shvedunov [Sat, 6 Nov 2010 21:48:17 +0000 (00:48 +0300)]
Added some RT-based tests.

7 years agoImproved marshalling/unmarshalling of QList<T> (for some values of T), QStringList...
Ivan Shvedunov [Sat, 6 Nov 2010 21:47:14 +0000 (00:47 +0300)]
Improved marshalling/unmarshalling of QList<T> (for some values of T), QStringList, QByteArray and QVariant.

Don't use the 'dynamic unmarshalling' approach introduced before, as it had some serious drawbacks:
1. Using QList<void*> / QList</int> for all QLists is risky at best.
   No proper constructors/destructors invoked when necessary and overall
   this approach relies on sheer luck.
2. It didn't handle primitive types like int correctly because marshaller-2 doesn't handle them.

Some macros are used on C++ side to assist QList<T> definitions for different types.

7 years agoDon't use gensyms to name macros as this approach is fragile when using SBCL, use...
Ivan Shvedunov [Sat, 6 Nov 2010 21:40:15 +0000 (00:40 +0300)]
Don't use gensyms to name macros as this approach is fragile when using SBCL, use gentemp and :qt-internal package instead.

7 years agoqlist-element-type: fix the detection of *.
Stas Boukarev [Thu, 4 Nov 2010 19:55:43 +0000 (22:55 +0300)]
qlist-element-type: fix the detection of *.

7 years agoExport qtypep.
Stas Boukarev [Sun, 31 Oct 2010 17:55:33 +0000 (20:55 +0300)]
Export qtypep.

7 years agoqt-repl: provide *sldb-quit-restart*.
Ivan Shvedunov [Sat, 23 Oct 2010 23:49:34 +0000 (03:49 +0400)]
qt-repl: provide *sldb-quit-restart*.

7 years agoAlways place Makefile into the proper directory.
Ivan Shvedunov [Sat, 23 Oct 2010 23:11:04 +0000 (03:11 +0400)]
Always place Makefile into the proper directory.

7 years agoqt-repl: don't allow *PACKAGE* to be reset to CL-USER when starting the GUI thread.
Ivan Shvedunov [Sat, 23 Oct 2010 22:16:59 +0000 (02:16 +0400)]
qt-repl: don't allow *PACKAGE* to be reset to CL-USER when starting the GUI thread.

7 years agoWorked around Qt+SBCL SIGCHLD handler conflict.
Ivan Shvedunov [Sat, 23 Oct 2010 22:15:45 +0000 (02:15 +0400)]
Worked around Qt+SBCL SIGCHLD handler conflict.

7 years agoDefine qobject-pointer generic function.
Stas Boukarev [Wed, 20 Oct 2010 18:08:27 +0000 (22:08 +0400)]
Define qobject-pointer generic function.

7 years agoreader.lisp: Recognize ==, <, etc, use operator== methods for them.
Stas Boukarev [Mon, 18 Oct 2010 19:31:14 +0000 (23:31 +0400)]
reader.lisp: Recognize ==, <, etc, use operator== methods for them.

7 years agoForgot to commit new file.
Stas Boukarev [Fri, 15 Oct 2010 22:57:13 +0000 (02:57 +0400)]
Forgot to commit new file.

7 years agocommonqt.cpp: Rename ThinBinding to Binding, and FatBinding to DynamicBinding.
Stas Boukarev [Fri, 15 Oct 2010 22:24:23 +0000 (02:24 +0400)]
commonqt.cpp: Rename ThinBinding to Binding, and FatBinding to DynamicBinding.

7 years agoRemove code duplication in resolve-call.
Stas Boukarev [Fri, 15 Oct 2010 22:03:37 +0000 (02:03 +0400)]
Remove code duplication in resolve-call.

7 years agoFactor out common parts of optimized-new and optimized-call.
Stas Boukarev [Fri, 15 Oct 2010 21:56:15 +0000 (01:56 +0400)]
Factor out common parts of optimized-new and optimized-call.

7 years agoSlightly reorganize file structure.
Stas Boukarev [Fri, 15 Oct 2010 21:27:49 +0000 (01:27 +0400)]
Slightly reorganize file structure.

7 years agoFactor out symbols creation from optimized-new/call.
Stas Boukarev [Fri, 15 Oct 2010 17:16:16 +0000 (21:16 +0400)]
Factor out symbols creation from optimized-new/call.

7 years agoSimplify and document cached-values-bind macro.
Stas Boukarev [Fri, 15 Oct 2010 17:06:39 +0000 (21:06 +0400)]
Simplify and document cached-values-bind macro.

7 years agoUse alexandria:named-lambda for naming continuations.
Stas Boukarev [Thu, 14 Oct 2010 16:41:45 +0000 (20:41 +0400)]
Use alexandria:named-lambda for naming continuations.

7 years agoFactor binding setting part from %%new into set-object-binding function.
Stas Boukarev [Thu, 14 Oct 2010 16:05:48 +0000 (20:05 +0400)]
Factor binding setting part from %%new into set-object-binding function.

7 years agoMore descriptive names for ClassFn related functions and variables.
Stas Boukarev [Thu, 14 Oct 2010 15:58:22 +0000 (19:58 +0400)]
More descriptive names for ClassFn related functions and variables.

7 years agoFactor out ClassFn calling from %%new and %%call into call-class-fun.
Stas Boukarev [Thu, 14 Oct 2010 15:22:00 +0000 (19:22 +0400)]
Factor out ClassFn calling from %%new and %%call into call-class-fun.

7 years agoReuse %%call inside %%new.
Stas Boukarev [Thu, 14 Oct 2010 13:05:51 +0000 (17:05 +0400)]
Reuse %%call inside %%new.

7 years agoFactor out common code in bindings.
Stas Boukarev [Thu, 14 Oct 2010 01:15:41 +0000 (05:15 +0400)]
Factor out common code in bindings.

7 years ago%qobject: don't signal an error on unsuccessful instance-qclass.
Stas Boukarev [Wed, 6 Oct 2010 14:11:43 +0000 (18:11 +0400)]
%qobject: don't signal an error on unsuccessful instance-qclass.

7 years agoDetermine the real object class in %QOBJECT, reuse cached objects of different class...
Ivan Shvedunov [Sun, 3 Oct 2010 23:33:46 +0000 (03:33 +0400)]
Determine the real object class in %QOBJECT, reuse cached objects of different class when inheritance allows it.

7 years agoFixed REPL integration.
Ivan Shvedunov [Sun, 3 Oct 2010 23:31:17 +0000 (03:31 +0400)]
Fixed REPL integration.

7 years agoAutomatic QList unmarshalling.
Stas Boukarev [Thu, 23 Sep 2010 13:01:44 +0000 (17:01 +0400)]
Automatic QList unmarshalling.

7 years agoenum-or: work on integers and enums.
Stas Boukarev [Thu, 23 Sep 2010 09:42:17 +0000 (13:42 +0400)]
enum-or: work on integers and enums.

7 years agomake-qapplication: instantiate QCoreApplication only once.
Stas Boukarev [Sat, 18 Sep 2010 00:21:04 +0000 (04:21 +0400)]
make-qapplication: instantiate QCoreApplication only once.

7 years agoExport null-qobject-p.
Stas Boukarev [Sat, 18 Sep 2010 00:11:56 +0000 (04:11 +0400)]
Export null-qobject-p.

7 years agocall.lisp: remove debug output.
Stas Boukarev [Fri, 17 Sep 2010 23:54:28 +0000 (03:54 +0400)]
call.lisp: remove debug output.

7 years ago%qobject: check that the class of the cached object is suitable.
Stas Boukarev [Fri, 17 Sep 2010 23:36:31 +0000 (03:36 +0400)]
%qobject: check that the class of the cached object is suitable.

7 years agomarshal.lisp(defmarshal): instead of LAMBDA define a function named TYPE-marshaller...
Stas Boukarev [Fri, 17 Sep 2010 23:28:56 +0000 (03:28 +0400)]
marshal.lisp(defmarshal): instead of LAMBDA define a function named TYPE-marshaller for easier debugging.

7 years agoFix call-with-signal-marshalling for immediate objects.
Stas Boukarev [Thu, 16 Sep 2010 00:30:26 +0000 (04:30 +0400)]
Fix call-with-signal-marshalling for immediate objects.

7 years agocall-with-signal-marshalling: setup **void for arguments correctly.
Stas Boukarev [Wed, 15 Sep 2010 23:17:03 +0000 (03:17 +0400)]
call-with-signal-marshalling: setup **void for arguments correctly.

7 years agoRemove unused call-with-signal-marshalling.
Stas Boukarev [Tue, 14 Sep 2010 02:39:13 +0000 (06:39 +0400)]
Remove unused call-with-signal-marshalling.

7 years agofind-qtype: off by one error.
Stas Boukarev [Fri, 10 Sep 2010 23:05:20 +0000 (03:05 +0400)]
find-qtype: off by one error.

7 years agocommonqt.pro: more sensible include and libs paths.
Stas Boukarev [Sat, 4 Sep 2010 03:22:19 +0000 (07:22 +0400)]
commonqt.pro: more sensible include and libs paths.

7 years agoMake emit-signal work on existing signals from Qt. Not very pretty.
Stas Boukarev [Sat, 4 Sep 2010 02:31:37 +0000 (06:31 +0400)]
Make emit-signal work on existing signals from Qt. Not very pretty.

7 years agoRemove unused bits.
Stas Boukarev [Mon, 30 Aug 2010 13:54:09 +0000 (17:54 +0400)]
Remove unused bits.

7 years agoRemove unused map-qobject-children.
Stas Boukarev [Mon, 30 Aug 2010 13:49:53 +0000 (17:49 +0400)]
Remove unused map-qobject-children.

7 years agoemit-signal: normalize signature with QMetaObject::normalizedSignature.
Stas Boukarev [Mon, 30 Aug 2010 04:10:43 +0000 (08:10 +0400)]
emit-signal: normalize signature with QMetaObject::normalizedSignature.

7 years agoAdd QVariant marshalling.
Stas Boukarev [Thu, 19 Aug 2010 23:01:51 +0000 (03:01 +0400)]
Add QVariant marshalling.

8 years agocommonqt.cpp: fix unused variables warnings, and some other minor clean up.
Stas Boukarev [Wed, 11 Aug 2010 01:16:40 +0000 (05:16 +0400)]
commonqt.cpp: fix unused variables warnings, and some other minor clean up.

8 years ago.gitignore: *.so => *.so*, add Makefile.
Stas Boukarev [Wed, 11 Aug 2010 01:04:44 +0000 (05:04 +0400)]
.gitignore: *.so => *.so*, add Makefile.

8 years agoFix compilation warnings.
Stas Boukarev [Wed, 11 Aug 2010 01:03:06 +0000 (05:03 +0400)]
Fix compilation warnings.

8 years agoinfo.lisp(find-qtype): If no <module> optional parameter is specified, search through...
Stas Boukarev [Thu, 5 Aug 2010 12:03:07 +0000 (16:03 +0400)]
info.lisp(find-qtype): If no <module> optional parameter is specified, search through all modules.

8 years agoCommit package.lisp.
Stas Boukarev [Wed, 4 Aug 2010 14:47:14 +0000 (18:47 +0400)]
Commit package.lisp.

8 years agoenum-or: new function which, does logical OR on enums.
Stas Boukarev [Wed, 4 Aug 2010 14:46:53 +0000 (18:46 +0400)]
enum-or: new function which, does logical OR on enums.

8 years agoAdd QList<QListWidgetItem*> unmarshalling.
Stas Boukarev [Tue, 3 Aug 2010 17:42:03 +0000 (21:42 +0400)]
Add QList<QListWidgetItem*> unmarshalling.
Adding umarshalling manually for every type doesn't seem good,
but whatever works to keep me going.

8 years agoTry to treat class objects allocated on the stack. Though I'm not really sure what...
Stas Boukarev [Tue, 3 Aug 2010 17:39:09 +0000 (21:39 +0400)]
Try to treat class objects allocated on the stack. Though I'm not really sure what's going on here.

8 years agoStrongly reference live dynamic objects
David Lichteblau [Mon, 24 May 2010 12:29:05 +0000 (14:29 +0200)]
Strongly reference live dynamic objects

8 years agoMethod lookup caching
David Lichteblau [Mon, 5 Apr 2010 17:47:26 +0000 (19:47 +0200)]
Method lookup caching

8 years agoLess strict uint unmarshalling
David Lichteblau [Sun, 4 Apr 2010 23:25:27 +0000 (01:25 +0200)]
Less strict uint unmarshalling

8 years agonew function cancel-finalization
David Lichteblau [Sun, 4 Apr 2010 23:25:12 +0000 (01:25 +0200)]
new function cancel-finalization

8 years agonew function cancel-finalization
David Lichteblau [Sun, 4 Apr 2010 19:49:07 +0000 (21:49 +0200)]
new function cancel-finalization