summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarolyn MacLeod <carolyn>2010-10-13 15:33:46 +0000
committerCarolyn MacLeod <carolyn>2010-10-13 15:33:46 +0000
commit0279ac89ad933bec67322b956321e83b2a1ac93a (patch)
tree02c9a693f9b9eed2d6054ccaebe3b48ebe192287
parentbe5aa41634cde1e04ae4d0c10fd398906519cd0c (diff)
downloadeclipse.platform.swt-0279ac89ad933bec67322b956321e83b2a1ac93a.tar.gz
eclipse.platform.swt-0279ac89ad933bec67322b956321e83b2a1ac93a.tar.xz
eclipse.platform.swt-0279ac89ad933bec67322b956321e83b2a1ac93a.zip
Bug 324005 - Add IAccessible2EditableText support to Eclipse
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk.c66
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_stats.c16
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_stats.h12
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_structs.c49
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_structs.h12
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/ATK.java13
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/AtkEditableTextIface.java32
7 files changed, 198 insertions, 2 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk.c b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk.c
index 3b25002f3e..1a034e5180 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk.c
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk.c
@@ -55,6 +55,18 @@ JNIEXPORT jintLong JNICALL ATK_NATIVE(ATK_1TYPE_1COMPONENT)
}
#endif
+#ifndef NO_ATK_1TYPE_1EDITABLE_1TEXT
+JNIEXPORT jintLong JNICALL ATK_NATIVE(ATK_1TYPE_1EDITABLE_1TEXT)
+ (JNIEnv *env, jclass that)
+{
+ jintLong rc = 0;
+ ATK_NATIVE_ENTER(env, that, ATK_1TYPE_1EDITABLE_1TEXT_FUNC);
+ rc = (jintLong)ATK_TYPE_EDITABLE_TEXT;
+ ATK_NATIVE_EXIT(env, that, ATK_1TYPE_1EDITABLE_1TEXT_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO_ATK_1TYPE_1HYPERTEXT
JNIEXPORT jintLong JNICALL ATK_NATIVE(ATK_1TYPE_1HYPERTEXT)
(JNIEnv *env, jclass that)
@@ -223,6 +235,18 @@ JNIEXPORT jintLong JNICALL ATK_NATIVE(_1ATK_1COMPONENT_1GET_1IFACE)
}
#endif
+#ifndef NO__1ATK_1EDITABLETEXT_1GET_1IFACE
+JNIEXPORT jintLong JNICALL ATK_NATIVE(_1ATK_1EDITABLETEXT_1GET_1IFACE)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ ATK_NATIVE_ENTER(env, that, _1ATK_1EDITABLETEXT_1GET_1IFACE_FUNC);
+ rc = (jintLong)ATK_EDITABLETEXT_GET_IFACE(arg0);
+ ATK_NATIVE_EXIT(env, that, _1ATK_1EDITABLETEXT_1GET_1IFACE_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO__1ATK_1HYPERTEXT_1GET_1IFACE
JNIEXPORT jintLong JNICALL ATK_NATIVE(_1ATK_1HYPERTEXT_1GET_1IFACE)
(JNIEnv *env, jclass that, jintLong arg0)
@@ -737,6 +761,27 @@ JNIEXPORT void JNICALL ATK_NATIVE(memmove__JLorg_eclipse_swt_internal_accessibil
}
#endif
+#if (!defined(NO_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkEditableTextIface_2) && !defined(JNI64)) || (!defined(NO_memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkEditableTextIface_2) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT void JNICALL ATK_NATIVE(memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkEditableTextIface_2)(JNIEnv *env, jclass that, jintLong arg0, jobject arg1)
+#else
+JNIEXPORT void JNICALL ATK_NATIVE(memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkEditableTextIface_2)(JNIEnv *env, jclass that, jintLong arg0, jobject arg1)
+#endif
+{
+#ifndef JNI64
+ ATK_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkEditableTextIface_2_FUNC);
+#else
+ ATK_NATIVE_ENTER(env, that, memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkEditableTextIface_2_FUNC);
+#endif
+ if (arg1) getAtkEditableTextIfaceFields(env, arg1, (AtkEditableTextIface *)arg0);
+#ifndef JNI64
+ ATK_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkEditableTextIface_2_FUNC);
+#else
+ ATK_NATIVE_EXIT(env, that, memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkEditableTextIface_2_FUNC);
+#endif
+}
+#endif
+
#if (!defined(NO_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkHypertextIface_2) && !defined(JNI64)) || (!defined(NO_memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkHypertextIface_2) && defined(JNI64))
#ifndef JNI64
JNIEXPORT void JNICALL ATK_NATIVE(memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkHypertextIface_2)(JNIEnv *env, jclass that, jintLong arg0, jobject arg1)
@@ -999,6 +1044,27 @@ JNIEXPORT void JNICALL ATK_NATIVE(memmove__Lorg_eclipse_swt_internal_accessibili
}
#endif
+#if (!defined(NO_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkEditableTextIface_2I) && !defined(JNI64)) || (!defined(NO_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkEditableTextIface_2J) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT void JNICALL ATK_NATIVE(memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkEditableTextIface_2I)(JNIEnv *env, jclass that, jobject arg0, jintLong arg1)
+#else
+JNIEXPORT void JNICALL ATK_NATIVE(memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkEditableTextIface_2J)(JNIEnv *env, jclass that, jobject arg0, jintLong arg1)
+#endif
+{
+#ifndef JNI64
+ ATK_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkEditableTextIface_2I_FUNC);
+#else
+ ATK_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkEditableTextIface_2J_FUNC);
+#endif
+ if (arg0) setAtkEditableTextIfaceFields(env, arg0, (AtkEditableTextIface *)arg1);
+#ifndef JNI64
+ ATK_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkEditableTextIface_2I_FUNC);
+#else
+ ATK_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkEditableTextIface_2J_FUNC);
+#endif
+}
+#endif
+
#if (!defined(NO_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkHypertextIface_2I) && !defined(JNI64)) || (!defined(NO_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkHypertextIface_2J) && defined(JNI64))
#ifndef JNI64
JNIEXPORT void JNICALL ATK_NATIVE(memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkHypertextIface_2I)(JNIEnv *env, jclass that, jobject arg0, jintLong arg1)
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_stats.c b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_stats.c
index 880122ac0e..26b139b98b 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_stats.c
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_stats.c
@@ -18,12 +18,13 @@
#ifdef NATIVE_STATS
-int ATK_nativeFunctionCount = 74;
-int ATK_nativeFunctionCallCount[74];
+int ATK_nativeFunctionCount = 78;
+int ATK_nativeFunctionCallCount[78];
char * ATK_nativeFunctionNames[] = {
"ATK_1IS_1NO_1OP_1OBJECT_1FACTORY",
"ATK_1TYPE_1ACTION",
"ATK_1TYPE_1COMPONENT",
+ "ATK_1TYPE_1EDITABLE_1TEXT",
"ATK_1TYPE_1HYPERTEXT",
"ATK_1TYPE_1OBJECT_1FACTORY",
"ATK_1TYPE_1SELECTION",
@@ -38,6 +39,7 @@ char * ATK_nativeFunctionNames[] = {
"GTK_1TYPE_1ACCESSIBLE",
"_1ATK_1ACTION_1GET_1IFACE",
"_1ATK_1COMPONENT_1GET_1IFACE",
+ "_1ATK_1EDITABLETEXT_1GET_1IFACE",
"_1ATK_1HYPERTEXT_1GET_1IFACE",
"_1ATK_1OBJECT_1FACTORY_1CLASS",
"_1ATK_1SELECTION_1GET_1IFACE",
@@ -110,6 +112,11 @@ char * ATK_nativeFunctionNames[] = {
"memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkComponentIface_2",
#endif
#ifndef JNI64
+ "memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkEditableTextIface_2",
+#else
+ "memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkEditableTextIface_2",
+#endif
+#ifndef JNI64
"memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkHypertextIface_2",
#else
"memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkHypertextIface_2",
@@ -170,6 +177,11 @@ char * ATK_nativeFunctionNames[] = {
"memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkComponentIface_2J",
#endif
#ifndef JNI64
+ "memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkEditableTextIface_2I",
+#else
+ "memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkEditableTextIface_2J",
+#endif
+#ifndef JNI64
"memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkHypertextIface_2I",
#else
"memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkHypertextIface_2J",
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_stats.h b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_stats.h
index 10e1400645..28b4d3e7ee 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_stats.h
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_stats.h
@@ -32,6 +32,7 @@ typedef enum {
ATK_1IS_1NO_1OP_1OBJECT_1FACTORY_FUNC,
ATK_1TYPE_1ACTION_FUNC,
ATK_1TYPE_1COMPONENT_FUNC,
+ ATK_1TYPE_1EDITABLE_1TEXT_FUNC,
ATK_1TYPE_1HYPERTEXT_FUNC,
ATK_1TYPE_1OBJECT_1FACTORY_FUNC,
ATK_1TYPE_1SELECTION_FUNC,
@@ -46,6 +47,7 @@ typedef enum {
GTK_1TYPE_1ACCESSIBLE_FUNC,
_1ATK_1ACTION_1GET_1IFACE_FUNC,
_1ATK_1COMPONENT_1GET_1IFACE_FUNC,
+ _1ATK_1EDITABLETEXT_1GET_1IFACE_FUNC,
_1ATK_1HYPERTEXT_1GET_1IFACE_FUNC,
_1ATK_1OBJECT_1FACTORY_1CLASS_FUNC,
_1ATK_1SELECTION_1GET_1IFACE_FUNC,
@@ -118,6 +120,11 @@ typedef enum {
memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkComponentIface_2_FUNC,
#endif
#ifndef JNI64
+ memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkEditableTextIface_2_FUNC,
+#else
+ memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkEditableTextIface_2_FUNC,
+#endif
+#ifndef JNI64
memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkHypertextIface_2_FUNC,
#else
memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkHypertextIface_2_FUNC,
@@ -178,6 +185,11 @@ typedef enum {
memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkComponentIface_2J_FUNC,
#endif
#ifndef JNI64
+ memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkEditableTextIface_2I_FUNC,
+#else
+ memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkEditableTextIface_2J_FUNC,
+#endif
+#ifndef JNI64
memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkHypertextIface_2I_FUNC,
#else
memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkHypertextIface_2J_FUNC,
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_structs.c b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_structs.c
index 0f18573992..cf07ec8f1f 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_structs.c
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_structs.c
@@ -163,6 +163,55 @@ void setAtkComponentIfaceFields(JNIEnv *env, jobject lpObject, AtkComponentIface
}
#endif
+#ifndef NO_AtkEditableTextIface
+typedef struct AtkEditableTextIface_FID_CACHE {
+ int cached;
+ jclass clazz;
+ jfieldID set_run_attributes, set_text_contents, insert_text, copy_text, cut_text, delete_text, paste_text;
+} AtkEditableTextIface_FID_CACHE;
+
+AtkEditableTextIface_FID_CACHE AtkEditableTextIfaceFc;
+
+void cacheAtkEditableTextIfaceFields(JNIEnv *env, jobject lpObject)
+{
+ if (AtkEditableTextIfaceFc.cached) return;
+ AtkEditableTextIfaceFc.clazz = (*env)->GetObjectClass(env, lpObject);
+ AtkEditableTextIfaceFc.set_run_attributes = (*env)->GetFieldID(env, AtkEditableTextIfaceFc.clazz, "set_run_attributes", I_J);
+ AtkEditableTextIfaceFc.set_text_contents = (*env)->GetFieldID(env, AtkEditableTextIfaceFc.clazz, "set_text_contents", I_J);
+ AtkEditableTextIfaceFc.insert_text = (*env)->GetFieldID(env, AtkEditableTextIfaceFc.clazz, "insert_text", I_J);
+ AtkEditableTextIfaceFc.copy_text = (*env)->GetFieldID(env, AtkEditableTextIfaceFc.clazz, "copy_text", I_J);
+ AtkEditableTextIfaceFc.cut_text = (*env)->GetFieldID(env, AtkEditableTextIfaceFc.clazz, "cut_text", I_J);
+ AtkEditableTextIfaceFc.delete_text = (*env)->GetFieldID(env, AtkEditableTextIfaceFc.clazz, "delete_text", I_J);
+ AtkEditableTextIfaceFc.paste_text = (*env)->GetFieldID(env, AtkEditableTextIfaceFc.clazz, "paste_text", I_J);
+ AtkEditableTextIfaceFc.cached = 1;
+}
+
+AtkEditableTextIface *getAtkEditableTextIfaceFields(JNIEnv *env, jobject lpObject, AtkEditableTextIface *lpStruct)
+{
+ if (!AtkEditableTextIfaceFc.cached) cacheAtkEditableTextIfaceFields(env, lpObject);
+ lpStruct->set_run_attributes = (gboolean (*)())(*env)->GetIntLongField(env, lpObject, AtkEditableTextIfaceFc.set_run_attributes);
+ lpStruct->set_text_contents = (void (*)())(*env)->GetIntLongField(env, lpObject, AtkEditableTextIfaceFc.set_text_contents);
+ lpStruct->insert_text = (void (*)())(*env)->GetIntLongField(env, lpObject, AtkEditableTextIfaceFc.insert_text);
+ lpStruct->copy_text = (void (*)())(*env)->GetIntLongField(env, lpObject, AtkEditableTextIfaceFc.copy_text);
+ lpStruct->cut_text = (void (*)())(*env)->GetIntLongField(env, lpObject, AtkEditableTextIfaceFc.cut_text);
+ lpStruct->delete_text = (void (*)())(*env)->GetIntLongField(env, lpObject, AtkEditableTextIfaceFc.delete_text);
+ lpStruct->paste_text = (void (*)())(*env)->GetIntLongField(env, lpObject, AtkEditableTextIfaceFc.paste_text);
+ return lpStruct;
+}
+
+void setAtkEditableTextIfaceFields(JNIEnv *env, jobject lpObject, AtkEditableTextIface *lpStruct)
+{
+ if (!AtkEditableTextIfaceFc.cached) cacheAtkEditableTextIfaceFields(env, lpObject);
+ (*env)->SetIntLongField(env, lpObject, AtkEditableTextIfaceFc.set_run_attributes, (jintLong)lpStruct->set_run_attributes);
+ (*env)->SetIntLongField(env, lpObject, AtkEditableTextIfaceFc.set_text_contents, (jintLong)lpStruct->set_text_contents);
+ (*env)->SetIntLongField(env, lpObject, AtkEditableTextIfaceFc.insert_text, (jintLong)lpStruct->insert_text);
+ (*env)->SetIntLongField(env, lpObject, AtkEditableTextIfaceFc.copy_text, (jintLong)lpStruct->copy_text);
+ (*env)->SetIntLongField(env, lpObject, AtkEditableTextIfaceFc.cut_text, (jintLong)lpStruct->cut_text);
+ (*env)->SetIntLongField(env, lpObject, AtkEditableTextIfaceFc.delete_text, (jintLong)lpStruct->delete_text);
+ (*env)->SetIntLongField(env, lpObject, AtkEditableTextIfaceFc.paste_text, (jintLong)lpStruct->paste_text);
+}
+#endif
+
#ifndef NO_AtkHypertextIface
typedef struct AtkHypertextIface_FID_CACHE {
int cached;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_structs.h b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_structs.h
index cc692cddf2..873fdae64e 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_structs.h
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_structs.h
@@ -51,6 +51,18 @@ void setAtkComponentIfaceFields(JNIEnv *env, jobject lpObject, AtkComponentIface
#define AtkComponentIface_sizeof() 0
#endif
+#ifndef NO_AtkEditableTextIface
+void cacheAtkEditableTextIfaceFields(JNIEnv *env, jobject lpObject);
+AtkEditableTextIface *getAtkEditableTextIfaceFields(JNIEnv *env, jobject lpObject, AtkEditableTextIface *lpStruct);
+void setAtkEditableTextIfaceFields(JNIEnv *env, jobject lpObject, AtkEditableTextIface *lpStruct);
+#define AtkEditableTextIface_sizeof() sizeof(AtkEditableTextIface)
+#else
+#define cacheAtkEditableTextIfaceFields(a,b)
+#define getAtkEditableTextIfaceFields(a,b,c) NULL
+#define setAtkEditableTextIfaceFields(a,b,c)
+#define AtkEditableTextIface_sizeof() 0
+#endif
+
#ifndef NO_AtkHypertextIface
void cacheAtkHypertextIfaceFields(JNIEnv *env, jobject lpObject);
AtkHypertextIface *getAtkHypertextIfaceFields(JNIEnv *env, jobject lpObject, AtkHypertextIface *lpStruct);
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/ATK.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/ATK.java
index a54a31a899..f9bb123985 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/ATK.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/ATK.java
@@ -204,6 +204,8 @@ public static final native int /*long*/ ATK_TYPE_ACTION ();
/** @method flags=const */
public static final native int /*long*/ ATK_TYPE_COMPONENT ();
/** @method flags=const */
+public static final native int /*long*/ ATK_TYPE_EDITABLE_TEXT ();
+/** @method flags=const */
public static final native int /*long*/ ATK_TYPE_HYPERTEXT ();
/** @method flags=const */
public static final native int /*long*/ ATK_TYPE_SELECTION ();
@@ -244,6 +246,15 @@ public static final int /*long*/ ATK_SELECTION_GET_IFACE (int /*long*/ obj) {
lock.unlock();
}
}
+public static final native int /*long*/ _ATK_EDITABLETEXT_GET_IFACE (int /*long*/ handle);
+public static final int /*long*/ ATK_EDITABLETEXT_GET_IFACE (int /*long*/ handle) {
+ lock.lock();
+ try {
+ return _ATK_EDITABLETEXT_GET_IFACE(handle);
+ } finally {
+ lock.unlock();
+ }
+}
public static final native int /*long*/ _ATK_HYPERTEXT_GET_IFACE (int /*long*/ handle);
public static final int /*long*/ ATK_HYPERTEXT_GET_IFACE (int /*long*/ handle) {
lock.lock();
@@ -546,6 +557,7 @@ public static final int /*long*/ call (int /*long*/ function, int /*long*/ arg0,
public static final native int /*long*/ g_strdup (int /*long*/ str);
public static final native void memmove (AtkActionIface dest, int /*long*/ src);
public static final native void memmove (AtkComponentIface dest, int /*long*/ src);
+public static final native void memmove (AtkEditableTextIface dest, int /*long*/ src);
public static final native void memmove (AtkHypertextIface dest, int /*long*/ src);
public static final native void memmove (AtkObjectClass dest, int /*long*/ src);
public static final native void memmove (AtkObjectFactoryClass dest, int /*long*/ src);
@@ -556,6 +568,7 @@ public static final native void memmove (AtkValueIface dest, int /*long*/ src);
public static final native void memmove (GtkAccessible dest, int /*long*/ src);
public static final native void memmove (int /*long*/ dest, AtkActionIface src);
public static final native void memmove (int /*long*/ dest, AtkComponentIface src);
+public static final native void memmove (int /*long*/ dest, AtkEditableTextIface src);
public static final native void memmove (int /*long*/ dest, AtkHypertextIface src);
public static final native void memmove (int /*long*/ dest, AtkObjectClass src);
public static final native void memmove (int /*long*/ dest, AtkObjectFactoryClass src);
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/AtkEditableTextIface.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/AtkEditableTextIface.java
new file mode 100644
index 0000000000..5e5e31e2bf
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/AtkEditableTextIface.java
@@ -0,0 +1,32 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2010 IBM Corporation and others. All rights reserved.
+ * The contents of this file are made available under the terms
+ * of the GNU Lesser General Public License (LGPL) Version 2.1 that
+ * accompanies this distribution (lgpl-v21.txt). The LGPL is also
+ * available at http://www.gnu.org/licenses/lgpl.html. If the version
+ * of the LGPL at http://www.gnu.org is different to the version of
+ * the LGPL accompanying this distribution and there is any conflict
+ * between the two license versions, the terms of the LGPL accompanying
+ * this distribution shall govern.
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.accessibility.gtk;
+
+public class AtkEditableTextIface {
+ /** @field cast=(gboolean (*)()) */
+ public int /*long*/ set_run_attributes;
+ /** @field cast=(void (*)()) */
+ public int /*long*/ set_text_contents;
+ /** @field cast=(void (*)()) */
+ public int /*long*/ insert_text;
+ /** @field cast=(void (*)()) */
+ public int /*long*/ copy_text;
+ /** @field cast=(void (*)()) */
+ public int /*long*/ cut_text;
+ /** @field cast=(void (*)()) */
+ public int /*long*/ delete_text;
+ /** @field cast=(void (*)()) */
+ public int /*long*/ paste_text;
+}