Mercurial > dive4elements > river
annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/fixation/FixMultiPeriodPanel.java @ 7941:48d8dba891f6
Fixed columns in location/distance helper panels.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Wed, 18 Jun 2014 14:25:46 +0200 |
parents | ea9eef426962 |
children | 229fce4a1d3e |
rev | line source |
---|---|
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
2 * Software engineering by Intevation GmbH |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
3 * |
5993
ea9eef426962
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5861
diff
changeset
|
4 * This file is Free Software under the GNU AGPL (>=v3) |
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
5993
ea9eef426962
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5861
diff
changeset
|
6 * documentation coming with Dive4Elements River for details. |
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
7 */ |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
8 |
5835
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
9 package org.dive4elements.river.client.client.ui.fixation; |
2883
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
10 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
11 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
|
12 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
|
13 |
3835 | 14 import com.smartgwt.client.types.ListGridFieldType; |
15 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
|
16 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
|
17 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
|
18 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
|
19 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
|
20 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
|
21 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
|
22 import com.smartgwt.client.widgets.grid.ListGridRecord; |
3835 | 23 import com.smartgwt.client.widgets.grid.events.RecordClickEvent; |
24 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
|
25 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
|
26 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
|
27 |
5835
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
28 import org.dive4elements.river.client.client.FLYSConstants; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
29 import org.dive4elements.river.client.shared.model.Data; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
30 import org.dive4elements.river.client.shared.model.DataItem; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
31 import org.dive4elements.river.client.shared.model.DataList; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
32 import org.dive4elements.river.client.shared.model.DefaultData; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
33 import org.dive4elements.river.client.shared.model.DefaultDataItem; |
2883
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
34 |
3835 | 35 import java.util.ArrayList; |
36 import java.util.Date; | |
37 import java.util.List; | |
38 | |
2883
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
39 /** |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
40 * 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
|
41 * |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
42 * @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
|
43 */ |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
44 public class FixMultiPeriodPanel |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
45 extends FixPeriodPanel |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
46 { |
3835 | 47 /** The message class that provides i18n strings. */ |
48 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
|
49 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
50 protected ListGrid elements; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
51 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
52 protected String values; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
53 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
54 public FixMultiPeriodPanel() { |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
55 this("", ""); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
56 } |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
57 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
58 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
|
59 super(startName, endName); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
60 } |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
61 |
3835 | 62 @Override |
2883
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
63 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
|
64 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
|
65 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
|
66 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
|
67 VLayout layout = (VLayout) super.createWidget(data); |
3835 | 68 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
|
69 elements = new ListGrid(); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
70 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
71 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
|
72 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
|
73 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
|
74 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
|
75 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
|
76 return; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
77 } |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
78 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
|
79 elements.addData(drr); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
80 } |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
81 }); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
82 layout.addMember(add); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
83 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
84 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
|
85 sel.setHeight(25); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
86 elements.setWidth(185); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
87 elements.setHeight(120); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
88 elements.setShowHeaderContextMenu(false); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
89 elements.setCanReorderFields(false); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
90 elements.setCanSort(false); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
91 elements.setCanEdit(false); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
92 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
|
93 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
|
94 from.setWidth(70); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
95 to.setWidth(70); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
96 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
97 final ListGridField removeField = |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
98 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
|
99 setType(ListGridFieldType.ICON); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
100 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
|
101 setCanEdit(false); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
102 setCanFilter(false); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
103 setCanSort(false); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
104 setCanGroupBy(false); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
105 setCanFreeze(false); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
106 setWidth(25); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
107 }}; |
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 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
|
110 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
|
111 // 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
|
112 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
|
113 return; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
114 } |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
115 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
|
116 } |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
117 }); |
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 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
|
120 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
121 grid.addMember(sel); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
122 grid.addMember(elements); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
123 input.addMember(layout); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
124 input.addMember(grid); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
125 root.addMember(input); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
126 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
127 return root; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
128 } |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
129 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
130 @Override |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
131 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
|
132 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
|
133 layout.setWidth("400px"); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
134 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
|
135 vLayout.setWidth(130); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
136 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
|
137 label.setWidth("200px"); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
138 label.setHeight(25); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
139 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
140 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
|
141 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
|
142 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
|
143 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
144 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
|
145 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
|
146 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
|
147 try { |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
148 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
|
149 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
|
150 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
|
151 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
|
152 String fromString = |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
153 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
|
154 String toString = |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
155 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
|
156 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
157 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
|
158 dateLabel.setHeight(20); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
159 vLayout.addMember(dateLabel); |
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 catch(NumberFormatException nfe) { |
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 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
|
165 layout.addMember(label); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
166 layout.addMember(vLayout); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
167 layout.addMember(back); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
168 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
169 return layout; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
170 } |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
171 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
172 |
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 * 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
|
175 * |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
176 * @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
|
177 */ |
3835 | 178 @Override |
2883
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
179 public Data[] getData() { |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
180 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
|
181 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
182 boolean valid = saveDateValues(); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
183 if(valid) { |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
184 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
|
185 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
|
186 "ana_data", |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
187 null, |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
188 null, |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
189 new DataItem[] { item })); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
190 } |
3379
0de61fc9d281
Removed some superfluous casts.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2893
diff
changeset
|
191 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
|
192 } |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
193 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
194 |
3835 | 195 @Override |
2883
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
196 protected boolean saveDateValues() { |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
197 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
|
198 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
|
199 return false; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
200 } |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
201 String data = ""; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
202 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
|
203 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
|
204 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
|
205 data += ";"; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
206 } |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
207 values = data; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
208 return true; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
209 } |
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 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
212 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
|
213 protected Date from; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
214 protected Date to; |
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 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
|
217 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
|
218 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
219 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
|
220 setFrom(from); |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
221 setTo(to); |
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 setFrom(Date from) { |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
225 this.from = from; |
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 FROM_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(from)); |
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 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
|
233 this.to = to; |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
234 setAttribute( |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
235 TO_FIELD, |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
236 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
|
237 } |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
238 |
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 public long getFrom() { |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
241 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
|
242 } |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
243 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
244 |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
245 public long getTo() { |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
246 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
|
247 } |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
248 } |
c3feb721035c
Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
249 } |