Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Kurtakov2020-07-13 12:56:00 +0000
committerAlexander Kurtakov2020-07-13 12:56:16 +0000
commit2b363fb33acc72ebaaeb184155a3b49f69bf4b83 (patch)
treea89c248a07441992a0d1fa117d96cb0a24cc04ad
parentb9757df9b0f8ce4c2bf14f8e0b0c29124accdfec (diff)
downloadeclipse.platform.swt-2b363fb33acc72ebaaeb184155a3b49f69bf4b83.tar.gz
eclipse.platform.swt-2b363fb33acc72ebaaeb184155a3b49f69bf4b83.tar.xz
eclipse.platform.swt-2b363fb33acc72ebaaeb184155a3b49f69bf4b83.zip
Revert "Bug 564809 - [GTK4] Adapt to GdkEvent API changes"
This reverts commit 78af2b71db0c413934d38cf24e6f7d93a734d162. Reason for revert: Breaks StyledText - ctrl/backspace/delete - rahter than the actual keycode inserts the key name. Bug: 565164 Change-Id: I8adbf8cf4220a2354fe8d003595cf66dde35b989
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os.c222
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os.h23
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.c17
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.h17
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GDK.java71
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT WebKit/gtk/org/eclipse/swt/browser/WebKit.java18
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Combo.java39
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java7
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java261
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/DateTime.java16
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java20
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ExpandBar.java10
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Link.java54
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/List.java31
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Sash.java40
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ScrollBar.java7
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Scrollable.java20
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Shell.java42
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Slider.java7
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Spinner.java9
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java51
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TableColumn.java14
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Text.java36
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolItem.java7
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tracker.java15
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TrayItem.java8
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java49
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeColumn.java15
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java81
29 files changed, 306 insertions, 901 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os.c b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os.c
index d035bb736d..7f966be6d8 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os.c
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os.c
@@ -264,18 +264,6 @@ JNIEXPORT jlong JNICALL GDK_NATIVE(gdk_1atom_1name)
}
#endif
-#ifndef NO_gdk_1button_1event_1get_1button
-JNIEXPORT jint JNICALL GDK_NATIVE(gdk_1button_1event_1get_1button)
- (JNIEnv *env, jclass that, jlong arg0)
-{
- jint rc = 0;
- GDK_NATIVE_ENTER(env, that, gdk_1button_1event_1get_1button_FUNC);
- rc = (jint)gdk_button_event_get_button((GdkEvent *)arg0);
- GDK_NATIVE_EXIT(env, that, gdk_1button_1event_1get_1button_FUNC);
- return rc;
-}
-#endif
-
#ifndef NO_gdk_1cairo_1create
JNIEXPORT jlong JNICALL GDK_NATIVE(gdk_1cairo_1create)
(JNIEnv *env, jclass that, jlong arg0)
@@ -380,18 +368,6 @@ JNIEXPORT jlong JNICALL GDK_NATIVE(gdk_1clipboard_1set_1content)
}
#endif
-#ifndef NO_gdk_1crossing_1event_1get_1mode
-JNIEXPORT jint JNICALL GDK_NATIVE(gdk_1crossing_1event_1get_1mode)
- (JNIEnv *env, jclass that, jlong arg0)
-{
- jint rc = 0;
- GDK_NATIVE_ENTER(env, that, gdk_1crossing_1event_1get_1mode_FUNC);
- rc = (jint)gdk_crossing_event_get_mode((GdkEvent *)arg0);
- GDK_NATIVE_EXIT(env, that, gdk_1crossing_1event_1get_1mode_FUNC);
- return rc;
-}
-#endif
-
#ifndef NO_gdk_1cursor_1new_1from_1name__JLjava_lang_String_2
JNIEXPORT jlong JNICALL GDK_NATIVE(gdk_1cursor_1new_1from_1name__JLjava_lang_String_2)
(JNIEnv *env, jclass that, jlong arg0, jstring arg1)
@@ -784,7 +760,7 @@ JNIEXPORT void JNICALL GDK_NATIVE(gdk_1display_1put_1event)
(JNIEnv *env, jclass that, jlong arg0, jlong arg1)
{
GDK_NATIVE_ENTER(env, that, gdk_1display_1put_1event_FUNC);
- gdk_display_put_event((GdkDisplay *)arg0, (GdkEvent *)arg1);
+ gdk_display_put_event((GdkDisplay *)arg0, (const GdkEvent *)arg1);
GDK_NATIVE_EXIT(env, that, gdk_1display_1put_1event_FUNC);
}
#endif
@@ -944,6 +920,22 @@ fail:
}
#endif
+#ifndef NO_gdk_1event_1get_1crossing_1mode
+JNIEXPORT jboolean JNICALL GDK_NATIVE(gdk_1event_1get_1crossing_1mode)
+ (JNIEnv *env, jclass that, jlong arg0, jintArray arg1)
+{
+ jint *lparg1=NULL;
+ jboolean rc = 0;
+ GDK_NATIVE_ENTER(env, that, gdk_1event_1get_1crossing_1mode_FUNC);
+ if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
+ rc = (jboolean)gdk_event_get_crossing_mode((GdkEvent *)arg0, (GdkCrossingMode *)lparg1);
+fail:
+ if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
+ GDK_NATIVE_EXIT(env, that, gdk_1event_1get_1crossing_1mode_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO_gdk_1event_1get_1event_1type
JNIEXPORT jint JNICALL GDK_NATIVE(gdk_1event_1get_1event_1type)
(JNIEnv *env, jclass that, jlong arg0)
@@ -964,49 +956,66 @@ JNIEXPORT jint JNICALL GDK_NATIVE(gdk_1event_1get_1event_1type)
}
#endif
-#ifndef NO_gdk_1event_1get_1keyval
-JNIEXPORT jboolean JNICALL GDK_NATIVE(gdk_1event_1get_1keyval)
+#ifndef NO_gdk_1event_1get_1focus_1in
+JNIEXPORT jboolean JNICALL GDK_NATIVE(gdk_1event_1get_1focus_1in)
+ (JNIEnv *env, jclass that, jlong arg0, jbooleanArray arg1)
+{
+ jboolean *lparg1=NULL;
+ jboolean rc = 0;
+ GDK_NATIVE_ENTER(env, that, gdk_1event_1get_1focus_1in_FUNC);
+ if (arg1) if ((lparg1 = (*env)->GetBooleanArrayElements(env, arg1, NULL)) == NULL) goto fail;
+ rc = (jboolean)gdk_event_get_focus_in((GdkEvent *)arg0, (gboolean *)lparg1);
+fail:
+ if (arg1 && lparg1) (*env)->ReleaseBooleanArrayElements(env, arg1, lparg1, 0);
+ GDK_NATIVE_EXIT(env, that, gdk_1event_1get_1focus_1in_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO_gdk_1event_1get_1key_1group
+JNIEXPORT jboolean JNICALL GDK_NATIVE(gdk_1event_1get_1key_1group)
(JNIEnv *env, jclass that, jlong arg0, jintArray arg1)
{
jint *lparg1=NULL;
jboolean rc = 0;
- GDK_NATIVE_ENTER(env, that, gdk_1event_1get_1keyval_FUNC);
+ GDK_NATIVE_ENTER(env, that, gdk_1event_1get_1key_1group_FUNC);
if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
- rc = (jboolean)gdk_event_get_keyval((GdkEvent *)arg0, (guint *)lparg1);
+ rc = (jboolean)gdk_event_get_key_group((GdkEvent *)arg0, (guint *)lparg1);
fail:
if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
- GDK_NATIVE_EXIT(env, that, gdk_1event_1get_1keyval_FUNC);
+ GDK_NATIVE_EXIT(env, that, gdk_1event_1get_1key_1group_FUNC);
return rc;
}
#endif
-#ifndef NO_gdk_1event_1get_1modifier_1state
-JNIEXPORT jint JNICALL GDK_NATIVE(gdk_1event_1get_1modifier_1state)
- (JNIEnv *env, jclass that, jlong arg0)
+#ifndef NO_gdk_1event_1get_1keycode
+JNIEXPORT jboolean JNICALL GDK_NATIVE(gdk_1event_1get_1keycode)
+ (JNIEnv *env, jclass that, jlong arg0, jshortArray arg1)
{
- jint rc = 0;
- GDK_NATIVE_ENTER(env, that, gdk_1event_1get_1modifier_1state_FUNC);
- rc = (jint)gdk_event_get_modifier_state((GdkEvent *)arg0);
- GDK_NATIVE_EXIT(env, that, gdk_1event_1get_1modifier_1state_FUNC);
+ jshort *lparg1=NULL;
+ jboolean rc = 0;
+ GDK_NATIVE_ENTER(env, that, gdk_1event_1get_1keycode_FUNC);
+ if (arg1) if ((lparg1 = (*env)->GetShortArrayElements(env, arg1, NULL)) == NULL) goto fail;
+ rc = (jboolean)gdk_event_get_keycode((GdkEvent *)arg0, (guint16 *)lparg1);
+fail:
+ if (arg1 && lparg1) (*env)->ReleaseShortArrayElements(env, arg1, lparg1, 0);
+ GDK_NATIVE_EXIT(env, that, gdk_1event_1get_1keycode_FUNC);
return rc;
}
#endif
-#ifndef NO_gdk_1event_1get_1position
-JNIEXPORT jboolean JNICALL GDK_NATIVE(gdk_1event_1get_1position)
- (JNIEnv *env, jclass that, jlong arg0, jdoubleArray arg1, jdoubleArray arg2)
+#ifndef NO_gdk_1event_1get_1keyval
+JNIEXPORT jboolean JNICALL GDK_NATIVE(gdk_1event_1get_1keyval)
+ (JNIEnv *env, jclass that, jlong arg0, jintArray arg1)
{
- jdouble *lparg1=NULL;
- jdouble *lparg2=NULL;
+ jint *lparg1=NULL;
jboolean rc = 0;
- GDK_NATIVE_ENTER(env, that, gdk_1event_1get_1position_FUNC);
- if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail;
- if (arg2) if ((lparg2 = (*env)->GetDoubleArrayElements(env, arg2, NULL)) == NULL) goto fail;
- rc = (jboolean)gdk_event_get_position((GdkEvent *)arg0, (gdouble *)lparg1, (gdouble *)lparg2);
+ GDK_NATIVE_ENTER(env, that, gdk_1event_1get_1keyval_FUNC);
+ if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
+ rc = (jboolean)gdk_event_get_keyval((GdkEvent *)arg0, (guint *)lparg1);
fail:
- if (arg2 && lparg2) (*env)->ReleaseDoubleArrayElements(env, arg2, lparg2, 0);
- if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0);
- GDK_NATIVE_EXIT(env, that, gdk_1event_1get_1position_FUNC);
+ if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
+ GDK_NATIVE_EXIT(env, that, gdk_1event_1get_1keyval_FUNC);
return rc;
}
#endif
@@ -1101,6 +1110,22 @@ fail:
}
#endif
+#ifndef NO_gdk_1event_1get_1string
+JNIEXPORT jboolean JNICALL GDK_NATIVE(gdk_1event_1get_1string)
+ (JNIEnv *env, jclass that, jlong arg0, jlongArray arg1)
+{
+ jlong *lparg1=NULL;
+ jboolean rc = 0;
+ GDK_NATIVE_ENTER(env, that, gdk_1event_1get_1string_FUNC);
+ if (arg1) if ((lparg1 = (*env)->GetLongArrayElements(env, arg1, NULL)) == NULL) goto fail;
+ rc = (jboolean)gdk_event_get_string((GdkEvent *)arg0, (const char **)lparg1);
+fail:
+ if (arg1 && lparg1) (*env)->ReleaseLongArrayElements(env, arg1, lparg1, 0);
+ GDK_NATIVE_EXIT(env, that, gdk_1event_1get_1string_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO_gdk_1event_1get_1surface
JNIEXPORT jlong JNICALL GDK_NATIVE(gdk_1event_1get_1surface)
(JNIEnv *env, jclass that, jlong arg0)
@@ -1189,18 +1214,6 @@ JNIEXPORT void JNICALL GDK_NATIVE(gdk_1event_1put)
}
#endif
-#ifndef NO_gdk_1event_1ref
-JNIEXPORT jlong JNICALL GDK_NATIVE(gdk_1event_1ref)
- (JNIEnv *env, jclass that, jlong arg0)
-{
- jlong rc = 0;
- GDK_NATIVE_ENTER(env, that, gdk_1event_1ref_FUNC);
- rc = (jlong)gdk_event_ref((GdkEvent *)arg0);
- GDK_NATIVE_EXIT(env, that, gdk_1event_1ref_FUNC);
- return rc;
-}
-#endif
-
#ifndef NO_gdk_1event_1set_1device
JNIEXPORT void JNICALL GDK_NATIVE(gdk_1event_1set_1device)
(JNIEnv *env, jclass that, jlong arg0, jlong arg1)
@@ -1211,28 +1224,6 @@ JNIEXPORT void JNICALL GDK_NATIVE(gdk_1event_1set_1device)
}
#endif
-#ifndef NO_gdk_1event_1unref
-JNIEXPORT void JNICALL GDK_NATIVE(gdk_1event_1unref)
- (JNIEnv *env, jclass that, jlong arg0)
-{
- GDK_NATIVE_ENTER(env, that, gdk_1event_1unref_FUNC);
- gdk_event_unref((GdkEvent *)arg0);
- GDK_NATIVE_EXIT(env, that, gdk_1event_1unref_FUNC);
-}
-#endif
-
-#ifndef NO_gdk_1focus_1event_1get_1in
-JNIEXPORT jboolean JNICALL GDK_NATIVE(gdk_1focus_1event_1get_1in)
- (JNIEnv *env, jclass that, jlong arg0)
-{
- jboolean rc = 0;
- GDK_NATIVE_ENTER(env, that, gdk_1focus_1event_1get_1in_FUNC);
- rc = (jboolean)gdk_focus_event_get_in((GdkEvent *)arg0);
- GDK_NATIVE_EXIT(env, that, gdk_1focus_1event_1get_1in_FUNC);
- return rc;
-}
-#endif
-
#ifndef NO_gdk_1get_1default_1root_1window
JNIEXPORT jlong JNICALL GDK_NATIVE(gdk_1get_1default_1root_1window)
(JNIEnv *env, jclass that)
@@ -1245,30 +1236,6 @@ JNIEXPORT jlong JNICALL GDK_NATIVE(gdk_1get_1default_1root_1window)
}
#endif
-#ifndef NO_gdk_1key_1event_1get_1keyval
-JNIEXPORT jint JNICALL GDK_NATIVE(gdk_1key_1event_1get_1keyval)
- (JNIEnv *env, jclass that, jlong arg0)
-{
- jint rc = 0;
- GDK_NATIVE_ENTER(env, that, gdk_1key_1event_1get_1keyval_FUNC);
- rc = (jint)gdk_key_event_get_keyval((GdkEvent *)arg0);
- GDK_NATIVE_EXIT(env, that, gdk_1key_1event_1get_1keyval_FUNC);
- return rc;
-}
-#endif
-
-#ifndef NO_gdk_1key_1event_1get_1layout
-JNIEXPORT jint JNICALL GDK_NATIVE(gdk_1key_1event_1get_1layout)
- (JNIEnv *env, jclass that, jlong arg0)
-{
- jint rc = 0;
- GDK_NATIVE_ENTER(env, that, gdk_1key_1event_1get_1layout_FUNC);
- rc = (jint)gdk_key_event_get_layout((GdkEvent *)arg0);
- GDK_NATIVE_EXIT(env, that, gdk_1key_1event_1get_1layout_FUNC);
- return rc;
-}
-#endif
-
#ifndef NO_gdk_1keymap_1get_1entries_1for_1keyval
JNIEXPORT jboolean JNICALL GDK_NATIVE(gdk_1keymap_1get_1entries_1for_1keyval)
(JNIEnv *env, jclass that, jlong arg0, jint arg1, jlongArray arg2, jintArray arg3)
@@ -1349,18 +1316,6 @@ fail:
}
#endif
-#ifndef NO_gdk_1keyval_1name
-JNIEXPORT jlong JNICALL GDK_NATIVE(gdk_1keyval_1name)
- (JNIEnv *env, jclass that, jint arg0)
-{
- jlong rc = 0;
- GDK_NATIVE_ENTER(env, that, gdk_1keyval_1name_FUNC);
- rc = (jlong)gdk_keyval_name((guint)arg0);
- GDK_NATIVE_EXIT(env, that, gdk_1keyval_1name_FUNC);
- return rc;
-}
-#endif
-
#ifndef NO_gdk_1keyval_1to_1lower
JNIEXPORT jlong JNICALL GDK_NATIVE(gdk_1keyval_1to_1lower)
(JNIEnv *env, jclass that, jlong arg0)
@@ -2155,35 +2110,6 @@ JNIEXPORT jint JNICALL GDK_NATIVE(gdk_1screen_1width)
}
#endif
-#ifndef NO_gdk_1scroll_1event_1get_1deltas
-JNIEXPORT void JNICALL GDK_NATIVE(gdk_1scroll_1event_1get_1deltas)
- (JNIEnv *env, jclass that, jlong arg0, jdoubleArray arg1, jdoubleArray arg2)
-{
- jdouble *lparg1=NULL;
- jdouble *lparg2=NULL;
- GDK_NATIVE_ENTER(env, that, gdk_1scroll_1event_1get_1deltas_FUNC);
- if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail;
- if (arg2) if ((lparg2 = (*env)->GetDoubleArrayElements(env, arg2, NULL)) == NULL) goto fail;
- gdk_scroll_event_get_deltas((GdkEvent *)arg0, lparg1, lparg2);
-fail:
- if (arg2 && lparg2) (*env)->ReleaseDoubleArrayElements(env, arg2, lparg2, 0);
- if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0);
- GDK_NATIVE_EXIT(env, that, gdk_1scroll_1event_1get_1deltas_FUNC);
-}
-#endif
-
-#ifndef NO_gdk_1scroll_1event_1get_1direction
-JNIEXPORT jint JNICALL GDK_NATIVE(gdk_1scroll_1event_1get_1direction)
- (JNIEnv *env, jclass that, jlong arg0)
-{
- jint rc = 0;
- GDK_NATIVE_ENTER(env, that, gdk_1scroll_1event_1get_1direction_FUNC);
- rc = (jint)gdk_scroll_event_get_direction((GdkEvent *)arg0);
- GDK_NATIVE_EXIT(env, that, gdk_1scroll_1event_1get_1direction_FUNC);
- return rc;
-}
-#endif
-
#ifndef NO_gdk_1seat_1get_1keyboard
JNIEXPORT jlong JNICALL GDK_NATIVE(gdk_1seat_1get_1keyboard)
(JNIEnv *env, jclass that, jlong arg0)
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os.h b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os.h
index a74e9619fe..fb8a438403 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os.h
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os.h
@@ -356,18 +356,10 @@
#define NO_gtk_1tree_1view_1get_1bin_1window
// Event related functions removed in GTK4
-#define NO_gdk_1event_1copy
#define NO_gdk_1event_1free
#define NO_gdk_1event_1get
#define NO_gdk_1event_1peek
#define NO_gdk_1event_1put
-#define NO_gdk_1event_1get_1button
-#define NO_gdk_1event_1get_1coords
-#define NO_gdk_1event_1get_1root_1coords
-#define NO_gdk_1event_1get_1keyval
-#define NO_gdk_1event_1get_1scroll_1deltas
-#define NO_gdk_1event_1get_1scroll_1direction
-#define NO_gdk_1event_1get_1state
#define NO_GDK_1EVENT_1TYPE
#define NO_GDK_1EVENT_1WINDOW
@@ -476,17 +468,10 @@
#define NO_gtk_1widget_1add_1controller
// GdkEvent functions which do not exist on GTK3
-#define NO_gdk_1focus_1event_1get_1in
-#define NO_gdk_1crossing_1event_1get_1mode
-#define NO_gdk_1button_1event_1get_1button
-#define NO_gdk_1event_1get_1position
-#define NO_gdk_1key_1event_1get_1keyval
-#define NO_gdk_1scroll_1event_1get_1deltas
-#define NO_gdk_1scroll_1event_1get_1direction
-#define NO_gdk_1event_1get_1modifier_1state
-#define NO_gdk_1key_1event_1get_1layout
-#define NO_gdk_1event_1ref
-#define NO_gdk_1event_1unref
+#define NO_gdk_1event_1get_1focus_1in
+#define NO_gdk_1event_1get_1string
+#define NO_gdk_1event_1get_1key_1group
+#define NO_gdk_1event_1get_1crossing_1mode
// GdkCursor API changes
#define NO_gdk_1cursor_1new_1from_1name__Ljava_lang_String_2J
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.c b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.c
index d5b852263c..28c87f39fd 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.c
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.c
@@ -41,7 +41,6 @@ char * GDK_nativeFunctionNames[] = {
"GdkWindowAttr_1sizeof",
"gdk_1atom_1intern",
"gdk_1atom_1name",
- "gdk_1button_1event_1get_1button",
"gdk_1cairo_1create",
"gdk_1cairo_1get_1clip_1rectangle",
"gdk_1cairo_1region",
@@ -50,7 +49,6 @@ char * GDK_nativeFunctionNames[] = {
"gdk_1cairo_1set_1source_1rgba",
"gdk_1cairo_1set_1source_1window",
"gdk_1clipboard_1set_1content",
- "gdk_1crossing_1event_1get_1mode",
"gdk_1cursor_1new_1from_1name__JLjava_lang_String_2",
"gdk_1cursor_1new_1from_1name__Ljava_lang_String_2J",
"gdk_1cursor_1new_1from_1pixbuf",
@@ -88,15 +86,18 @@ char * GDK_nativeFunctionNames[] = {
"gdk_1event_1get",
"gdk_1event_1get_1button",
"gdk_1event_1get_1coords",
+ "gdk_1event_1get_1crossing_1mode",
"gdk_1event_1get_1event_1type",
+ "gdk_1event_1get_1focus_1in",
+ "gdk_1event_1get_1key_1group",
+ "gdk_1event_1get_1keycode",
"gdk_1event_1get_1keyval",
- "gdk_1event_1get_1modifier_1state",
- "gdk_1event_1get_1position",
"gdk_1event_1get_1root_1coords",
"gdk_1event_1get_1scroll_1deltas",
"gdk_1event_1get_1scroll_1direction",
"gdk_1event_1get_1seat",
"gdk_1event_1get_1state",
+ "gdk_1event_1get_1string",
"gdk_1event_1get_1surface",
"gdk_1event_1get_1time",
"gdk_1event_1get_1window",
@@ -104,17 +105,11 @@ char * GDK_nativeFunctionNames[] = {
"gdk_1event_1new",
"gdk_1event_1peek",
"gdk_1event_1put",
- "gdk_1event_1ref",
"gdk_1event_1set_1device",
- "gdk_1event_1unref",
- "gdk_1focus_1event_1get_1in",
"gdk_1get_1default_1root_1window",
- "gdk_1key_1event_1get_1keyval",
- "gdk_1key_1event_1get_1layout",
"gdk_1keymap_1get_1entries_1for_1keyval",
"gdk_1keymap_1get_1for_1display",
"gdk_1keymap_1translate_1keyboard_1state",
- "gdk_1keyval_1name",
"gdk_1keyval_1to_1lower",
"gdk_1keyval_1to_1unicode",
"gdk_1monitor_1get_1geometry",
@@ -167,8 +162,6 @@ char * GDK_nativeFunctionNames[] = {
"gdk_1screen_1height",
"gdk_1screen_1is_1composited",
"gdk_1screen_1width",
- "gdk_1scroll_1event_1get_1deltas",
- "gdk_1scroll_1event_1get_1direction",
"gdk_1seat_1get_1keyboard",
"gdk_1seat_1get_1pointer",
"gdk_1seat_1grab",
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.h b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.h
index 213d927dc5..a19d49aec3 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.h
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.h
@@ -51,7 +51,6 @@ typedef enum {
GdkWindowAttr_1sizeof_FUNC,
gdk_1atom_1intern_FUNC,
gdk_1atom_1name_FUNC,
- gdk_1button_1event_1get_1button_FUNC,
gdk_1cairo_1create_FUNC,
gdk_1cairo_1get_1clip_1rectangle_FUNC,
gdk_1cairo_1region_FUNC,
@@ -60,7 +59,6 @@ typedef enum {
gdk_1cairo_1set_1source_1rgba_FUNC,
gdk_1cairo_1set_1source_1window_FUNC,
gdk_1clipboard_1set_1content_FUNC,
- gdk_1crossing_1event_1get_1mode_FUNC,
gdk_1cursor_1new_1from_1name__JLjava_lang_String_2_FUNC,
gdk_1cursor_1new_1from_1name__Ljava_lang_String_2J_FUNC,
gdk_1cursor_1new_1from_1pixbuf_FUNC,
@@ -98,15 +96,18 @@ typedef enum {
gdk_1event_1get_FUNC,
gdk_1event_1get_1button_FUNC,
gdk_1event_1get_1coords_FUNC,
+ gdk_1event_1get_1crossing_1mode_FUNC,
gdk_1event_1get_1event_1type_FUNC,
+ gdk_1event_1get_1focus_1in_FUNC,
+ gdk_1event_1get_1key_1group_FUNC,
+ gdk_1event_1get_1keycode_FUNC,
gdk_1event_1get_1keyval_FUNC,
- gdk_1event_1get_1modifier_1state_FUNC,
- gdk_1event_1get_1position_FUNC,
gdk_1event_1get_1root_1coords_FUNC,
gdk_1event_1get_1scroll_1deltas_FUNC,
gdk_1event_1get_1scroll_1direction_FUNC,
gdk_1event_1get_1seat_FUNC,
gdk_1event_1get_1state_FUNC,
+ gdk_1event_1get_1string_FUNC,
gdk_1event_1get_1surface_FUNC,
gdk_1event_1get_1time_FUNC,
gdk_1event_1get_1window_FUNC,
@@ -114,17 +115,11 @@ typedef enum {
gdk_1event_1new_FUNC,
gdk_1event_1peek_FUNC,
gdk_1event_1put_FUNC,
- gdk_1event_1ref_FUNC,
gdk_1event_1set_1device_FUNC,
- gdk_1event_1unref_FUNC,
- gdk_1focus_1event_1get_1in_FUNC,
gdk_1get_1default_1root_1window_FUNC,
- gdk_1key_1event_1get_1keyval_FUNC,
- gdk_1key_1event_1get_1layout_FUNC,
gdk_1keymap_1get_1entries_1for_1keyval_FUNC,
gdk_1keymap_1get_1for_1display_FUNC,
gdk_1keymap_1translate_1keyboard_1state_FUNC,
- gdk_1keyval_1name_FUNC,
gdk_1keyval_1to_1lower_FUNC,
gdk_1keyval_1to_1unicode_FUNC,
gdk_1monitor_1get_1geometry_FUNC,
@@ -177,8 +172,6 @@ typedef enum {
gdk_1screen_1height_FUNC,
gdk_1screen_1is_1composited_FUNC,
gdk_1screen_1width_FUNC,
- gdk_1scroll_1event_1get_1deltas_FUNC,
- gdk_1scroll_1event_1get_1direction_FUNC,
gdk_1seat_1get_1keyboard_FUNC,
gdk_1seat_1get_1pointer_FUNC,
gdk_1seat_1grab_FUNC,
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GDK.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GDK.java
index 7ee3d38dbf..b26bf6a382 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GDK.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GDK.java
@@ -501,12 +501,12 @@ public class GDK extends OS {
*/
/* [GTK3 only, if-def'd in os.h] */
public static final native void gdk_drag_status(long context, int action, int time);
-
- /* GDK Events (GTK3 only, if-def'd in os.h) */
/** @param event cast=(GdkEvent *) */
public static final native long gdk_event_copy(long event);
/** @param event cast=(GdkEvent *) */
+ /* [GTK3 only, if-def'd in os.h] */
public static final native void gdk_event_free(long event);
+ /* [GTK3 only, if-def'd in os.h] */
public static final native long gdk_event_get();
/**
* @param event cast=(GdkEvent *)
@@ -516,16 +516,39 @@ public class GDK extends OS {
public static final native boolean gdk_event_get_coords(long event, double[] px, double[] py);
/**
* @param event cast=(GdkEvent *)
+ * @param mode cast=(GdkCrossingMode *)
+ */
+ /* [GTK4 only, if-def'd in os.h] */
+ public static final native boolean gdk_event_get_crossing_mode(long event, int [] mode);
+ /**
+ * @param event cast=(GdkEvent *)
* @param button cast=(guint *)
*/
public static final native boolean gdk_event_get_button(long event, int[] button);
/**
* @param event cast=(GdkEvent *)
+ * @param in cast=(gboolean *)
+ */
+ /* [GTK4 only, if-def'd in os.h] */
+ public static final native boolean gdk_event_get_focus_in(long event, boolean [] in);
+ /**
+ * @param event cast=(GdkEvent *)
* @param keyval cast=(guint *)
*/
public static final native boolean gdk_event_get_keyval(long event,int [] keyval);
/**
* @param event cast=(GdkEvent *)
+ * @param keycode cast=(guint16 *)
+ */
+ public static final native boolean gdk_event_get_keycode(long event, short [] keycode);
+ /**
+ * @param event cast=(GdkEvent *)
+ * @param group cast=(guint *)
+ */
+ /* [GTK4 only, if-def'd in os.h] */
+ public static final native boolean gdk_event_get_key_group(long event,int [] group);
+ /**
+ * @param event cast=(GdkEvent *)
* @param x cast=(gdouble *)
* @param y cast=(gdouble *)
*/
@@ -536,6 +559,12 @@ public class GDK extends OS {
*/
public static final native boolean gdk_event_get_state(long event, int[] pmod);
/**
+ * @param event cast=(GdkEvent *)
+ * @param string cast=(const char **)
+ */
+ /* [GTK4 only, if-def'd in os.h] */
+ public static final native boolean gdk_event_get_string(long event, long [] string);
+ /**
* @param event cast=(const GdkEvent *)
* @param delta_x cast=(gdouble *)
* @param delta_y cast=(gdouble *)
@@ -546,37 +575,6 @@ public class GDK extends OS {
* @param direction cast=(GdkScrollDirection *)
*/
public static final native boolean gdk_event_get_scroll_direction(long event, int [] direction);
-
- /* GDK Events (GTK4 only, if-def'd in os.h) */
- /** @param event cast=(GdkEvent *) */
- public static final native long gdk_event_ref(long event);
- /** @param event cast=(GdkEvent *) */
- public static final native void gdk_event_unref(long event);
- /**
- * @param event cast=(GdkEvent *)
- * @param px cast=(gdouble *)
- * @param py cast=(gdouble *)
- */
- public static final native boolean gdk_event_get_position(long event, double[] px, double[] py);
- /** @param event cast=(GdkEvent *) */
- public static final native int gdk_crossing_event_get_mode(long event);
- /** @param event cast=(GdkEvent *) */
- public static final native int gdk_button_event_get_button(long event);
- /** @param event cast=(GdkEvent *) */
- public static final native boolean gdk_focus_event_get_in(long event);
- /** @param event cast=(GdkEvent *) */
- public static final native int gdk_key_event_get_keyval(long event);
- /**
- * @param event cast=(GdkEvent *)
- * */
- public static final native int gdk_key_event_get_layout(long event);
- /** @param event cast=(GdkEvent *) */
- public static final native int gdk_event_get_modifier_state(long event);
- /** @param event cast=(GdkEvent *) */
- public static final native void gdk_scroll_event_get_deltas(long event, double[] delta_x, double[] delta_y);
- /** @param event cast=(GdkEvent *) */
- public static final native int gdk_scroll_event_get_direction(long event);
-
/**
* @method flags=dynamic
*/
@@ -638,7 +636,7 @@ public class GDK extends OS {
* @param keys cast=(GdkKeymapKey**)
* @param n_keys cast=(gint*)
*/
- /* [GTK4 only] */
+ /* [GTK4 only, if-def'd in os.h] */
public static final native boolean gdk_display_map_keyval(long display, int keyval, long[] keys, int[] n_keys);
/**
* @method flags=dynamic
@@ -664,9 +662,6 @@ public class GDK extends OS {
public static final native boolean gdk_keymap_get_entries_for_keyval(long keymap, int keyval, long [] keys, int[] n_keys);
public static final native long gdk_keyval_to_lower(long keyval);
public static final native long gdk_keyval_to_unicode(long keyval);
-
- /** @param keyval cast=(guint) */
- public static final native long gdk_keyval_name(int keyval);
/**
* @method flags=dynamic
*/
@@ -889,7 +884,7 @@ public class GDK extends OS {
public static final native long gdk_display_peek_event(long display);
/**
* @param display cast=(GdkDisplay *)
- * @param event cast=(GdkEvent *)
+ * @param event cast=(const GdkEvent *)
*/
public static final native void gdk_display_put_event(long display, long event);
/**
diff --git a/bundles/org.eclipse.swt/Eclipse SWT WebKit/gtk/org/eclipse/swt/browser/WebKit.java b/bundles/org.eclipse.swt/Eclipse SWT WebKit/gtk/org/eclipse/swt/browser/WebKit.java
index 64dd34f78e..533afdf87a 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT WebKit/gtk/org/eclipse/swt/browser/WebKit.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT WebKit/gtk/org/eclipse/swt/browser/WebKit.java
@@ -547,16 +547,10 @@ static long JSDOMEventProc (long arg0, long event, long user_data) {
switch (GDK.GDK_EVENT_TYPE (event)) {
case GDK.GDK_KEY_PRESS: {
if (browser.isFocusControl ()) {
- int [] key = new int [1];
+ int [] key = new int[1];
+ GDK.gdk_event_get_keyval(event, key);
int [] state = new int[1];
- if (GTK.GTK4) {
- key[0] = GDK.gdk_key_event_get_keyval(event);
- state[0] = GDK.gdk_event_get_modifier_state(event);
- } else {
- GDK.gdk_event_get_keyval(event, key);
- GDK.gdk_event_get_state(event, state);
- }
-
+ GDK.gdk_event_get_state(event, state);
switch (key[0]) {
case GDK.GDK_ISO_Left_Tab:
case GDK.GDK_Tab: {
@@ -1571,11 +1565,7 @@ boolean handleDOMEvent (long event, int type) {
if (eventPtr != 0) {
int eventType = GDK.gdk_event_get_event_type(eventPtr);
int [] state = new int[1];
- if (GTK.GTK4) {
- state[0] = GDK.gdk_event_get_modifier_state(eventPtr);
- } else {
- GDK.gdk_event_get_state(eventPtr, state);
- }
+ GDK.gdk_event_get_state(eventPtr, state);
switch (eventType) {
case GDK.GDK_KEY_PRESS:
case GDK.GDK_KEY_RELEASE:
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Combo.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Combo.java
index 8101c7e747..bd4fba9a4d 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Combo.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Combo.java
@@ -1357,12 +1357,7 @@ long gtk_button_press_event (long widget, long event) {
* send the mouse event from the event_after handler.
*/
int [] eventButton = new int [1];
- if (GTK.GTK4) {
- eventButton[0] = GDK.gdk_button_event_get_button(event);
- } else {
- GDK.gdk_event_get_button(event, eventButton);
- }
-
+ GDK.gdk_event_get_button(event, eventButton);
int eventType = GDK.gdk_event_get_event_type(event);
eventType = fixGdkEventTypeValues(eventType);
if (eventType == GDK.GDK_BUTTON_PRESS && eventButton[0] == 1) {
@@ -1574,21 +1569,13 @@ long gtk_event_after (long widget, long gdkEvent) {
switch (eventType) {
case GDK.GDK_BUTTON_PRESS: {
int [] eventButton = new int [1];
- int [] eventState = new int [1];
- if (GTK.GTK4) {
- eventButton[0] = GDK.gdk_button_event_get_button(gdkEvent);
- eventState[0] = GDK.gdk_event_get_modifier_state(gdkEvent);
- } else {
- GDK.gdk_event_get_button(gdkEvent, eventButton);
- GDK.gdk_event_get_state(gdkEvent, eventState);
- }
-
+ GDK.gdk_event_get_button(gdkEvent, eventButton);
int eventTime = GDK.gdk_event_get_time(gdkEvent);
-
double [] eventRX = new double [1];
double [] eventRY = new double [1];
GDK.gdk_event_get_root_coords(gdkEvent, eventRX, eventRY);
-
+ int [] eventState = new int [1];
+ GDK.gdk_event_get_state(gdkEvent, eventState);
if (eventButton[0] == 1) {
if (!sendMouseEvent (SWT.MouseDown, eventButton[0], display.clickCount, 0, false, eventTime, eventRX[0], eventRY[0], false, eventState[0])) {
return 1;
@@ -1603,7 +1590,7 @@ long gtk_event_after (long widget, long gdkEvent) {
if ((style & SWT.READ_ONLY) == 0) {
boolean [] focusIn = new boolean [1];
if (GTK.GTK4) {
- focusIn[0] = GDK.gdk_focus_event_get_in(gdkEvent);
+ GDK.gdk_event_get_focus_in(gdkEvent, focusIn);
} else {
GdkEventFocus gdkEventFocus = new GdkEventFocus ();
OS.memmove (gdkEventFocus, gdkEvent, GdkEventFocus.sizeof);
@@ -1682,12 +1669,7 @@ long gtk_key_press_event (long widget, long event) {
int oldIndex = GTK.gtk_combo_box_get_active (handle);
int newIndex = oldIndex;
int [] eventKeyval = new int [1];
- if (GTK.GTK4) {
- eventKeyval[0] = GDK.gdk_key_event_get_keyval(event);
- } else {
- GDK.gdk_event_get_keyval(event, eventKeyval);
- }
-
+ GDK.gdk_event_get_keyval(event, eventKeyval);
switch (eventKeyval[0]) {
case GDK.GDK_Down:
case GDK.GDK_KP_Down:
@@ -2637,13 +2619,8 @@ boolean checkSubwindow () {
@Override
boolean translateTraversal (long event) {
- int [] key = new int [1];
- if (GTK.GTK4) {
- key[0] = GDK.gdk_key_event_get_keyval(event);
- } else {
- GDK.gdk_event_get_keyval(event, key);
- }
-
+ int [] key = new int[1];
+ GDK.gdk_event_get_keyval(event, key);
switch (key[0]) {
case GDK.GDK_KP_Enter:
case GDK.GDK_Return: {
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java
index dc4a072217..3dd4747ff0 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java
@@ -862,12 +862,7 @@ long gtk_key_press_event (long widget, long event) {
*/
if ((state & CANVAS) != 0 && socketHandle == 0) {
int [] eventKeyval = new int [1];
- if (GTK.GTK4) {
- eventKeyval[0] = GDK.gdk_key_event_get_keyval(event);
- } else {
- GDK.gdk_event_get_keyval(event, eventKeyval);
- }
-
+ GDK.gdk_event_get_keyval(event, eventKeyval);
switch (eventKeyval[0]) {
case GDK.GDK_Return:
case GDK.GDK_KP_Enter: return 1;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java
index 3bddb4b6ff..2868ebe202 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java
@@ -2733,19 +2733,12 @@ boolean dragDetect (int x, int y, boolean filter, boolean dragOnTimeout, boolean
eventType = fixGdkEventTypeValues(eventType);
switch (eventType) {
case GDK.GDK_MOTION_NOTIFY: {
- long gdkResource = gdk_event_get_surface_or_window(eventPtr);
-
int [] state = new int[1];
+ GDK.gdk_event_get_state(eventPtr, state);
+ long gdkResource = gdk_event_get_surface_or_window(eventPtr);
double [] eventX = new double[1];
double [] eventY = new double[1];
- if (GTK.GTK4) {
- state[0] = GDK.gdk_event_get_modifier_state(eventPtr);
- GDK.gdk_event_get_position(eventPtr, eventX, eventY);
- } else {
- GDK.gdk_event_get_state(eventPtr, state);
- GDK.gdk_event_get_coords(eventPtr, eventX, eventY);
- }
-
+ GDK.gdk_event_get_coords(eventPtr, eventX, eventY);
if ((state[0] & GDK.GDK_BUTTON1_MASK) != 0) {
if (GTK.gtk_drag_check_threshold (handle, x, y, (int) eventX[0], (int) eventY[0])) {
dragging = true;
@@ -2765,12 +2758,7 @@ boolean dragDetect (int x, int y, boolean filter, boolean dragOnTimeout, boolean
case GDK.GDK_KEY_PRESS:
case GDK.GDK_KEY_RELEASE: {
int [] eventKeyval = new int [1];
- if (GTK.GTK4) {
- eventKeyval[0] = GDK.gdk_key_event_get_keyval(eventPtr);
- } else {
- GDK.gdk_event_get_keyval(eventPtr, eventKeyval);
- }
-
+ GDK.gdk_event_get_keyval(eventPtr, eventKeyval);
if (eventKeyval[0] == GDK.GDK_Escape) quit = true;
break;
}
@@ -3435,31 +3423,15 @@ long gtk_gesture_press_event (long gesture, int n_press, double x, double y, lon
// Event fields
double [] eventX = new double [1];
double [] eventY = new double [1];
- if (GTK.GTK4) {
- GDK.gdk_event_get_position(event, eventX, eventY);
- } else {
- GDK.gdk_event_get_coords(event, eventX, eventY);
- }
-
+ GDK.gdk_event_get_coords(event, eventX, eventY);
int [] eventButton = new int [1];
- if (GTK.GTK4) {
- eventButton[0] = GDK.gdk_button_event_get_button(event);
- } else {
- GDK.gdk_event_get_button(event, eventButton);
- }
-
+ GDK.gdk_event_get_button(event, eventButton);
double [] eventRX = new double [1];
double [] eventRY = new double [1];
GDK.gdk_event_get_root_coords(event, eventRX, eventRY);
-
int eventTime = GDK.gdk_event_get_time(event);
-
int [] eventState = new int[1];
- if (GTK.GTK4) {
- eventState[0] = GDK.gdk_event_get_modifier_state(event);
- } else {
- GDK.gdk_event_get_state(event, eventState);
- }
+ GDK.gdk_event_get_state(event, eventState);
lastInput.x = (int) eventX[0];
lastInput.y = (int) eventY[0];
@@ -3494,31 +3466,15 @@ long gtk_gesture_release_event (long gesture, int n_press, double x, double y, l
// Event fields
double [] eventX = new double [1];
double [] eventY = new double [1];
- if (GTK.GTK4) {
- GDK.gdk_event_get_position(event, eventX, eventY);
- } else {
- GDK.gdk_event_get_coords(event, eventX, eventY);
- }
-
+ GDK.gdk_event_get_coords(event, eventX, eventY);
int [] eventButton = new int [1];
- if (GTK.GTK4) {
- eventButton[0] = GDK.gdk_button_event_get_button(event);
- } else {
- GDK.gdk_event_get_button(event, eventButton);
- }
-
+ GDK.gdk_event_get_button(event, eventButton);
int eventTime = GDK.gdk_event_get_time(event);
-
double [] eventRX = new double [1];
double [] eventRY = new double [1];
GDK.gdk_event_get_root_coords(event, eventRX, eventRY);
-
- int [] eventState = new int[1];
- if (GTK.GTK4) {
- eventState[0] = GDK.gdk_event_get_modifier_state(event);
- } else {
- GDK.gdk_event_get_state(event, eventState);
- }
+ int [] eventState = new int [1];
+ GDK.gdk_event_get_state(event, eventState);
lastInput.x = (int) eventX[0];
lastInput.y = (int) eventY[0];
@@ -3538,31 +3494,18 @@ long gtk_button_press_event (long widget, long event, boolean sendMouseDown) {
// Event fields
double [] eventX = new double [1];
double [] eventY = new double [1];
- if (GTK.GTK4) {
- GDK.gdk_event_get_position(event, eventX, eventY);
- } else {
- GDK.gdk_event_get_coords(event, eventX, eventY);
- }
-
+ GDK.gdk_event_get_coords(event, eventX, eventY);
int eventType = GDK.gdk_event_get_event_type(event);
eventType = fixGdkEventTypeValues(eventType);
-
int [] eventButton = new int [1];
- int [] eventState = new int[1];
- if (GTK.GTK4) {
- eventButton[0] = GDK.gdk_button_event_get_button(event);
- eventState[0] = GDK.gdk_event_get_modifier_state(event);
- } else {
- GDK.gdk_event_get_button(event, eventButton);
- GDK.gdk_event_get_state(event, eventState);
- }
-
+ GDK.gdk_event_get_button(event, eventButton);
int eventTime = GDK.gdk_event_get_time(event);
-
double [] eventRX = new double [1];
double [] eventRY = new double [1];
GDK.gdk_event_get_root_coords(event, eventRX, eventRY);
-
+ int [] eventState = new int [1];
+ GDK.gdk_event_get_state(event, eventState);
+
lastInput.x = (int) eventX[0];
lastInput.y = (int) eventY[0];
if (containedInRegion(lastInput.x, lastInput.y)) return 0;
@@ -3655,27 +3598,15 @@ long gtk_button_release_event (long widget, long event) {
// Event fields
double [] eventX = new double [1];
double [] eventY = new double [1];
- if (GTK.GTK4) {
- GDK.gdk_event_get_position(event, eventX, eventY);
- } else {
- GDK.gdk_event_get_coords(event, eventX, eventY);
- }
-
+ GDK.gdk_event_get_coords(event, eventX, eventY);
int [] eventButton = new int [1];
- int [] eventState = new int[1];
- if (GTK.GTK4) {
- eventButton[0] = GDK.gdk_button_event_get_button(event);
- eventState[0] = GDK.gdk_event_get_modifier_state(event);
- } else {
- GDK.gdk_event_get_button(event, eventButton);
- GDK.gdk_event_get_state(event, eventState);
- }
-
+ GDK.gdk_event_get_button(event, eventButton);
int eventTime = GDK.gdk_event_get_time(event);
-
double [] eventRX = new double [1];
double [] eventRY = new double [1];
GDK.gdk_event_get_root_coords(event, eventRX, eventRY);
+ int [] eventState = new int [1];
+ GDK.gdk_event_get_state(event, eventState);
lastInput.x = (int) eventX[0];
lastInput.y = (int) eventY[0];
@@ -3712,33 +3643,23 @@ long gtk_enter_notify_event (long widget, long event) {
GTK.gtk_widget_set_tooltip_text (toolHandle, buffer);
if (display.currentControl == this) return 0;
-
+ GdkEventCrossing gdkEvent = new GdkEventCrossing ();
+ long childGdkResource = 0;
+ int [] crossingMode = new int[1];
int [] state = new int [1];
- double [] eventX = new double [1];
- double [] eventY = new double [1];
- if (GTK.GTK4) {
- state[0] = GDK.gdk_event_get_modifier_state(event);
- GDK.gdk_event_get_position(event, eventX, eventY);
- } else {
- GDK.gdk_event_get_state(event, state);
- GDK.gdk_event_get_coords(event, eventX, eventY);
- }
-
+ GDK.gdk_event_get_state(event, state);
int time = GDK.gdk_event_get_time(event);
-
double [] eventRX = new double [1];
double [] eventRY = new double [1];
GDK.gdk_event_get_root_coords(event, eventRX, eventRY);
-
+ double [] eventX = new double [1];
+ double [] eventY = new double [1];
+ GDK.gdk_event_get_coords(event, eventX, eventY);
lastInput.x = (int) eventX[0];
lastInput.y = (int) eventY[0];
if (containedInRegion(lastInput.x, lastInput.y)) return 0;
-
- GdkEventCrossing gdkEvent = new GdkEventCrossing ();
- long childGdkResource = 0;
- int [] crossingMode = new int[1];
if (GTK.GTK4) {
- crossingMode[0] = GDK.gdk_crossing_event_get_mode(event);
+ GDK.gdk_event_get_crossing_mode(event, crossingMode);
// TODO_GTK4: GTK devs are still deciding whether or not
// to provide API for GdkEventCrossing->child_surface.
} else {
@@ -3787,14 +3708,8 @@ long gtk_event_after (long widget, long gdkEvent) {
double [] eventRX = new double [1];
double [] eventRY = new double [1];
GDK.gdk_event_get_root_coords(gdkEvent, eventRX, eventRY);
-
int [] eventButton = new int [1];
- if (GTK.GTK4) {
- eventButton[0] = GDK.gdk_button_event_get_button(gdkEvent);
- } else {
- GDK.gdk_event_get_button(gdkEvent, eventButton);
- }
-
+ GDK.gdk_event_get_button(gdkEvent, eventButton);
if (eventButton[0] == 3) {
showMenu ((int) eventRX[0], (int) eventRY[0]);
}
@@ -3805,7 +3720,7 @@ long gtk_event_after (long widget, long gdkEvent) {
if (!isFocusHandle (widget)) break;
boolean [] focusIn = new boolean [1];
if (GTK.GTK4) {
- focusIn[0] = GDK.gdk_focus_event_get_in(gdkEvent);
+ GDK.gdk_event_get_focus_in(gdkEvent, focusIn);
} else {
GdkEventFocus gdkEventFocus = new GdkEventFocus ();
OS.memmove (gdkEventFocus, gdkEvent, GdkEventFocus.sizeof);
@@ -3991,12 +3906,7 @@ long gtk_focus_out_event (long widget, long event) {
@Override
long gtk_key_press_event (long widget, long event) {
int [] eventKeyval = new int [1];
- if (GTK.GTK4) {
- eventKeyval[0] = GDK.gdk_key_event_get_keyval(event);
- } else {
- GDK.gdk_event_get_keyval(event, eventKeyval);
- }
-
+ GDK.gdk_event_get_keyval(event, eventKeyval);
if (!hasFocus ()) {
/*
* Feature in GTK. On AIX, the IME window deactivates the current shell and even
@@ -4036,32 +3946,22 @@ long gtk_key_release_event (long widget, long event) {
@Override
long gtk_leave_notify_event (long widget, long event) {
if (display.currentControl != this) return 0;
-
+ GdkEventCrossing gdkEvent = new GdkEventCrossing ();
+ int [] crossingMode = new int[1];
int [] state = new int [1];
- double [] eventX = new double [1];
- double [] eventY = new double [1];
- if (GTK.GTK4) {
- state[0] = GDK.gdk_event_get_modifier_state(event);
- GDK.gdk_event_get_position(event, eventX, eventY);
- } else {
- GDK.gdk_event_get_state(event, state);
- GDK.gdk_event_get_coords(event, eventX, eventY);
- }
-
+ GDK.gdk_event_get_state(event, state);
int time = GDK.gdk_event_get_time(event);
-
double [] eventRX = new double [1];
double [] eventRY = new double [1];
GDK.gdk_event_get_root_coords(event, eventRX, eventRY);
-
+ double [] eventX = new double [1];
+ double [] eventY = new double [1];
+ GDK.gdk_event_get_coords(event, eventX, eventY);
lastInput.x = (int) eventX[0];
lastInput.y = (int) eventY[0];
if (containedInRegion(lastInput.x, lastInput.y)) return 0;
-
- GdkEventCrossing gdkEvent = new GdkEventCrossing ();
- int [] crossingMode = new int[1];
if (GTK.GTK4) {
- crossingMode[0] = GDK.gdk_crossing_event_get_mode(event);
+ GDK.gdk_event_get_crossing_mode(event, crossingMode);
} else {
OS.memmove(gdkEvent, event, GdkEventCrossing.sizeof);
crossingMode[0] = gdkEvent.mode;
@@ -4105,18 +4005,12 @@ long gtk_motion_notify_event (long widget, long event) {
dragBegun = true;
}
int result;
- double [] eventX = new double [1];
- double [] eventY = new double [1];
- if (GTK.GTK4) {
- GDK.gdk_event_get_position(event, eventX, eventY);
- } else {
- GDK.gdk_event_get_coords(event, eventX, eventY);
- }
-
+ double [] eventX = new double[1];
+ double [] eventY = new double[1];
+ GDK.gdk_event_get_coords(event, eventX, eventY);
double [] eventRX = new double[1];
double [] eventRY = new double[1];
GDK.gdk_event_get_root_coords(event, eventRX, eventRY);
-
lastInput.x = (int) eventX[0];
lastInput.y = (int) eventY[0];
if (containedInRegion(lastInput.x, lastInput.y)) return 0;
@@ -4139,19 +4033,11 @@ long gtk_motion_notify_event (long widget, long event) {
GTK.gtk_event_controller_handle_event(dragGesture,event);
int eventType = GDK.gdk_event_get_event_type(event);
if (eventType == GDK.GDK_3BUTTON_PRESS) return 0;
-
Point scaledEvent = DPIUtil.autoScaleDown(new Point((int)eventX[0], (int) eventY[0]));
-
int [] eventButton = new int [1];
+ GDK.gdk_event_get_button(event, eventButton);
int [] eventState = new int [1];
- if (GTK.GTK4) {
- eventButton[0] = GDK.gdk_button_event_get_button(event);
- eventState[0] = GDK.gdk_event_get_modifier_state(event);
- } else {
- GDK.gdk_event_get_button(event, eventButton);
- GDK.gdk_event_get_state(event, eventState);
- }
-
+ GDK.gdk_event_get_state(event, eventState);
if (sendDragEvent (eventButton[0], eventState[0], scaledEvent.x, scaledEvent.y, false)){
return 1;
}
@@ -4175,7 +4061,7 @@ long gtk_motion_notify_event (long widget, long event) {
state[0] = mask [0];
}
} else {
- state[0] = GDK.gdk_event_get_modifier_state(event);
+ GDK.gdk_event_get_state(event, state);
}
int time = GDK.gdk_event_get_time(event);
if (this != display.currentControl) {
@@ -4233,36 +4119,20 @@ long gtk_realize (long widget) {
@Override
long gtk_scroll_event (long widget, long eventPtr) {
long result = 0;
- double [] eventX = new double [1];
- double [] eventY = new double [1];
- int [] state = new int [1];
- if (GTK.GTK4) {
- GDK.gdk_event_get_position(eventPtr, eventX, eventY);
- state[0] = GDK.gdk_event_get_modifier_state(eventPtr);
- } else {
- GDK.gdk_event_get_coords(eventPtr, eventX, eventY);
- GDK.gdk_event_get_state(eventPtr, state);
- }
-
+ double [] eventX = new double[1];
+ double [] eventY = new double[1];
+ GDK.gdk_event_get_coords(eventPtr, eventX, eventY);
double [] eventRX = new double[1];
double [] eventRY = new double[1];
GDK.gdk_event_get_root_coords(eventPtr, eventRX, eventRY);
-
int time = GDK.gdk_event_get_time(eventPtr);
-
- int [] direction = new int[1];
- boolean fetched;
- if (GTK.GTK4) {
- direction[0] = GDK.gdk_scroll_event_get_direction(eventPtr);
- fetched = direction[0] != GDK.GDK_SCROLL_SMOOTH;
- } else {
- fetched = GDK.gdk_event_get_scroll_direction(eventPtr, direction);
- }
-
+ int [] state = new int[1];
+ GDK.gdk_event_get_state(eventPtr, state);
lastInput.x = (int) eventX[0];
lastInput.y = (int) eventY[0];
+ int [] direction = new int[1];
+ boolean fetched = GDK.gdk_event_get_scroll_direction(eventPtr, direction);
if (containedInRegion(lastInput.x, lastInput.y)) return 0;
-
if (fetched) {
switch (direction[0]) {
case GDK.GDK_SCROLL_UP:
@@ -4276,16 +4146,7 @@ long gtk_scroll_event (long widget, long eventPtr) {
}
} else {
double[] delta_x = new double[1], delta_y = new double [1];
- boolean deltasAvailable;
- if (GTK.GTK4) {
- GDK.gdk_scroll_event_get_deltas(eventPtr, delta_x, delta_y);
- // In GTK4, deltas is always available but zero when not GDK_SMOOTH_SCROLL
- deltasAvailable = true;
- } else {
- deltasAvailable = GDK.gdk_event_get_scroll_deltas (eventPtr, delta_x, delta_y);
- }
-
- if (deltasAvailable) {
+ if (GDK.gdk_event_get_scroll_deltas (eventPtr, delta_x, delta_y)) {
if (delta_x [0] != 0) {
result = (sendMouseEvent (SWT.MouseHorizontalWheel, 0, (int)(-3 * delta_x [0]), 0, true, time, eventRX[0], eventRY[0], false, state[0]) ? 0 : 1);
}
@@ -6529,12 +6390,7 @@ boolean translateMnemonic (Event event, Control control) {
boolean translateMnemonic (int keyval, long event) {
long key = GDK.gdk_keyval_to_unicode (keyval);
int [] state = new int[1];
- if (GTK.GTK4) {
- state[0] = GDK.gdk_event_get_modifier_state(event);
- } else {
- GDK.gdk_event_get_state(event, state);
- }
-
+ GDK.gdk_event_get_state(event, state);
if (key < 0x20) return false;
if (state[0] == 0) {
int code = traversalCode (keyval, event);
@@ -6557,17 +6413,10 @@ boolean translateMnemonic (int keyval, long event) {
boolean translateTraversal (long event) {
int detail = SWT.TRAVERSE_NONE;
-
int [] eventKeyval = new int [1];
+ GDK.gdk_event_get_keyval(event, eventKeyval);
int [] eventState = new int[1];
- if (GTK.GTK4) {
- eventKeyval[0] = GDK.gdk_key_event_get_keyval(event);
- eventState[0] = GDK.gdk_event_get_modifier_state(event);
- } else {
- GDK.gdk_event_get_keyval(event, eventKeyval);
- GDK.gdk_event_get_state(event, eventState);
- }
-
+ GDK.gdk_event_get_state(event, eventState);
int key = eventKeyval[0];
int code = traversalCode (key, event);
boolean all = false;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/DateTime.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/DateTime.java
index 73058c70fb..4dcbd0fe13 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/DateTime.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/DateTime.java
@@ -1959,13 +1959,8 @@ void setText (String dateTimeText) {
@Override
long gtk_key_press_event (long widget, long event) {
if (!isReadOnly () && (isTime () || isDate ())) {
- int [] key = new int [1];
- if (GTK.GTK4) {
- key[0] = GDK.gdk_key_event_get_keyval(event);
- } else {
- GDK.gdk_event_get_keyval(event, key);
- }
-
+ int [] key = new int[1];
+ GDK.gdk_event_get_keyval(event, key);
switch (key[0]) {
case GDK.GDK_Up:
case GDK.GDK_KP_Up:
@@ -2119,12 +2114,7 @@ private int validateValueBounds(FieldPosition field, int value) {
long gtk_button_release_event (long widget, long event) {
if (isDate () || isTime ()) {
int [] eventButton = new int [1];
- if (GTK.GTK4) {
- eventButton[0] = GDK.gdk_button_event_get_button(event);
- } else {
- GDK.gdk_event_get_button(event, eventButton);
- }
-
+ GDK.gdk_event_get_button(event, eventButton);
if (eventButton[0] == 1) { // left mouse button.
onTextMouseClick ();
}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java
index 0ce2ab60c2..46ca33bcab 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java
@@ -1479,14 +1479,7 @@ long eventProc (long event, long data) {
}
}
if (!dispatch) {
- long copiedEvent;
- if (GTK.GTK4) {
- copiedEvent = GDK.gdk_event_ref (event);
- } else {
- copiedEvent = GDK.gdk_event_copy (event);
- }
-
- addGdkEvent (copiedEvent);
+ addGdkEvent (GDK.gdk_event_copy (event));
return 0;
}
dispatch = true;
@@ -4330,11 +4323,10 @@ public boolean post (Event event) {
} else {
GDK.gdk_event_put (eventPtr);
}
-
if (GTK.GTK4) {
- GDK.gdk_event_unref(eventPtr);
+ OS.g_object_unref(eventPtr);
} else {
- GDK.gdk_event_free(eventPtr);
+ GDK.gdk_event_free (eventPtr);
}
return true;
case SWT.MouseDown:
@@ -4364,9 +4356,9 @@ public boolean post (Event event) {
GDK.gdk_event_put(eventPtr);
if (GTK.GTK4) {
- GDK.gdk_event_unref(eventPtr);
+ OS.g_object_unref(eventPtr);
} else {
- GDK.gdk_event_free(eventPtr);
+ GDK.gdk_event_free (eventPtr);
}
return true;
}
@@ -4410,7 +4402,7 @@ void putGdkEvents () {
}
}
if (GTK.GTK4) {
- GDK.gdk_event_unref (event);
+ OS.g_object_unref (event);
} else {
GDK.gdk_event_free (event);
}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ExpandBar.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ExpandBar.java
index c199f52576..e8800f74df 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ExpandBar.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ExpandBar.java
@@ -318,14 +318,8 @@ long gtk_key_press_event (long widget, long event) {
if (items [index].hasFocus ()) break;
index++;
}
-
- int [] key = new int [1];
- if (GTK.GTK4) {
- key[0] = GDK.gdk_key_event_get_keyval(event);
- } else {
- GDK.gdk_event_get_keyval(event, key);
- }
-
+ int [] key = new int[1];
+ GDK.gdk_event_get_keyval(event, key);
boolean next = false;
switch (key[0]) {
case GDK.GDK_Up:
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Link.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Link.java
index 4d2a6e92de..85da7a627a 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Link.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Link.java
@@ -330,25 +330,13 @@ public String getText () {
long gtk_button_press_event (long widget, long event) {
long result = super.gtk_button_press_event (widget, event);
if (result != 0) return result;
-
int eventType = GDK.gdk_event_get_event_type(event);
eventType = fixGdkEventTypeValues(eventType);
-
int [] eventButton = new int [1];
- if (GTK.GTK4) {
- eventButton[0] = GDK.gdk_button_event_get_button(event);
- } else {
- GDK.gdk_event_get_button(event, eventButton);
- }
-
+ GDK.gdk_event_get_button(event, eventButton);
double [] eventX = new double [1];
double [] eventY = new double [1];
- if (GTK.GTK4) {
- GDK.gdk_event_get_position(event, eventX, eventY);
- } else {
- GDK.gdk_event_get_coords(event, eventX, eventY);
- }
-
+ GDK.gdk_event_get_coords(event, eventX, eventY);
if (eventButton[0] == 1 && eventType == GDK.GDK_BUTTON_PRESS) {
if (focusIndex != -1) setFocus ();
int x = (int) eventX[0];
@@ -388,22 +376,11 @@ long gtk_button_release_event (long widget, long event) {
long result = super.gtk_button_release_event (widget, event);
if (result != 0) return result;
if (focusIndex == -1) return result;
-
int [] eventButton = new int [1];
- if (GTK.GTK4) {
- eventButton[0] = GDK.gdk_button_event_get_button(event);
- } else {
- GDK.gdk_event_get_button(event, eventButton);
- }
-
+ GDK.gdk_event_get_button(event, eventButton);
double [] eventX = new double [1];
double [] eventY = new double [1];
- if (GTK.GTK4) {
- GDK.gdk_event_get_position(event, eventX, eventY);
- } else {
- GDK.gdk_event_get_coords(event, eventX, eventY);
- }
-
+ GDK.gdk_event_get_coords(event, eventX, eventY);
if (eventButton[0] == 1) {
int x = (int) eventX[0];
int y = (int) eventY[0];
@@ -452,13 +429,8 @@ long gtk_key_press_event (long widget, long eventPtr) {
long result = super.gtk_key_press_event (widget, eventPtr);
if (result != 0) return result;
if (focusIndex == -1) return result;
-
- int [] key = new int [1];
- if (GTK.GTK4) {
- key[0] = GDK.gdk_key_event_get_keyval(eventPtr);
- } else {
- GDK.gdk_event_get_keyval(eventPtr, key);
- }
+ int [] key = new int[1];
+ GDK.gdk_event_get_keyval(eventPtr, key);
switch (key[0]) {
case GDK.GDK_Return:
case GDK.GDK_KP_Enter:
@@ -487,21 +459,13 @@ long gtk_key_press_event (long widget, long eventPtr) {
long gtk_motion_notify_event (long widget, long event) {
long result = super.gtk_motion_notify_event (widget, event);
if (result != 0) return result;
-
double [] eventX = new double [1];
double [] eventY = new double [1];
- int [] state = new int [1];
- if (GTK.GTK4) {
- GDK.gdk_event_get_position(event, eventX, eventY);
- state[0] = GDK.gdk_event_get_modifier_state(event);
- } else {
- GDK.gdk_event_get_coords(event, eventX, eventY);
- GDK.gdk_event_get_state(event, state);
- }
-
+ GDK.gdk_event_get_coords(event, eventX, eventY);
int x = (int) eventX[0];
int y = (int) eventY[0];
-
+ int [] state = new int [1];
+ GDK.gdk_event_get_state(event, state);
if ((style & SWT.MIRRORED) != 0) x = getClientWidth () - x;
if ((state[0] & GDK.GDK_BUTTON1_MASK) != 0) {
int oldSelection = selection.y;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/List.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/List.java
index 614502d74a..881cbe6679 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/List.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/List.java
@@ -798,20 +798,12 @@ long gtk_button_press_event (long widget, long event) {
double [] eventX = new double [1];
double [] eventY = new double [1];
GDK.gdk_event_get_coords(event, eventX, eventY);
-
int eventType = GDK.gdk_event_get_event_type(event);
eventType = fixGdkEventTypeValues(eventType);
-
int [] eventState = new int [1];
+ GDK.gdk_event_get_state(event, eventState);
int [] eventButton = new int [1];
- if (GTK.GTK4) {
- eventButton[0] = GDK.gdk_button_event_get_button(event);
- eventState[0] = GDK.gdk_event_get_modifier_state(event);
- } else {
- GDK.gdk_event_get_button(event, eventButton);
- GDK.gdk_event_get_state(event, eventState);
- }
-
+ GDK.gdk_event_get_button(event, eventButton);
if ((state & DRAG_DETECT) != 0 && hooks (SWT.DragDetect) &&
!OS.isX11() && eventType == GDK.GDK_BUTTON_PRESS) { // Wayland
// check to see if there is another event coming in that is not a double/triple click, this is to prevent Bug 514531
@@ -921,13 +913,8 @@ long gtk_row_activated (long tree, long path, long column) {
@Override
long gtk_key_press_event (long widget, long event) {
- int [] key = new int [1];
- if (GTK.GTK4) {
- key[0] = GDK.gdk_key_event_get_keyval(event);
- } else {
- GDK.gdk_event_get_keyval(event, key);
- }
-
+ int [] key = new int[1];
+ GDK.gdk_event_get_keyval(event, key);
keyPressDefaultSelectionHandler (event, key[0]);
return super.gtk_key_press_event (widget, event);
}
@@ -935,16 +922,10 @@ long gtk_key_press_event (long widget, long event) {
@Override
long gtk_button_release_event (long widget, long event) {
int [] eventState = new int [1];
+ GDK.gdk_event_get_state(event, eventState);
double [] eventX = new double [1];
double [] eventY = new double [1];
- if (GTK.GTK4) {
- eventState[0] = GDK.gdk_event_get_modifier_state(event);
- GDK.gdk_event_get_position(event, eventX, eventY);
- } else {
- GDK.gdk_event_get_state(event, eventState);
- GDK.gdk_event_get_coords(event, eventX, eventY);
- }
-
+ GDK.gdk_event_get_coords(event, eventX, eventY);
long eventGdkResource = gdk_event_get_surface_or_window(event);
if (GTK.GTK4) {
if (eventGdkResource != gtk_widget_get_surface (handle)) return 0;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Sash.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Sash.java
index efb2094837..b5269e28a1 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Sash.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Sash.java
@@ -170,18 +170,11 @@ long gtk_button_press_event (long widget, long event) {
if (result != 0) return result;
// Event fields
int [] eventButton = new int [1];
- if (GTK.GTK4) {
- eventButton[0] = GDK.gdk_button_event_get_button(event);
- } else {
- GDK.gdk_event_get_button(event, eventButton);
- }
-
+ GDK.gdk_event_get_button(event, eventButton);
int eventType = GDK.gdk_event_get_event_type(event);
-
double [] eventRX = new double [1];
double [] eventRY = new double [1];
GDK.gdk_event_get_root_coords(event, eventRX, eventRY);
-
int eventTime = GDK.gdk_event_get_time(event);
int button = eventButton[0];
@@ -231,21 +224,13 @@ long gtk_button_press_event (long widget, long event) {
long gtk_button_release_event (long widget, long event) {
long result = super.gtk_button_release_event (widget, event);
if (result != 0) return result;
-
int [] eventButton = new int [1];
- if (GTK.GTK4) {
- eventButton[0] = GDK.gdk_button_event_get_button(event);
- } else {
- GDK.gdk_event_get_button(event, eventButton);
- }
-
+ GDK.gdk_event_get_button(event, eventButton);
int eventTime = GDK.gdk_event_get_time(event);
-
int button = eventButton[0];
if (button != 1) return 0;
if (!dragging) return 0;
dragging = false;
-
GtkAllocation allocation = new GtkAllocation ();
GTK.gtk_widget_get_allocation (handle, allocation);
int width = allocation.width;
@@ -299,17 +284,10 @@ long gtk_focus_in_event (long widget, long event) {
long gtk_key_press_event (long widget, long eventPtr) {
long result = super.gtk_key_press_event (widget, eventPtr);
if (result != 0) return result;
-
- int [] key = new int [1];
+ int [] key = new int[1];
+ GDK.gdk_event_get_keyval(eventPtr, key);
int [] state = new int[1];
- if (GTK.GTK4) {
- key[0] = GDK.gdk_key_event_get_keyval(eventPtr);
- state[0] = GDK.gdk_event_get_modifier_state(eventPtr);
- } else {
- GDK.gdk_event_get_keyval(eventPtr, key);
- GDK.gdk_event_get_state(eventPtr, state);
- }
-
+ GDK.gdk_event_get_state(eventPtr, state);
switch (key[0]) {
case GDK.GDK_Left:
case GDK.GDK_Right:
@@ -389,14 +367,8 @@ long gtk_motion_notify_event (long widget, long eventPtr) {
double [] fetchedX = new double [1];
double [] fetchedY = new double [1];
GDK.gdk_event_get_root_coords(eventPtr, fetchedX, fetchedY);
-
int [] state = new int [1];
- if (GTK.GTK4) {
- state[0] = GDK.gdk_event_get_modifier_state(eventPtr);
- } else {
- GDK.gdk_event_get_state(eventPtr, state);
- }
-
+ GDK.gdk_event_get_state(eventPtr, state);
long gdkResource = gdk_event_get_surface_or_window(eventPtr);
boolean isHint;
if (GTK.GTK4) {
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ScrollBar.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ScrollBar.java
index b5620abc1e..55ec88c925 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ScrollBar.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ScrollBar.java
@@ -579,12 +579,7 @@ long gtk_event_after (long widget, long gdkEvent) {
switch (eventType) {
case GDK.GDK_BUTTON_RELEASE: {
int [] eventButton = new int [1];
- if (GTK.GTK4) {
- eventButton[0] = GDK.gdk_button_event_get_button(gdkEvent);
- } else {
- GDK.gdk_event_get_button(gdkEvent, eventButton);
- }
-
+ GDK.gdk_event_get_button(gdkEvent, eventButton);
if (eventButton[0] == 1 && detail == GTK.GTK_SCROLL_JUMP) {
if (!dragSent) {
Event event = new Event ();
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Scrollable.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Scrollable.java
index 5bb3b8033d..2375f6fe81 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Scrollable.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Scrollable.java
@@ -358,26 +358,10 @@ long gtk_scroll_event (long widget, long eventPtr) {
if ((state & CANVAS) != 0) {
ScrollBar scrollBar;
int [] direction = new int[1];
- boolean fetched;
- if (GTK.GTK4) {
- direction[0] = GDK.gdk_scroll_event_get_direction(eventPtr);
- fetched = direction[0] != GDK.GDK_SCROLL_SMOOTH;
- } else {
- fetched = GDK.gdk_event_get_scroll_direction(eventPtr, direction);
- }
-
+ boolean fetched = GDK.gdk_event_get_scroll_direction(eventPtr, direction);
if (!fetched) {
double[] delta_x = new double[1], delta_y = new double [1];
- boolean deltasAvailable;
- if (GTK.GTK4) {
- GDK.gdk_scroll_event_get_deltas(eventPtr, delta_x, delta_y);
- // In GTK4, deltas is always available but zero when not GDK_SMOOTH_SCROLL
- deltasAvailable = true;
- } else {
- deltasAvailable = GDK.gdk_event_get_scroll_deltas (eventPtr, delta_x, delta_y);
- }
-
- if (deltasAvailable) {
+ if (GDK.gdk_event_get_scroll_deltas (eventPtr, delta_x, delta_y)) {
if (delta_x [0] != 0) {
scrollBar = horizontalBar;
if (scrollBar != null && !GTK.gtk_widget_get_visible (scrollBar.handle) && scrollBar.getEnabled()) {
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Shell.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Shell.java
index 0d11ebb7cf..d0407ed570 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Shell.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Shell.java
@@ -1424,14 +1424,8 @@ long gtk_button_press_event (long widget, long event) {
double [] eventRX = new double [1];
double [] eventRY = new double [1];
GDK.gdk_event_get_root_coords(event, eventRX, eventRY);
-
int [] eventButton = new int [1];
- if (GTK.GTK4) {
- eventButton[0] = GDK.gdk_button_event_get_button(event);
- } else {
- GDK.gdk_event_get_button(event, eventButton);
- }
-
+ GDK.gdk_event_get_button(event, eventButton);
if (eventButton[0] == 1) {
display.resizeLocationX = eventRX[0];
display.resizeLocationY = eventRY[0];
@@ -1582,12 +1576,7 @@ long gtk_leave_notify_event (long widget, long event) {
if (widget == shellHandle) {
if (isCustomResize ()) {
int [] state = new int [1];
- if (GTK.GTK4) {
- state[0] = GDK.gdk_event_get_modifier_state(event);
- } else {
- GDK.gdk_event_get_state(event, state);
- }
-
+ GDK.gdk_event_get_state(event, state);
if ((state[0] & GDK.GDK_BUTTON1_MASK) == 0) {
if (GTK.GTK4) {
GTK.gtk_widget_set_cursor (shellHandle, 0);
@@ -1628,11 +1617,7 @@ long gtk_motion_notify_event (long widget, long event) {
if (widget == shellHandle) {
if (isCustomResize ()) {
int [] state = new int [1];
- if (GTK.GTK4) {
- state[0] = GDK.gdk_event_get_modifier_state(event);
- } else {
- GDK.gdk_event_get_state(event, state);
- }
+ GDK.gdk_event_get_state(event, state);
double [] eventRX = new double [1];
double [] eventRY = new double [1];
GDK.gdk_event_get_root_coords(event, eventRX, eventRY);
@@ -1694,12 +1679,7 @@ long gtk_motion_notify_event (long widget, long event) {
} else {
double [] eventX = new double [1];
double [] eventY = new double [1];
- if (GTK.GTK4) {
- GDK.gdk_event_get_position(event, eventX, eventY);
- } else {
- GDK.gdk_event_get_coords(event, eventX, eventY);
- }
-
+ GDK.gdk_event_get_coords(event, eventX, eventY);
int mode = getResizeMode (eventX[0], eventY[0]);
if (mode != display.resizeMode) {
long cursor = display.getSystemCursor(mode).handle;
@@ -1736,16 +1716,10 @@ long gtk_key_press_event (long widget, long event) {
GTK.gtk_accelerator_parse (accel [0], keyval, mods);
OS.g_free (accel [0]);
if (keyval [0] != 0) {
- int [] key = new int [1];
- int [] state = new int[1];
- if (GTK.GTK4) {
- key[0] = GDK.gdk_key_event_get_keyval(event);
- state[0] = GDK.gdk_event_get_modifier_state(event);
- } else {
- GDK.gdk_event_get_keyval(event, key);
- GDK.gdk_event_get_state(event, state);
- }
-
+ int [] key = new int[1];
+ GDK.gdk_event_get_keyval(event, key);
+ int [] state = new int [1];
+ GDK.gdk_event_get_state(event, state);
int mask = GTK.gtk_accelerator_get_default_mod_mask ();
if (key[0] == keyval [0] && (state[0] & mask) == (mods [0] & mask)) {
return focusControl.gtk_key_press_event (focusControl.focusHandle (), event);
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Slider.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Slider.java
index af53197734..21aca6316c 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Slider.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Slider.java
@@ -230,12 +230,7 @@ long gtk_event_after (long widget, long gdkEvent) {
switch (eventType) {
case GDK.GDK_BUTTON_RELEASE: {
int [] eventButton = new int [1];
- if (GTK.GTK4) {
- eventButton[0] = GDK.gdk_button_event_get_button(gdkEvent);
- } else {
- GDK.gdk_event_get_button(gdkEvent, eventButton);
- }
-
+ GDK.gdk_event_get_button(gdkEvent, eventButton);
if (eventButton[0] == 1 && detail == SWT.DRAG) {
if (!dragSent) {
Event event = new Event ();
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Spinner.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Spinner.java
index e035c52d80..3ffbfa70fa 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Spinner.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Spinner.java
@@ -1220,13 +1220,8 @@ boolean checkSubwindow () {
@Override
boolean translateTraversal (long event) {
- int [] key = new int [1];
- if (GTK.GTK4) {
- key[0] = GDK.gdk_key_event_get_keyval(event);
- } else {
- GDK.gdk_event_get_keyval(event, key);
- }
-
+ int [] key = new int[1];
+ GDK.gdk_event_get_keyval(event, key);
switch (key[0]) {
case GDK.GDK_KP_Enter:
case GDK.GDK_Return: {
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java
index 63f08ff829..aeeab7b506 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java
@@ -2017,36 +2017,22 @@ public int getTopIndex () {
long gtk_button_press_event (long widget, long event) {
double [] eventX = new double [1];
double [] eventY = new double [1];
- if (GTK.GTK4) {
- GDK.gdk_event_get_position(event, eventX, eventY);
- } else {
- GDK.gdk_event_get_coords(event, eventX, eventY);
- }
-
+ GDK.gdk_event_get_coords(event, eventX, eventY);
int eventType = GDK.gdk_event_get_event_type(event);
eventType = fixGdkEventTypeValues(eventType);
-
int [] eventButton = new int [1];
- int [] eventState = new int [1];
- if (GTK.GTK4) {
- eventButton[0] = GDK.gdk_button_event_get_button(event);
- eventState[0] = GDK.gdk_event_get_modifier_state(event);
- } else {
- GDK.gdk_event_get_button(event, eventButton);
- GDK.gdk_event_get_state(event, eventState);
- }
-
+ GDK.gdk_event_get_button(event, eventButton);
double [] eventRX = new double [1];
double [] eventRY = new double [1];
GDK.gdk_event_get_root_coords(event, eventRX, eventRY);
-
+ int [] eventState = new int [1];
+ GDK.gdk_event_get_state(event, eventState);
long eventGdkResource = gdk_event_get_surface_or_window(event);
if (GTK.GTK4) {
if (eventGdkResource != gtk_widget_get_surface (handle)) return 0;
} else {
if (eventGdkResource != GTK.gtk_tree_view_get_bin_window (handle)) return 0;
}
-
long result = super.gtk_button_press_event (widget, event);
if (result != 0) return result;
/*
@@ -2162,13 +2148,8 @@ long gtk_row_activated (long tree, long path, long column) {
@Override
long gtk_key_press_event (long widget, long event) {
- int [] key = new int [1];
- if (GTK.GTK4) {
- key[0] = GDK.gdk_key_event_get_keyval(event);
- } else {
- GDK.gdk_event_get_keyval(event, key);
- }
-
+ int [] key = new int[1];
+ GDK.gdk_event_get_keyval(event, key);
keyPressDefaultSelectionHandler (event, key[0]);
return super.gtk_key_press_event (widget, event);
}
@@ -2217,26 +2198,14 @@ void sendTreeDefaultSelection() {
long gtk_button_release_event (long widget, long event) {
double [] eventX = new double [1];
double [] eventY = new double [1];
- if (GTK.GTK4) {
- GDK.gdk_event_get_position(event, eventX, eventY);
- } else {
- GDK.gdk_event_get_coords(event, eventX, eventY);
- }
-
+ GDK.gdk_event_get_coords(event, eventX, eventY);
int [] eventButton = new int [1];
- int [] eventState = new int [1];
- if (GTK.GTK4) {
- eventButton[0] = GDK.gdk_button_event_get_button(event);
- eventState[0] = GDK.gdk_event_get_modifier_state(event);
- } else {
- GDK.gdk_event_get_button(event, eventButton);
- GDK.gdk_event_get_state(event, eventState);
- }
-
+ GDK.gdk_event_get_button(event, eventButton);
double [] eventRX = new double [1];
double [] eventRY = new double [1];
GDK.gdk_event_get_root_coords(event, eventRX, eventRY);
-
+ int [] eventState = new int [1];
+ GDK.gdk_event_get_state(event, eventState);
long eventGdkResource = gdk_event_get_surface_or_window(event);
if (GTK.GTK4) {
if (eventGdkResource != gtk_widget_get_surface (handle)) return 0;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TableColumn.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TableColumn.java
index 0f941229de..47cf8f6ff9 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TableColumn.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TableColumn.java
@@ -350,12 +350,7 @@ long gtk_clicked (long widget) {
long eventPtr = GTK.gtk_get_current_event ();
if (eventPtr != 0) {
int [] eventButton = new int [1];
- if (GTK.GTK4) {
- eventButton[0] = GDK.gdk_button_event_get_button(eventPtr);
- } else {
- GDK.gdk_event_get_button(eventPtr, eventButton);
- }
-
+ GDK.gdk_event_get_button(eventPtr, eventButton);
int eventType = GDK.gdk_event_get_event_type(eventPtr);
eventType = Control.fixGdkEventTypeValues(eventType);
int eventTime = GDK.gdk_event_get_time(eventPtr);
@@ -383,12 +378,7 @@ long gtk_event_after (long widget, long gdkEvent) {
switch (eventType) {
case GDK.GDK_BUTTON_PRESS: {
int [] eventButton = new int [1];
- if (GTK.GTK4) {
- eventButton[0] = GDK.gdk_button_event_get_button(gdkEvent);
- } else {
- GDK.gdk_event_get_button(gdkEvent, eventButton);
- }
-
+ GDK.gdk_event_get_button(gdkEvent, eventButton);
if (eventButton[0] == 3) {
double [] eventRX = new double [1];
double [] eventRY = new double [1];
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Text.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Text.java
index 36db69c46e..7fdcc1abed 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Text.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Text.java
@@ -1655,7 +1655,7 @@ long gtk_event_after (long widget, long gdkEvent) {
case GDK.GDK_FOCUS_CHANGE:
boolean [] focusIn = new boolean [1];
if (GTK.GTK4) {
- focusIn[0] = GDK.gdk_focus_event_get_in(gdkEvent);
+ GDK.gdk_event_get_focus_in(gdkEvent, focusIn);
} else {
GdkEventFocus gdkEventFocus = new GdkEventFocus ();
OS.memmove (gdkEventFocus, gdkEvent, GdkEventFocus.sizeof);
@@ -1774,19 +1774,16 @@ long gtk_key_press_event (long widget, long event) {
if (hooks (SWT.Segments) || filters (SWT.Segments)) {
int length;
int [] state = new int[1];
- int [] keyval = new int [1];
+ GDK.gdk_event_get_state(event, state);
if (GTK.GTK4) {
- state[0] = GDK.gdk_event_get_modifier_state(event);
- keyval[0] = GDK.gdk_key_event_get_keyval(event);
-
+ long [] eventString = new long [1];
+ GDK.gdk_event_get_string(event, eventString);
+ length = (int)OS.g_utf16_strlen (eventString[0], -1);
} else {
- GDK.gdk_event_get_state(event, state);
- GDK.gdk_event_get_keyval(event, keyval);
+ GdkEventKey gdkEvent = new GdkEventKey ();
+ OS.memmove(gdkEvent, event, GdkEventKey.sizeof);
+ length = gdkEvent.length;
}
-
- long eventStringPtr = GDK.gdk_keyval_name(keyval[0]);
- length = (int)OS.g_utf16_strlen (eventStringPtr, -1);
-
if (length > 0 && (state[0] & (GDK.GDK_MOD1_MASK | GDK.GDK_CONTROL_MASK)) == 0) {
handleSegments = true;
if (segments != null) {
@@ -2744,13 +2741,8 @@ int translateOffset (int offset) {
@Override
boolean translateTraversal (long event) {
- int [] key = new int [1];
- if (GTK.GTK4) {
- key[0] = GDK.gdk_key_event_get_keyval(event);
- } else {
- GDK.gdk_event_get_keyval(event, key);
- }
-
+ int [] key = new int[1];
+ GDK.gdk_event_get_keyval(event, key);
switch (key[0]) {
case GDK.GDK_KP_Enter:
case GDK.GDK_Return: {
@@ -2776,12 +2768,8 @@ int traversalCode (int key, long event) {
if ((style & SWT.MULTI) != 0) {
bits &= ~SWT.TRAVERSE_RETURN;
if (key == GDK.GDK_Tab && event != 0) {
- int [] eventState = new int[1];
- if (GTK.GTK4) {
- eventState[0] = GDK.gdk_event_get_modifier_state(event);
- } else {
- GDK.gdk_event_get_state(event, eventState);
- }
+ int [] eventState = new int [1];
+ GDK.gdk_event_get_state(event, eventState);
boolean next = (eventState[0] & GDK.GDK_SHIFT_MASK) == 0;
if (next && (eventState[0] & GDK.GDK_CONTROL_MASK) == 0) {
bits &= ~(SWT.TRAVERSE_TAB_NEXT | SWT.TRAVERSE_TAB_PREVIOUS);
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolItem.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolItem.java
index ee7e5b2cb0..708874b4d4 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolItem.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolItem.java
@@ -678,12 +678,7 @@ long gtk_event_after (long widget, long gdkEvent) {
switch (eventType) {
case GDK.GDK_BUTTON_PRESS: {
int [] eventButton = new int [1];
- if (GTK.GTK4) {
- eventButton[0] = GDK.gdk_button_event_get_button(gdkEvent);
- } else {
- GDK.gdk_event_get_button(gdkEvent, eventButton);
- }
-
+ GDK.gdk_event_get_button(gdkEvent, eventButton);
if (eventButton[0] == 3) {
double [] eventRX = new double [1];
double [] eventRY = new double [1];
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tracker.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tracker.java
index b60b4af32c..5b244d8001 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tracker.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tracker.java
@@ -485,17 +485,10 @@ long gtk_button_release_event (long widget, long event) {
long gtk_key_press_event (long widget, long eventPtr) {
long result = super.gtk_key_press_event (widget, eventPtr);
if (result != 0) return result;
-
- int [] state = new int [1];
- int [] keyval = new int [1];
- if (GTK.GTK4) {
- state[0] = GDK.gdk_event_get_modifier_state(eventPtr);
- keyval[0] = GDK.gdk_key_event_get_keyval(eventPtr);
- } else {
- GDK.gdk_event_get_state(eventPtr, state);
- GDK.gdk_event_get_keyval(eventPtr, keyval);
- }
-
+ int [] state = new int[1];
+ GDK.gdk_event_get_state(eventPtr, state);
+ int [] keyval = new int[1];
+ GDK.gdk_event_get_keyval(eventPtr, keyval);
int stepSize = ((state[0] & GDK.GDK_CONTROL_MASK) != 0) ? STEPSIZE_SMALL : STEPSIZE_LARGE;
int xChange = 0, yChange = 0;
switch (keyval[0]) {
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TrayItem.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TrayItem.java
index 11fda1ed66..90557f847b 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TrayItem.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TrayItem.java
@@ -276,14 +276,8 @@ long gtk_activate (long widget) {
long gtk_button_press_event (long widget, long event) {
int eventType = GDK.gdk_event_get_event_type(event);
eventType = Control.fixGdkEventTypeValues(eventType);
-
int [] eventButton = new int [1];
- if (GTK.GTK4) {
- eventButton[0] = GDK.gdk_button_event_get_button(event);
- } else {
- GDK.gdk_event_get_button(event, eventButton);
- }
-
+ GDK.gdk_event_get_button(event, eventButton);
if (eventType == GDK.GDK_3BUTTON_PRESS) return 0;
if (eventButton[0] == 3 && eventType == GDK.GDK_BUTTON_PRESS) {
sendEvent (SWT.MenuDetect);
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java
index 4dcc49310b..59b2c64ddd 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java
@@ -2117,29 +2117,16 @@ TreeItem _getCachedTopItem() {
long gtk_button_press_event (long widget, long event) {
double [] eventX = new double [1];
double [] eventY = new double [1];
- if (GTK.GTK4) {
- GDK.gdk_event_get_position(event, eventX, eventY);
- } else {
- GDK.gdk_event_get_coords(event, eventX, eventY);
- }
-
+ GDK.gdk_event_get_coords(event, eventX, eventY);
int eventType = GDK.gdk_event_get_event_type(event);
eventType = fixGdkEventTypeValues(eventType);
-
int [] eventButton = new int [1];
- int [] eventState = new int [1];
- if (GTK.GTK4) {
- eventButton[0] = GDK.gdk_button_event_get_button(event);
- eventState[0] = GDK.gdk_event_get_modifier_state(event);
- } else {
- GDK.gdk_event_get_button(event, eventButton);
- GDK.gdk_event_get_state(event, eventState);
- }
-
+ GDK.gdk_event_get_button(event, eventButton);
double [] eventRX = new double [1];
double [] eventRY = new double [1];
GDK.gdk_event_get_root_coords(event, eventRX, eventRY);
-
+ int [] eventState = new int [1];
+ GDK.gdk_event_get_state(event, eventState);
long eventGdkResource = gdk_event_get_surface_or_window(event);
if (GTK.GTK4) {
if (eventGdkResource != gtk_widget_get_surface (handle)) return 0;
@@ -2261,13 +2248,8 @@ long gtk_row_activated (long tree, long path, long column) {
@Override
long gtk_key_press_event (long widget, long event) {
- int [] key = new int [1];
- if (GTK.GTK4) {
- key[0] = GDK.gdk_key_event_get_keyval(event);
- } else {
- GDK.gdk_event_get_keyval(event, key);
- }
-
+ int [] key = new int[1];
+ GDK.gdk_event_get_keyval(event, key);
keyPressDefaultSelectionHandler (event, key[0]);
return super.gtk_key_press_event (widget, event);
}
@@ -2315,25 +2297,14 @@ void sendTreeDefaultSelection() {
long gtk_button_release_event (long widget, long event) {
double [] eventX = new double [1];
double [] eventY = new double [1];
- if (GTK.GTK4) {
- GDK.gdk_event_get_position(event, eventX, eventY);
- } else {
- GDK.gdk_event_get_coords(event, eventX, eventY);
- }
+ GDK.gdk_event_get_coords(event, eventX, eventY);
int [] eventButton = new int [1];
- int [] eventState = new int [1];
- if (GTK.GTK4) {
- eventButton[0] = GDK.gdk_button_event_get_button(event);
- eventState[0] = GDK.gdk_event_get_modifier_state(event);
- } else {
- GDK.gdk_event_get_button(event, eventButton);
- GDK.gdk_event_get_state(event, eventState);
- }
-
+ GDK.gdk_event_get_button(event, eventButton);
double [] eventRX = new double [1];
double [] eventRY = new double [1];
GDK.gdk_event_get_root_coords(event, eventRX, eventRY);
-
+ int [] eventState = new int [1];
+ GDK.gdk_event_get_state(event, eventState);
long eventGdkResource = gdk_event_get_surface_or_window(event);
if (GTK.GTK4) {
if (eventGdkResource != gtk_widget_get_surface (handle)) return 0;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeColumn.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeColumn.java
index 5f627747b6..ec30bbe978 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeColumn.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeColumn.java
@@ -352,12 +352,7 @@ long gtk_clicked (long widget) {
long eventPtr = GTK.gtk_get_current_event ();
if (eventPtr != 0) {
int [] eventButton = new int [1];
- if (GTK.GTK4) {
- eventButton[0] = GDK.gdk_button_event_get_button(eventPtr);
- } else {
- GDK.gdk_event_get_button(eventPtr, eventButton);
- }
-
+ GDK.gdk_event_get_button(eventPtr, eventButton);
int eventType = GDK.gdk_event_get_event_type(eventPtr);
eventType = Control.fixGdkEventTypeValues(eventType);
int eventTime = GDK.gdk_event_get_time(eventPtr);
@@ -385,16 +380,10 @@ long gtk_event_after (long widget, long gdkEvent) {
switch (eventType) {
case GDK.GDK_BUTTON_PRESS: {
int [] eventButton = new int [1];
- if (GTK.GTK4) {
- eventButton[0] = GDK.gdk_button_event_get_button(gdkEvent);
- } else {
- GDK.gdk_event_get_button(gdkEvent, eventButton);
- }
-
+ GDK.gdk_event_get_button(gdkEvent, eventButton);
double [] eventRX = new double [1];
double [] eventRY = new double [1];
GDK.gdk_event_get_root_coords(gdkEvent, eventRX, eventRY);
-
if (eventButton[0] == 3) {
parent.showMenu ((int) eventRX[0], (int) eventRY[0]);
}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java
index 076f64f31e..ea39d1a01c 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java
@@ -1456,16 +1456,17 @@ void sendEvent (int eventType, Event event, boolean send) {
boolean sendKeyEvent (int type, long event) {
int length;
long string;
- int [] keyval = new int [1];
if (GTK.GTK4) {
- keyval[0] = GDK.gdk_key_event_get_keyval(event);
+ long [] eventString = new long [1];
+ GDK.gdk_event_get_string(event, eventString);
+ string = eventString[0];
+ length = (int)OS.g_utf16_strlen (string, -1);
} else {
- GDK.gdk_event_get_keyval(event, keyval);
+ GdkEventKey gdkEvent = new GdkEventKey ();
+ OS.memmove(gdkEvent, event, GdkEventKey.sizeof);
+ length = gdkEvent.length;
+ string = gdkEvent.string;
}
-
- string = GDK.gdk_keyval_name(keyval[0]);
- length = (int)OS.g_utf16_strlen (string, -1);
-
if (string == 0 || OS.g_utf16_strlen (string, length) <= 1) {
Event javaEvent = new Event ();
javaEvent.time = GDK.gdk_event_get_time(event);
@@ -1500,11 +1501,7 @@ char [] sendIMKeyEvent (int type, long event, char [] chars) {
case GDK.GDK_KEY_PRESS:
case GDK.GDK_KEY_RELEASE:
int [] eventState = new int[1];
- if (GTK.GTK4) {
- eventState[0] = GDK.gdk_event_get_modifier_state(event);
- } else {
- GDK.gdk_event_get_state(event, eventState);
- }
+ GDK.gdk_event_get_state(ptr, eventState);
state = eventState[0];
break;
default:
@@ -1569,25 +1566,15 @@ void sendSelectionEvent (int eventType, Event event, boolean send) {
case GDK.GDK_BUTTON_PRESS:
case GDK.GDK_2BUTTON_PRESS:
case GDK.GDK_BUTTON_RELEASE: {
-
int [] eventButton = new int [1];
- if (GTK.GTK4) {
- eventButton[0] = GDK.gdk_button_event_get_button(ptr);
- } else {
- GDK.gdk_event_get_button(ptr, eventButton);
- }
-
+ GDK.gdk_event_get_button(ptr, eventButton);
setButtonState(event, eventButton [0]);
}
//$FALL-THROUGH$
case GDK.GDK_KEY_PRESS:
case GDK.GDK_KEY_RELEASE: {
- int [] state = new int[1];
- if (GTK.GTK4) {
- state[0] = GDK.gdk_event_get_modifier_state(ptr);
- } else {
- GDK.gdk_event_get_state(ptr, state);
- }
+ int [] state = new int [1];
+ GDK.gdk_event_get_state (ptr, state);
setInputState (event, state [0]);
break;
}
@@ -1753,28 +1740,26 @@ boolean setInputState (Event event, int state) {
boolean setKeyState (Event javaEvent, long event) {
long string;
int length;
+ int [] eventKeyval = new int[1];
int group;
- int [] eventKeyval = new int [1];
- int [] eventState = new int [1];
+ GDK.gdk_event_get_keyval(event, eventKeyval);
+ int [] eventState = new int[1];
+ GDK.gdk_event_get_state(event, eventState);
if (GTK.GTK4) {
- eventKeyval[0] = GDK.gdk_key_event_get_keyval(event);
- eventState[0] = GDK.gdk_event_get_modifier_state(event);
- } else {
- GDK.gdk_event_get_keyval(event, eventKeyval);
- GDK.gdk_event_get_state(event, eventState);
- }
-
- if (GTK.GTK4) {
- group = GDK.gdk_key_event_get_layout(event);
+ long [] eventString = new long [1];
+ GDK.gdk_event_get_string(event, eventString);
+ string = eventString[0];
+ length = (int)OS.g_utf16_strlen (string, -1);
+ int [] eventGroup = new int [1];
+ GDK.gdk_event_get_key_group(event, eventGroup);
+ group = eventGroup[0];
} else {
GdkEventKey gdkEvent = new GdkEventKey ();
OS.memmove(gdkEvent, event, GdkEventKey.sizeof);
+ length = gdkEvent.length;
+ string = gdkEvent.string;
group = gdkEvent.group;
}
-
- string = GDK.gdk_keyval_name(eventKeyval[0]);
- length = (int)OS.g_utf16_strlen (string, -1);
-
if (string != 0 && OS.g_utf16_strlen (string, length) > 1) return false;
boolean isNull = false;
javaEvent.keyCode = Display.translateKey (eventKeyval[0]);
@@ -1821,11 +1806,7 @@ boolean setKeyState (Event javaEvent, long event) {
void setLocationState (Event event, long eventPtr) {
int [] eventKeyval = new int[1];
- if (GTK.GTK4) {
- eventKeyval[0] = GDK.gdk_key_event_get_keyval(eventPtr);
- } else {
- GDK.gdk_event_get_keyval(eventPtr, eventKeyval);
- }
+ GDK.gdk_event_get_keyval(eventPtr, eventKeyval);
switch (eventKeyval[0]) {
case GDK.GDK_Alt_L:
case GDK.GDK_Shift_L:
@@ -1963,7 +1944,7 @@ void gdk_surface_get_size (long surface, int[] width, int[] height) {
void gdk_event_free (long event) {
if (event == 0) return;
if (GTK.GTK4) {
- GDK.gdk_event_unref(event);
+ OS.g_object_unref(event);
} else {
GDK.gdk_event_free(event);
}
@@ -2007,12 +1988,8 @@ long gdk_event_peek() {
* OS.GDK_SHIFT_MASK / OS.GDK_CONTROL_MASK / OS.GDK_MOD1_MASK etc..
*/
int gdk_event_get_state (long event) {
- int [] state = new int[1];
- if (GTK.GTK4) {
- state[0] = GDK.gdk_event_get_modifier_state(event);
- } else {
- GDK.gdk_event_get_state(event, state);
- }
+ int [] state = new int [1];
+ GDK.gdk_event_get_state (event, state);
return state[0];
}

Back to the top