Mercurial > dive4elements > river
comparison flys-client/src/main/java/de/intevation/flys/client/client/ui/minfo/SedLoadPeriodPanel.java @ 4223:015b219a97af
Added new UI provider for sediment load parameter input.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Tue, 23 Oct 2012 13:21:57 +0200 |
parents | |
children | abd304085bd4 |
comparison
equal
deleted
inserted
replaced
4222:94c76129af7d | 4223:015b219a97af |
---|---|
1 package de.intevation.flys.client.client.ui.minfo; | |
2 | |
3 import java.util.ArrayList; | |
4 import java.util.List; | |
5 | |
6 import com.google.gwt.core.client.GWT; | |
7 import com.smartgwt.client.widgets.Canvas; | |
8 import com.smartgwt.client.widgets.Label; | |
9 import com.smartgwt.client.widgets.form.DynamicForm; | |
10 import com.smartgwt.client.widgets.form.fields.TextItem; | |
11 import com.smartgwt.client.widgets.form.validator.IsIntegerValidator; | |
12 import com.smartgwt.client.widgets.layout.HLayout; | |
13 import com.smartgwt.client.widgets.layout.VLayout; | |
14 | |
15 import de.intevation.flys.client.client.ui.AbstractUIProvider; | |
16 import de.intevation.flys.client.client.ui.IntegerRangePanel; | |
17 import de.intevation.flys.client.shared.model.Data; | |
18 import de.intevation.flys.client.shared.model.DataItem; | |
19 import de.intevation.flys.client.shared.model.DataList; | |
20 import de.intevation.flys.client.shared.model.DefaultData; | |
21 import de.intevation.flys.client.shared.model.DefaultDataItem; | |
22 | |
23 | |
24 public class SedLoadPeriodPanel | |
25 extends AbstractUIProvider | |
26 //extends SedLoadPanel | |
27 { | |
28 | |
29 private TextItem start; | |
30 private TextItem end; | |
31 | |
32 public SedLoadPeriodPanel () { | |
33 } | |
34 | |
35 @Override | |
36 public Canvas createOld(DataList dataList) { | |
37 List<Data> items = dataList.getAll(); | |
38 Data start = getData(items, "start"); | |
39 Data end = getData(items, "end"); | |
40 DataItem[] startItem = start.getItems(); | |
41 DataItem[] endItem = end.getItems(); | |
42 | |
43 String v1 = startItem[0].getStringValue(); | |
44 String v2 = endItem[0].getStringValue(); | |
45 | |
46 int v1i = 0; | |
47 int v2i = 0; | |
48 try { | |
49 v1i = Integer.parseInt(v1); | |
50 v2i = Integer.parseInt(v2); | |
51 } | |
52 catch (NumberFormatException nfe) { | |
53 GWT.log(nfe.toString()); | |
54 } | |
55 Label old = new Label(v1i + " - " + v2i); | |
56 HLayout layout = new HLayout(); | |
57 layout.setWidth("400px"); | |
58 | |
59 Label label = new Label(dataList.getLabel()); | |
60 label.setWidth("200px"); | |
61 | |
62 Canvas back = getBackButton(dataList.getState()); | |
63 | |
64 layout.addMember(label); | |
65 layout.addMember(old); | |
66 layout.addMember(back); | |
67 | |
68 return layout; | |
69 } | |
70 | |
71 @Override | |
72 public Canvas create(DataList data) { | |
73 VLayout layout = new VLayout(); | |
74 | |
75 // Canvas helper = createHelper(); | |
76 // this.helperContainer.addMember(helper); | |
77 | |
78 Canvas submit = getNextButton(); | |
79 Canvas widget = createWidget(data); | |
80 | |
81 layout.addMember(widget); | |
82 layout.addMember(submit); | |
83 return layout; | |
84 } | |
85 | |
86 public Canvas createWidget(DataList data) { | |
87 VLayout layout = new VLayout(); | |
88 | |
89 Label title = new Label(data.get(0).getDescription()); | |
90 title.setHeight("25px"); | |
91 | |
92 DynamicForm form = new DynamicForm(); | |
93 form.setNumCols(4); | |
94 start = new TextItem(MSG.from()); | |
95 start.setValidators(new IsIntegerValidator()); | |
96 end = new TextItem(MSG.to()); | |
97 end.setValidators(new IsIntegerValidator()); | |
98 form.setFields(start, end); | |
99 // inputPanel.setToTitle(MSG.to()); | |
100 // inputPanel.setFromTitle(MSG.from()); | |
101 // inputPanel.setShowTitle(false); | |
102 | |
103 layout.addMember(title); | |
104 layout.addMember(form); | |
105 | |
106 return layout; | |
107 } | |
108 | |
109 @Override | |
110 protected Data[] getData() { | |
111 int v1; | |
112 int v2; | |
113 try { | |
114 v1 = Integer.parseInt(start.getValueAsString()); | |
115 v2 = Integer.parseInt(end.getValueAsString()); | |
116 } | |
117 catch(NumberFormatException nfe) { | |
118 // warn the user... | |
119 return new Data[0]; | |
120 } | |
121 if (validateRange(v1, v2)) { | |
122 List<Data> data = new ArrayList<Data>(); | |
123 | |
124 DataItem startItem = new DefaultDataItem("start", "start", start.getValueAsString()); | |
125 DataItem endItem = new DefaultDataItem("end", "end", end.getValueAsString()); | |
126 data.add(new DefaultData( | |
127 "start", | |
128 null, | |
129 null, | |
130 new DataItem[] { startItem })); | |
131 data.add(new DefaultData( | |
132 "end", | |
133 null, | |
134 null, | |
135 new DataItem[] { endItem })); | |
136 | |
137 return data.toArray(new Data[data.size()]); | |
138 } | |
139 return new Data[0]; | |
140 } | |
141 | |
142 protected boolean validateRange(int v1, int v2) { | |
143 // TODO: Set useful years for validation. Current range is between start | |
144 // of gregorian calendar and a year in the future... | |
145 if ((v1 > 1582 && v1 < 2100) | |
146 && (v2 > 1582 && v2 < 2100)) { | |
147 return true; | |
148 } | |
149 return false; | |
150 } | |
151 | |
152 | |
153 } |