changeset 49:9dd4a17513f9

Updated Scrollabe to 3.514
author Jacob Carlborg <doob@me.com>
date Sun, 07 Dec 2008 20:41:40 +0100
parents 34237ae5156a
children 30adfb32d4be
files dwt/widgets/Control.d dwt/widgets/Display.d dwt/widgets/Event.d dwt/widgets/Widget.d
diffstat 4 files changed, 35 insertions(+), 31 deletions(-) [+]
line wrap: on
line diff
--- 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;
--- 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;
 }
--- 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,
--- 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) {