commonqt:commonqt.git
4 years agoFix read-list-until: skip over white-space.
Stas Boukarev [Fri, 8 Feb 2013 00:41:47 +0000 (04:41 +0400)]
Fix read-list-until: skip over white-space.

4 years agoAdd a couple more tests.
Stas Boukarev [Thu, 7 Feb 2013 01:19:50 +0000 (05:19 +0400)]
Add a couple more tests.

4 years agowith-signals-blocked: use #_, it can be used for macros now.
Stas Boukarev [Wed, 6 Feb 2013 23:31:18 +0000 (03:31 +0400)]
with-signals-blocked: use #_, it can be used for macros now.

4 years agomake-optimized: Reduce consing even more by not consing constant
Stas Boukarev [Wed, 6 Feb 2013 17:22:34 +0000 (21:22 +0400)]
make-optimized: Reduce consing even more by not consing constant
tails, not just fully constant lists.

4 years agoOptimize make-optimized, don't cons constant arguments.
Stas Boukarev [Sun, 3 Feb 2013 21:39:54 +0000 (01:39 +0400)]
Optimize make-optimized, don't cons constant arguments.

4 years agoOptimize unmarshalling: add const and & variants of types to the
Stas Boukarev [Sat, 2 Feb 2013 16:05:09 +0000 (20:05 +0400)]
Optimize unmarshalling: add const and & variants of types to the
hashtable, instead of stripping them each time.

4 years agoAdd enum-andc, the same as enum-or, but for logandc2.
Stas Boukarev [Wed, 30 Jan 2013 21:37:43 +0000 (01:37 +0400)]
Add enum-andc, the same as enum-or, but for logandc2.

4 years agoAdd double& (qreal) marshalling.
Stas Boukarev [Sat, 26 Jan 2013 17:22:55 +0000 (21:22 +0400)]
Add double& (qreal) marshalling.

4 years agoImplement #_ without temporary macros, expand into ((lambda () ...)) instead.
Stas Boukarev [Fri, 25 Jan 2013 16:50:45 +0000 (20:50 +0400)]
Implement #_ without temporary macros, expand into ((lambda () ...)) instead.
Temporary macros do not work well with options to defclass, since they
may not be around the next time defclass is evaluated
(like loading from fasls in another image).

4 years agoinform-cpp-about-override: Search the method in all class superclasses.
Stas Boukarev [Thu, 24 Jan 2013 13:39:27 +0000 (17:39 +0400)]
inform-cpp-about-override: Search the method in all class superclasses.

4 years agoSignal a warning when overriding a non-existent method.
Stas Boukarev [Sun, 20 Jan 2013 15:15:54 +0000 (19:15 +0400)]
Signal a warning when overriding a non-existent method.

4 years agomethod-applicable-p: Make sure that the number of args is correct.
Stas Boukarev [Fri, 18 Jan 2013 11:33:06 +0000 (15:33 +0400)]
method-applicable-p: Make sure that the number of args is correct.

4 years agoFix qclass-find-applicable-method when nothing is found.
Stas Boukarev [Fri, 18 Jan 2013 06:53:30 +0000 (10:53 +0400)]
Fix qclass-find-applicable-method when nothing is found.

4 years agoLess consing method unmarshalling in override callbacks.
Stas Boukarev [Fri, 18 Jan 2013 05:56:04 +0000 (09:56 +0400)]
Less consing method unmarshalling in override callbacks.

4 years agoqvariant: Add an explanation comment.
Stas Boukarev [Fri, 18 Jan 2013 05:44:22 +0000 (09:44 +0400)]
qvariant: Add an explanation comment.

4 years agostop-overriding: new public function. Works like call-next-qmethod,
Stas Boukarev [Fri, 18 Jan 2013 05:28:54 +0000 (09:28 +0400)]
stop-overriding: new public function. Works like call-next-qmethod,
but doesn't return, it proceeds calling the original Qt method.
Should be used for optimization.

4 years agoLess consing qsubclassp.
Stas Boukarev [Thu, 17 Jan 2013 20:01:07 +0000 (00:01 +0400)]
Less consing qsubclassp.

4 years agoLess consing method-applicable-p.
Stas Boukarev [Thu, 17 Jan 2013 19:56:59 +0000 (23:56 +0400)]
Less consing method-applicable-p.

4 years agoLess consing qclass-find-applicable-method.
Stas Boukarev [Thu, 17 Jan 2013 19:36:55 +0000 (23:36 +0400)]
Less consing qclass-find-applicable-method.

4 years agoMore comprehensive QVariant marshalling.
Stas Boukarev [Thu, 17 Jan 2013 19:26:35 +0000 (23:26 +0400)]
More comprehensive QVariant marshalling.

