Mercurial > dive4elements > river
annotate gwt-client/src/main/java/org/dive4elements/river/client/client/widgets/KMSpinner.java @ 9709:b74f817435fe
comment removed
author | dnt_bjoernsen <d.tironi@bjoernsen.de> |
---|---|
date | Wed, 27 Jan 2021 11:47:38 +0100 |
parents | 5e38e2924c07 |
children |
rev | line source |
---|---|
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
2 * Software engineering by Intevation GmbH |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
3 * |
5993
ea9eef426962
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5861
diff
changeset
|
4 * This file is Free Software under the GNU AGPL (>=v3) |
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
5993
ea9eef426962
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5861
diff
changeset
|
6 * documentation coming with Dive4Elements River for details. |
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
7 */ |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
8 |
5835
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
9 package org.dive4elements.river.client.client.widgets; |
3717
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
10 |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
11 import com.google.gwt.core.client.GWT; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
12 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
|
13 |
3717
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
14 import com.smartgwt.client.data.Record; |
7982
b1ff606f01ee
Fixed some smartgwt 4.1 related issues.
Raimund Renkert <rrenkert@intevation.de>
parents:
5993
diff
changeset
|
15 import com.smartgwt.client.types.VerticalAlignment; |
3717
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
16 import com.smartgwt.client.widgets.Button; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
17 import com.smartgwt.client.widgets.Label; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
18 import com.smartgwt.client.widgets.events.ClickEvent; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
19 import com.smartgwt.client.widgets.form.DynamicForm; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
20 import com.smartgwt.client.widgets.form.FormItemValueFormatter; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
21 import com.smartgwt.client.widgets.form.FormItemValueParser; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
22 import com.smartgwt.client.widgets.form.fields.FormItem; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
23 import com.smartgwt.client.widgets.form.fields.TextItem; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
24 import com.smartgwt.client.widgets.form.fields.events.BlurEvent; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
25 import com.smartgwt.client.widgets.form.fields.events.BlurHandler; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
26 import com.smartgwt.client.widgets.form.fields.events.KeyPressEvent; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
27 import com.smartgwt.client.widgets.form.fields.events.KeyPressHandler; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
28 import com.smartgwt.client.widgets.layout.HLayout; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
29 |
5835
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
30 import org.dive4elements.river.client.shared.model.FacetRecord; |
3717
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 import java.util.ArrayList; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
33 import java.util.List; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
34 |
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 * SpinnerItem-like element with text label and up/down buttons. |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
37 */ |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
38 public class KMSpinner extends HLayout { |
8856 | 39 protected List<KMSpinnerChangeListener> listeners = |
40 new ArrayList<KMSpinnerChangeListener>(); | |
3717
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
41 |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
42 protected Label label; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
43 protected FacetRecord facetRecord; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
44 protected double value; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
45 |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
46 public KMSpinner(double initialValue, FacetRecord facetRecord) { |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
47 super(2); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
48 this.facetRecord = facetRecord; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
49 this.value = initialValue; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
50 |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
51 setWidth("99%"); |
7982
b1ff606f01ee
Fixed some smartgwt 4.1 related issues.
Raimund Renkert <rrenkert@intevation.de>
parents:
5993
diff
changeset
|
52 setHeight(24); |
3717
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 // minusButton shall ask service for previous available cs. |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
55 Button minusButton = new Button("-"); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
56 minusButton.setWidth(18); |
7982
b1ff606f01ee
Fixed some smartgwt 4.1 related issues.
Raimund Renkert <rrenkert@intevation.de>
parents:
5993
diff
changeset
|
57 minusButton.setHeight(22); |
b1ff606f01ee
Fixed some smartgwt 4.1 related issues.
Raimund Renkert <rrenkert@intevation.de>
parents:
5993
diff
changeset
|
58 minusButton.setValign(VerticalAlignment.CENTER); |
8856 | 59 minusButton.addClickHandler( |
60 new com.smartgwt.client.widgets.events.ClickHandler() { | |
3717
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
61 public void onClick(ClickEvent evt) { |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
62 fireChangedEvent(value - 0.1d, false); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
63 } |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
64 }); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
65 |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
66 DynamicForm form = new DynamicForm(); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
67 final TextItem kmField = new TextItem(); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
68 kmField.setValue(initialValue); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
69 kmField.setWidth("*"); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
70 kmField.setTitle(""); |
7982
b1ff606f01ee
Fixed some smartgwt 4.1 related issues.
Raimund Renkert <rrenkert@intevation.de>
parents:
5993
diff
changeset
|
71 kmField.setHeight(20); |
3717
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
72 |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
73 FormItemValueFormatter doubleFormat = new FormItemValueFormatter() { |
8856 | 74 public String formatValue( |
75 Object value, Record record, DynamicForm form, FormItem item) { | |
3717
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
76 if (value != null) { |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
77 NumberFormat nf = NumberFormat.getDecimalFormat(); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
78 try { |
8856 | 79 double d = Double.valueOf( |
80 value.toString()).doubleValue(); | |
3717
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
81 return nf.format(d); |
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 catch (Exception e) { |
8856 | 84 GWT.log("EditorValueFormatter exception: " |
85 + e.toString()); | |
3852
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
86 |
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
87 // Remove junk chars from input string |
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
88 return doublefyString(value.toString()); |
3717
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
89 } |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
90 } |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
91 else { |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
92 return null; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
93 } |
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 kmField.setEditorValueFormatter(doubleFormat); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
97 |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
98 FormItemValueParser doubleParser = new FormItemValueParser() { |
8856 | 99 public Object parseValue( |
100 String value, DynamicForm form, FormItem item) { | |
3717
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
101 if (value == null) |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
102 return null; |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
103 try { |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
104 NumberFormat nf = NumberFormat.getDecimalFormat(); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
105 double d = nf.parse(value.toString()); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
106 return Double.toString(d); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
107 } |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
108 catch(NumberFormatException nfe) { |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
109 return value; |
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.setEditorValueParser(doubleParser); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
114 |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
115 // Update on focus lost and enter-pressed. |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
116 kmField.addBlurHandler(new BlurHandler() { |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
117 @Override |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
118 public void onBlur(BlurEvent be) { |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
119 if (kmField.getValue() != null) { |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
120 try { |
8856 | 121 fireChangedEvent(Double.parseDouble( |
122 kmField.getValue().toString()), true); | |
3717
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
123 } |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
124 catch(NumberFormatException nfe) { |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
125 GWT.log("entered string cannot be parsed to double."); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
126 } |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
127 } |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
128 } |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
129 }); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
130 kmField.addKeyPressHandler(new KeyPressHandler() { |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
131 @Override |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
132 public void onKeyPress(KeyPressEvent kpe) { |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
133 if (kpe.getKeyName().equals("Enter")) { |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
134 kmField.blurItem(); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
135 } |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
136 } |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
137 }); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
138 |
8856 | 139 // TODO: i18n Now add all the validators, formatters, |
140 // editors/parsers etc. | |
3717
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
141 form.setFields(kmField); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
142 form.setTitle(""); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
143 form.setTitlePrefix(""); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
144 form.setTitleSuffix(""); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
145 form.setTitleWidth(0); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
146 form.setWidth(50); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
147 |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
148 // PlusButton shall ask service for next available cs. |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
149 Button plusButton = new Button("+"); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
150 plusButton.setWidth(18); |
7982
b1ff606f01ee
Fixed some smartgwt 4.1 related issues.
Raimund Renkert <rrenkert@intevation.de>
parents:
5993
diff
changeset
|
151 plusButton.setHeight(22); |
b1ff606f01ee
Fixed some smartgwt 4.1 related issues.
Raimund Renkert <rrenkert@intevation.de>
parents:
5993
diff
changeset
|
152 plusButton.setValign(VerticalAlignment.CENTER); |
8856 | 153 plusButton.addClickHandler( |
154 new com.smartgwt.client.widgets.events.ClickHandler() { | |
3717
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
155 public void onClick(ClickEvent evt) { |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
156 fireChangedEvent(value + 0.1d, true); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
157 } |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
158 }); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
159 |
7982
b1ff606f01ee
Fixed some smartgwt 4.1 related issues.
Raimund Renkert <rrenkert@intevation.de>
parents:
5993
diff
changeset
|
160 this.setMembersMargin(5); |
3717
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
161 this.addMember(minusButton); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
162 this.addMember(form); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
163 this.addMember(plusButton); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
164 } |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
165 |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
166 public void addChangeListener(KMSpinnerChangeListener listener) { |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
167 this.listeners.add(listener); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
168 } |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
169 |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
170 protected void fireChangedEvent(double val, boolean up) { |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
171 for(KMSpinnerChangeListener listener : listeners) { |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
172 listener.spinnerValueEntered(this, val, facetRecord, up); |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
173 } |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
174 } |
3852
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
175 |
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
176 /** |
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
177 * Remove junk chars from double string. |
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
178 * 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
|
179 * 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
|
180 * separator. |
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
181 * @return |
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
182 */ |
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
183 protected String doublefyString(String str) { |
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
184 StringBuilder buf = new StringBuilder(str.length()); |
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
185 |
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
186 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
|
187 char c = str.charAt(n); |
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
188 if ((c >= '0' && c <= '9') || c == '.' || c == ',') { |
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
189 buf.append(c); |
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
190 } |
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
191 } |
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
192 |
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
193 return buf.toString(); |
4aa7216b329a
KMSpinner height is now normal again
Christian Lins <christian.lins@intevation.de>
parents:
3717
diff
changeset
|
194 } |
3717
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
195 } |
3b4cef59836a
KMSpinner refactoring
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
196 |