diff options
author | Grant Gayed <ggayed> | 2003-01-23 16:42:02 +0000 |
---|---|---|
committer | Grant Gayed <ggayed> | 2003-01-23 16:42:02 +0000 |
commit | 163a1f5fcb1b71e050b3ad44b8661b8137b71203 (patch) | |
tree | 71074fd5b7313300eba15c8a6acd70566dae15ea /bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Scale.java | |
parent | 4df1564310933f7cdc0b8bae524d9bc4d35d92c0 (diff) | |
download | eclipse.platform.swt-163a1f5fcb1b71e050b3ad44b8661b8137b71203.tar.gz eclipse.platform.swt-163a1f5fcb1b71e050b3ad44b8661b8137b71203.tar.xz eclipse.platform.swt-163a1f5fcb1b71e050b3ad44b8661b8137b71203.zip |
*** empty log message ***
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Scale.java')
-rw-r--r-- | bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Scale.java | 61 |
1 files changed, 20 insertions, 41 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Scale.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Scale.java index 31b1f263ae..8f68d2440b 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Scale.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Scale.java @@ -288,14 +288,9 @@ public void removeSelectionListener (SelectionListener listener) { public void setIncrement (int value) { checkWidget (); if (value < 1) return; - int hAdjustment = OS.gtk_range_get_adjustment (handle); - GtkAdjustment adjustment = new GtkAdjustment (); - OS.memmove (adjustment, hAdjustment); - adjustment.step_increment = (float) value; - OS.memmove (hAdjustment, adjustment); - OS.g_signal_handlers_block_matched (hAdjustment, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, VALUE_CHANGED); - OS.gtk_adjustment_changed (hAdjustment); - OS.g_signal_handlers_unblock_matched (hAdjustment, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, VALUE_CHANGED); + OS.g_signal_handlers_block_matched (handle, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, VALUE_CHANGED); + OS.gtk_range_set_increments (handle, value, getPageIncrement ()); + OS.g_signal_handlers_unblock_matched (handle, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, VALUE_CHANGED); } /** @@ -312,16 +307,11 @@ public void setIncrement (int value) { */ public void setMaximum (int value) { checkWidget (); - int hAdjustment = OS.gtk_range_get_adjustment (handle); - GtkAdjustment adjustment = new GtkAdjustment (); - OS.memmove (adjustment, hAdjustment); - if (value <= adjustment.lower) return; - adjustment.upper = (float) value; - adjustment.value = Math.min (adjustment.value, value); - OS.memmove (hAdjustment, adjustment); - OS.g_signal_handlers_block_matched (hAdjustment, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, VALUE_CHANGED); - OS.gtk_adjustment_changed (hAdjustment); - OS.g_signal_handlers_unblock_matched (hAdjustment, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, VALUE_CHANGED); + int minimum = getMinimum(); + if (value <= minimum) return; + OS.g_signal_handlers_block_matched (handle, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, VALUE_CHANGED); + OS.gtk_range_set_range (handle, minimum, value); + OS.g_signal_handlers_unblock_matched (handle, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, VALUE_CHANGED); } /** @@ -339,16 +329,11 @@ public void setMaximum (int value) { public void setMinimum (int value) { checkWidget (); if (value < 0) return; - int hAdjustment = OS.gtk_range_get_adjustment (handle); - GtkAdjustment adjustment = new GtkAdjustment (); - OS.memmove (adjustment, hAdjustment); - if (value >= adjustment.upper) return; - adjustment.lower = (float) value; - adjustment.value = Math.max (adjustment.value, value); - OS.memmove (hAdjustment, adjustment); - OS.g_signal_handlers_block_matched (hAdjustment, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, VALUE_CHANGED); - OS.gtk_adjustment_changed (hAdjustment); - OS.g_signal_handlers_unblock_matched (hAdjustment, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, VALUE_CHANGED); + int maximum = getMaximum (); + if (value >= maximum) return; + OS.g_signal_handlers_block_matched (handle, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, VALUE_CHANGED); + OS.gtk_range_set_range (handle, value, maximum); + OS.g_signal_handlers_unblock_matched (handle, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, VALUE_CHANGED); } /** @@ -367,14 +352,9 @@ public void setMinimum (int value) { public void setPageIncrement (int value) { checkWidget (); if (value < 1) return; - int hAdjustment = OS.gtk_range_get_adjustment (handle); - GtkAdjustment adjustment = new GtkAdjustment (); - OS.memmove (adjustment, hAdjustment); - adjustment.page_increment = (float) value; - OS.memmove (hAdjustment, adjustment); - OS.g_signal_handlers_block_matched (hAdjustment, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, VALUE_CHANGED); - OS.gtk_adjustment_changed (hAdjustment); - OS.g_signal_handlers_unblock_matched (hAdjustment, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, VALUE_CHANGED); + OS.g_signal_handlers_block_matched (handle, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, VALUE_CHANGED); + OS.gtk_range_set_increments (handle, getIncrement (), value); + OS.g_signal_handlers_unblock_matched (handle, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, VALUE_CHANGED); } /** @@ -390,11 +370,10 @@ public void setPageIncrement (int value) { * </ul> */ public void setSelection (int value) { - checkWidget(); - int hAdjustment = OS.gtk_range_get_adjustment (handle); - OS.g_signal_handlers_block_matched (hAdjustment, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, VALUE_CHANGED); - OS.gtk_adjustment_set_value (hAdjustment, value); - OS.g_signal_handlers_unblock_matched (hAdjustment, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, VALUE_CHANGED); + checkWidget (); + OS.g_signal_handlers_block_matched (handle, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, VALUE_CHANGED); + OS.gtk_range_set_value (handle, value); + OS.g_signal_handlers_unblock_matched (handle, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, VALUE_CHANGED); } } |