changeset 104:61fdbc24abf2

Ported dwt.dnd.FileTransfer
author Jacob Carlborg <doob@me.com>
date Wed, 31 Dec 2008 14:23:11 +0100
parents e655f9f35342
children 6a1ed74f02e8
files dwt/dnd/FileTransfer.d
diffstat 1 files changed, 12 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/dwt/dnd/FileTransfer.d	Wed Dec 31 14:17:00 2008 +0100
+++ b/dwt/dnd/FileTransfer.d	Wed Dec 31 14:23:11 2008 +0100
@@ -21,7 +21,10 @@
 import dwt.internal.cocoa.NSString;
 import dwt.internal.cocoa.OS;
 
+import dwt.dnd.ByteArrayTransfer;
+import dwt.dnd.DND;
 import dwt.dnd.TransferData;
+import dwt.internal.objc.cocoa.Cocoa;
  
 /**
  * The class <code>FileTransfer</code> provides a platform specific mechanism 
@@ -82,10 +85,10 @@
     if (!checkFile(object) || !isSupportedType(transferData)) {
         DND.error(DND.ERROR_INVALID_DATA);
     }
-    String[] files = (String[])object;
-    int length = files.length;
+    String[] files = (cast(ArrayWrapperString2)object).array;
+    NSUInteger length = files.length;
     NSMutableArray array = NSMutableArray.arrayWithCapacity(length);
-    for (int i = 0; i < length; i++) {
+    for (NSUInteger i = 0; i < length; i++) {
         String fileName = files[i];
         NSString string = NSString.stringWith(fileName);
         array.addObject(string);
@@ -105,9 +108,9 @@
  */
 public Object nativeToJava(TransferData transferData) {
     if (!isSupportedType(transferData) || transferData.data is null) return null;
-    NSArray array = (NSArray) transferData.data;
+    NSArray array = cast(NSArray) transferData.data;
     if (array.count() is 0) return null;
-    int count = (int)/*64*/array.count();
+    int count = cast(int)/*64*/array.count();
     String[] fileNames = new String[count];
     for (int i=0; i<count; i++) {
         NSString string = new NSString(array.objectAtIndex(i));
@@ -117,16 +120,16 @@
 }
 
 protected int[] getTypeIds(){
-    return new int[] {ID};
+    return [ID];
 }
 
 protected String[] getTypeNames(){
-    return new String[] {ID_NAME};
+    return [ID_NAME];
 }
 
 bool checkFile(Object object) {
-    if (object is null || !(object instanceof String[]) || ((String[])object).length is 0) return false;
-    String[] strings = (String[])object;
+    if (object is null || !(cast(ArrayWrapperString2)object) || (cast(ArrayWrapperString2)object).length is 0) return false;
+    String[] strings = cast(ArrayWrapperString2)object;
     for (int i = 0; i < strings.length; i++) {
         if (strings[i] is null || strings[i].length() is 0) return false;
     }