annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/DoubleInputPanel.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
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.NumberFormat;
4131
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 4060
diff changeset
13
2898
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.TextItem;
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
4131
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 4060
diff changeset
29 import java.util.ArrayList;
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 4060
diff changeset
30 import java.util.List;
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 4060
diff changeset
31
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 * 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
34 *
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
35 * @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
36 */
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
37 public class DoubleInputPanel
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
38 extends AbstractUIProvider
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
39 {
4131
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 4060
diff changeset
40
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 4060
diff changeset
41 private static final long serialVersionUID = 2006773072352563622L;
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 4060
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 private TextItem 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 private double value;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
49
4279
8cec61ac5160 Refactored DoubleInputPanel to allow input to data different than "outliers".
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4131
diff changeset
50 protected String dataName;
8cec61ac5160 Refactored DoubleInputPanel to allow input to data different than "outliers".
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4131
diff changeset
51
4060
c4928af1ffab Documentation, vimline.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3379
diff changeset
52
2898
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
53 public DoubleInputPanel() {
4279
8cec61ac5160 Refactored DoubleInputPanel to allow input to data different than "outliers".
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4131
diff changeset
54 dataName = "outliers";
8cec61ac5160 Refactored DoubleInputPanel to allow input to data different than "outliers".
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4131
diff changeset
55 }
8cec61ac5160 Refactored DoubleInputPanel to allow input to data different than "outliers".
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4131
diff changeset
56
8cec61ac5160 Refactored DoubleInputPanel to allow input to data different than "outliers".
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4131
diff changeset
57
8cec61ac5160 Refactored DoubleInputPanel to allow input to data different than "outliers".
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4131
diff changeset
58 public DoubleInputPanel(String dataName) {
8cec61ac5160 Refactored DoubleInputPanel to allow input to data different than "outliers".
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4131
diff changeset
59 this.dataName = dataName;
2898
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
60 }
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
4131
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 4060
diff changeset
63 @Override
2898
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
64 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
65 VLayout layout = new VLayout();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
66
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
67 Canvas helper = createHelper();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
68 this.helperContainer.addMember(helper);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
69
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
70 Canvas submit = getNextButton();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
71 Canvas widget = createWidget(list);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
72
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
73 layout.addMember(widget);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
74 layout.addMember(submit);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
75 return layout;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
76 }
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
4060
c4928af1ffab Documentation, vimline.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3379
diff changeset
79 /** Create a labelled input-panel. */
2898
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
3369
20688790f0c0 Read default value of Data item and set textfield of DoubleInputPanel if a default value is existing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2899
diff changeset
86 DataItem defaultItem = data.get(0).getDefault();
20688790f0c0 Read default value of Data item and set textfield of DoubleInputPanel if a default value is existing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2899
diff changeset
87
2898
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
88 DynamicForm form = new DynamicForm();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
89 inputPanel = new TextItem();
4279
8cec61ac5160 Refactored DoubleInputPanel to allow input to data different than "outliers".
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4131
diff changeset
90 inputPanel.setTitle(dataName);
2898
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
91 inputPanel.setShowTitle(false);
3369
20688790f0c0 Read default value of Data item and set textfield of DoubleInputPanel if a default value is existing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2899
diff changeset
92
20688790f0c0 Read default value of Data item and set textfield of DoubleInputPanel if a default value is existing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2899
diff changeset
93 if (defaultItem != null) {
20688790f0c0 Read default value of Data item and set textfield of DoubleInputPanel if a default value is existing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2899
diff changeset
94 inputPanel.setValue(defaultItem.getStringValue());
20688790f0c0 Read default value of Data item and set textfield of DoubleInputPanel if a default value is existing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2899
diff changeset
95 }
20688790f0c0 Read default value of Data item and set textfield of DoubleInputPanel if a default value is existing.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2899
diff changeset
96
2898
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
97 form.setFields(inputPanel);
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 layout.addMember(title);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
100 layout.addMember(form);
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 return layout;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
103 }
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
104
4279
8cec61ac5160 Refactored DoubleInputPanel to allow input to data different than "outliers".
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4131
diff changeset
105
2898
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
106 protected Canvas createHelper() {
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
107 return new VLayout();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
108 }
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
109
4060
c4928af1ffab Documentation, vimline.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3379
diff changeset
110
c4928af1ffab Documentation, vimline.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3379
diff changeset
111 /** Create canvas to show previously entered value. */
2898
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
112 @Override
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
113 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
114 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
115
4279
8cec61ac5160 Refactored DoubleInputPanel to allow input to data different than "outliers".
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4131
diff changeset
116 Data d = getData(items, dataName);
2898
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
117 DataItem[] item = d.getItems();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
118
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
119 String v = item[0].getLabel();
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 Label old = new Label(v);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
122 old.setWidth(130);
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 HLayout layout = new HLayout();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
125 layout.setWidth("400px");
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 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
128 label.setWidth("200px");
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
129
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
130 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
131
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
132 layout.addMember(label);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
133 layout.addMember(old);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
134 layout.addMember(back);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
135
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
136 return layout;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
137 }
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
138
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 /**
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
141 * 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
142 *
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
143 * @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
144 */
4131
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 4060
diff changeset
145 @Override
2898
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
146 public Data[] getData() {
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
147 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
148
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
149 boolean valid = saveDataValues();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
150 if(valid) {
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 String vs = Double.valueOf(this.value).toString();
4279
8cec61ac5160 Refactored DoubleInputPanel to allow input to data different than "outliers".
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4131
diff changeset
153 DataItem item = new DefaultDataItem(dataName, dataName, vs);
2898
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
154 data.add(new DefaultData(
4736
b195fede1c3b Remove trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4279
diff changeset
155 dataName,
2898
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
156 null,
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
157 null,
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
158 new DataItem[] { item }));
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
159 }
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
160
3379
0de61fc9d281 Removed some superfluous casts.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3369
diff changeset
161 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
162 }
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
163
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
164
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
165 protected boolean saveDataValues() {
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
166 String st = inputPanel.getValueAsString();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
167 if (st == null) {
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
168 SC.warn("fehler... TODO");
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
169 return false;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
170 }
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
171
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
172 try {
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
173 NumberFormat nf = NumberFormat.getDecimalFormat();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
174 double d = nf.parse(st);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
175 this.value = d;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
176 }
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
177 catch(NumberFormatException nfe) {
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
178 SC.warn("fehler... nfe... TODO");
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
179 return false;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
180 }
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
181 return true;
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 }
4060
c4928af1ffab Documentation, vimline.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3379
diff changeset
184 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org