Mercurial > dive4elements > river
annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/stationinfo/MeasurementStationListGrid.java @ 5838:5aa05a7a34b7
Rename modules to more fitting names.
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Thu, 25 Apr 2013 15:23:37 +0200 |
parents | flys-client/src/main/java/org/dive4elements/river/client/client/ui/stationinfo/MeasurementStationListGrid.java@821a02bbfb4e |
children | 172338b1407f |
rev | line source |
---|---|
5835
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
1 package org.dive4elements.river.client.client.ui.stationinfo; |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
2 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
3 import com.google.gwt.core.client.GWT; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
4 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
5 import com.smartgwt.client.types.ListGridFieldType; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
6 import com.smartgwt.client.widgets.Canvas; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
7 import com.smartgwt.client.widgets.WidgetCanvas; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
8 import com.smartgwt.client.widgets.grid.ListGridField; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
9 import com.smartgwt.client.widgets.grid.ListGridRecord; |
5503
b660090b417d
Create a new sq relation project on measurement station record click.
Raimund Renkert <rrenkert@intevation.de>
parents:
4962
diff
changeset
|
10 import com.smartgwt.client.widgets.grid.events.RecordClickEvent; |
b660090b417d
Create a new sq relation project on measurement station record click.
Raimund Renkert <rrenkert@intevation.de>
parents:
4962
diff
changeset
|
11 import com.smartgwt.client.widgets.grid.events.RecordClickHandler; |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
12 |
5835
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
13 import org.dive4elements.river.client.client.FLYS; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
14 import org.dive4elements.river.client.shared.model.MeasurementStation; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
15 import org.dive4elements.river.client.shared.model.RiverInfo; |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
16 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
17 import java.util.ArrayList; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
18 import java.util.List; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
19 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
20 /** |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
21 * @author <a href="mailto:bjoern.ricks@intevation.de">Björn Ricks</a> |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
22 */ |
5503
b660090b417d
Create a new sq relation project on measurement station record click.
Raimund Renkert <rrenkert@intevation.de>
parents:
4962
diff
changeset
|
23 public class MeasurementStationListGrid |
b660090b417d
Create a new sq relation project on measurement station record click.
Raimund Renkert <rrenkert@intevation.de>
parents:
4962
diff
changeset
|
24 extends InfoListGrid |
b660090b417d
Create a new sq relation project on measurement station record click.
Raimund Renkert <rrenkert@intevation.de>
parents:
4962
diff
changeset
|
25 implements RecordClickHandler { |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
26 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
27 public MeasurementStationListGrid(FLYS flys) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
28 super(flys); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
29 ListGridField nfield = new ListGridField("name", "Messtelle"); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
30 ListGridField sfield = new ListGridField("kmstart", "Start [km]", 60); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
31 ListGridField efield = new ListGridField("kmend", "Ende [km]", 60); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
32 ListGridField stfield = new ListGridField("station", "Station [km]"); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
33 ListGridField lfield = new ListGridField("link", "Link"); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
34 lfield.setType(ListGridFieldType.LINK); |
5503
b660090b417d
Create a new sq relation project on measurement station record click.
Raimund Renkert <rrenkert@intevation.de>
parents:
4962
diff
changeset
|
35 ListGridField cfield = new ListGridField("curvelink", "SQ"); |
b660090b417d
Create a new sq relation project on measurement station record click.
Raimund Renkert <rrenkert@intevation.de>
parents:
4962
diff
changeset
|
36 cfield.addRecordClickHandler(this); |
b660090b417d
Create a new sq relation project on measurement station record click.
Raimund Renkert <rrenkert@intevation.de>
parents:
4962
diff
changeset
|
37 this.setFields(nfield, sfield, efield, stfield, lfield, cfield); |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
38 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
39 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
40 /** |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
41 * Resets the items of the tree. |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
42 * If the list of gauges is empty or null the tree will be empty. |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
43 */ |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
44 @Override |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
45 public void setRiverInfo(RiverInfo riverinfo) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
46 List<MeasurementStation> stations = riverinfo.getMeasurementStations(); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
47 GWT.log("MeasurmentStationListGrid - setRiverInfo " + stations); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
48 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
49 if (stations != null && !stations.isEmpty()) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
50 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
51 ArrayList<MeasurementStation> emptystations = |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
52 new ArrayList<MeasurementStation>(); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
53 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
54 if (!riverinfo.isKmUp()) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
55 for (MeasurementStation station : stations) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
56 addStation(station, emptystations); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
57 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
58 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
59 else { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
60 for (int i = stations.size()-1; i >= 0; i--) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
61 MeasurementStation station = stations.get(i); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
62 addStation(station, emptystations); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
63 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
64 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
65 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
66 // put empty stations to the end |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
67 for (MeasurementStation station : emptystations) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
68 addStation(station); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
69 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
70 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
71 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
72 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
73 private void addStation(MeasurementStation station, |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
74 List<MeasurementStation> empty) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
75 if (station.getKmStart() != null && station.getKmEnd() != null) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
76 addStation(station); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
77 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
78 else { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
79 empty.add(station); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
80 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
81 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
82 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
83 private void addStation(MeasurementStation station) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
84 ListGridRecord record = new MeasurementStationRecord(station); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
85 this.addData(record); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
86 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
87 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
88 @Override |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
89 public void open() { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
90 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
91 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
92 @Override |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
93 protected Canvas getExpandPanel(ListGridRecord record) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
94 MeasurementStationRecord station = (MeasurementStationRecord)record; |
4962
6f6461e07854
Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4957
diff
changeset
|
95 return new WidgetCanvas(new MeasurementStationInfoPanel(station)); |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
96 } |
5503
b660090b417d
Create a new sq relation project on measurement station record click.
Raimund Renkert <rrenkert@intevation.de>
parents:
4962
diff
changeset
|
97 |
b660090b417d
Create a new sq relation project on measurement station record click.
Raimund Renkert <rrenkert@intevation.de>
parents:
4962
diff
changeset
|
98 @Override |
b660090b417d
Create a new sq relation project on measurement station record click.
Raimund Renkert <rrenkert@intevation.de>
parents:
4962
diff
changeset
|
99 public void onRecordClick(RecordClickEvent event) { |
b660090b417d
Create a new sq relation project on measurement station record click.
Raimund Renkert <rrenkert@intevation.de>
parents:
4962
diff
changeset
|
100 MeasurementStationRecord station = |
b660090b417d
Create a new sq relation project on measurement station record click.
Raimund Renkert <rrenkert@intevation.de>
parents:
4962
diff
changeset
|
101 (MeasurementStationRecord)event.getRecord(); |
b660090b417d
Create a new sq relation project on measurement station record click.
Raimund Renkert <rrenkert@intevation.de>
parents:
4962
diff
changeset
|
102 flys.newSQRelation(station.getRiverName(), station.getID()); |
b660090b417d
Create a new sq relation project on measurement station record click.
Raimund Renkert <rrenkert@intevation.de>
parents:
4962
diff
changeset
|
103 } |
b660090b417d
Create a new sq relation project on measurement station record click.
Raimund Renkert <rrenkert@intevation.de>
parents:
4962
diff
changeset
|
104 |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
105 } |