diff options
author | Bogdan Gheorghe <gheorghe> | 2009-04-06 19:46:07 +0000 |
---|---|---|
committer | Bogdan Gheorghe <gheorghe> | 2009-04-06 19:46:07 +0000 |
commit | d56ed52c6c46e9354b94cdb88a72921d9e8ccd4a (patch) | |
tree | bca7125564c7c0d068fd3229abcc117c28514757 /bundles/org.eclipse.swt/Eclipse SWT/gtk | |
parent | ce281cb196b10adcbca7d0a8e66ab94ce171eb76 (diff) | |
download | eclipse.platform.swt-d56ed52c6c46e9354b94cdb88a72921d9e8ccd4a.tar.gz eclipse.platform.swt-d56ed52c6c46e9354b94cdb88a72921d9e8ccd4a.tar.xz eclipse.platform.swt-d56ed52c6c46e9354b94cdb88a72921d9e8ccd4a.zip |
246408 Parent Composite gets MouseEntered event when mouse enters a control
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT/gtk')
5 files changed, 21 insertions, 0 deletions
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 dbb7f314d6..fd6e3b63dd 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 @@ -2181,6 +2181,10 @@ public void setVisibleItemCount (int count) { visibleCount = count; } +boolean checkSubwindow () { + return false; +} + boolean translateTraversal (GdkEventKey keyEvent) { int key = keyEvent.keyval; switch (key) { 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 24659c87c2..98ab37ac21 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 @@ -1378,6 +1378,10 @@ void showWidget () { if (scrolledHandle == 0) fixStyle (handle); } +boolean checkSubwindow () { + return true; +} + boolean translateMnemonic (Event event, Control control) { if (super.translateMnemonic (event, control)) return true; if (control != null) { 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 6f3b1c9114..8a5b4683b7 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 @@ -2628,6 +2628,7 @@ int /*long*/ gtk_enter_notify_event (int /*long*/ widget, int /*long*/ event) { if (display.currentControl == this) return 0; GdkEventCrossing gdkEvent = new GdkEventCrossing (); OS.memmove (gdkEvent, event, GdkEventCrossing.sizeof); + if (gdkEvent.subwindow != 0 && checkSubwindow ()) return 0; if (gdkEvent.mode != OS.GDK_CROSSING_NORMAL && gdkEvent.mode != OS.GDK_CROSSING_UNGRAB) return 0; if ((gdkEvent.state & (OS.GDK_BUTTON1_MASK | OS.GDK_BUTTON2_MASK | OS.GDK_BUTTON3_MASK)) != 0) return 0; if (display.currentControl != null && !display.currentControl.isDisposed ()) { @@ -2641,6 +2642,10 @@ int /*long*/ gtk_enter_notify_event (int /*long*/ widget, int /*long*/ event) { return 0; } +boolean checkSubwindow () { + return false; +} + int /*long*/ gtk_event_after (int /*long*/ widget, int /*long*/ gdkEvent) { GdkEvent event = new GdkEvent (); OS.memmove (event, gdkEvent, GdkEvent.sizeof); 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 d97b0f49a5..f9adfb2b49 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 @@ -251,6 +251,10 @@ void createHandle (int index) { } } +boolean checkSubwindow () { + return false; +} + void createWidget (int index) { super.createWidget (index); if ((style & SWT.CALENDAR) != 0) { 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 7180778e24..6840a2adee 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 @@ -1127,6 +1127,10 @@ public void setValues (int selection, int minimum, int maximum, int digits, int OS.g_signal_handlers_unblock_matched (handle, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, VALUE_CHANGED); } +boolean checkSubwindow () { + return false; +} + boolean translateTraversal (GdkEventKey keyEvent) { int key = keyEvent.keyval; switch (key) { |