# HG changeset patch # User Jacob Carlborg # Date 1228678900 -3600 # Node ID 9dd4a17513f9da7a34500b874c7f33ebacecd8a5 # Parent 34237ae5156a866a2663d40aab629a475251a1c8 Updated Scrollabe to 3.514 diff -r 34237ae5156a -r 9dd4a17513f9 dwt/widgets/Control.d --- a/dwt/widgets/Control.d Sun Dec 07 20:16:52 2008 +0100 +++ b/dwt/widgets/Control.d Sun Dec 07 20:41:40 2008 +0100 @@ -65,6 +65,8 @@ import dwt.dwthelper.utils; import dwt.dwthelper.System; +import dwt.internal.c.Carbon; +import dwt.internal.objc.cocoa.Cocoa; import objc = dwt.internal.objc.runtime; import dwt.widgets.Composite; import dwt.widgets.Decorations; @@ -238,7 +240,7 @@ } -bool accessibilityIsAttributeSettable(objc.id id, objc.SEL sel, int /*long*/ arg0) { +bool accessibilityIsAttributeSettable(objc.id id, objc.SEL sel, objc.id arg0) { // TODO: Carbon didn't support setting attributes, so for now Cocoa doesn't as well. // NSString attribute = new NSString(arg0); @@ -850,7 +852,7 @@ releaseHandle (); } -void doCommandBySelector (objc.id id, objc.SEL sel, int /*long*/ selector) { +void doCommandBySelector (objc.id id, objc.SEL sel, objc.SEL selector) { if (view.window ().firstResponder ().id is id) { NSEvent nsEvent = NSApplication.sharedApplication ().currentEvent (); if (nsEvent !is null && nsEvent.type () is OS.NSKeyDown) { @@ -1058,12 +1060,12 @@ // OS.ClearKeyboardFocus (window); } -void flagsChanged (objc.id id, objc.SEL sel, int /*long*/ theEvent) { +void flagsChanged (objc.id id, objc.SEL sel, objc.id theEvent) { if (view.window ().firstResponder ().id is id) { if ((state & SAFARI_EVENTS_FIX) is 0) { int mask = 0; NSEvent nsEvent = new NSEvent (theEvent); - int /*long*/ modifiers = nsEvent.modifierFlags (); + NSUInteger modifiers = nsEvent.modifierFlags (); int keyCode = Display.translateKey (nsEvent.keyCode ()); switch (keyCode) { case DWT.ALT: mask = OS.NSAlternateKeyMask; break; @@ -1078,6 +1080,8 @@ setInputState (event, nsEvent, DWT.KeyUp); sendKeyEvent (DWT.KeyUp, event); break; + default: + assert(false); } if (mask !is 0) { int type = (mask & modifiers) !is 0 ? DWT.KeyDown : DWT.KeyUp; @@ -1555,22 +1559,22 @@ return (view.window().firstResponder().id is view.id); } -int /*long*/ hitTest (objc.id id, objc.SEL sel, NSPoint point) { - if ((state & DISABLED) !is 0) return 0; +objc.id hitTest (objc.id id, objc.SEL sel, NSPoint point) { + if ((state & DISABLED) !is 0) return null; return super.hitTest(id, sel, point); } -bool insertText (objc.id id, objc.SEL sel, int /*long*/ string) { +bool insertText (objc.id id, objc.SEL sel, objc.id string) { if (view.window ().firstResponder ().id is id) { NSEvent nsEvent = NSApplication.sharedApplication ().currentEvent (); if (nsEvent !is null && nsEvent.type () is OS.NSKeyDown) { NSString str = new NSString (string); - if (str.isKindOfClass (OS.objc_getClass ("NSAttributedString"))) { - str = new NSAttributedString (string).string (); + if (str.isKindOfClass (cast(objc.Class)OS.objc_getClass ("NSAttributedString"))) { + str = (new NSAttributedString (string)).string (); } - int length = (int)/*64*/str.length (); - char[] buffer = new char [length]; - str.getCharacters(buffer); + NSUInteger length = str.length (); + wchar[] buffer = new wchar [length]; + str.getCharacters(buffer.ptr); for (int i = 0; i < buffer.length; i++) { Event event = new Event (); if (length is 1) setKeyState (event, DWT.KeyDown, nsEvent); @@ -1791,7 +1795,7 @@ super.keyDown (id, sel, theEvent); } -void keyUp (objc.id id, objc.SEL sel, int /*long*/ theEvent) { +void keyUp (objc.id id, objc.SEL sel, objc.id theEvent) { if (view.window ().firstResponder ().id is id) { NSEvent nsEvent = new NSEvent (theEvent); if (!sendKeyEvent (nsEvent, DWT.KeyUp)) return; @@ -1803,9 +1807,9 @@ /* Do nothing */ } -int /*long*/ menuForEvent (objc.id id, objc.SEL sel, int /*long*/ theEvent) { +objc.id menuForEvent (objc.id id, objc.SEL sel, objc.id theEvent) { NSPoint pt = NSEvent.mouseLocation(); - pt.y = (int) (display.getPrimaryFrame().height - pt.y); + pt.y = cast(int) (display.getPrimaryFrame().height - pt.y); int x = cast(int) pt.x; int y = cast(int) pt.y; Event event = new Event (); @@ -1827,7 +1831,7 @@ return parent.menuShell (); } -void scrollWheel (objc.id id, objc.SEL sel, int /*long*/ theEvent) { +void scrollWheel (objc.id id, objc.SEL sel, objc.id theEvent) { if (id is view.id) { if (hooks (DWT.MouseWheel) || filters (DWT.MouseWheel)) { NSEvent nsEvent = new NSEvent(theEvent); @@ -1841,7 +1845,7 @@ super.scrollWheel(id, sel, theEvent); } -void mouseDown(objc.id id, objc.SEL sel, int /*long*/ theEvent) { +void mouseDown(objc.id id, objc.SEL sel, objc.id theEvent) { Display display = this.display; display.trackingControl = this; super.mouseDown(id, sel, theEvent); @@ -2463,7 +2467,7 @@ //FALL THROUGH case DWT.MouseUp: case DWT.MouseDoubleClick: - int button = (int)/*64*/nsEvent.buttonNumber(); + int button = cast(int)/*64*/nsEvent.buttonNumber(); switch (button) { case 0: event.button = 1; break; case 1: event.button = 3; break; @@ -2474,11 +2478,11 @@ break; case DWT.MouseWheel: event.detail = DWT.SCROLL_LINE; - float /*double*/ delta = nsEvent.deltaY(); - event.count = delta > 0 ? Math.max (1, (int)delta) : Math.min (-1, (int)delta); + CGFloat delta = nsEvent.deltaY(); + event.count = delta > 0 ? Math.max (1, cast(int)delta) : Math.min (-1, cast(int)delta); break; } - if (event.button !is 0) event.count = (int)/*64*/nsEvent.clickCount(); + if (event.button !is 0) event.count = cast(int)/*64*/nsEvent.clickCount(); NSPoint windowPoint; if (nsEvent is null || nsEvent.type() is OS.NSMouseMoved) { windowPoint = view.window().convertScreenToBase(NSEvent.mouseLocation()); @@ -2486,8 +2490,8 @@ windowPoint = nsEvent.locationInWindow(); } NSPoint point = view.convertPoint_fromView_(windowPoint, null); - event.x = (int) point.x; - event.y = (int) point.y; + event.x = cast(int) point.x; + event.y = cast(int) point.y; setInputState (event, nsEvent, type); if (send) { sendEvent (type, event); @@ -3347,7 +3351,7 @@ break; } case 48: /* Tab */ { - int /*long*/ modifiers = theEvent.modifierFlags (); + NSUInteger modifiers = theEvent.modifierFlags (); bool next = (modifiers & OS.NSShiftKeyMask) is 0; detail = next ? DWT.TRAVERSE_TAB_NEXT : DWT.TRAVERSE_TAB_PREVIOUS; break; @@ -3363,7 +3367,7 @@ case 116: /* Page up */ case 121: /* Page down */ { all = true; - int /*long*/ modifiers = theEvent.modifierFlags (); + NSUInteger modifiers = theEvent.modifierFlags (); if ((modifiers & OS.NSControlKeyMask) is 0) return false; detail = key is 121 /* Page down */ ? DWT.TRAVERSE_PAGE_NEXT : DWT.TRAVERSE_PAGE_PREVIOUS; break; diff -r 34237ae5156a -r 9dd4a17513f9 dwt/widgets/Display.d --- a/dwt/widgets/Display.d Sun Dec 07 20:16:52 2008 +0100 +++ b/dwt/widgets/Display.d Sun Dec 07 20:41:40 2008 +0100 @@ -2952,10 +2952,10 @@ Widget removeWidget (NSObject view) { if (view is null) return null; - int /*long*/ [] jniRef = new int /*long*/ [1]; + void* jniRef; OS.object_getInstanceVariable(view.id, SWT_OBJECT, jniRef); - if (jniRef[0] is 0) return null; - Widget widget = cast(Widget)OS.JNIGetObject(jniRef[0]); + if (jniRef is null) return null; + Widget widget = cast(Widget)OS.JNIGetObject(jniRef); OS.object_setInstanceVariable(view.id, SWT_OBJECT, 0); return widget; } diff -r 34237ae5156a -r 9dd4a17513f9 dwt/widgets/Event.d --- a/dwt/widgets/Event.d Sun Dec 07 20:16:52 2008 +0100 +++ b/dwt/widgets/Event.d Sun Dec 07 20:41:40 2008 +0100 @@ -151,7 +151,7 @@ * character value based on a stateMask (such as DWT.CTRL) or the * resulting character will not be correct. */ - public char character; + public wchar character = '\0'; /** * depending on the event, the key code of the key that was typed, diff -r 34237ae5156a -r 9dd4a17513f9 dwt/widgets/Widget.d --- a/dwt/widgets/Widget.d Sun Dec 07 20:16:52 2008 +0100 +++ b/dwt/widgets/Widget.d Sun Dec 07 20:41:40 2008 +0100 @@ -517,8 +517,8 @@ release (true); } -void doCommandBySelector (objc.id id, objc.SEL sel, objc.id aSelector) { - callSuper (id, sel, aSelector); +void doCommandBySelector (objc.id id, objc.SEL sel, objc.SEL aSelector) { + callSuper (id, sel, cast(objc.id) aSelector); } void drawBackground (int control, int context) {