Mercurial > dive4elements > river
annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/DatacagePairWidget.java @ 1298:b0ed67cb5197
Minor refactoring, improved displayed Strings in W-Diff branch.
flys-client/trunk@2920 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Mon, 10 Oct 2011 10:02:16 +0000 |
parents | d9cb362b8b34 |
children | 2fa7ed1ac7cf |
rev | line source |
---|---|
899
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.client.client.ui; |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
2 |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
3 import com.google.gwt.core.client.GWT; |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
4 |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
5 import com.smartgwt.client.widgets.Button; |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
6 |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
7 import com.smartgwt.client.widgets.layout.VLayout; |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
8 import com.smartgwt.client.widgets.layout.HLayout; |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
9 |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
10 import com.smartgwt.client.widgets.events.ClickHandler; |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
11 import com.smartgwt.client.widgets.events.ClickEvent; |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
12 |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
13 import com.smartgwt.client.widgets.grid.ListGrid; |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
14 import com.smartgwt.client.widgets.grid.ListGridRecord; |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
15 |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
16 import de.intevation.flys.client.shared.model.Artifact; |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
17 import de.intevation.flys.client.shared.model.User; |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
18 import de.intevation.flys.client.shared.model.ToLoad; |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
19 |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
20 import de.intevation.flys.client.client.FLYSConstants; |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
21 |
914
39a39e9be5af
Made DatacageTwinPanel somewhat usable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
899
diff
changeset
|
22 import de.intevation.flys.client.shared.model.Recommendation; |
899
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
23 |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
24 |
914
39a39e9be5af
Made DatacageTwinPanel somewhat usable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
899
diff
changeset
|
25 /** |
39a39e9be5af
Made DatacageTwinPanel somewhat usable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
899
diff
changeset
|
26 * Widget showing two Datacages and a plus-button. |
39a39e9be5af
Made DatacageTwinPanel somewhat usable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
899
diff
changeset
|
27 * Insert a record into a listgrid when plus-button clicked. |
39a39e9be5af
Made DatacageTwinPanel somewhat usable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
899
diff
changeset
|
28 */ |
899
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
29 public class DatacagePairWidget |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
30 extends VLayout |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
31 { |
1284
cdb1505a32f1
Fix messed up indentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1283
diff
changeset
|
32 protected FLYSConstants messages = |
cdb1505a32f1
Fix messed up indentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1283
diff
changeset
|
33 GWT.create(FLYSConstants.class); |
cdb1505a32f1
Fix messed up indentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1283
diff
changeset
|
34 |
cdb1505a32f1
Fix messed up indentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1283
diff
changeset
|
35 /** The "remote" ListGrid to insert data to when add-button is clicked. */ |
cdb1505a32f1
Fix messed up indentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1283
diff
changeset
|
36 protected ListGrid grid; |
cdb1505a32f1
Fix messed up indentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1283
diff
changeset
|
37 |
cdb1505a32f1
Fix messed up indentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1283
diff
changeset
|
38 /** First (upper) DataCage Grid. */ |
cdb1505a32f1
Fix messed up indentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1283
diff
changeset
|
39 protected DatacageWidget firstDatacageWidget; |
cdb1505a32f1
Fix messed up indentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1283
diff
changeset
|
40 |
cdb1505a32f1
Fix messed up indentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1283
diff
changeset
|
41 /** Second (lower) DataCage Grid. */ |
cdb1505a32f1
Fix messed up indentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1283
diff
changeset
|
42 protected DatacageWidget secondDatacageWidget; |
1298
b0ed67cb5197
Minor refactoring, improved displayed Strings in W-Diff branch.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1295
diff
changeset
|
43 |
1284
cdb1505a32f1
Fix messed up indentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1283
diff
changeset
|
44 |
cdb1505a32f1
Fix messed up indentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1283
diff
changeset
|
45 /** |
cdb1505a32f1
Fix messed up indentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1283
diff
changeset
|
46 * |
cdb1505a32f1
Fix messed up indentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1283
diff
changeset
|
47 * @param artifact Artifact to query datacage with. |
cdb1505a32f1
Fix messed up indentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1283
diff
changeset
|
48 * @param user User to query datacage with. |
cdb1505a32f1
Fix messed up indentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1283
diff
changeset
|
49 * @param outs outs to query datacage with. |
cdb1505a32f1
Fix messed up indentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1283
diff
changeset
|
50 * @param grid Grid into which to insert selection of pairs. |
cdb1505a32f1
Fix messed up indentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1283
diff
changeset
|
51 */ |
cdb1505a32f1
Fix messed up indentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1283
diff
changeset
|
52 public DatacagePairWidget(Artifact artifact, |
1283
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1261
diff
changeset
|
53 User user, |
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1261
diff
changeset
|
54 String outs, |
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1261
diff
changeset
|
55 ListGrid grid) { |
899
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
56 this.grid = grid; |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
57 |
1283
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1261
diff
changeset
|
58 HLayout hLayout = new HLayout(); |
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1261
diff
changeset
|
59 firstDatacageWidget = new DatacageWidget(artifact, user, outs, false); |
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1261
diff
changeset
|
60 secondDatacageWidget = new DatacageWidget(artifact, user, outs, false); |
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1261
diff
changeset
|
61 firstDatacageWidget.setIsMutliSelectable(false); |
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1261
diff
changeset
|
62 secondDatacageWidget.setIsMutliSelectable(false); |
899
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
63 |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
64 hLayout.addMember(firstDatacageWidget); |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
65 hLayout.addMember(secondDatacageWidget); |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
66 |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
67 // TODO: i18n + icon |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
68 Button plusBtn = new Button("+"); |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
69 plusBtn.addClickHandler(new ClickHandler() { |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
70 @Override |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
71 public void onClick(ClickEvent event) { |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
72 plusClicked(); |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
73 } |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
74 }); |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
75 |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
76 addMember(hLayout); |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
77 addMember(plusBtn); |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
78 } |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
79 |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
80 |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
81 /** |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
82 * Callback for add-button. |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
83 * Fires to load for every selected element and handler. |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
84 */ |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
85 public void plusClicked() { |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
86 ToLoad toLoad1 = firstDatacageWidget.getSelection(); |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
87 ToLoad toLoad2 = secondDatacageWidget.getSelection(); |
1283
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1261
diff
changeset
|
88 String [] sel1 = firstDatacageWidget.getSelectionTitles(); |
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1261
diff
changeset
|
89 String [] sel2 = secondDatacageWidget.getSelectionTitles(); |
899
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
90 |
914
39a39e9be5af
Made DatacageTwinPanel somewhat usable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
899
diff
changeset
|
91 // TODO further sanitize (toRecommendations.length) |
899
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
92 if (toLoad1 == null || toLoad2 == null) { |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
93 return; |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
94 } |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
95 |
914
39a39e9be5af
Made DatacageTwinPanel somewhat usable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
899
diff
changeset
|
96 grid.addData(new RecommendationPairRecord( |
1283
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1261
diff
changeset
|
97 sel1[0], |
914
39a39e9be5af
Made DatacageTwinPanel somewhat usable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
899
diff
changeset
|
98 toLoad1.toRecommendations().get(0), |
1283
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1261
diff
changeset
|
99 sel2[0], |
914
39a39e9be5af
Made DatacageTwinPanel somewhat usable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
899
diff
changeset
|
100 toLoad2.toRecommendations().get(0))); |
899
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
101 } |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
102 } |
6e678b5d08a4
New widget for future use.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
103 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |