annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/DistanceOnlyPanel.java @ 1265:f98bd9b5cedd

#315 Added a new UIProvider for range selection in floodmaps. flys-client/trunk@2797 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Wed, 21 Sep 2011 12:54:27 +0000
parents
children 360e22afb98b
rev   line source
1265
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.client.client.ui;
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
2
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
3 import java.util.List;
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
4
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
5 import de.intevation.flys.client.shared.model.Data;
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
6 import de.intevation.flys.client.shared.model.DataItem;
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
7 import de.intevation.flys.client.shared.model.DataList;
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
8
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
9
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10 public class DistanceOnlyPanel extends DistancePanel {
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
11
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
12 public DistanceOnlyPanel() {
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
13 this("right");
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
14 }
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
15
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
16
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
17 public DistanceOnlyPanel(String labelOrientation) {
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
18 distancePanel = new DoubleRangeOnlyPanel(
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
19 labelFrom(), labelTo(), 0d, 0d, 250, this, labelOrientation);
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
20 }
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
21
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
22
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
23 @Override
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
24 protected String getOldSelectionString(DataList dataList) {
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
25 List<Data> items = dataList.getAll();
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
26
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
27 Data dFrom = getData(items, getLowerField());
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
28 Data dTo = getData(items, getUpperField());
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
29
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
30 DataItem[] from = dFrom.getItems();
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
31 DataItem[] to = dTo.getItems();
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
32
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
33 StringBuilder sb = new StringBuilder();
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
34 sb.append(from[0].getLabel());
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
35 sb.append(" " + getUnitFrom() + " - ");
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
36 sb.append(to[0].getLabel());
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37 sb.append(" " + getUnitTo());
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
38
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
39 return sb.toString();
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
40 }
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
41
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
42
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
43 @Override
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
44 protected void initDefaultStep(DataList data) {
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
45 // do nothing
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
46 }
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
47
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
48
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
49 @Override
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
50 public Data[] getData() {
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
51 Data[] data = new Data[2];
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
52
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
53 data[0] = getDataFrom();
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
54 data[1] = getDataTo();
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
55
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
56 return data;
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
57 }
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
58
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
59
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
60 @Override
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
61 protected String labelFrom() {
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
62 return getUnitFrom() + " - ";
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
63 }
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
64
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
65
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
66 @Override
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
67 protected String labelTo() {
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
68 return getUnitTo();
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
69 }
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
70 }
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
71 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org