5 ^super.newCopyArgs(className);
9 _QMetaObject_Properties
13 methods { arg plain = true, signals = false, slots = true;
24 < windowActivateEvent = 24,
25 < windowDeactivateEvent = 25,
28 < mouseDblClickEvent = 4,
30 < mouseEnterEvent = 10,
31 < mouseLeaveEvent = 11,
32 < mouseWheelEvent = 31,
36 var qObject, finalizer;
41 *meta { ^QMetaObject(this.qtClass) }
43 *new { arg argumentArray;
44 var className = this.qtClass;
45 if( className.isNil ) {
46 Error("Qt:" + this.name + "is an abstract class and can not be instantiated.").throw;
48 ^super.new.initQObject( className, argumentArray );
53 initQObject{ arg className, argumentArray;
54 this.prConstruct( className, argumentArray );
55 heap = heap.add( this );
69 ^this.prGetParent( if( class.notNil ){class.name}{nil} );
73 ^this.prGetChildren( if( class.notNil ){class.name}{nil} );
76 setParent { arg parent;
82 _QObject_GetProperties
86 methods { arg plain = true, signals = false, slots = true;
91 getProperty { arg property;
96 setProperty { arg property, value, direct=true;
101 setEventHandler{ arg event, method, direct=false, enabled=true;
102 _QObject_SetEventHandler
103 ^this.primitiveFailed
106 setEventHandlerEnabled { arg event, enabled=true;
107 _QObject_SetEventHandlerEnabled
108 ^this.primitiveFailed
111 connectMethod { arg signal, handler, direct=false;
112 _QObject_ConnectMethod
113 ^this.primitiveFailed
116 disconnectMethod { arg signal, method;
117 _QObject_DisconnectMethod;
118 ^this.primitiveFailed
121 connectFunction { arg signal, object, synchronous = false;
122 virtualSlots = virtualSlots.add( object );
123 this.prConnectObject( signal, object, synchronous );
126 disconnectFunction { arg signal, object;
127 virtualSlots.remove( object );
128 this.prDisconnectObject( signal, object );
131 connectSlot { arg signal, receiver, slot;
132 _QObject_ConnectSlot;
133 ^this.primitiveFailed
136 invokeMethod { arg method, arguments, synchronous = true;
137 _QObject_InvokeMethod
138 ^this.primitiveFailed
141 ////////////////////// private //////////////////////////////////
143 prConstruct { arg className, argumentArray;
145 ^this.primitiveFailed;
148 prConnectObject { arg signal, object, synchronous = false;
149 _QObject_ConnectObject;
150 ^this.primitiveFailed
153 prDisconnectObject { arg signal, object;
154 _QObject_DisconnectObject;
155 ^this.primitiveFailed
158 prGetChildren { arg className;
160 ^this.primitiveFailed
163 prGetParent { arg className;
165 ^this.primitiveFailed
168 prRelease { heap.remove(this); }
170 doFunction { arg f ... args; f.performList(\value, this, args); }