diff options
author | Billy Biggs <bbiggs> | 2005-08-03 19:20:38 +0000 |
---|---|---|
committer | Billy Biggs <bbiggs> | 2005-08-03 19:20:38 +0000 |
commit | 13a310a2d86d21288f6ba8222bb84b202aeb8f10 (patch) | |
tree | be658592bdca05cefc12b5d485c61833f0d59408 | |
parent | ecd1439b859941293b6ce2277d9cfbd049a2cdb6 (diff) | |
download | eclipse.platform.swt-13a310a2d86d21288f6ba8222bb84b202aeb8f10.tar.gz eclipse.platform.swt-13a310a2d86d21288f6ba8222bb84b202aeb8f10.tar.xz eclipse.platform.swt-13a310a2d86d21288f6ba8222bb84b202aeb8f10.zip |
105133
-rw-r--r-- | bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ScrollBar.java | 17 | ||||
-rw-r--r-- | bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Slider.java | 17 |
2 files changed, 18 insertions, 16 deletions
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 acb0a42830..919c82b64b 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 @@ -82,6 +82,7 @@ import org.eclipse.swt.events.*; public class ScrollBar extends Widget { Scrollable parent; int /*long*/ adjustmentHandle; + int detail; ScrollBar () { } @@ -340,8 +341,13 @@ public boolean getVisible () { } int /*long*/ gtk_change_value (int /*long*/ widget, int /*long*/ scroll, int /*long*/ value1, int /*long*/ value2) { + detail = (int)/*64*/scroll; + return 0; +} + +int /*long*/ gtk_value_changed (int /*long*/ adjustment) { Event event = new Event (); - switch ((int)/*64*/scroll) { + switch (detail) { case OS.GTK_SCROLL_NONE: event.detail = SWT.NONE; break; case OS.GTK_SCROLL_JUMP: event.detail = SWT.DRAG; break; case OS.GTK_SCROLL_START: event.detail = SWT.HOME; break; @@ -359,22 +365,17 @@ int /*long*/ gtk_change_value (int /*long*/ widget, int /*long*/ scroll, int /*l case OS.GTK_SCROLL_STEP_LEFT: case OS.GTK_SCROLL_STEP_BACKWARD: event.detail = SWT.ARROW_UP; break; } + detail = OS.GTK_SCROLL_NONE; postEvent (SWT.Selection, event); return 0; } -int /*long*/ gtk_value_changed (int /*long*/ adjustment) { - postEvent (SWT.Selection); - return 0; -} - void hookEvents () { super.hookEvents (); if (OS.GTK_VERSION >= OS.VERSION (2, 6, 0)) { OS.g_signal_connect (handle, OS.change_value, display.windowProc5, CHANGE_VALUE); - } else { - OS.g_signal_connect (adjustmentHandle, OS.value_changed, display.windowProc2, VALUE_CHANGED); } + OS.g_signal_connect (adjustmentHandle, OS.value_changed, display.windowProc2, VALUE_CHANGED); } /** 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 1c0beecf0f..bea0d96e0a 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 @@ -65,6 +65,7 @@ import org.eclipse.swt.events.*; * @see ScrollBar */ public class Slider extends Control { + int detail; /** * Constructs a new instance of this class given its parent @@ -161,8 +162,13 @@ void createHandle (int index) { } int /*long*/ gtk_change_value (int /*long*/ widget, int /*long*/ scroll, int /*long*/ value1, int /*long*/ value2) { + detail = (int)/*64*/scroll; + return 0; +} + +int /*long*/ gtk_value_changed (int /*long*/ adjustment) { Event event = new Event (); - switch ((int)/*64*/scroll) { + switch (detail) { case OS.GTK_SCROLL_NONE: event.detail = SWT.NONE; break; case OS.GTK_SCROLL_JUMP: event.detail = SWT.DRAG; break; case OS.GTK_SCROLL_START: event.detail = SWT.HOME; break; @@ -180,22 +186,17 @@ int /*long*/ gtk_change_value (int /*long*/ widget, int /*long*/ scroll, int /*l case OS.GTK_SCROLL_STEP_LEFT: case OS.GTK_SCROLL_STEP_BACKWARD: event.detail = SWT.ARROW_UP; break; } + detail = OS.GTK_SCROLL_NONE; postEvent (SWT.Selection, event); return 0; } -int /*long*/ gtk_value_changed (int /*long*/ adjustment) { - postEvent (SWT.Selection); - return 0; -} - void hookEvents () { super.hookEvents (); if (OS.GTK_VERSION >= OS.VERSION (2, 6, 0)) { OS.g_signal_connect (handle, OS.change_value, display.windowProc5, CHANGE_VALUE); - } else { - OS.g_signal_connect (handle, OS.value_changed, display.windowProc2, VALUE_CHANGED); } + OS.g_signal_connect (handle, OS.value_changed, display.windowProc2, VALUE_CHANGED); } void register () { |