4 years agoproperty.lisp: Remove manual QVariant unmarshalling, since QVariant are now handled...
Stas Boukarev [Tue, 4 Jan 2011 14:48:42 +0000 (17:48 +0300)]
property.lisp: Remove manual QVariant unmarshalling, since QVariant are now handled automatically.

4 years agounvariant: Don't discard unvarianted NIL.
Stas Boukarev [Tue, 4 Jan 2011 14:47:45 +0000 (17:47 +0300)]
unvariant: Don't discard unvarianted NIL.

4 years agoqvariant.lisp:
Stas Boukarev [Tue, 4 Jan 2011 14:20:48 +0000 (17:20 +0300)]
qvariant.lisp:
* Sort *qvariant-types* by codes.
* Make *qvariant-map* as large as needed.
* Use #'identity for invalid QVariants (with type 0).

4 years agoUnmarshall all QVariant types which has toType conversion functions.
Stas Boukarev [Tue, 4 Jan 2011 14:10:34 +0000 (17:10 +0300)]
Unmarshall all QVariant types which has toType conversion functions.

4 years agoFix metaobject retrieval of dynamic-object on the lisp side.
Stas Boukarev [Thu, 17 Jan 2013 19:23:19 +0000 (23:23 +0400)]
Fix metaobject retrieval of dynamic-object on the lisp side.

4 years agoUse with-float-traps-masked on SBCL for foreign calls.
Stas Boukarev [Fri, 11 Jan 2013 18:29:02 +0000 (22:29 +0400)]
Use with-float-traps-masked on SBCL for foreign calls.
Restore the traps inside callbacks.

4 years agoDon't call added/removed callbacks, they are not used by default
Stas Boukarev [Fri, 11 Jan 2013 17:43:55 +0000 (21:43 +0400)]
Don't call added/removed callbacks, they are not used by default
currently and they cause some problems with threads on some
implementations.

4 years agoMove (defvar *report-memory-leaks* nil) before it's used.
Stas Boukarev [Thu, 20 Dec 2012 10:35:37 +0000 (14:35 +0400)]
Move (defvar *report-memory-leaks* nil) before it's used.

4 years agoSimplify make-metaobject-signature.
Stas Boukarev [Wed, 19 Dec 2012 10:46:03 +0000 (14:46 +0400)]
Simplify make-metaobject-signature.

4 years agoABCL compatibility.
Stas Boukarev [Wed, 19 Dec 2012 10:45:48 +0000 (14:45 +0400)]
ABCL compatibility.
EQ => EQL when fixnums are compared.

4 years agoRearrange classes location some more, allows to be loaded on ECL.
Stas Boukarev [Tue, 18 Dec 2012 22:55:38 +0000 (02:55 +0400)]
Rearrange classes location some more, allows to be loaded on ECL.

4 years agodynamic connect: initialize the slot-spec.
Stas Boukarev [Thu, 13 Dec 2012 14:45:49 +0000 (18:45 +0400)]
dynamic connect: initialize the slot-spec.

4 years agoMove finalize-inheritance into classes.lisp, some implementations run
Stas Boukarev [Sun, 9 Dec 2012 13:29:39 +0000 (17:29 +0400)]
Move finalize-inheritance into classes.lisp, some implementations run
it before it's defined otherwise.

4 years agoDon't use two separate classes, slot-or-signal and slot-or-signal-spec.
Stas Boukarev [Sun, 9 Dec 2012 08:52:53 +0000 (12:52 +0400)]
Don't use two separate classes, slot-or-signal and slot-or-signal-spec.

4 years agoEnsure less duplicate work is done in compute-class-meta-data by
Stas Boukarev [Sun, 9 Dec 2012 07:49:26 +0000 (11:49 +0400)]
Ensure less duplicate work is done in compute-class-meta-data by
parsing raw-specs in initialize-instance.

4 years agocompute-class-meta-data: Traverse the whole sub-class tree.
Stas Boukarev [Sun, 2 Dec 2012 06:18:37 +0000 (10:18 +0400)]
compute-class-meta-data: Traverse the whole sub-class tree.

4 years agomake-metaobject: Use with-output-to-string, and not just
Stas Boukarev [Sun, 2 Dec 2012 05:19:12 +0000 (09:19 +0400)]
make-metaobject: Use with-output-to-string, and not just
make-string-output-stream and get-output-stream-string without closing
the stream.

4 years agoDon't pass abstractp in method callbacks, it's ignored anyway.
Stas Boukarev [Sun, 2 Dec 2012 05:07:08 +0000 (09:07 +0400)]
Don't pass abstractp in method callbacks, it's ignored anyway.

4 years agoRemove %qobject-metaobject, apparently, #_staticMetaObject can be used
Stas Boukarev [Sun, 2 Dec 2012 04:57:19 +0000 (08:57 +0400)]
Remove %qobject-metaobject, apparently, #_staticMetaObject can be used
on QObject just as well.

