Mercurial > dive4elements > river
annotate flys-client/src/main/java/de/intevation/flys/client/client/widgets/KMSpinner.java @ 4562:2fab2679eec9
Remove obsolete imports
Fixes current build
author | Björn Ricks <bjoern.ricks@intevation.de> |
---|---|
date | Fri, 16 Nov 2012 14:56:04 +0100 |
parents | 4aa7216b329a |
children |
rev | line source |
---|---|
3717
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.client.client.widgets; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
2 |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
3 import com.google.gwt.core.client.GWT; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
4 import com.google.gwt.i18n.client.NumberFormat; |
3852
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
5 |
3717
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
6 import com.smartgwt.client.data.Record; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
7 import com.smartgwt.client.widgets.Button; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
8 import com.smartgwt.client.widgets.Label; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
9 import com.smartgwt.client.widgets.events.ClickEvent; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
10 import com.smartgwt.client.widgets.form.DynamicForm; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
11 import com.smartgwt.client.widgets.form.FormItemValueFormatter; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
12 import com.smartgwt.client.widgets.form.FormItemValueParser; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
13 import com.smartgwt.client.widgets.form.fields.FormItem; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
14 import com.smartgwt.client.widgets.form.fields.TextItem; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
15 import com.smartgwt.client.widgets.form.fields.events.BlurEvent; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
16 import com.smartgwt.client.widgets.form.fields.events.BlurHandler; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
17 import com.smartgwt.client.widgets.form.fields.events.KeyPressEvent; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
18 import com.smartgwt.client.widgets.form.fields.events.KeyPressHandler; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
19 import com.smartgwt.client.widgets.layout.HLayout; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
20 |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
21 import de.intevation.flys.client.shared.model.FacetRecord; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
22 |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
23 import java.util.ArrayList; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
24 import java.util.List; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
25 |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
26 /** |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
27 * SpinnerItem-like element with text label and up/down buttons. |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
28 */ |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
29 public class KMSpinner extends HLayout { |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
30 protected List<KMSpinnerChangeListener> listeners = new ArrayList<KMSpinnerChangeListener>(); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
31 |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
32 protected Label label; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
33 protected FacetRecord facetRecord; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
34 protected double value; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
35 |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
36 public KMSpinner(double initialValue, FacetRecord facetRecord) { |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
37 super(2); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
38 this.facetRecord = facetRecord; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
39 this.value = initialValue; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
40 |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
41 setWidth("99%"); |
3852
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
42 setHeight(18); |
3717
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
43 |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
44 // minusButton shall ask service for previous available cs. |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
45 Button minusButton = new Button("-"); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
46 minusButton.setWidth(18); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
47 minusButton.setHeight(18); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
48 minusButton.addClickHandler(new com.smartgwt.client.widgets.events.ClickHandler() { |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
49 public void onClick(ClickEvent evt) { |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
50 fireChangedEvent(value - 0.1d, false); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
51 } |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
52 }); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
53 |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
54 DynamicForm form = new DynamicForm(); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
55 final TextItem kmField = new TextItem(); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
56 kmField.setValue(initialValue); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
57 kmField.setWidth("*"); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
58 kmField.setTitle(""); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
59 kmField.setHeight(16); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
60 |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
61 FormItemValueFormatter doubleFormat = new FormItemValueFormatter() { |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
62 public String formatValue(Object value, Record record, DynamicForm form, FormItem item) { |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
63 if (value != null) { |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
64 NumberFormat nf = NumberFormat.getDecimalFormat(); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
65 try { |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
66 double d = Double.valueOf(value.toString()).doubleValue(); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
67 return nf.format(d); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
68 } |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
69 catch (Exception e) { |
3852
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
70 GWT.log("EditorValueFormatter exception: " + e.toString()); |
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
71 |
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
72 // Remove junk chars from input string |
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
73 return doublefyString(value.toString()); |
3717
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
74 } |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
75 } |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
76 else { |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
77 return null; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
78 } |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
79 } |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
80 }; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
81 kmField.setEditorValueFormatter(doubleFormat); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
82 |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
83 FormItemValueParser doubleParser = new FormItemValueParser() { |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
84 public Object parseValue(String value, DynamicForm form, FormItem item) { |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
85 if (value == null) |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
86 return null; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
87 try { |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
88 NumberFormat nf = NumberFormat.getDecimalFormat(); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
89 double d = nf.parse(value.toString()); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
90 return Double.toString(d); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
91 } |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
92 catch(NumberFormatException nfe) { |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
93 return value; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
94 } |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
95 } |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
96 }; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
97 kmField.setEditorValueParser(doubleParser); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
98 |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
99 // Update on focus lost and enter-pressed. |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
100 kmField.addBlurHandler(new BlurHandler() { |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
101 @Override |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
102 public void onBlur(BlurEvent be) { |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
103 if (kmField.getValue() != null) { |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
104 try { |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
105 fireChangedEvent(Double.parseDouble(kmField.getValue().toString()), true); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
106 } |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
107 catch(NumberFormatException nfe) { |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
108 GWT.log("entered string cannot be parsed to double."); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
109 } |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
110 } |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
111 } |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
112 }); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
113 kmField.addKeyPressHandler(new KeyPressHandler() { |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
114 @Override |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
115 public void onKeyPress(KeyPressEvent kpe) { |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
116 if (kpe.getKeyName().equals("Enter")) { |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
117 kmField.blurItem(); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
118 } |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
119 } |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
120 }); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
121 |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
122 // TODO: i18n Now add all the validators, formatters, editors/parsers etc. |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
123 form.setFields(kmField); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
124 form.setTitle(""); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
125 form.setTitlePrefix(""); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
126 form.setTitleSuffix(""); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
127 form.setTitleWidth(0); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
128 form.setWidth(50); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
129 form.setHeight(18); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
130 |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
131 // PlusButton shall ask service for next available cs. |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
132 Button plusButton = new Button("+"); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
133 plusButton.setWidth(18); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
134 plusButton.setHeight(18); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
135 plusButton.addClickHandler(new com.smartgwt.client.widgets.events.ClickHandler() { |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
136 public void onClick(ClickEvent evt) { |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
137 fireChangedEvent(value + 0.1d, true); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
138 } |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
139 }); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
140 |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
141 this.addMember(minusButton); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
142 this.addMember(form); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
143 this.addMember(plusButton); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
144 } |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
145 |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
146 public void addChangeListener(KMSpinnerChangeListener listener) { |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
147 this.listeners.add(listener); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
148 } |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
149 |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
150 protected void fireChangedEvent(double val, boolean up) { |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
151 for(KMSpinnerChangeListener listener : listeners) { |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
152 listener.spinnerValueEntered(this, val, facetRecord, up); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
153 } |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
154 } |
3852
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
155 |
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
156 /** |
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
157 * Remove junk chars from double string. |
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
158 * This method should work for most locales, but not for |
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
159 * exotic ones that do not use "." or "," as decimal |
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
160 * separator. |
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
161 * @return |
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
162 */ |
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
163 protected String doublefyString(String str) { |
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
164 StringBuilder buf = new StringBuilder(str.length()); |
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
165 |
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
166 for (int n = 0; n < str.length(); n++) { |
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
167 char c = str.charAt(n); |
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
168 if ((c >= '0' && c <= '9') || c == '.' || c == ',') { |
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
169 buf.append(c); |
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
170 } |
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
171 } |
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
172 |
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
173 return buf.toString(); |
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
174 } |
3717
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
175 } |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
176 |