annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/PeriodPanel.java @ 7602:c50dbbe17950

issue1596: Store table (cell) data twice: Once as (formatted) string as coming from server, once transformed into float (or string). The benefit is that now we can sort table data numerically, while keeping the formatted and i18ned display of values.
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Wed, 27 Nov 2013 14:55:25 +0100
parents ea9eef426962
children 1d6e5d9d9e57
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;
2898
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
10
2899
93302bd16f42 Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2898
diff changeset
11 import com.google.gwt.core.client.GWT;
2898
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
12 import com.google.gwt.i18n.client.DateTimeFormat;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
13
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
14 import com.smartgwt.client.util.SC;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
15 import com.smartgwt.client.widgets.Canvas;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
16 import com.smartgwt.client.widgets.Label;
2899
93302bd16f42 Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2898
diff changeset
17 import com.smartgwt.client.widgets.form.DynamicForm;
93302bd16f42 Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2898
diff changeset
18 import com.smartgwt.client.widgets.form.fields.DateRangeItem;
2898
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
19 import com.smartgwt.client.widgets.layout.HLayout;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
20 import com.smartgwt.client.widgets.layout.VLayout;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
21
5835
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
22 import org.dive4elements.river.client.client.FLYSConstants;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
23 import org.dive4elements.river.client.shared.model.Data;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
24 import org.dive4elements.river.client.shared.model.DataItem;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
25 import org.dive4elements.river.client.shared.model.DataList;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
26 import org.dive4elements.river.client.shared.model.DefaultData;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
27 import org.dive4elements.river.client.shared.model.DefaultDataItem;
2899
93302bd16f42 Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2898
diff changeset
28
93302bd16f42 Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2898
diff changeset
29 import java.util.ArrayList;
93302bd16f42 Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2898
diff changeset
30 import java.util.Date;
93302bd16f42 Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2898
diff changeset
31 import java.util.List;
2898
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
32
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
33 /**
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
34 * This UIProvider creates a panel for location or distance input.
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
35 *
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
36 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a>
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
37 */
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
38 public class PeriodPanel
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
39 extends AbstractUIProvider
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
40 {
4184
03de5c424f95 Fix warnings and minor TODOs in flys-client.
Christian Lins <christian.lins@intevation.de>
parents: 3379
diff changeset
41 private static final long serialVersionUID = -5249560815807538821L;
03de5c424f95 Fix warnings and minor TODOs in flys-client.
Christian Lins <christian.lins@intevation.de>
parents: 3379
diff changeset
42
2898
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
43 /** The message class that provides i18n strings. */
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
44 protected FLYSConstants MSG = GWT.create(FLYSConstants.class);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
45
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
46 DateRangeItem inputPanel;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
47
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
48 long start;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
49 long end;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
50
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
51 protected String startName;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
52 protected String endName;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
53
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
54 public PeriodPanel() {
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
55 this("start", "end");
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
56 }
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
57
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
58 public PeriodPanel(String startName, String endName) {
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
59 this.startName = startName;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
60 this.endName = endName;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
61 }
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
62
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
63
4184
03de5c424f95 Fix warnings and minor TODOs in flys-client.
Christian Lins <christian.lins@intevation.de>
parents: 3379
diff changeset
64 @Override
2898
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
65 public Canvas create(DataList list) {
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
66 VLayout layout = new VLayout();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
67
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
68 Canvas helper = createHelper();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
69 this.helperContainer.addMember(helper);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
70
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
71 Canvas submit = getNextButton();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
72 Canvas widget = createWidget(list);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
73
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
74 layout.addMember(widget);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
75 layout.addMember(submit);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
76 return layout;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
77 }
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
78
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
79
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
80 public Canvas createWidget(DataList data) {
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
81 VLayout layout = new VLayout();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
82
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
83 Label title = new Label(data.get(0).getDescription());
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
84 title.setHeight("25px");
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
85
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
86 DynamicForm form = new DynamicForm();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
87 inputPanel = new DateRangeItem();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
88 inputPanel.setToTitle(MSG.to());
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
89 inputPanel.setFromTitle(MSG.from());
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
90 inputPanel.setShowTitle(false);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
91 form.setFields(inputPanel);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
92
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
93 layout.addMember(title);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
94 layout.addMember(form);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
95
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
96 return layout;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
97 }
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
98
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
99 protected Canvas createHelper() {
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
100 return new VLayout();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
101 }
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
102
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
103 @Override
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
104 public Canvas createOld(DataList dataList) {
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
105 List<Data> items = dataList.getAll();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
106
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
107 Data start = getData(items, startName);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
108 Data end = getData(items, endName);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
109 DataItem[] startItem = start.getItems();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
110 DataItem[] endItem = end.getItems();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
111
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
112 String v1 = startItem[0].getStringValue();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
113 String v2 = endItem[0].getStringValue();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
114
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
115 long v1l = 0;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
116 long v2l = 0;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
117 try {
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
118 v1l = Long.parseLong(v1);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
119 v2l = Long.parseLong(v2);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
120 }
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
121 catch(NumberFormatException nfe) {
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
122 GWT.log(nfe.toString());
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
123 }
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
124 Date d1 = new Date(v1l);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
125 Date d2 = new Date(v2l);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
126
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
127 DateTimeFormat f =
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
128 DateTimeFormat.getFormat(
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
129 DateTimeFormat.PredefinedFormat.DATE_MEDIUM);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
130 StringBuilder sb = new StringBuilder();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
131 sb.append(f.format(d1) + " - ");
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
132 sb.append(f.format(d2));
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
133
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
134 Label old = new Label(sb.toString());
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
135 old.setWidth(130);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
136
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
137 HLayout layout = new HLayout();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
138 layout.setWidth("400px");
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
139
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
140 Label label = new Label(dataList.getLabel());
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
141 label.setWidth("200px");
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
142
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
143 Canvas back = getBackButton(dataList.getState());
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
144
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
145 layout.addMember(label);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
146 layout.addMember(old);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
147 layout.addMember(back);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
148
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
149 return layout;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
150 }
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
151
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
152
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
153 /**
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
154 * This method returns the selected data.
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
155 *
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
156 * @return the selected/inserted data.
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
157 */
4184
03de5c424f95 Fix warnings and minor TODOs in flys-client.
Christian Lins <christian.lins@intevation.de>
parents: 3379
diff changeset
158 @Override
2898
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
159 public Data[] getData() {
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
160 List<Data> data = new ArrayList<Data>();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
161
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
162 boolean valid = saveDateValues();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
163 if(valid) {
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
164 String start = Long.valueOf(this.start).toString();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
165 String end = Long.valueOf(this.end).toString();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
166 DataItem startItem = new DefaultDataItem(startName, startName, start);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
167 DataItem endItem = new DefaultDataItem(endName, endName, end);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
168 data.add(new DefaultData(
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
169 startName,
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
170 null,
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
171 null,
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
172 new DataItem[] { startItem }));
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
173 data.add(new DefaultData(
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
174 endName,
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
175 null,
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
176 null,
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
177 new DataItem[] { endItem }));
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
178 }
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
179
3379
0de61fc9d281 Removed some superfluous casts.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2899
diff changeset
180 return data.toArray(new Data[data.size()]);
2898
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
181 }
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
182
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
183
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
184 protected boolean saveDateValues() {
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
185 Date st = inputPanel.getFromDate();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
186 Date en = inputPanel.getToDate();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
187 if (st == null || en == null) {
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
188 SC.warn(MSG.error_wrong_date());
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
189 return false;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
190 }
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
191
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
192 long start = st.getTime();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
193 long end = en.getTime();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
194
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
195 if (start <= end) {
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
196 this.start = start;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
197 this.end = end;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
198 return true;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
199 }
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
200 return false;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
201 }
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
202 }

http://dive4elements.wald.intevation.org