4 years agoCompute class meta data from finalize-inheritance again. Computing
Stas Boukarev [Sun, 2 Dec 2012 04:45:02 +0000 (08:45 +0400)]
Compute class meta data from finalize-inheritance again. Computing
from initialize-instance won't work with forward-referenced classes.

4 years agoRename classess.lisp to classes.lisp.
Stas Boukarev [Sun, 2 Dec 2012 04:29:45 +0000 (08:29 +0400)]
Rename classess.lisp to classes.lisp.

4 years agoUpdate slog/signal/override meta-date on super-class redefinition.
Stas Boukarev [Sat, 1 Dec 2012 12:52:57 +0000 (16:52 +0400)]
Update slog/signal/override meta-date on super-class redefinition.

4 years agoTry to make signal, slot and override names more consistent.
Stas Boukarev [Sat, 1 Dec 2012 06:29:18 +0000 (10:29 +0400)]
Try to make signal, slot and override names more consistent.

4 years agoqt.asd: load classes before marshal.
Stas Boukarev [Wed, 28 Nov 2012 23:32:24 +0000 (03:32 +0400)]
qt.asd: load classes before marshal.

4 years agoperform-cast: Don't cast if from is the same as to.
Stas Boukarev [Wed, 28 Nov 2012 23:23:46 +0000 (03:23 +0400)]
perform-cast: Don't cast if from is the same as to.

4 years agocached-values-bind: Don't cache multiple forms when only one is needed.
Stas Boukarev [Wed, 28 Nov 2012 23:00:07 +0000 (03:00 +0400)]
cached-values-bind: Don't cache multiple forms when only one is needed.

4 years agomicrobench.lisp: data-thin -> data-binding.
Stas Boukarev [Wed, 28 Nov 2012 22:15:14 +0000 (02:15 +0400)]
microbench.lisp: data-thin -> data-binding.

4 years agoStore override table indexes on the CPP side.
Stas Boukarev [Wed, 28 Nov 2012 18:16:23 +0000 (22:16 +0400)]
Store override table indexes on the CPP side.

4 years agoStop map-cpl-using-result from consing.
Stas Boukarev [Wed, 28 Nov 2012 08:50:33 +0000 (12:50 +0400)]
Stop map-cpl-using-result from consing.

4 years agoMake dynamic-bindings for each class.
Stas Boukarev [Wed, 28 Nov 2012 05:02:32 +0000 (09:02 +0400)]
Make dynamic-bindings for each class.

4 years agoMaintain an override table on the CPP side.
Stas Boukarev [Mon, 26 Nov 2012 23:12:13 +0000 (03:12 +0400)]
Maintain an override table on the CPP side.

5 years agoFix with-callback-restart macro to return 0 upon restart.
Stas Boukarev [Sat, 8 Sep 2012 14:40:46 +0000 (18:40 +0400)]
Fix with-callback-restart macro to return 0 upon restart.

5 years agoPut restart-case for callbacks into with-callback-restart macro.
Stas Boukarev [Sat, 8 Sep 2012 12:51:50 +0000 (16:51 +0400)]
Put restart-case for callbacks into with-callback-restart macro.

5 years agoemit-signal: Throw a proper error when the requested signal doesn't exist.
Stas Boukarev [Sat, 8 Sep 2012 09:14:29 +0000 (13:14 +0400)]
emit-signal: Throw a proper error when the requested signal doesn't exist.

5 years agoBetter error messages.
Stas Boukarev [Sun, 19 Aug 2012 03:40:40 +0000 (07:40 +0400)]
Better error messages.

5 years agonote-deleted: Remove all cached entries, including ones added due to
Stas Boukarev [Sun, 20 May 2012 10:50:23 +0000 (14:50 +0400)]
note-deleted: Remove all cached entries, including ones added due to
multiple inheritance.

5 years agoTest and fix for QWebView construction: When caching superclass pointers, be careful...
David Lichteblau [Tue, 28 Dec 2010 15:47:49 +0000 (16:47 +0100)]
Test and fix for QWebView construction: When caching superclass pointers, be careful around cross-module casts

5 years agoAdd/change appropriate initargs in qt-class, so that the right
Stas Boukarev [Fri, 27 Apr 2012 04:40:33 +0000 (08:40 +0400)]
Add/change appropriate initargs in qt-class, so that the right
initialization arguments to make-instance can be computed.
Using &key &allow-other-keys defeats any useful checking.

5 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.

5 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.

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

5 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.

5 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.

5 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.

5 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.

5 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.

5 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.

5 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.

5 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.

6 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.

6 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.

6 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.

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

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

6 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.

6 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

6 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)

6 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)

6 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

6 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.

6 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.

6 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.

6 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).

6 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

6 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'

6 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.

6 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.

6 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.

6 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.

6 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.

6 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."