Mercurial > dive4elements > river
annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/DatacageTwinPanel.java @ 9133:af73fdd96920
Title current/historical diff pair; limit on entries in diff'pair twin_panel
author | gernotbelger |
---|---|
date | Thu, 07 Jun 2018 11:41:10 +0200 |
parents | 28df64078f27 |
children | e3c2ae1887e8 |
rev | line source |
---|---|
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
2 * Software engineering by Intevation GmbH |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
3 * |
5993
ea9eef426962
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5861
diff
changeset
|
4 * This file is Free Software under the GNU AGPL (>=v3) |
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
5993
ea9eef426962
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5861
diff
changeset
|
6 * documentation coming with Dive4Elements River for details. |
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
7 */ |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
8 |
5835
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
9 package org.dive4elements.river.client.client.ui; |
867
6a2ed979dfcf
Added new UIProvider "DatacageTwinPanel", pass user via UIProviderFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
10 |
8852
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
8719
diff
changeset
|
11 import org.dive4elements.river.client.shared.model.DataList; |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
8719
diff
changeset
|
12 import org.dive4elements.river.client.shared.model.User; |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
8719
diff
changeset
|
13 |
867
6a2ed979dfcf
Added new UIProvider "DatacageTwinPanel", pass user via UIProviderFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
14 import com.google.gwt.core.client.GWT; |
6a2ed979dfcf
Added new UIProvider "DatacageTwinPanel", pass user via UIProviderFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
15 import com.smartgwt.client.widgets.Canvas; |
9133
af73fdd96920
Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents:
8860
diff
changeset
|
16 import com.smartgwt.client.widgets.Label; |
914
39a39e9be5af
Made DatacageTwinPanel somewhat usable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
867
diff
changeset
|
17 import com.smartgwt.client.widgets.grid.ListGrid; |
4127
1e9e7b7d9f15
More fixes for #897: missing resource exceptions when handling other exceptions
Christian Lins <christian.lins@intevation.de>
parents:
2905
diff
changeset
|
18 import com.smartgwt.client.widgets.layout.HLayout; |
1e9e7b7d9f15
More fixes for #897: missing resource exceptions when handling other exceptions
Christian Lins <christian.lins@intevation.de>
parents:
2905
diff
changeset
|
19 import com.smartgwt.client.widgets.layout.VLayout; |
867
6a2ed979dfcf
Added new UIProvider "DatacageTwinPanel", pass user via UIProviderFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
20 |
914
39a39e9be5af
Made DatacageTwinPanel somewhat usable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
867
diff
changeset
|
21 /** |
8852
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
8719
diff
changeset
|
22 * A {@link AbstractPairRecommendationPanel} that uses a 'TwinDatacage' in the help-input area. |
914
39a39e9be5af
Made DatacageTwinPanel somewhat usable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
867
diff
changeset
|
23 * DatacagePairWidget which is put in the input-helper area. |
39a39e9be5af
Made DatacageTwinPanel somewhat usable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
867
diff
changeset
|
24 */ |
9133
af73fdd96920
Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents:
8860
diff
changeset
|
25 public abstract class DatacageTwinPanel extends AbstractPairRecommendationPanel { |
1298
b0ed67cb5197
Minor refactoring, improved displayed Strings in W-Diff branch.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1295
diff
changeset
|
26 |
9133
af73fdd96920
Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents:
8860
diff
changeset
|
27 private final IDatacageTwinPanelInfo leftInfo; |
af73fdd96920
Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents:
8860
diff
changeset
|
28 private final IDatacageTwinPanelInfo rightInfo; |
1363
9da7fdfbb80e
Fix flys/issue390 (W-Diff: Icon zum Löschen anpassen).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1352
diff
changeset
|
29 |
9133
af73fdd96920
Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents:
8860
diff
changeset
|
30 private final int maxCount; |
af73fdd96920
Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents:
8860
diff
changeset
|
31 private final String msgMaxCount; |
af73fdd96920
Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents:
8860
diff
changeset
|
32 |
af73fdd96920
Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents:
8860
diff
changeset
|
33 public static interface IDatacageTwinPanelInfo extends IRecommendationInfo { |
af73fdd96920
Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents:
8860
diff
changeset
|
34 String getOuts(); |
af73fdd96920
Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents:
8860
diff
changeset
|
35 } |
af73fdd96920
Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents:
8860
diff
changeset
|
36 |
af73fdd96920
Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents:
8860
diff
changeset
|
37 public DatacageTwinPanel(final User user, final IValidator validator, final IDatacageTwinPanelInfo leftInfo, final IDatacageTwinPanelInfo rightInfo, |
af73fdd96920
Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents:
8860
diff
changeset
|
38 final int maxCount, final String msgMaxCount) { |
af73fdd96920
Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents:
8860
diff
changeset
|
39 super(user, validator, leftInfo, rightInfo); |
af73fdd96920
Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents:
8860
diff
changeset
|
40 |
af73fdd96920
Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents:
8860
diff
changeset
|
41 this.maxCount = maxCount; |
af73fdd96920
Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents:
8860
diff
changeset
|
42 this.msgMaxCount = msgMaxCount; |
af73fdd96920
Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents:
8860
diff
changeset
|
43 this.leftInfo = leftInfo; |
af73fdd96920
Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents:
8860
diff
changeset
|
44 this.rightInfo = rightInfo; |
af73fdd96920
Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents:
8860
diff
changeset
|
45 } |
af73fdd96920
Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents:
8860
diff
changeset
|
46 |
867
6a2ed979dfcf
Added new UIProvider "DatacageTwinPanel", pass user via UIProviderFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
47 @Override |
8852
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
8719
diff
changeset
|
48 protected final Canvas createChooserWidgets(final Canvas widget, final DataList dataList, final User user, final ListGrid differencesList) { |
867
6a2ed979dfcf
Added new UIProvider "DatacageTwinPanel", pass user via UIProviderFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
49 GWT.log("createData()"); |
6a2ed979dfcf
Added new UIProvider "DatacageTwinPanel", pass user via UIProviderFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
50 |
9133
af73fdd96920
Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents:
8860
diff
changeset
|
51 final Canvas submit = getNextButton(); |
867
6a2ed979dfcf
Added new UIProvider "DatacageTwinPanel", pass user via UIProviderFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
52 |
9133
af73fdd96920
Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents:
8860
diff
changeset
|
53 final VLayout layout = new VLayout(); |
af73fdd96920
Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents:
8860
diff
changeset
|
54 final HLayout helperLayout = new HLayout(); |
af73fdd96920
Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents:
8860
diff
changeset
|
55 |
af73fdd96920
Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents:
8860
diff
changeset
|
56 final String leftOuts = this.leftInfo.getOuts(); |
af73fdd96920
Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents:
8860
diff
changeset
|
57 final String rightOuts = this.rightInfo.getOuts(); |
af73fdd96920
Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents:
8860
diff
changeset
|
58 |
af73fdd96920
Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents:
8860
diff
changeset
|
59 helperLayout.addMember(new DatacagePairWidget(this.artifact, user, leftOuts, rightOuts, differencesList, this.maxCount, this.msgMaxCount)); |
af73fdd96920
Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents:
8860
diff
changeset
|
60 |
af73fdd96920
Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents:
8860
diff
changeset
|
61 if (dataList != null && dataList.get(0) != null && dataList.get(0).getDescription() != null) { |
af73fdd96920
Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents:
8860
diff
changeset
|
62 final Label title = new Label(dataList.get(0).getDescription()); |
af73fdd96920
Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents:
8860
diff
changeset
|
63 title.setHeight("25px"); |
af73fdd96920
Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents:
8860
diff
changeset
|
64 layout.addMember(title); |
af73fdd96920
Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents:
8860
diff
changeset
|
65 } |
867
6a2ed979dfcf
Added new UIProvider "DatacageTwinPanel", pass user via UIProviderFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
66 |
6a2ed979dfcf
Added new UIProvider "DatacageTwinPanel", pass user via UIProviderFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
67 layout.addMember(widget); |
6a2ed979dfcf
Added new UIProvider "DatacageTwinPanel", pass user via UIProviderFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
68 layout.addMember(submit); |
6a2ed979dfcf
Added new UIProvider "DatacageTwinPanel", pass user via UIProviderFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
69 layout.setMembersMargin(10); |
914
39a39e9be5af
Made DatacageTwinPanel somewhat usable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
867
diff
changeset
|
70 this.helperContainer.addMember(helperLayout); |
867
6a2ed979dfcf
Added new UIProvider "DatacageTwinPanel", pass user via UIProviderFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
71 |
914
39a39e9be5af
Made DatacageTwinPanel somewhat usable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
867
diff
changeset
|
72 return layout; |
39a39e9be5af
Made DatacageTwinPanel somewhat usable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
867
diff
changeset
|
73 } |
9133
af73fdd96920
Title current/historical diff pair; limit on entries in diff'pair twin_panel
gernotbelger
parents:
8860
diff
changeset
|
74 |
8852
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
8719
diff
changeset
|
75 } |