summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVeronika Irvine <veronika>2005-10-28 20:03:59 +0000
committerVeronika Irvine <veronika>2005-10-28 20:03:59 +0000
commit31c97dba36b1104efefb706eb93eec322776b27a (patch)
treedb51ebdab6b5b29ab334ca028ac91b4a6dac083d
parent7542573899effdd6eb4235ffe9d8c5389e6af958 (diff)
downloadeclipse.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.java14
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) {