Mercurial > projects > dwt-mac
changeset 115:a2d82e6fd054
Ported dwt.dnd
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Wed, 31 Dec 2008 15:32:40 +0100 |
parents | d0d0b721dbcc |
children | 580596d83ac4 |
files | dwt/dnd/DNDListener.d dwt/dnd/DragSource.d dwt/dnd/DropTarget.d dwt/dnd/FileTransfer.d dwt/dnd/RTFTransfer.d dwt/dnd/TextTransfer.d |
diffstat | 6 files changed, 38 insertions(+), 24 deletions(-) [+] |
line wrap: on
line diff
--- a/dwt/dnd/DNDListener.d Wed Dec 31 15:17:35 2008 +0100 +++ b/dwt/dnd/DNDListener.d Wed Dec 31 15:32:40 2008 +0100 @@ -26,7 +26,10 @@ import dwt.dnd.DragSourceEffect; import dwt.dnd.DragSourceEvent; import dwt.dnd.DragSourceListener; +import dwt.dnd.DropTarget; +import dwt.dnd.DropTargetEffect; import dwt.dnd.DropTargetEvent; +import dwt.dnd.DropTargetListener; class DNDListener : TypedListener { Widget dndWidget; @@ -130,6 +133,8 @@ break; } + default: + } } }
--- a/dwt/dnd/DragSource.d Wed Dec 31 15:17:35 2008 +0100 +++ b/dwt/dnd/DragSource.d Wed Dec 31 15:32:40 2008 +0100 @@ -43,10 +43,16 @@ import dwt.widgets.Tree; import dwt.widgets.Widget; +import tango.core.Thread; + import dwt.dnd.DND; +import dwt.dnd.DNDEvent; +import dwt.dnd.DNDListener; import dwt.dnd.DragSourceEffect; import dwt.dnd.DragSourceListener; +import dwt.dnd.TableDragSourceEffect; import dwt.dnd.Transfer; +import dwt.dnd.TransferData; import dwt.dnd.TreeDragSourceEffect; import dwt.internal.objc.cocoa.Cocoa; import objc = dwt.internal.objc.runtime; @@ -399,8 +405,8 @@ this.dragStarted = true; } -void draggedImage_endedAt_operation(NSImage image, NSPoint location, objc.id operation) { - int swtOperation = osOpToOp(operation); +void draggedImage_endedAt_operation(NSImage image, NSPoint location, NSDragOperation operation) { + int swtOperation = osOpToOp(cast(NSDragOperation) operation); Event event = new DNDEvent(); event.widget = this; event.time = cast(int)System.currentTimeMillis(); @@ -418,7 +424,7 @@ } extern (C) { static objc.id dragSourceProc2(objc.id id, objc.SEL sel) { - Display display = Display.findDisplay(Thread.currentThread()); + Display display = Display.findDisplay(Thread.getThis()); if (display is null || display.isDisposed()) return null; Widget widget = display.findWidget(id); if (widget is null) return null; @@ -433,7 +439,7 @@ } static objc.id dragSourceProc3(objc.id id, objc.SEL sel, objc.id arg0) { - Display display = Display.findDisplay(Thread.currentThread()); + Display display = Display.findDisplay(Thread.getThis()); if (display is null || display.isDisposed()) return null; Widget widget = display.findWidget(id); if (widget is null) return null; @@ -445,14 +451,14 @@ if (ds is null) return null; if (sel is OS.sel_draggingSourceOperationMaskForLocal_) { - return ds.draggingSourceOperationMaskForLocal(arg0 is cast(objc.id) 1); + return cast(objc.id) ds.draggingSourceOperationMaskForLocal(arg0 is cast(objc.id) 1); } return null; } static objc.id dragSourceProc4(objc.id id, objc.id sel, objc.id arg0, objc.id arg1) { - Display display = Display.findDisplay(Thread.currentThread()); + Display display = Display.findDisplay(Thread.getThis()); if (display is null || display.isDisposed()) return null; Widget widget = display.findWidget(id); if (widget is null) return null; @@ -476,8 +482,8 @@ return null; } -static objc.id dragSourceProc5(objc.id id, objc.id sel, objc.id arg0, objc.id arg1, objc.id arg2) { - Display display = Display.findDisplay(Thread.currentThread()); +static objc.id dragSourceProc5(objc.id id, objc.id sel, objc.id arg0, objc.id arg1, NSDragOperation arg2) { + Display display = Display.findDisplay(Thread.getThis()); if (display is null || display.isDisposed()) return null; Widget widget = display.findWidget(id); if (widget is null) return null; @@ -491,7 +497,7 @@ if (sel is OS.sel_draggedImage_endedAt_operation_) { NSImage image = new NSImage(arg0); NSPoint point = NSPoint(); - OS.memmove(point, arg1, NSPoint.sizeof); + OS.memmove(&point, arg1, NSPoint.sizeof); ds.draggedImage_endedAt_operation(image, point, arg2); } @@ -586,12 +592,12 @@ control = null; transferAgents = null; - if (delegateJniRef !is 0) OS.DeleteGlobalRef(delegateJniRef); + //if (delegateJniRef !is null) OS.DeleteGlobalRef(delegateJniRef); if (dragSourceDelegate !is null) dragSourceDelegate.release(); } int opToOsOp(int operation) { - NSDragOperation osOperation = 0; + NSDragOperation osOperation; if ((operation & DND.DROP_COPY) !is 0){ osOperation |= OS.NSDragOperationCopy; }
--- a/dwt/dnd/DropTarget.d Wed Dec 31 15:17:35 2008 +0100 +++ b/dwt/dnd/DropTarget.d Wed Dec 31 15:32:40 2008 +0100 @@ -40,6 +40,8 @@ import dwt.widgets.Tree; import dwt.widgets.Widget; +import tango.core.Thread; + import dwt.dnd.DND; import dwt.dnd.DNDEvent; import dwt.dnd.DNDListener; @@ -48,6 +50,7 @@ import dwt.dnd.TableDropTargetEffect; import dwt.dnd.Transfer; import dwt.dnd.TransferData; +import dwt.dnd.TreeDropTargetEffect; import dwt.dwthelper.array; import dwt.internal.objc.cocoa.Cocoa; import objc = dwt.internal.objc.runtime; @@ -391,9 +394,9 @@ addDragHandlers(); } - +extern (C) { static objc.id dropTargetProc2(objc.id id, objc.SEL sel) { - Display display = Display.findDisplay(Thread.currentThread()); + Display display = Display.findDisplay(Thread.getThis()); if (display is null || display.isDisposed()) return null; Widget widget = display.findWidget(id); if (widget is null) return null; @@ -401,14 +404,14 @@ if (dt is null) return null; if (sel is OS.sel_wantsPeriodicDraggingUpdates) { - return dt.wantsPeriodicDraggingUpdates() ? 1 : 0; + return dt.wantsPeriodicDraggingUpdates() ? cast(objc.id) 1 : null; } return null; } static objc.id dropTargetProc3(objc.id id, objc.SEL sel, objc.id arg0) { - Display display = Display.findDisplay(Thread.currentThread()); + Display display = Display.findDisplay(Thread.getThis()); if (display is null || display.isDisposed()) return null; Widget widget = display.findWidget(id); if (widget is null) return null; @@ -420,9 +423,9 @@ NSObject sender = new NSObject(arg0); if (sel is OS.sel_draggingEntered_) { - return dt.draggingEntered(sender); + return cast(objc.id) dt.draggingEntered(sender); } else if (sel is OS.sel_draggingUpdated_) { - return dt.draggingUpdated(sender); + return cast(objc.id) dt.draggingUpdated(sender); } else if (sel is OS.sel_draggingExited_) { dt.draggingExited(sender); } else if (sel is OS.sel_performDragOperation_) { @@ -430,7 +433,7 @@ } return null; -} +}} /** * Returns the Control which is registered for this DropTarget. This is the control over which the @@ -536,7 +539,7 @@ } int opToOsOp(int operation) { - NSDragOperation osOperation = 0; + NSDragOperation osOperation; if ((operation & DND.DROP_COPY) !is 0){ osOperation |= OS.NSDragOperationCopy; }
--- a/dwt/dnd/FileTransfer.d Wed Dec 31 15:17:35 2008 +0100 +++ b/dwt/dnd/FileTransfer.d Wed Dec 31 15:32:40 2008 +0100 @@ -117,7 +117,7 @@ NSString string = new NSString(array.objectAtIndex(i)); fileNames[i] = string.getString(); } - return fileNames; + return new ArrayWrapperString2(fileNames); } protected int[] getTypeIds(){ @@ -129,8 +129,8 @@ } bool checkFile(Object object) { - if (object is null || !(cast(ArrayWrapperString2)object) || (cast(ArrayWrapperString2)object).length is 0) return false; - String[] strings = cast(ArrayWrapperString2)object; + if (object is null || !(cast(ArrayWrapperString2)object) || (cast(ArrayWrapperString2)object).array.length is 0) return false; + String[] strings = (cast(ArrayWrapperString2)object).array; for (int i = 0; i < strings.length; i++) { if (strings[i] is null || strings[i].length() is 0) return false; }
--- a/dwt/dnd/RTFTransfer.d Wed Dec 31 15:17:35 2008 +0100 +++ b/dwt/dnd/RTFTransfer.d Wed Dec 31 15:32:40 2008 +0100 @@ -90,7 +90,7 @@ public Object nativeToJava(TransferData transferData){ if (!isSupportedType(transferData) || transferData.data is null) return null; NSString string = cast(NSString) transferData.data; - return string.getString(); + return new ArrayWrapperString(string.getString()); } protected int[] getTypeIds() {
--- a/dwt/dnd/TextTransfer.d Wed Dec 31 15:17:35 2008 +0100 +++ b/dwt/dnd/TextTransfer.d Wed Dec 31 15:32:40 2008 +0100 @@ -90,7 +90,7 @@ public Object nativeToJava(TransferData transferData){ if (!isSupportedType(transferData) || transferData.data is null) return null; NSString string = cast(NSString) transferData.data; - return string.getString(); + return new ArrayWrapperString(string.getString()); } protected int[] getTypeIds() {