diff options
author | Veronika Irvine <veronika> | 2005-10-28 20:03:59 +0000 |
---|---|---|
committer | Veronika Irvine <veronika> | 2005-10-28 20:03:59 +0000 |
commit | 31c97dba36b1104efefb706eb93eec322776b27a (patch) | |
tree | db51ebdab6b5b29ab334ca028ac91b4a6dac083d | |
parent | 7542573899effdd6eb4235ffe9d8c5389e6af958 (diff) | |
download | eclipse.platform.swt-31c97dba36b1104efefb706eb93eec322776b27a.tar.gz eclipse.platform.swt-31c97dba36b1104efefb706eb93eec322776b27a.tar.xz eclipse.platform.swt-31c97dba36b1104efefb706eb93eec322776b27a.zip |
Bug 111303 Support "STRING" as a data transfer type
-rw-r--r-- | bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TextTransfer.java | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TextTransfer.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TextTransfer.java index c0e4e435db..b3bdd292da 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TextTransfer.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TextTransfer.java @@ -32,8 +32,10 @@ public class TextTransfer extends ByteArrayTransfer { private static TextTransfer _instance = new TextTransfer(); private static final String COMPOUND_TEXT = "COMPOUND_TEXT"; //$NON-NLS-1$ private static final String UTF8_STRING = "UTF8_STRING"; //$NON-NLS-1$ + private static final String STRING = "STRING"; //$NON-NLS-1$ private static final int COMPOUND_TEXT_ID = registerType(COMPOUND_TEXT); private static final int UTF8_STRING_ID = registerType(UTF8_STRING); + private static final int STRING_ID = registerType(STRING); private TextTransfer() {} @@ -76,11 +78,12 @@ public void javaToNative (Object object, TransferData transferData) { transferData.pValue = ctext[0]; transferData.result = 1; } - if (transferData.type == UTF8_STRING_ID) { + if (transferData.type == UTF8_STRING_ID || + transferData.type == STRING_ID) { int /*long*/ pValue = OS.g_malloc(buffer.length); if (pValue == 0) return; OS.memmove(pValue, buffer, buffer.length); - transferData.type = UTF8_STRING_ID; + transferData.type = transferData.type; transferData.format = 8; transferData.length = buffer.length - 1; transferData.pValue = pValue; @@ -111,7 +114,8 @@ public Object nativeToJava(TransferData transferData){ OS.memmove(buffer, ptr[0], length); OS.g_strfreev(list[0]); } - if (transferData.type == UTF8_STRING_ID) { + if (transferData.type == UTF8_STRING_ID || + transferData.type == STRING_ID) { int size = transferData.format * transferData.length / 8; if (size == 0) return null; buffer = new byte[size]; @@ -126,11 +130,11 @@ public Object nativeToJava(TransferData transferData){ } protected int[] getTypeIds() { - return new int[] {UTF8_STRING_ID, COMPOUND_TEXT_ID}; + return new int[] {UTF8_STRING_ID, COMPOUND_TEXT_ID, STRING_ID}; } protected String[] getTypeNames() { - return new String[] {UTF8_STRING, COMPOUND_TEXT}; + return new String[] {UTF8_STRING, COMPOUND_TEXT, STRING}; } boolean checkText(Object object) { |