Mercurial > projects > dwt-mac
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; }