Mercurial > dive4elements > river
annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/fixation/FixMultiPeriodPanel.java @ 4241:49cb65d5932d
Improved the historical discharge calculation.
The calculation now creates new HistoricalWQKms (new subclass of WQKms). Those WQKms are used
to create new facets from (new) type 'HistoricalDischargeCurveFacet'. The chart generator is
improved to support those facets.
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Wed, 24 Oct 2012 14:34:35 +0200 |
parents | 11d74b9d428a |
children |
rev | line source |
---|---|
2883
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.client.client.ui.fixation; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
2 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
3 import com.google.gwt.core.client.GWT; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
4 import com.google.gwt.i18n.client.DateTimeFormat; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
5 |
3835 | 6 import com.smartgwt.client.types.ListGridFieldType; |
7 import com.smartgwt.client.widgets.Button; | |
2883
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
8 import com.smartgwt.client.widgets.Canvas; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
9 import com.smartgwt.client.widgets.Label; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
10 import com.smartgwt.client.widgets.events.ClickEvent; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
11 import com.smartgwt.client.widgets.events.ClickHandler; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
12 import com.smartgwt.client.widgets.grid.ListGrid; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
13 import com.smartgwt.client.widgets.grid.ListGridField; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
14 import com.smartgwt.client.widgets.grid.ListGridRecord; |
3835 | 15 import com.smartgwt.client.widgets.grid.events.RecordClickEvent; |
16 import com.smartgwt.client.widgets.grid.events.RecordClickHandler; | |
2883
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
17 import com.smartgwt.client.widgets.layout.HLayout; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
18 import com.smartgwt.client.widgets.layout.VLayout; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
19 |
3835 | 20 import de.intevation.flys.client.client.FLYSConstants; |
2883
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
21 import de.intevation.flys.client.shared.model.Data; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
22 import de.intevation.flys.client.shared.model.DataItem; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
23 import de.intevation.flys.client.shared.model.DataList; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
24 import de.intevation.flys.client.shared.model.DefaultData; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
25 import de.intevation.flys.client.shared.model.DefaultDataItem; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
26 |
3835 | 27 import java.util.ArrayList; |
28 import java.util.Date; | |
29 import java.util.List; | |
30 | |
2883
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
31 /** |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
32 * This UIProvider creates a panel for location or distance input. |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
33 * |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
34 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a> |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
35 */ |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
36 public class FixMultiPeriodPanel |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
37 extends FixPeriodPanel |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
38 { |
3835 | 39 /** The message class that provides i18n strings. */ |
40 protected FLYSConstants MESSAGES = GWT.create(FLYSConstants.class); | |
2883
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
41 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
42 protected ListGrid elements; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
43 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
44 protected String values; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
45 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
46 public FixMultiPeriodPanel() { |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
47 this("", ""); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
48 } |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
49 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
50 public FixMultiPeriodPanel(String startName, String endName) { |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
51 super(startName, endName); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
52 } |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
53 |
3835 | 54 @Override |
2883
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
55 public Canvas createWidget(DataList data) { |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
56 HLayout input = new HLayout(); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
57 VLayout root = new VLayout(); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
58 VLayout grid = new VLayout(); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
59 VLayout layout = (VLayout) super.createWidget(data); |
3835 | 60 Button add = new Button(MESSAGES.add()); |
2883
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
61 elements = new ListGrid(); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
62 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
63 add.addClickHandler(new ClickHandler() { |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
64 public void onClick(ClickEvent ce) { |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
65 Date f = inputPanel.getFromDate(); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
66 Date t = inputPanel.getToDate(); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
67 if (f == null || t == null) { |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
68 return; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
69 } |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
70 DateRangeRecord drr = new DateRangeRecord(f, t); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
71 elements.addData(drr); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
72 } |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
73 }); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
74 layout.addMember(add); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
75 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
76 Label sel = new Label("Selected"); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
77 sel.setHeight(25); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
78 elements.setWidth(185); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
79 elements.setHeight(120); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
80 elements.setShowHeaderContextMenu(false); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
81 elements.setCanReorderFields(false); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
82 elements.setCanSort(false); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
83 elements.setCanEdit(false); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
84 ListGridField from = new ListGridField("from", "From"); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
85 ListGridField to = new ListGridField("to", "To"); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
86 from.setWidth(70); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
87 to.setWidth(70); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
88 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
89 final ListGridField removeField = |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
90 new ListGridField("_removeRecord", "Remove Record"){{ |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
91 setType(ListGridFieldType.ICON); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
92 setIcon(GWT.getHostPageBaseURL() + MSG.removeFeature()); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
93 setCanEdit(false); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
94 setCanFilter(false); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
95 setCanSort(false); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
96 setCanGroupBy(false); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
97 setCanFreeze(false); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
98 setWidth(25); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
99 }}; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
100 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
101 elements.addRecordClickHandler(new RecordClickHandler() { |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
102 public void onRecordClick(final RecordClickEvent event) { |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
103 // Just handle remove-clicks |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
104 if(!event.getField().getName().equals(removeField.getName())) { |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
105 return; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
106 } |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
107 event.getViewer().removeData(event.getRecord()); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
108 } |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
109 }); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
110 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
111 elements.setFields(from, to, removeField); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
112 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
113 grid.addMember(sel); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
114 grid.addMember(elements); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
115 input.addMember(layout); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
116 input.addMember(grid); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
117 root.addMember(input); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
118 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
119 return root; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
120 } |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
121 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
122 @Override |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
123 public Canvas createOld(DataList dataList) { |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
124 HLayout layout = new HLayout(); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
125 layout.setWidth("400px"); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
126 VLayout vLayout = new VLayout(); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
127 vLayout.setWidth(130); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
128 Label label = new Label(dataList.getLabel()); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
129 label.setWidth("200px"); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
130 label.setHeight(25); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
131 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
132 List<Data> items = dataList.getAll(); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
133 Data str = getData(items, "ana_data"); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
134 DataItem[] strItems = str.getItems(); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
135 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
136 String[] pairs = strItems[0].getLabel().split(";"); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
137 for (int i = 0; i < pairs.length; i++) { |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
138 String[] vals = pairs[i].split(","); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
139 try { |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
140 long f = Long.valueOf(vals[0]).longValue(); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
141 long t = Long.valueOf(vals[1]).longValue(); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
142 Date from = new Date(f); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
143 Date to = new Date(t); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
144 String fromString = |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
145 DateTimeFormat.getMediumDateFormat().format(from); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
146 String toString = |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
147 DateTimeFormat.getMediumDateFormat().format(to); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
148 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
149 Label dateLabel = new Label(fromString + " - " + toString); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
150 dateLabel.setHeight(20); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
151 vLayout.addMember(dateLabel); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
152 } |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
153 catch(NumberFormatException nfe) { |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
154 } |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
155 } |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
156 Canvas back = getBackButton(dataList.getState()); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
157 layout.addMember(label); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
158 layout.addMember(vLayout); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
159 layout.addMember(back); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
160 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
161 return layout; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
162 } |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
163 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
164 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
165 /** |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
166 * This method returns the selected data. |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
167 * |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
168 * @return the selected/inserted data. |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
169 */ |
3835 | 170 @Override |
2883
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
171 public Data[] getData() { |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
172 List<Data> data = new ArrayList<Data>(); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
173 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
174 boolean valid = saveDateValues(); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
175 if(valid) { |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
176 DataItem item = new DefaultDataItem("ana_data", null, this.values); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
177 data.add(new DefaultData( |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
178 "ana_data", |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
179 null, |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
180 null, |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
181 new DataItem[] { item })); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
182 } |
3379
0de61fc9d281
Removed some superfluous casts.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2893
diff
changeset
|
183 return data.toArray(new Data[data.size()]); |
2883
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
184 } |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
185 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
186 |
3835 | 187 @Override |
2883
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
188 protected boolean saveDateValues() { |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
189 ListGridRecord[] lgr = elements.getRecords(); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
190 if (lgr.length == 0) { |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
191 return false; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
192 } |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
193 String data = ""; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
194 for (int i = 0; i < lgr.length; i++) { |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
195 DateRangeRecord drr = (DateRangeRecord) lgr[i]; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
196 data += drr.getFrom() + "," + drr.getTo(); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
197 data += ";"; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
198 } |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
199 values = data; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
200 return true; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
201 } |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
202 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
203 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
204 protected static class DateRangeRecord extends ListGridRecord { |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
205 protected Date from; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
206 protected Date to; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
207 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
208 protected final static String FROM_FIELD = "from"; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
209 protected final static String TO_FIELD = "to"; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
210 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
211 public DateRangeRecord (Date from, Date to) { |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
212 setFrom(from); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
213 setTo(to); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
214 } |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
215 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
216 public void setFrom(Date from) { |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
217 this.from = from; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
218 setAttribute( |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
219 FROM_FIELD, |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
220 DateTimeFormat.getMediumDateFormat().format(from)); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
221 } |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
222 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
223 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
224 public void setTo(Date to) { |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
225 this.to = to; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
226 setAttribute( |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
227 TO_FIELD, |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
228 DateTimeFormat.getMediumDateFormat().format(to)); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
229 } |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
230 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
231 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
232 public long getFrom() { |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
233 return this.from.getTime(); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
234 } |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
235 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
236 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
237 public long getTo() { |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
238 return this.to.getTime(); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
239 } |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
240 } |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
241 } |