Mercurial > projects > dwt-linux
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() { |