summaryrefslogtreecommitdiffstats
path: root/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Spinner.java
diff options
context:
space:
mode:
authorFelipe Heidrich <fheidric>2006-12-19 00:36:06 +0000
committerFelipe Heidrich <fheidric>2006-12-19 00:36:06 +0000
commit48c6107564896d466448d735033d9e2439b7c153 (patch)
treec293c658d50092e98d3edac8213ca0f399e742a6 /bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Spinner.java
parentd90ce82c4bd1df73e3b8427cbe02d4f5420c1576 (diff)
downloadeclipse.platform.swt-48c6107564896d466448d735033d9e2439b7c153.tar.gz
eclipse.platform.swt-48c6107564896d466448d735033d9e2439b7c153.tar.xz
eclipse.platform.swt-48c6107564896d466448d735033d9e2439b7c153.zip
*** empty log message ***
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Spinner.java')
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Spinner.java15
1 files changed, 15 insertions, 0 deletions
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 f1b2c768c3..19d5692813 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
@@ -482,6 +482,21 @@ int /*long*/ gtk_activate (int /*long*/ widget) {
}
int /*long*/ gtk_changed (int /*long*/ widget) {
+ int /*long*/ str = OS.gtk_entry_get_text (handle);
+ int length = OS.strlen (str);
+ if (length > 0) {
+ int /*long*/ [] endptr = new int /*long*/ [1];
+ double value = OS.g_strtod (str, endptr);
+ if (endptr [0] == str + length) {
+ int /*long*/ hAdjustment = OS.gtk_spin_button_get_adjustment (handle);
+ GtkAdjustment adjustment = new GtkAdjustment ();
+ OS.memmove (adjustment, hAdjustment);
+ if (value != adjustment.value && adjustment.lower <= value && value <= adjustment.upper) {
+ OS.gtk_spin_button_update (handle);
+ }
+ }
+ }
+
/*
* Feature in GTK. When the user types, GTK positions
* the caret after sending the changed signal. This