annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/DemDatacagePanel.java @ 4253:a1bc5b8cff0f

Refactor GaugePanel to create it's own SectionStackSection The GaugePanel constructor now creates a SectionStackSection instead of using a provided one. Improve the rendering of the GaugePanel by having access to the SmartGWT wrapper (WidgetCanvas) object for the GWT Tree (GaugeTree) directly. Add methods to close and open the section. Also add a getter for the section.
author Björn Ricks <bjoern.ricks@intevation.de>
date Thu, 25 Oct 2012 13:52:58 +0200
parents 360e22afb98b
children
rev   line source
901
3ef7205b814e Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.client.client.ui;
3ef7205b814e Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
2
3ef7205b814e Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
3 import de.intevation.flys.client.shared.model.Data;
3ef7205b814e Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
4 import de.intevation.flys.client.shared.model.DataItem;
3ef7205b814e Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
5 import de.intevation.flys.client.shared.model.DefaultData;
3ef7205b814e Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
6 import de.intevation.flys.client.shared.model.DefaultDataItem;
917
b48c36076e17 Tagged RELEASE 2.5 of flys-client.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 916
diff changeset
7 import de.intevation.flys.client.shared.model.Recommendation;
b48c36076e17 Tagged RELEASE 2.5 of flys-client.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 916
diff changeset
8 import de.intevation.flys.client.shared.model.ToLoad;
901
3ef7205b814e Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
9 import de.intevation.flys.client.shared.model.User;
3ef7205b814e Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10
4131
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 1447
diff changeset
11 import java.util.ArrayList;
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 1447
diff changeset
12 import java.util.List;
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 1447
diff changeset
13
901
3ef7205b814e Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
14
3ef7205b814e Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
15 public class DemDatacagePanel extends DatacagePanel {
3ef7205b814e Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
16
4131
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 1447
diff changeset
17 private static final long serialVersionUID = -2301633938080411687L;
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 1447
diff changeset
18
916
a1a5dc2b9e34 Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 901
diff changeset
19 public static final String OUT = "floodmap";
a1a5dc2b9e34 Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 901
diff changeset
20 public static final String PARAMETERS = "dem:true";
901
3ef7205b814e Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
21
3ef7205b814e Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
22
3ef7205b814e Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
23 public DemDatacagePanel() {
3ef7205b814e Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
24 super();
3ef7205b814e Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
25 }
3ef7205b814e Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
26
3ef7205b814e Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
27
3ef7205b814e Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
28 public DemDatacagePanel(User user) {
3ef7205b814e Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
29 super(user);
3ef7205b814e Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
30 }
3ef7205b814e Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
31
3ef7205b814e Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
32
3ef7205b814e Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
33 @Override
1268
d0500e993218 Force a single selection in the datacage widget for DEMs and WSPs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 917
diff changeset
34 protected void createWidget() {
d0500e993218 Force a single selection in the datacage widget for DEMs and WSPs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 917
diff changeset
35 super.createWidget();
d0500e993218 Force a single selection in the datacage widget for DEMs and WSPs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 917
diff changeset
36 widget.setIsMutliSelectable(false);
d0500e993218 Force a single selection in the datacage widget for DEMs and WSPs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 917
diff changeset
37 }
d0500e993218 Force a single selection in the datacage widget for DEMs and WSPs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 917
diff changeset
38
d0500e993218 Force a single selection in the datacage widget for DEMs and WSPs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 917
diff changeset
39
d0500e993218 Force a single selection in the datacage widget for DEMs and WSPs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 917
diff changeset
40 @Override
916
a1a5dc2b9e34 Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 901
diff changeset
41 public User getUser() {
a1a5dc2b9e34 Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 901
diff changeset
42 return null;
a1a5dc2b9e34 Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 901
diff changeset
43 }
a1a5dc2b9e34 Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 901
diff changeset
44
a1a5dc2b9e34 Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 901
diff changeset
45
a1a5dc2b9e34 Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 901
diff changeset
46 @Override
901
3ef7205b814e Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
47 public String getOuts() {
916
a1a5dc2b9e34 Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 901
diff changeset
48 return OUT;
a1a5dc2b9e34 Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 901
diff changeset
49 }
a1a5dc2b9e34 Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 901
diff changeset
50
a1a5dc2b9e34 Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 901
diff changeset
51
a1a5dc2b9e34 Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 901
diff changeset
52 @Override
a1a5dc2b9e34 Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 901
diff changeset
53 public String getParameters() {
a1a5dc2b9e34 Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 901
diff changeset
54 return PARAMETERS;
901
3ef7205b814e Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
55 }
3ef7205b814e Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
56
3ef7205b814e Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
57
3ef7205b814e Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
58 @Override
1447
c4bc320e3d44 Bugfix: make sure that the user has selected a DEM before feeding the Artifact with it.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1268
diff changeset
59 public List<String> validate() {
c4bc320e3d44 Bugfix: make sure that the user has selected a DEM before feeding the Artifact with it.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1268
diff changeset
60 List<String> errors = new ArrayList<String>();
c4bc320e3d44 Bugfix: make sure that the user has selected a DEM before feeding the Artifact with it.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1268
diff changeset
61
c4bc320e3d44 Bugfix: make sure that the user has selected a DEM before feeding the Artifact with it.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1268
diff changeset
62 Recommendation r = getSelectedRecommendation();
c4bc320e3d44 Bugfix: make sure that the user has selected a DEM before feeding the Artifact with it.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1268
diff changeset
63 if (r == null) {
c4bc320e3d44 Bugfix: make sure that the user has selected a DEM before feeding the Artifact with it.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1268
diff changeset
64 errors.add(MSG.requireDGM());
c4bc320e3d44 Bugfix: make sure that the user has selected a DEM before feeding the Artifact with it.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1268
diff changeset
65 }
c4bc320e3d44 Bugfix: make sure that the user has selected a DEM before feeding the Artifact with it.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1268
diff changeset
66
c4bc320e3d44 Bugfix: make sure that the user has selected a DEM before feeding the Artifact with it.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1268
diff changeset
67 return errors;
c4bc320e3d44 Bugfix: make sure that the user has selected a DEM before feeding the Artifact with it.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1268
diff changeset
68 }
c4bc320e3d44 Bugfix: make sure that the user has selected a DEM before feeding the Artifact with it.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1268
diff changeset
69
c4bc320e3d44 Bugfix: make sure that the user has selected a DEM before feeding the Artifact with it.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1268
diff changeset
70
c4bc320e3d44 Bugfix: make sure that the user has selected a DEM before feeding the Artifact with it.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1268
diff changeset
71 @Override
901
3ef7205b814e Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
72 protected Data[] getData() {
917
b48c36076e17 Tagged RELEASE 2.5 of flys-client.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 916
diff changeset
73 Recommendation r = getSelectedRecommendation();
b48c36076e17 Tagged RELEASE 2.5 of flys-client.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 916
diff changeset
74
b48c36076e17 Tagged RELEASE 2.5 of flys-client.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 916
diff changeset
75 DataItem item = new DefaultDataItem(dataName, dataName, r.getIDs());
901
3ef7205b814e Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
76 return new Data[] { new DefaultData(
3ef7205b814e Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
77 dataName, null, null, new DataItem[] { item }) };
3ef7205b814e Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
78 }
917
b48c36076e17 Tagged RELEASE 2.5 of flys-client.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 916
diff changeset
79
b48c36076e17 Tagged RELEASE 2.5 of flys-client.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 916
diff changeset
80
b48c36076e17 Tagged RELEASE 2.5 of flys-client.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 916
diff changeset
81 protected Recommendation getSelectedRecommendation() {
b48c36076e17 Tagged RELEASE 2.5 of flys-client.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 916
diff changeset
82 ToLoad toLoad = widget.getSelection();
b48c36076e17 Tagged RELEASE 2.5 of flys-client.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 916
diff changeset
83 List<Recommendation> recoms = toLoad.toRecommendations();
b48c36076e17 Tagged RELEASE 2.5 of flys-client.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 916
diff changeset
84
1447
c4bc320e3d44 Bugfix: make sure that the user has selected a DEM before feeding the Artifact with it.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1268
diff changeset
85 return recoms != null && recoms.size() >= 1 ? recoms.get(0) : null;
917
b48c36076e17 Tagged RELEASE 2.5 of flys-client.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 916
diff changeset
86 }
901
3ef7205b814e Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
87 }
3ef7205b814e Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
88 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org