comparison dwt/dnd/TextTransfer.d @ 255:5a30aa9820f3

removed tango.stdc.stringz imports and allow null for arrays and string arguments.
author Frank Benoit <benoit@tionex.de>
date Sun, 15 Jun 2008 22:32:20 +0200
parents 380bad9f6852
children c0d810de7093
comparison
equal deleted inserted replaced
254:8bca790583c3 255:5a30aa9820f3
17 import dwt.dwthelper.utils; 17 import dwt.dwthelper.utils;
18 import dwt.dnd.ByteArrayTransfer; 18 import dwt.dnd.ByteArrayTransfer;
19 import dwt.dnd.TransferData; 19 import dwt.dnd.TransferData;
20 import dwt.dnd.DND; 20 import dwt.dnd.DND;
21 21
22
23 static import tango.stdc.stringz;
24 22
25 /** 23 /**
26 * The class <code>TextTransfer</code> provides a platform specific mechanism 24 * The class <code>TextTransfer</code> provides a platform specific mechanism
27 * for converting plain text represented as a java <code>String</code> 25 * for converting plain text represented as a java <code>String</code>
28 * to a platform specific representation of the data and vice versa. 26 * to a platform specific representation of the data and vice versa.
78 transferData.result = 0; 76 transferData.result = 0;
79 if (!checkText(object) || !isSupportedType(transferData)) { 77 if (!checkText(object) || !isSupportedType(transferData)) {
80 DND.error(DND.ERROR_INVALID_DATA); 78 DND.error(DND.ERROR_INVALID_DATA);
81 } 79 }
82 String string = (cast(ArrayWrapperString)object).array; 80 String string = (cast(ArrayWrapperString)object).array;
83 char* utf8 = tango.stdc.stringz.toStringz(string); 81 char* utf8 = toStringz(string);
84 if (transferData.type is cast(void*) COMPOUND_TEXT_ID) { 82 if (transferData.type is cast(void*) COMPOUND_TEXT_ID) {
85 void* encoding; 83 void* encoding;
86 int format; 84 int format;
87 char* ctext; 85 char* ctext;
88 int length; 86 int length;
128 override public Object nativeToJava(TransferData transferData){ 126 override public Object nativeToJava(TransferData transferData){
129 if (!isSupportedType(transferData) || transferData.pValue is null) return null; 127 if (!isSupportedType(transferData) || transferData.pValue is null) return null;
130 char** list; 128 char** list;
131 int count = OS.gdk_text_property_to_utf8_list(transferData.type, transferData.format, transferData.pValue, transferData.length, &list); 129 int count = OS.gdk_text_property_to_utf8_list(transferData.type, transferData.format, transferData.pValue, transferData.length, &list);
132 if (count is 0) return null; 130 if (count is 0) return null;
133 String utf8 = tango.stdc.stringz.fromStringz( list[0] ).dup; 131 String utf8 = fromStringz( list[0] ).dup;
134 OS.g_strfreev(list); 132 OS.g_strfreev(list);
135 return new ArrayWrapperString( utf8 ); 133 return new ArrayWrapperString( utf8 );
136 } 134 }
137 135
138 override protected int[] getTypeIds() { 136 override protected int[] getTypeIds() {