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 < mouseOverEvent = 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 );
55 heap.do { |x| x.prFinalize; };
59 initQObject{ arg className, argumentArray;
60 this.prConstruct( className, argumentArray );
61 heap = heap.add( this );
62 this.connectFunction( 'destroyed()', { heap.remove(this) }, false );
76 ^this.prGetParent( if( class.notNil ){class.name}{nil} );
80 ^this.prGetChildren( if( class.notNil ){class.name}{nil} );
83 setParent { arg parent;
89 _QObject_GetProperties
93 methods { arg plain = true, signals = false, slots = true;
98 getProperty { arg property;
100 ^this.primitiveFailed
103 setProperty { arg property, value, direct=true;
105 ^this.primitiveFailed
108 setEventHandler{ arg event, method, direct=false, enabled=true;
109 _QObject_SetEventHandler
110 ^this.primitiveFailed
113 setEventHandlerEnabled { arg event, enabled=true;
114 _QObject_SetEventHandlerEnabled
115 ^this.primitiveFailed
118 connectMethod { arg signal, handler, direct=false;
119 _QObject_ConnectMethod
120 ^this.primitiveFailed
123 disconnectMethod { arg signal, method;
124 _QObject_DisconnectMethod;
125 ^this.primitiveFailed
128 connectFunction { arg signal, object, synchronous = false;
129 virtualSlots = virtualSlots.add( object );
130 this.prConnectObject( signal, object, synchronous );
133 disconnectFunction { arg signal, object;
134 virtualSlots.remove( object );
135 this.prDisconnectObject( signal, object );
138 connectSlot { arg signal, receiver, slot;
139 _QObject_ConnectSlot;
140 ^this.primitiveFailed
143 invokeMethod { arg method, arguments, synchronous = true;
144 _QObject_InvokeMethod
145 ^this.primitiveFailed
148 ////////////////////// private //////////////////////////////////
150 prConstruct { arg className, argumentArray;
152 ^this.primitiveFailed;
155 prConnectObject { arg signal, object, synchronous = false;
156 _QObject_ConnectObject;
157 ^this.primitiveFailed
160 prDisconnectObject { arg signal, object;
161 _QObject_DisconnectObject;
162 ^this.primitiveFailed
165 prGetChildren { arg className;
167 ^this.primitiveFailed
170 prGetParent { arg className;
172 ^this.primitiveFailed
176 _QObject_ManuallyFinalize
177 ^this.primitiveFailed
180 doFunction { arg f ... args; f.performList(\value, this, args); }