Mercurial > projects > dwt-mac
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() { |