Mercurial > dive4elements > river
comparison gwt-client/src/main/java/org/dive4elements/river/client/client/ui/minfo/BedHeightsDatacagePanel.java @ 7971:93da474506e7
Changed twin dc panel in bed height deifferences to single dc and use the new differences dc macro.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Thu, 26 Jun 2014 14:59:28 +0200 |
parents | b6ef2ce3fc62 |
children | f7f86f4e4c8d |
comparison
equal
deleted
inserted
replaced
7970:d66ea32d98bc | 7971:93da474506e7 |
---|---|
12 | 12 |
13 import com.google.gwt.user.client.rpc.AsyncCallback; | 13 import com.google.gwt.user.client.rpc.AsyncCallback; |
14 | 14 |
15 import com.smartgwt.client.data.Record; | 15 import com.smartgwt.client.data.Record; |
16 | 16 |
17 import com.smartgwt.client.util.SC; | |
18 import com.smartgwt.client.widgets.Button; | |
17 import com.smartgwt.client.widgets.Canvas; | 19 import com.smartgwt.client.widgets.Canvas; |
18 | 20 |
19 import com.smartgwt.client.widgets.events.ClickEvent; | 21 import com.smartgwt.client.widgets.events.ClickEvent; |
20 | 22 import com.smartgwt.client.widgets.events.ClickHandler; |
21 import com.smartgwt.client.widgets.grid.ListGridRecord; | 23 import com.smartgwt.client.widgets.grid.ListGridRecord; |
22 | 24 |
23 import com.smartgwt.client.widgets.layout.HLayout; | 25 import com.smartgwt.client.widgets.layout.HLayout; |
24 import com.smartgwt.client.widgets.layout.VLayout; | 26 import com.smartgwt.client.widgets.layout.VLayout; |
27 import com.smartgwt.client.widgets.tree.TreeNode; | |
25 | 28 |
26 import org.dive4elements.river.client.client.Config; | 29 import org.dive4elements.river.client.client.Config; |
27 import org.dive4elements.river.client.client.FLYSConstants; | 30 import org.dive4elements.river.client.client.FLYSConstants; |
28 | 31 |
29 import org.dive4elements.river.client.client.event.StepForwardEvent; | 32 import org.dive4elements.river.client.client.event.StepForwardEvent; |
33 import org.dive4elements.river.client.client.services.RemoveArtifactService; | 36 import org.dive4elements.river.client.client.services.RemoveArtifactService; |
34 import org.dive4elements.river.client.client.services.RemoveArtifactServiceAsync; | 37 import org.dive4elements.river.client.client.services.RemoveArtifactServiceAsync; |
35 | 38 |
36 import org.dive4elements.river.client.client.ui.DatacagePairWidget; | 39 import org.dive4elements.river.client.client.ui.DatacagePairWidget; |
37 import org.dive4elements.river.client.client.ui.DatacageTwinPanel; | 40 import org.dive4elements.river.client.client.ui.DatacageTwinPanel; |
41 import org.dive4elements.river.client.client.ui.DatacageWidget; | |
38 import org.dive4elements.river.client.client.ui.RecommendationPairRecord; | 42 import org.dive4elements.river.client.client.ui.RecommendationPairRecord; |
39 | 43 |
40 import org.dive4elements.river.client.shared.model.Artifact; | 44 import org.dive4elements.river.client.shared.model.Artifact; |
41 import org.dive4elements.river.client.shared.model.Collection; | 45 import org.dive4elements.river.client.shared.model.Collection; |
42 import org.dive4elements.river.client.shared.model.Data; | 46 import org.dive4elements.river.client.shared.model.Data; |
43 import org.dive4elements.river.client.shared.model.DataItem; | 47 import org.dive4elements.river.client.shared.model.DataItem; |
44 import org.dive4elements.river.client.shared.model.DataList; | 48 import org.dive4elements.river.client.shared.model.DataList; |
49 import org.dive4elements.river.client.shared.model.ToLoad; | |
45 | 50 |
46 import org.dive4elements.river.client.shared.model.Recommendation.Facet; | 51 import org.dive4elements.river.client.shared.model.Recommendation.Facet; |
47 import org.dive4elements.river.client.shared.model.Recommendation.Filter; | 52 import org.dive4elements.river.client.shared.model.Recommendation.Filter; |
48 | 53 |
49 import org.dive4elements.river.client.shared.model.Recommendation; | 54 import org.dive4elements.river.client.shared.model.Recommendation; |
78 | 83 |
79 /** Service to remove artifacts from collection. */ | 84 /** Service to remove artifacts from collection. */ |
80 RemoveArtifactServiceAsync removeArtifactService = GWT.create( | 85 RemoveArtifactServiceAsync removeArtifactService = GWT.create( |
81 org.dive4elements.river.client.client.services.RemoveArtifactService.class); | 86 org.dive4elements.river.client.client.services.RemoveArtifactService.class); |
82 | 87 |
88 protected DatacageWidget datacage; | |
83 | 89 |
84 public BedHeightsDatacagePanel(User user) { | 90 public BedHeightsDatacagePanel(User user) { |
85 super(user); | 91 super(user); |
86 } | 92 } |
87 | 93 |
118 */ | 124 */ |
119 @Override | 125 @Override |
120 public Canvas create(DataList dataList) { | 126 public Canvas create(DataList dataList) { |
121 GWT.log("createData()"); | 127 GWT.log("createData()"); |
122 | 128 |
123 String filter = "minfo-heights"; | 129 String filter = "minfo-heights-diff"; |
124 Canvas widget = createWidget(); | 130 Canvas widget = createWidget(); |
125 Canvas submit = getNextButton(); | 131 Canvas submit = getNextButton(); |
132 datacage = new DatacageWidget( | |
133 this.artifact, user, filter, "load-system:true", false); | |
134 | |
135 Button plusBtn = new Button(MSG.datacage_add_pair()); | |
136 plusBtn.setAutoFit(true); | |
137 plusBtn.addClickHandler(new ClickHandler() { | |
138 @Override | |
139 public void onClick(ClickEvent event) { | |
140 plusClicked(); | |
141 } | |
142 }); | |
126 | 143 |
127 VLayout layout = new VLayout(); | 144 VLayout layout = new VLayout(); |
128 HLayout helperLayout = new HLayout(); | 145 VLayout helperLayout = new VLayout(); |
129 helperLayout.addMember(new DatacagePairWidget(this.artifact, | 146 helperLayout.addMember(datacage); |
130 user, filter, differencesList)); | 147 helperLayout.addMember(plusBtn); |
131 | 148 |
132 layout.addMember(widget); | 149 layout.addMember(widget); |
133 layout.addMember(submit); | 150 layout.addMember(submit); |
134 layout.setMembersMargin(10); | 151 layout.setMembersMargin(10); |
135 this.helperContainer.addMember(helperLayout); | 152 this.helperContainer.addMember(helperLayout); |
304 + artifact | 321 + artifact |
305 + ";bedheight;0;" | 322 + ";bedheight;0;" |
306 + recommendation.getDisplayName() + "]"; | 323 + recommendation.getDisplayName() + "]"; |
307 } | 324 } |
308 } | 325 } |
326 | |
327 /** | |
328 * Callback for add-button. | |
329 * Fires to load for every selected element and handler. | |
330 */ | |
331 public void plusClicked() { | |
332 List<TreeNode> selection = datacage.getPlainSelection(); | |
333 | |
334 if (selection == null || selection.isEmpty()) { | |
335 SC.say(MSG.warning()); | |
336 return; | |
337 } | |
338 | |
339 for (TreeNode node : selection) { | |
340 ToLoad toLoad1 = new ToLoad(); | |
341 ToLoad toLoad2 = new ToLoad(); | |
342 | |
343 String factory = node.getAttribute("factory"); | |
344 if (factory != null) { // we need at least a factory | |
345 String artifact = node.getAttribute("artifact-id"); | |
346 String out = node.getAttribute("out"); | |
347 String name = node.getAttribute("facet"); | |
348 String ids = node.getAttribute("ids"); | |
349 String info = node.getAttribute("info"); | |
350 String targetOut = node.getAttribute("target_out"); | |
351 | |
352 String[] splitIds = ids.split("#"); | |
353 String[] splitInfo = info.split("#"); | |
354 toLoad1.add(artifact, | |
355 factory, | |
356 out, | |
357 name, | |
358 splitIds[0], | |
359 splitInfo[0], | |
360 targetOut); | |
361 toLoad2.add(artifact, | |
362 factory, | |
363 out, | |
364 name, | |
365 splitIds[1], | |
366 splitInfo[1], | |
367 targetOut); | |
368 } | |
369 differencesList.addData(new RecommendationPairRecord( | |
370 toLoad1.toRecommendations().get(0), | |
371 toLoad2.toRecommendations().get(0))); | |
372 } | |
373 } | |
309 } | 374 } |
310 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : | 375 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |