comparison dwt/dnd/HTMLTransfer.d @ 238:380bad9f6852

reverted char[] to String
author Frank Benoit <benoit@tionex.de>
date Mon, 05 May 2008 00:42:55 +0200
parents 17f8449522fd
children c0d810de7093
comparison
equal deleted inserted replaced
237:98b80b00af79 238:380bad9f6852
34 * </code></pre> 34 * </code></pre>
35 */ 35 */
36 public class HTMLTransfer : ByteArrayTransfer { 36 public class HTMLTransfer : ByteArrayTransfer {
37 37
38 private static HTMLTransfer _instance; 38 private static HTMLTransfer _instance;
39 private static const char[] TEXT_HTML = "text/html"; //$NON-NLS-1$ 39 private static const String TEXT_HTML = "text/html"; //$NON-NLS-1$
40 private static const int TEXT_HTML_ID; 40 private static const int TEXT_HTML_ID;
41 private static const char[] TEXT_HTML2 = "TEXT/HTML"; //$NON-NLS-1$ 41 private static const String TEXT_HTML2 = "TEXT/HTML"; //$NON-NLS-1$
42 private static const int TEXT_HTML2_ID; 42 private static const int TEXT_HTML2_ID;
43 43
44 static this(){ 44 static this(){
45 _instance = new HTMLTransfer(); 45 _instance = new HTMLTransfer();
46 TEXT_HTML_ID = registerType(TEXT_HTML); 46 TEXT_HTML_ID = registerType(TEXT_HTML);
70 public override void javaToNative (Object object, TransferData transferData){ 70 public override void javaToNative (Object object, TransferData transferData){
71 transferData.result = 0; 71 transferData.result = 0;
72 if (!checkHTML(object) || !isSupportedType(transferData)) { 72 if (!checkHTML(object) || !isSupportedType(transferData)) {
73 DND.error(DND.ERROR_INVALID_DATA); 73 DND.error(DND.ERROR_INVALID_DATA);
74 } 74 }
75 char[] string = (cast(ArrayWrapperString)object).array; 75 String string = (cast(ArrayWrapperString)object).array;
76 char* pValue = cast(char*)OS.g_malloc(string.length); 76 char* pValue = cast(char*)OS.g_malloc(string.length);
77 if (pValue is null) return; 77 if (pValue is null) return;
78 pValue[0 .. string.length ] = string; 78 pValue[0 .. string.length ] = string;
79 transferData.length = string.length; 79 transferData.length = string.length;
80 transferData.format = 8; 80 transferData.format = 8;
95 public override Object nativeToJava(TransferData transferData){ 95 public override Object nativeToJava(TransferData transferData){
96 if ( !isSupportedType(transferData) || transferData.pValue is null ) return null; 96 if ( !isSupportedType(transferData) || transferData.pValue is null ) return null;
97 /* Ensure byteCount is a multiple of 2 bytes */ 97 /* Ensure byteCount is a multiple of 2 bytes */
98 int size = (transferData.format * transferData.length / 8) / 2 * 2; 98 int size = (transferData.format * transferData.length / 8) / 2 * 2;
99 if (size <= 0) return null; 99 if (size <= 0) return null;
100 char[] chars = transferData.pValue[ 0 .. size ].dup; 100 String chars = transferData.pValue[ 0 .. size ].dup;
101 return new ArrayWrapperString( chars[ 0 .. tango.text.Util.locate( chars, '\0' ) ] ); 101 return new ArrayWrapperString( chars[ 0 .. tango.text.Util.locate( chars, '\0' ) ] );
102 } 102 }
103 protected override int[] getTypeIds() { 103 protected override int[] getTypeIds() {
104 return [TEXT_HTML_ID, TEXT_HTML2_ID]; 104 return [TEXT_HTML_ID, TEXT_HTML2_ID];
105 } 105 }
106 106
107 protected override char[][] getTypeNames() { 107 protected override String[] getTypeNames() {
108 return [TEXT_HTML, TEXT_HTML2]; 108 return [TEXT_HTML, TEXT_HTML2];
109 } 109 }
110 110
111 bool checkHTML(Object object) { 111 bool checkHTML(Object object) {
112 if( object is null ) return false; 112 if( object is null ) return false;