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 /bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ScrollBar.java | |
parent | ecd1439b859941293b6ce2277d9cfbd049a2cdb6 (diff) | |
download | eclipse.platform.swt-13a310a2d86d21288f6ba8222bb84b202aeb8f10.tar.gz eclipse.platform.swt-13a310a2d86d21288f6ba8222bb84b202aeb8f10.tar.xz eclipse.platform.swt-13a310a2d86d21288f6ba8222bb84b202aeb8f10.zip |
105133
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ScrollBar.java')
-rw-r--r-- | bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ScrollBar.java | 17 |
1 files changed, 9 insertions, 8 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); } /** |