Mercurial > dive4elements > river
comparison flys-client/src/main/java/de/intevation/flys/client/client/ui/WQSimpleArrayPanel.java @ 4198:1cdbd8a0c994
Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
The new tables define listener interfaces (clicked lower or upper icon) to listen to user clicks.
In addition to this, there is an enum ClickMode with NONE, SINGLE and RANGE options, which allows to
specifiy, which icons are displayed in the tables. NONE means no icon for user clicks, SINGLE has 1
icon, RANGE 2 icons for lower and upper.
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Mon, 22 Oct 2012 13:31:25 +0200 |
parents | 070321cf17e1 |
children | 1f212836998e |
comparison
equal
deleted
inserted
replaced
4196:e10d60d4f35b | 4198:1cdbd8a0c994 |
---|---|
5 import java.util.List; | 5 import java.util.List; |
6 | 6 |
7 import com.google.gwt.core.client.GWT; | 7 import com.google.gwt.core.client.GWT; |
8 import com.google.gwt.i18n.client.NumberFormat; | 8 import com.google.gwt.i18n.client.NumberFormat; |
9 import com.google.gwt.user.client.rpc.AsyncCallback; | 9 import com.google.gwt.user.client.rpc.AsyncCallback; |
10 | |
11 import com.smartgwt.client.widgets.Canvas; | 10 import com.smartgwt.client.widgets.Canvas; |
12 import com.smartgwt.client.widgets.Label; | 11 import com.smartgwt.client.widgets.Label; |
13 import com.smartgwt.client.widgets.form.DynamicForm; | 12 import com.smartgwt.client.widgets.form.DynamicForm; |
14 import com.smartgwt.client.widgets.form.fields.RadioGroupItem; | 13 import com.smartgwt.client.widgets.form.fields.RadioGroupItem; |
15 import com.smartgwt.client.widgets.form.fields.events.BlurEvent; | 14 import com.smartgwt.client.widgets.form.fields.events.BlurEvent; |
16 import com.smartgwt.client.widgets.form.fields.events.BlurHandler; | 15 import com.smartgwt.client.widgets.form.fields.events.BlurHandler; |
17 import com.smartgwt.client.widgets.form.fields.events.ChangedEvent; | 16 import com.smartgwt.client.widgets.form.fields.events.ChangedEvent; |
18 import com.smartgwt.client.widgets.form.fields.events.ChangedHandler; | 17 import com.smartgwt.client.widgets.form.fields.events.ChangedHandler; |
19 import com.smartgwt.client.widgets.layout.HLayout; | 18 import com.smartgwt.client.widgets.layout.HLayout; |
20 import com.smartgwt.client.widgets.layout.VLayout; | 19 import com.smartgwt.client.widgets.layout.VLayout; |
20 import com.smartgwt.client.widgets.tab.Tab; | |
21 import com.smartgwt.client.widgets.tab.TabSet; | 21 import com.smartgwt.client.widgets.tab.TabSet; |
22 import com.smartgwt.client.widgets.tab.Tab; | 22 |
23 | 23 import de.intevation.flys.client.client.Config; |
24 import de.intevation.flys.client.client.FLYSConstants; | |
25 import de.intevation.flys.client.client.services.GaugeInfoService; | |
26 import de.intevation.flys.client.client.services.GaugeInfoServiceAsync; | |
27 import de.intevation.flys.client.client.services.WQInfoService; | |
28 import de.intevation.flys.client.client.services.WQInfoServiceAsync; | |
29 import de.intevation.flys.client.client.ui.wq.ClickableQDTable; | |
30 import de.intevation.flys.client.client.ui.wq.ClickableWTable; | |
31 import de.intevation.flys.client.client.ui.wq.ClickableWTable.ClickMode; | |
32 import de.intevation.flys.client.client.ui.wq.QDTable; | |
24 import de.intevation.flys.client.shared.model.ArtifactDescription; | 33 import de.intevation.flys.client.shared.model.ArtifactDescription; |
25 import de.intevation.flys.client.shared.model.Data; | 34 import de.intevation.flys.client.shared.model.Data; |
26 import de.intevation.flys.client.shared.model.DataItem; | 35 import de.intevation.flys.client.shared.model.DataItem; |
27 import de.intevation.flys.client.shared.model.DataList; | 36 import de.intevation.flys.client.shared.model.DataList; |
28 import de.intevation.flys.client.shared.model.DefaultData; | 37 import de.intevation.flys.client.shared.model.DefaultData; |
29 import de.intevation.flys.client.shared.model.DefaultDataItem; | 38 import de.intevation.flys.client.shared.model.DefaultDataItem; |
30 import de.intevation.flys.client.shared.model.DoubleArrayData; | 39 import de.intevation.flys.client.shared.model.DoubleArrayData; |
31 import de.intevation.flys.client.shared.model.Gauge; | 40 import de.intevation.flys.client.shared.model.Gauge; |
32 import de.intevation.flys.client.shared.model.IntegerOptionsData; | 41 import de.intevation.flys.client.shared.model.IntegerOptionsData; |
42 import de.intevation.flys.client.shared.model.WQInfoObject; | |
33 import de.intevation.flys.client.shared.model.WQInfoRecord; | 43 import de.intevation.flys.client.shared.model.WQInfoRecord; |
34 import de.intevation.flys.client.shared.model.WQInfoObject; | |
35 | |
36 import de.intevation.flys.client.client.Config; | |
37 import de.intevation.flys.client.client.FLYSConstants; | |
38 import de.intevation.flys.client.client.services.GaugeInfoService; | |
39 import de.intevation.flys.client.client.services.GaugeInfoServiceAsync; | |
40 import de.intevation.flys.client.client.services.WQInfoService; | |
41 import de.intevation.flys.client.client.services.WQInfoServiceAsync; | |
42 import de.intevation.flys.client.client.ui.wq.WTable; | |
43 import de.intevation.flys.client.client.ui.wq.QDTable; | |
44 | 44 |
45 | 45 |
46 /** | 46 /** |
47 * An UIProvider for inserting a mode for W or Q and an array of values for each | 47 * An UIProvider for inserting a mode for W or Q and an array of values for each |
48 * mode. | 48 * mode. |
73 | 73 |
74 protected DynamicForm modeForm; | 74 protected DynamicForm modeForm; |
75 protected DoubleArrayPanel panelW; | 75 protected DoubleArrayPanel panelW; |
76 protected DoubleArrayPanel panelQ; | 76 protected DoubleArrayPanel panelQ; |
77 | 77 |
78 protected WTable wTable; | 78 protected ClickableWTable wTable; |
79 protected QDTable qTable; | 79 protected ClickableQDTable qTable; |
80 | 80 |
81 | 81 |
82 @Override | 82 @Override |
83 public Canvas create(DataList data) { | 83 public Canvas create(DataList data) { |
84 VLayout rootLayout = new VLayout(); | 84 VLayout rootLayout = new VLayout(); |
168 } | 168 } |
169 } | 169 } |
170 | 170 |
171 | 171 |
172 protected void initializeTables() { | 172 protected void initializeTables() { |
173 wTable = new WTable(); | 173 wTable = new ClickableWTable(new ClickableWTable.WClickedListener() { |
174 qTable = new QDTable(); | 174 @Override |
175 public void clickedUpper(double value) { | |
176 // nothing to do here | |
177 } | |
178 | |
179 @Override | |
180 public void clickedLower(double value) { | |
181 panelW.addValue(value); | |
182 } | |
183 }, ClickMode.SINGLE); | |
184 | |
185 qTable = new ClickableQDTable(new ClickableQDTable.QClickedListener() { | |
186 | |
187 @Override | |
188 public void clickedUpper(double value) { | |
189 // nothing to do here | |
190 } | |
191 | |
192 @Override | |
193 public void clickedLower(double value) { | |
194 panelQ.addValue(value); | |
195 } | |
196 }, ClickableQDTable.ClickMode.SINGLE); | |
175 | 197 |
176 fetchWQData(); | 198 fetchWQData(); |
177 } | 199 } |
178 | 200 |
179 | 201 |