summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBilly Biggs <bbiggs>2005-08-03 19:20:38 +0000
committerBilly Biggs <bbiggs>2005-08-03 19:20:38 +0000
commit13a310a2d86d21288f6ba8222bb84b202aeb8f10 (patch)
treebe658592bdca05cefc12b5d485c61833f0d59408
parentecd1439b859941293b6ce2277d9cfbd049a2cdb6 (diff)
downloadeclipse.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.java17
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Slider.java17
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 () {