Mercurial > projects > dwt2
comparison org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/dnd/TextTransfer.d @ 52:fa9548cd8d89
[swt lin]
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Fri, 27 Mar 2009 20:14:07 +0100 |
parents | f713da8bc051 |
children |
comparison
equal
deleted
inserted
replaced
51:c01d033c633a | 52:fa9548cd8d89 |
---|---|
75 override public void javaToNative (Object object, TransferData transferData) { | 75 override public void javaToNative (Object object, TransferData transferData) { |
76 transferData.result = 0; | 76 transferData.result = 0; |
77 if (!checkText(object) || !isSupportedType(transferData)) { | 77 if (!checkText(object) || !isSupportedType(transferData)) { |
78 DND.error(DND.ERROR_INVALID_DATA); | 78 DND.error(DND.ERROR_INVALID_DATA); |
79 } | 79 } |
80 String string = (cast(ArrayWrapperString)object).array; | 80 String string = stringcast(object); |
81 char* utf8 = toStringz(string); | 81 char* utf8 = toStringz(string); |
82 if (transferData.type is cast(void*) COMPOUND_TEXT_ID) { | 82 if (transferData.type is cast(void*) COMPOUND_TEXT_ID) { |
83 void* encoding; | 83 void* encoding; |
84 int format; | 84 int format; |
85 char* ctext; | 85 char* ctext; |
106 if (transferData.type is cast(void*)STRING_ID) { | 106 if (transferData.type is cast(void*)STRING_ID) { |
107 auto string_target = OS.gdk_utf8_to_string_target(utf8); | 107 auto string_target = OS.gdk_utf8_to_string_target(utf8); |
108 if (string_target is null) return; | 108 if (string_target is null) return; |
109 transferData.type = cast(void*)STRING_ID; | 109 transferData.type = cast(void*)STRING_ID; |
110 transferData.format = 8; | 110 transferData.format = 8; |
111 transferData.length = tango.stdc.string.strlen(string_target); | 111 transferData.length = OS.strlen(string_target); |
112 transferData.pValue = string_target; | 112 transferData.pValue = string_target; |
113 transferData.result = 1; | 113 transferData.result = 1; |
114 } | 114 } |
115 } | 115 } |
116 | 116 |
126 override public Object nativeToJava(TransferData transferData){ | 126 override public Object nativeToJava(TransferData transferData){ |
127 if (!isSupportedType(transferData) || transferData.pValue is null) return null; | 127 if (!isSupportedType(transferData) || transferData.pValue is null) return null; |
128 char** list; | 128 char** list; |
129 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); |
130 if (count is 0) return null; | 130 if (count is 0) return null; |
131 String utf8 = fromStringz( list[0] ).dup; | 131 String utf8 = fromStringz( list[0] )._idup(); |
132 OS.g_strfreev(list); | 132 OS.g_strfreev(list); |
133 return new ArrayWrapperString( utf8 ); | 133 return new ArrayWrapperString( utf8 ); |
134 } | 134 } |
135 | 135 |
136 override protected int[] getTypeIds() { | 136 override protected int[] getTypeIds() { |