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

http://dive4elements.wald.intevation.org