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