comparison flys-client/src/main/java/de/intevation/flys/client/client/ui/DistancePanel.java @ 787:4e0b73b7113b

Added new UI providers. flys-client/trunk@2284 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Tue, 05 Jul 2011 17:28:04 +0000
parents 3fa64c796ffc
children dfbc6693247e
comparison
equal deleted inserted replaced
786:06457f0dbad9 787:4e0b73b7113b
35 35
36 public class DistancePanel extends AbstractUIProvider implements BlurHandler { 36 public class DistancePanel extends AbstractUIProvider implements BlurHandler {
37 37
38 public static final int DEFAULT_STEP_WIDTH = 100; 38 public static final int DEFAULT_STEP_WIDTH = 100;
39 39
40 public static final String FIELD_LOWER = "ld_from";
41 public static final String FIELD_UPPER = "ld_to";
42 public static final String FIELD_STEP = "ld_step";
43
40 44
41 protected FLYSConstants MSG = GWT.create(FLYSConstants.class); 45 protected FLYSConstants MSG = GWT.create(FLYSConstants.class);
42 46
43 protected RangeTable distancesTable; 47 protected RangeTable distancesTable;
44 protected LocationsTable locationsTable; 48 protected LocationsTable locationsTable;
50 protected double min; 54 protected double min;
51 protected double max; 55 protected double max;
52 56
53 57
54 public DistancePanel() { 58 public DistancePanel() {
59 this("right");
60 }
61
62
63 public DistancePanel(String labelOrientation) {
55 distancesTable = new RangeTable(); 64 distancesTable = new RangeTable();
56 locationsTable = new LocationsTable(); 65 locationsTable = new LocationsTable();
57 distancePanel = new DoubleRangePanel( 66 distancePanel = new DoubleRangePanel(
58 MSG.unitFrom(), MSG.unitTo(), MSG.unitWidth(), 67 getLabelFrom(), getLabelTo(), getLabelStep(),
59 0d, 0d, 0d, 250, this); 68 0d, 0d, 0d, 250, this, labelOrientation);
60 } 69 }
61 70
62 71
63 @Override 72 @Override
64 public Canvas create(DataList data) { 73 public Canvas create(DataList data) {
74 Data d = data.get(0);
75
65 VLayout layout = new VLayout(); 76 VLayout layout = new VLayout();
66 layout.setMembersMargin(10); 77 layout.setMembersMargin(10);
67 78
68 Label label = new Label(MSG.distance_state()); 79 Label label = new Label(d.getDescription());
69 80
70 Canvas submit = getNextButton(); 81 Canvas submit = getNextButton();
71 82
72 label.setHeight(25); 83 label.setHeight(25);
73 distancePanel.setHeight(50); 84 distancePanel.setHeight(50);
107 118
108 119
109 protected String getOldSelectionString(DataList dataList) { 120 protected String getOldSelectionString(DataList dataList) {
110 List<Data> items = dataList.getAll(); 121 List<Data> items = dataList.getAll();
111 122
112 Data dFrom = getData(items, "ld_from"); 123 Data dFrom = getData(items, getLowerField());
113 Data dTo = getData(items, "ld_to"); 124 Data dTo = getData(items, getUpperField());
114 Data dStep = getData(items, "ld_step"); 125 Data dStep = getData(items, getStepField());
115 126
116 DataItem[] from = dFrom.getItems(); 127 DataItem[] from = dFrom.getItems();
117 DataItem[] to = dTo.getItems(); 128 DataItem[] to = dTo.getItems();
118 DataItem[] step = dStep.getItems(); 129 DataItem[] step = dStep.getItems();
119 130
120 StringBuilder sb = new StringBuilder(); 131 StringBuilder sb = new StringBuilder();
121 sb.append(from[0].getLabel()); 132 sb.append(from[0].getLabel());
122 sb.append(" " + MSG.unitFrom() + " "); 133 sb.append(" " + getLabelFrom() + " ");
123 sb.append(to[0].getLabel()); 134 sb.append(to[0].getLabel());
124 sb.append(" " + MSG.unitTo() + " "); 135 sb.append(" " + getLabelTo() + " ");
125 sb.append(step[0].getLabel()); 136 sb.append(step[0].getLabel());
126 sb.append(" " + MSG.unitWidth()); 137 sb.append(" " + getLabelStep());
127 138
128 return sb.toString(); 139 return sb.toString();
140 }
141
142
143 protected String getLabelFrom() {
144 return MSG.unitFrom();
145 }
146
147
148 protected String getLabelTo() {
149 return MSG.unitTo();
150 }
151
152
153 protected String getLabelStep() {
154 return MSG.unitWidth();
155 }
156
157
158 protected String getLowerField() {
159 return FIELD_LOWER;
160 }
161
162
163 protected String getUpperField() {
164 return FIELD_UPPER;
165 }
166
167
168 protected String getStepField() {
169 return FIELD_STEP;
129 } 170 }
130 171
131 172
132 @Override 173 @Override
133 public List<String> validate() { 174 public List<String> validate() {
189 return data; 230 return data;
190 } 231 }
191 232
192 233
193 protected Data getDataFrom() { 234 protected Data getDataFrom() {
194 String value = String.valueOf(distancePanel.getFrom()); 235 String value = String.valueOf(distancePanel.getFrom());
195 DataItem item = new DefaultDataItem("ld_from", "ld_from", value); 236 String field = getLowerField();
237
238 DataItem item = new DefaultDataItem(field, field, value);
196 return new DefaultData( 239 return new DefaultData(
197 "ld_from", null, null, new DataItem[] { item }); 240 field, null, null, new DataItem[] { item });
198 } 241 }
199 242
200 243
201 protected Data getDataTo() { 244 protected Data getDataTo() {
202 String value = String.valueOf(distancePanel.getTo()); 245 String value = String.valueOf(distancePanel.getTo());
203 DataItem item = new DefaultDataItem("ld_to", "ld_to", value); 246 String field = getUpperField();
247
248 DataItem item = new DefaultDataItem(field, field, value);
204 return new DefaultData( 249 return new DefaultData(
205 "ld_to", null, null, new DataItem[] { item }); 250 field, null, null, new DataItem[] { item });
206 } 251 }
207 252
208 253
209 protected Data getDataStep() { 254 protected Data getDataStep() {
210 String value = String.valueOf(distancePanel.getStep()); 255 String value = String.valueOf(distancePanel.getStep());
211 DataItem item = new DefaultDataItem("ld_step","ld_step", value); 256 String field = getStepField();
257
258 DataItem item = new DefaultDataItem(field, field, value);
212 return new DefaultData( 259 return new DefaultData(
213 "ld_step", null, null, new DataItem[] { item }); 260 field, null, null, new DataItem[] { item });
214 } 261 }
215 262
216 263
217 @Override 264 @Override
218 public void onBlur(BlurEvent event) { 265 public void onBlur(BlurEvent event) {
219 distancePanel.validateForm(); 266 distancePanel.validateForm();
220 } 267 }
221 268
222 269
223 protected void initMinMaxValues(DataList data) { 270 protected void initMinMaxValues(DataList data) {
224 Data f = getData(data.getAll(), "ld_from"); 271 Data f = getData(data.getAll(), getLowerField());
225 Data t = getData(data.getAll(), "ld_to"); 272 Data t = getData(data.getAll(), getUpperField());
226 273
227 DataItem[] fItems = f.getItems(); 274 DataItem[] fItems = f.getItems();
228 DataItem[] tItems = t.getItems(); 275 DataItem[] tItems = t.getItems();
229 276
230 try { 277 try {
244 initDefaultStep(data); 291 initDefaultStep(data);
245 } 292 }
246 293
247 294
248 protected void initDefaultFrom(DataList data) { 295 protected void initDefaultFrom(DataList data) {
249 Data f = getData(data.getAll(), "ld_from"); 296 Data f = getData(data.getAll(), getLowerField());
250 297
251 double from = min; 298 double from = getDefaultFrom();
252 299
253 try { 300 try {
254 from = getDefaultValue(f); 301 from = getDefaultValue(f);
255 } 302 }
256 catch (NumberFormatException nfe) { 303 catch (NumberFormatException nfe) {
259 306
260 distancePanel.setFrom(from); 307 distancePanel.setFrom(from);
261 } 308 }
262 309
263 310
311 protected double getDefaultFrom() {
312 return min;
313 }
314
315
264 protected void initDefaultTo(DataList data) { 316 protected void initDefaultTo(DataList data) {
265 Data t = getData(data.getAll(), "ld_to"); 317 Data t = getData(data.getAll(), getUpperField());
266 318
267 double to = max; 319 double to = getDefaultTo();
268 320
269 try { 321 try {
270 to = getDefaultValue(t); 322 to = getDefaultValue(t);
271 } 323 }
272 catch (NumberFormatException nfe) { 324 catch (NumberFormatException nfe) {
275 327
276 distancePanel.setTo(to); 328 distancePanel.setTo(to);
277 } 329 }
278 330
279 331
332 protected double getDefaultTo() {
333 return max;
334 }
335
336
280 protected void initDefaultStep(DataList data) { 337 protected void initDefaultStep(DataList data) {
281 Data s = getData(data.getAll(), "ld_step"); 338 Data s = getData(data.getAll(), getStepField());
282 339
283 double step = (double) DEFAULT_STEP_WIDTH; 340 double step = getDefaultStep();
284 341
285 try { 342 try {
286 step = getDefaultValue(s); 343 step = getDefaultValue(s);
287 } 344 }
288 catch (NumberFormatException nfe) { 345 catch (NumberFormatException nfe) {
289 // do nothing 346 // do nothing
290 } 347 }
291 348
292 distancePanel.setStep(step); 349 distancePanel.setStep(step);
350 }
351
352
353 protected double getDefaultStep() {
354 return (double) DEFAULT_STEP_WIDTH;
293 } 355 }
294 356
295 357
296 protected double getDefaultValue(Data data) 358 protected double getDefaultValue(Data data)
297 throws NumberFormatException 359 throws NumberFormatException

http://dive4elements.wald.intevation.org