annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/wq/ClickableQDTable.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
children
rev   line source
4198
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.client.client.ui.wq;
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
2
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
3 import com.google.gwt.core.client.GWT;
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
4 import com.google.gwt.i18n.client.NumberFormat;
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
5 import com.smartgwt.client.types.ListGridFieldType;
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
6 import com.smartgwt.client.types.SelectionStyle;
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
7 import com.smartgwt.client.widgets.grid.CellFormatter;
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
8 import com.smartgwt.client.widgets.grid.ListGrid;
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
9 import com.smartgwt.client.widgets.grid.ListGridField;
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10 import com.smartgwt.client.widgets.grid.ListGridRecord;
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
11 import com.smartgwt.client.widgets.grid.events.CellClickEvent;
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
12 import com.smartgwt.client.widgets.grid.events.CellClickHandler;
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
13
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
14 import de.intevation.flys.client.client.FLYSConstants;
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
15
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
16
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
17 /**
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
18 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
19 */
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
20 public class ClickableQDTable extends ListGrid {
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
21
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
22 public static enum ClickMode {
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
23 NONE, SINGLE, RANGE
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
24 }
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
25
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
26 public static interface QClickedListener {
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
27
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
28 void clickedLower(double value);
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
29
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
30 void clickedUpper(double value);
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
31 }
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
32
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
33 /** The message class that provides i18n strings. */
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
34 protected FLYSConstants MESSAGE = GWT.create(FLYSConstants.class);
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
35
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
36 private QClickedListener qClickedListener;
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37 private ClickMode clickMode;
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
38
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
39 protected boolean lockClick;
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
40
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
41 public ClickableQDTable() {
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
42 this.clickMode = ClickMode.NONE;
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
43 init();
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
44 }
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
45
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
46 public ClickableQDTable(QClickedListener qClickedListener,
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
47 ClickMode clickMode) {
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
48 this.qClickedListener = qClickedListener;
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
49 this.clickMode = clickMode;
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
50 init();
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
51 }
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
52
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
53 private void init() {
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
54 setWidth100();
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
55 setHeight100();
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
56 setSelectionType(SelectionStyle.SINGLE);
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
57 setSelectionType(SelectionStyle.SINGLE);
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
58 setShowHeaderContextMenu(false);
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
59 setShowRecordComponents(true);
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
60 setShowRecordComponentsByCell(true);
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
61 setEmptyMessage(MESSAGE.empty_table());
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
62
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
63 ListGridField name = new ListGridField("name", MESSAGE.discharge());
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
64 name.setType(ListGridFieldType.TEXT);
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
65 name.setWidth("*");
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
66
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
67 ListGridField type = new ListGridField("type", MESSAGE.type());
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
68 type.setType(ListGridFieldType.TEXT);
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
69 type.setWidth("20%");
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
70
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
71 final NumberFormat nf = NumberFormat.getDecimalFormat();
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
72
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
73 ListGridField value = new ListGridField("value", MESSAGE.wq_value_q());
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
74 value.setType(ListGridFieldType.FLOAT);
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
75 value.setCellFormatter(new CellFormatter() {
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
76
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
77 @Override
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
78 public String format(Object v, ListGridRecord r, int row, int col) {
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
79 if (v == null) {
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
80 return null;
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
81 }
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
82
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
83 try {
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
84 double value = Double.valueOf(v.toString());
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
85 return nf.format(value);
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
86 }
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
87 catch (NumberFormatException nfe) {
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
88 return v.toString();
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
89 }
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
90 }
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
91 });
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
92 value.setWidth("20%");
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
93
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
94 switch (clickMode) {
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
95 case NONE:
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
96 setFields(name, type, value);
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
97 break;
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
98 case SINGLE:
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
99 initSingleClickMode(name, type, value);
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
100 break;
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
101 case RANGE:
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
102 initRangeClickMode(name, type, value);
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
103 break;
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
104 }
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
105 }
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
106
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
107 private void initSingleClickMode(ListGridField name, ListGridField type,
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
108 ListGridField value) {
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
109 ListGridField select = new ListGridField("select", MESSAGE.selection());
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
110 select.setType(ListGridFieldType.ICON);
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
111 select.setWidth(70);
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
112 select.setCellIcon(GWT.getHostPageBaseURL() + MESSAGE.markerGreen());
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
113
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
114 addCellClickHandler(new CellClickHandler() {
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
115
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
116 @Override
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
117 public void onCellClick(CellClickEvent event) {
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
118 if (event.getColNum() == 0) {
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
119 ListGridRecord r = event.getRecord();
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
120 fireLowerClickEvent(r.getAttributeAsDouble("value"));
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
121 }
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
122 }
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
123 });
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
124
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
125 setFields(select, name, type, value);
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
126 }
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
127
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
128 private void initRangeClickMode(ListGridField name, ListGridField type,
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
129 ListGridField value) {
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
130 ListGridField addMin = new ListGridField("min", MESSAGE.to());
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
131 addMin.setType(ListGridFieldType.ICON);
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
132 addMin.setWidth(30);
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
133 addMin.setCellIcon(GWT.getHostPageBaseURL() + MESSAGE.markerGreen());
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
134
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
135 ListGridField addMax = new ListGridField("max", MESSAGE.from());
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
136 addMax.setType(ListGridFieldType.ICON);
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
137 addMax.setWidth(30);
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
138 addMax.setCellIcon(GWT.getHostPageBaseURL() + MESSAGE.markerRed());
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
139
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
140 addCellClickHandler(new CellClickHandler() {
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
141
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
142 @Override
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
143 public void onCellClick(CellClickEvent event) {
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
144 if (event.getColNum() == 0) {
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
145 ListGridRecord r = event.getRecord();
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
146 fireLowerClickEvent(r.getAttributeAsDouble("value"));
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
147 }
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
148
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
149 if (event.getColNum() == 1) {
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
150 ListGridRecord r = event.getRecord();
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
151 fireUpperClickEvent(r.getAttributeAsDouble("value"));
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
152 }
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
153 }
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
154 });
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
155
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
156 setFields(addMin, addMax, name, type, value);
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
157 }
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
158
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
159 private void fireLowerClickEvent(double value) {
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
160 if (qClickedListener != null) {
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
161 qClickedListener.clickedLower(value);
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
162 }
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
163 }
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
164
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
165 private void fireUpperClickEvent(double value) {
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
166 if (qClickedListener != null) {
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
167 qClickedListener.clickedUpper(value);
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
168 }
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
169 }
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
170 }
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
171 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org