comparison dwt/accessibility/SWTAccessibleDelegate.d @ 129:ad4e1fe71a5a

Fixed runtime errors
author Jacob Carlborg <doob@me.com>
date Sun, 18 Jan 2009 18:39:46 +0100
parents 63a09873578e
children
comparison
equal deleted inserted replaced
128:07399639c0c8 129:ad4e1fe71a5a
35 * for a control using <code>getData(String)</code>. When an accessible 35 * for a control using <code>getData(String)</code>. When an accessible
36 * is created for a control, it is stored as a property in the control 36 * is created for a control, it is stored as a property in the control
37 * using <code>setData(String, Object)</code>. 37 * using <code>setData(String, Object)</code>.
38 */ 38 */
39 static final String ACCESSIBLE_KEY = "Accessible"; //$NON-NLS-1$ 39 static final String ACCESSIBLE_KEY = "Accessible"; //$NON-NLS-1$
40 static final String DWT_OBJECT = "DWT_OBJECT"; 40 static final String SWT_OBJECT = "SWT_OBJECT";
41 41
42 static objc.IMP proc2Args, proc3Args, proc4Args; 42 static objc.IMP proc2Args, proc3Args, proc4Args;
43 43
44 Accessible accessibleParent; 44 Accessible accessibleParent;
45 void* delegateJniRef; 45 void* delegateJniRef;
68 // TODO: These should either move out of Display or be accessible to this class. 68 // TODO: These should either move out of Display or be accessible to this class.
69 String types = "*"; 69 String types = "*";
70 size_t size = C.PTR_SIZEOF, align_ = C.PTR_SIZEOF is 4 ? 2 : 3; 70 size_t size = C.PTR_SIZEOF, align_ = C.PTR_SIZEOF is 4 ? 2 : 3;
71 71
72 objc.Class cls = OS.objc_allocateClassPair(cast(objc.Class) OS.class_NSObject, className, 0); 72 objc.Class cls = OS.objc_allocateClassPair(cast(objc.Class) OS.class_NSObject, className, 0);
73 OS.class_addIvar(cls, DWT_OBJECT, size, cast(byte)align_, types); 73 OS.class_addIvar(cls, SWT_OBJECT, size, cast(byte)align_, types);
74 74
75 // Add the NSAccessibility overrides 75 // Add the NSAccessibility overrides
76 OS.class_addMethod(cls, OS.sel_accessibilityActionNames, proc2Args, "@:"); 76 OS.class_addMethod(cls, OS.sel_accessibilityActionNames, proc2Args, "@:");
77 OS.class_addMethod(cls, OS.sel_accessibilityAttributeNames, proc2Args, "@:"); 77 OS.class_addMethod(cls, OS.sel_accessibilityAttributeNames, proc2Args, "@:");
78 OS.class_addMethod(cls, OS.sel_accessibilityParameterizedAttributeNames, proc2Args, "@:"); 78 OS.class_addMethod(cls, OS.sel_accessibilityParameterizedAttributeNames, proc2Args, "@:");
97 this.accessibleParent = accessible; 97 this.accessibleParent = accessible;
98 this.childID = childID; 98 this.childID = childID;
99 alloc().init(); 99 alloc().init();
100 delegateJniRef = OS.NewGlobalRef(this); 100 delegateJniRef = OS.NewGlobalRef(this);
101 if (delegateJniRef is null) DWT.error(DWT.ERROR_NO_HANDLES); 101 if (delegateJniRef is null) DWT.error(DWT.ERROR_NO_HANDLES);
102 OS.object_setInstanceVariable(this.id, DWT_OBJECT, delegateJniRef); 102 OS.object_setInstanceVariable(this.id, SWT_OBJECT, delegateJniRef);
103 } 103 }
104 104
105 NSArray accessibilityActionNames() { 105 NSArray accessibilityActionNames() {
106 106
107 if (actionNames !is null) 107 if (actionNames !is null)
251 } 251 }
252 } 252 }
253 static SWTAccessibleDelegate getAccessibleDelegate(objc.id id) { 253 static SWTAccessibleDelegate getAccessibleDelegate(objc.id id) {
254 if (id is null) return null; 254 if (id is null) return null;
255 void* jniRef; 255 void* jniRef;
256 OS.object_getInstanceVariable(id, DWT_OBJECT, jniRef); 256 OS.object_getInstanceVariable(id, SWT_OBJECT, jniRef);
257 if (jniRef is null) return null; 257 if (jniRef is null) return null;
258 return cast(SWTAccessibleDelegate)OS.JNIGetObject(jniRef); 258 return cast(SWTAccessibleDelegate)OS.JNIGetObject(jniRef);
259 } 259 }
260 260
261 public void internal_dispose_SWTAccessibleDelegate() { 261 public void internal_dispose_SWTAccessibleDelegate() {