Mercurial > dive4elements > river
annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/DatacageWidget.java @ 8644:c15cebcf60da
Remove JavaScript greeting exception.
This fixes the Error "$wnd.unHighlight" is not a function
exception at startup. This apperantly did not do anything
(as the function does not exist) and was not necessary
(as everything works as expected) So just throw it away.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Fri, 27 Mar 2015 19:10:02 +0100 |
parents | 93da474506e7 |
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:
5871
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:
5871
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; |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
10 |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
11 import com.google.gwt.core.client.GWT; |
5871
88d6bddbf6cd
River GWT client: Removed obsolete same package imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5861
diff
changeset
|
12 |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
13 import com.google.gwt.user.client.rpc.AsyncCallback; |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
14 |
4131
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3475
diff
changeset
|
15 import com.smartgwt.client.types.SelectionStyle; |
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3475
diff
changeset
|
16 import com.smartgwt.client.types.TreeModelType; |
5871
88d6bddbf6cd
River GWT client: Removed obsolete same package imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5861
diff
changeset
|
17 |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
18 import com.smartgwt.client.util.SC; |
5871
88d6bddbf6cd
River GWT client: Removed obsolete same package imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5861
diff
changeset
|
19 |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
20 import com.smartgwt.client.widgets.Button; |
5871
88d6bddbf6cd
River GWT client: Removed obsolete same package imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5861
diff
changeset
|
21 |
4131
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3475
diff
changeset
|
22 import com.smartgwt.client.widgets.events.ClickEvent; |
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3475
diff
changeset
|
23 import com.smartgwt.client.widgets.events.ClickHandler; |
5871
88d6bddbf6cd
River GWT client: Removed obsolete same package imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5861
diff
changeset
|
24 |
4131
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3475
diff
changeset
|
25 import com.smartgwt.client.widgets.grid.HoverCustomizer; |
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3475
diff
changeset
|
26 import com.smartgwt.client.widgets.grid.ListGridRecord; |
5871
88d6bddbf6cd
River GWT client: Removed obsolete same package imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5861
diff
changeset
|
27 |
4131
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3475
diff
changeset
|
28 import com.smartgwt.client.widgets.grid.events.RecordDoubleClickEvent; |
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3475
diff
changeset
|
29 import com.smartgwt.client.widgets.grid.events.RecordDoubleClickHandler; |
5871
88d6bddbf6cd
River GWT client: Removed obsolete same package imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5861
diff
changeset
|
30 |
4131
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3475
diff
changeset
|
31 import com.smartgwt.client.widgets.layout.VLayout; |
5871
88d6bddbf6cd
River GWT client: Removed obsolete same package imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5861
diff
changeset
|
32 |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
33 import com.smartgwt.client.widgets.tree.Tree; |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
34 import com.smartgwt.client.widgets.tree.TreeGrid; |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
35 import com.smartgwt.client.widgets.tree.TreeNode; |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
36 |
5871
88d6bddbf6cd
River GWT client: Removed obsolete same package imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5861
diff
changeset
|
37 import java.util.ArrayList; |
88d6bddbf6cd
River GWT client: Removed obsolete same package imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5861
diff
changeset
|
38 import java.util.List; |
88d6bddbf6cd
River GWT client: Removed obsolete same package imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5861
diff
changeset
|
39 import java.util.MissingResourceException; |
88d6bddbf6cd
River GWT client: Removed obsolete same package imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5861
diff
changeset
|
40 import java.util.Stack; |
88d6bddbf6cd
River GWT client: Removed obsolete same package imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5861
diff
changeset
|
41 |
5835
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
42 import org.dive4elements.river.client.client.Config; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
43 import org.dive4elements.river.client.client.FLYSConstants; |
5871
88d6bddbf6cd
River GWT client: Removed obsolete same package imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5861
diff
changeset
|
44 |
5835
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
45 import org.dive4elements.river.client.client.event.DatacageDoubleClickHandler; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
46 import org.dive4elements.river.client.client.event.DatacageHandler; |
5871
88d6bddbf6cd
River GWT client: Removed obsolete same package imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5861
diff
changeset
|
47 |
5835
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
48 import org.dive4elements.river.client.client.services.MetaDataService; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
49 import org.dive4elements.river.client.client.services.MetaDataServiceAsync; |
5871
88d6bddbf6cd
River GWT client: Removed obsolete same package imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5861
diff
changeset
|
50 |
5835
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
51 import org.dive4elements.river.client.shared.model.Artifact; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
52 import org.dive4elements.river.client.shared.model.AttrList; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
53 import org.dive4elements.river.client.shared.model.DataCageNode; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
54 import org.dive4elements.river.client.shared.model.DataCageTree; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
55 import org.dive4elements.river.client.shared.model.ToLoad; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
56 import org.dive4elements.river.client.shared.model.User; |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
57 |
897
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
58 // TODO: refactor, extract ~DataCageGrid |
1283
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1268
diff
changeset
|
59 /** |
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1268
diff
changeset
|
60 * Display tree of, for example, previous calculations and allows |
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1268
diff
changeset
|
61 * selection in order to access/clone these. |
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1268
diff
changeset
|
62 */ |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
63 public class DatacageWidget |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
64 extends VLayout |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
65 { |
1325
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
66 public static final int MAX_OPEN = 30; |
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
67 |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
68 protected MetaDataServiceAsync metaDataService = |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
69 GWT.create(MetaDataService.class); |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
70 |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
71 protected FLYSConstants messages = |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
72 GWT.create(FLYSConstants.class); |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
73 |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
74 protected Artifact artifact; |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
75 protected User user; |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
76 protected String outs; |
916
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
897
diff
changeset
|
77 protected String parameters; |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
78 |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
79 protected TreeGrid treeGrid; |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
80 protected Tree tree; |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
81 |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
82 protected ToLoad toLoad; |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
83 |
1267
07aa1f504491
Bugfix: #323 A double click in the datacage widget triggers the DatacageDoubleClickHandler.onDoubleClick() method of all registered handlers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
916
diff
changeset
|
84 protected List<DatacageHandler> handlers; |
07aa1f504491
Bugfix: #323 A double click in the datacage widget triggers the DatacageDoubleClickHandler.onDoubleClick() method of all registered handlers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
916
diff
changeset
|
85 protected List<DatacageDoubleClickHandler> doubleHandlers; |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
86 |
5488
6ec7c8ebb2c9
DatacageWidget: Use ScreenLock when loading dc data, solves flys/issue1152 .
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5462
diff
changeset
|
87 /** Layout to show spinning wheel of joy. */ |
6ec7c8ebb2c9
DatacageWidget: Use ScreenLock when loading dc data, solves flys/issue1152 .
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5462
diff
changeset
|
88 protected VLayout lockScreen; |
6ec7c8ebb2c9
DatacageWidget: Use ScreenLock when loading dc data, solves flys/issue1152 .
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5462
diff
changeset
|
89 |
868
439068365cde
Minor cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
848
diff
changeset
|
90 |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
91 public DatacageWidget() { |
1267
07aa1f504491
Bugfix: #323 A double click in the datacage widget triggers the DatacageDoubleClickHandler.onDoubleClick() method of all registered handlers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
916
diff
changeset
|
92 handlers = new ArrayList<DatacageHandler>(); |
07aa1f504491
Bugfix: #323 A double click in the datacage widget triggers the DatacageDoubleClickHandler.onDoubleClick() method of all registered handlers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
916
diff
changeset
|
93 doubleHandlers = new ArrayList<DatacageDoubleClickHandler>(); |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
94 } |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
95 |
868
439068365cde
Minor cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
848
diff
changeset
|
96 |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
97 public DatacageWidget(Artifact artifact, User user) { |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
98 this(artifact, user, null); |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
99 } |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
100 |
897
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
101 public DatacageWidget(Artifact artifact, User user, String outs) { |
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
102 this(artifact, user, outs, true); |
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
103 } |
868
439068365cde
Minor cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
848
diff
changeset
|
104 |
916
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
897
diff
changeset
|
105 public DatacageWidget( |
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
897
diff
changeset
|
106 Artifact artifact, |
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
897
diff
changeset
|
107 User user, |
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
897
diff
changeset
|
108 String outs, |
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
897
diff
changeset
|
109 boolean showButton |
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
897
diff
changeset
|
110 ) { |
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
897
diff
changeset
|
111 this(artifact, user, outs, null, showButton); |
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
897
diff
changeset
|
112 } |
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
897
diff
changeset
|
113 |
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
897
diff
changeset
|
114 |
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
897
diff
changeset
|
115 public DatacageWidget( |
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
897
diff
changeset
|
116 Artifact artifact, |
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
897
diff
changeset
|
117 User user, |
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
897
diff
changeset
|
118 String outs, |
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
897
diff
changeset
|
119 String parameters, |
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
897
diff
changeset
|
120 boolean showButton |
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
897
diff
changeset
|
121 ) { |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
122 this(); |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
123 |
916
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
897
diff
changeset
|
124 this.artifact = artifact; |
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
897
diff
changeset
|
125 this.user = user; |
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
897
diff
changeset
|
126 this.outs = outs; |
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
897
diff
changeset
|
127 this.parameters = parameters; |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
128 |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
129 toLoad = new ToLoad(); |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
130 |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
131 setWidth100(); |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
132 |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
133 tree = new Tree(); |
1325
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
134 tree.setModelType(TreeModelType.CHILDREN); |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
135 tree.setNameProperty("name"); |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
136 tree.setIdField("id"); |
1325
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
137 tree.setChildrenProperty("children-nodes"); |
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
138 tree.setShowRoot(false); |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
139 |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
140 treeGrid = new TreeGrid(); |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
141 treeGrid.setLoadDataOnDemand(false); |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
142 treeGrid.setWidth100(); |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
143 treeGrid.setHeight100(); |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
144 treeGrid.setShowRoot(false); |
1619
f8c03d3af300
Reactivated the Enterprise Blue theme. Fixes some icon and image issues in IE8.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1425
diff
changeset
|
145 treeGrid.setNodeIcon("[SKIN]/../blank.gif"); |
1325
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
146 treeGrid.setShowConnectors(true); |
2435
114fea2de638
Display better message for empty datacages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1619
diff
changeset
|
147 treeGrid.setLoadingMessage(messages.databasket_loading()); |
114fea2de638
Display better message for empty datacages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1619
diff
changeset
|
148 treeGrid.setEmptyMessage(messages.databasket_loading()); |
114fea2de638
Display better message for empty datacages.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1619
diff
changeset
|
149 treeGrid.setLoadingDataMessage(messages.databasket_loading()); |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
150 |
3475
9b29facddbd1
Show tooltips for datacage rows.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2905
diff
changeset
|
151 treeGrid.setHoverMoveWithMouse(true); |
9b29facddbd1
Show tooltips for datacage rows.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2905
diff
changeset
|
152 treeGrid.setCanHover(true); |
9b29facddbd1
Show tooltips for datacage rows.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2905
diff
changeset
|
153 treeGrid.setShowHover(true); |
9b29facddbd1
Show tooltips for datacage rows.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2905
diff
changeset
|
154 treeGrid.setHoverOpacity(75); |
5626
6958479ec92d
Increase the width of the hover item a bit.
Andre Heinecke <aheinecke@intevation.de>
parents:
5488
diff
changeset
|
155 treeGrid.setHoverWidth(120); |
3475
9b29facddbd1
Show tooltips for datacage rows.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2905
diff
changeset
|
156 |
9b29facddbd1
Show tooltips for datacage rows.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2905
diff
changeset
|
157 treeGrid.setHoverCustomizer(new HoverCustomizer() { |
9b29facddbd1
Show tooltips for datacage rows.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2905
diff
changeset
|
158 @Override |
9b29facddbd1
Show tooltips for datacage rows.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2905
diff
changeset
|
159 public String hoverHTML(Object value, |
9b29facddbd1
Show tooltips for datacage rows.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2905
diff
changeset
|
160 ListGridRecord record, |
9b29facddbd1
Show tooltips for datacage rows.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2905
diff
changeset
|
161 int rowNum, |
9b29facddbd1
Show tooltips for datacage rows.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2905
diff
changeset
|
162 int colNum |
9b29facddbd1
Show tooltips for datacage rows.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2905
diff
changeset
|
163 ) { |
9b29facddbd1
Show tooltips for datacage rows.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2905
diff
changeset
|
164 if(record instanceof TreeNode) { |
9b29facddbd1
Show tooltips for datacage rows.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2905
diff
changeset
|
165 TreeNode hoveredTreeNode = (TreeNode)record; |
9b29facddbd1
Show tooltips for datacage rows.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2905
diff
changeset
|
166 String info = hoveredTreeNode.getAttribute("info"); |
9b29facddbd1
Show tooltips for datacage rows.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2905
diff
changeset
|
167 if (info == null) { |
9b29facddbd1
Show tooltips for datacage rows.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2905
diff
changeset
|
168 info = hoveredTreeNode.getName(); |
9b29facddbd1
Show tooltips for datacage rows.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2905
diff
changeset
|
169 } |
9b29facddbd1
Show tooltips for datacage rows.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2905
diff
changeset
|
170 return info; |
9b29facddbd1
Show tooltips for datacage rows.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2905
diff
changeset
|
171 } |
9b29facddbd1
Show tooltips for datacage rows.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2905
diff
changeset
|
172 else { |
9b29facddbd1
Show tooltips for datacage rows.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2905
diff
changeset
|
173 return "";// should not happen |
9b29facddbd1
Show tooltips for datacage rows.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2905
diff
changeset
|
174 } |
9b29facddbd1
Show tooltips for datacage rows.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2905
diff
changeset
|
175 } |
9b29facddbd1
Show tooltips for datacage rows.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2905
diff
changeset
|
176 }); |
9b29facddbd1
Show tooltips for datacage rows.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2905
diff
changeset
|
177 |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
178 treeGrid.addRecordDoubleClickHandler(new RecordDoubleClickHandler() { |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
179 @Override |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
180 public void onRecordDoubleClick(RecordDoubleClickEvent event) { |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
181 doubleClickedOnTree(event); |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
182 } |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
183 }); |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
184 |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
185 addMember(treeGrid); |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
186 |
897
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
187 if (showButton) { |
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
188 addMember(createPlusButton()); |
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
189 } |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
190 |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
191 triggerTreeBuilding(); |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
192 } |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
193 |
6042 | 194 /** Disable input, show spinning wheel of joy. */ |
5488
6ec7c8ebb2c9
DatacageWidget: Use ScreenLock when loading dc data, solves flys/issue1152 .
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5462
diff
changeset
|
195 public void lockUI() { |
6ec7c8ebb2c9
DatacageWidget: Use ScreenLock when loading dc data, solves flys/issue1152 .
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5462
diff
changeset
|
196 lockScreen = ScreenLock.lockUI(this, lockScreen); |
6ec7c8ebb2c9
DatacageWidget: Use ScreenLock when loading dc data, solves flys/issue1152 .
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5462
diff
changeset
|
197 } |
6ec7c8ebb2c9
DatacageWidget: Use ScreenLock when loading dc data, solves flys/issue1152 .
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5462
diff
changeset
|
198 |
6ec7c8ebb2c9
DatacageWidget: Use ScreenLock when loading dc data, solves flys/issue1152 .
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5462
diff
changeset
|
199 /** Enable input, remove grey, remove spinning wheel of joy. */ |
6ec7c8ebb2c9
DatacageWidget: Use ScreenLock when loading dc data, solves flys/issue1152 .
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5462
diff
changeset
|
200 public void unlockUI() { |
6ec7c8ebb2c9
DatacageWidget: Use ScreenLock when loading dc data, solves flys/issue1152 .
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5462
diff
changeset
|
201 ScreenLock.unlockUI(this, lockScreen); |
6ec7c8ebb2c9
DatacageWidget: Use ScreenLock when loading dc data, solves flys/issue1152 .
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5462
diff
changeset
|
202 } |
897
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
203 |
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
204 /** |
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
205 * @param handler Handler to be added (notified on add-action). |
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
206 */ |
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
207 public DatacageWidget(Artifact artifact, User user, String outs, |
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
208 DatacageHandler handler) { |
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
209 this(artifact, user, outs); |
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
210 this.addDatacageHandler(handler); |
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
211 } |
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
212 |
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
213 |
916
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
897
diff
changeset
|
214 public DatacageWidget( |
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
897
diff
changeset
|
215 Artifact artifact, |
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
897
diff
changeset
|
216 User user, |
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
897
diff
changeset
|
217 String outs, |
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
897
diff
changeset
|
218 DatacageHandler handler, |
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
897
diff
changeset
|
219 String parameters |
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
897
diff
changeset
|
220 ) { |
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
897
diff
changeset
|
221 this(artifact, user, outs, handler); |
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
897
diff
changeset
|
222 this.parameters = parameters; |
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
897
diff
changeset
|
223 } |
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
897
diff
changeset
|
224 |
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
897
diff
changeset
|
225 |
1283
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1268
diff
changeset
|
226 /** |
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1268
diff
changeset
|
227 * Sets whether more than one item can be selected. |
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1268
diff
changeset
|
228 * @param multi if true, allow mutliple selections. |
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1268
diff
changeset
|
229 */ |
1268
d0500e993218
Force a single selection in the datacage widget for DEMs and WSPs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1267
diff
changeset
|
230 public void setIsMutliSelectable(boolean multi) { |
d0500e993218
Force a single selection in the datacage widget for DEMs and WSPs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1267
diff
changeset
|
231 if (multi) { |
d0500e993218
Force a single selection in the datacage widget for DEMs and WSPs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1267
diff
changeset
|
232 treeGrid.setSelectionType(SelectionStyle.MULTIPLE); |
d0500e993218
Force a single selection in the datacage widget for DEMs and WSPs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1267
diff
changeset
|
233 } |
d0500e993218
Force a single selection in the datacage widget for DEMs and WSPs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1267
diff
changeset
|
234 else { |
d0500e993218
Force a single selection in the datacage widget for DEMs and WSPs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1267
diff
changeset
|
235 treeGrid.setSelectionType(SelectionStyle.SINGLE); |
d0500e993218
Force a single selection in the datacage widget for DEMs and WSPs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1267
diff
changeset
|
236 } |
d0500e993218
Force a single selection in the datacage widget for DEMs and WSPs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1267
diff
changeset
|
237 } |
d0500e993218
Force a single selection in the datacage widget for DEMs and WSPs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1267
diff
changeset
|
238 |
d0500e993218
Force a single selection in the datacage widget for DEMs and WSPs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1267
diff
changeset
|
239 |
897
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
240 /** |
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
241 * @param handler Handler to be added (notified on add-action). |
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
242 */ |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
243 public void addDatacageHandler(DatacageHandler handler) { |
884
ace7e9cfbb7f
Fixed some bugs that avoided datacage usage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
868
diff
changeset
|
244 if (!handlers.contains(handler)) { |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
245 handlers.add(handler); |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
246 } |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
247 } |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
248 |
897
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
249 |
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
250 /** |
1267
07aa1f504491
Bugfix: #323 A double click in the datacage widget triggers the DatacageDoubleClickHandler.onDoubleClick() method of all registered handlers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
916
diff
changeset
|
251 * @param h Handler to be added (notified on Double click on node). |
07aa1f504491
Bugfix: #323 A double click in the datacage widget triggers the DatacageDoubleClickHandler.onDoubleClick() method of all registered handlers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
916
diff
changeset
|
252 */ |
07aa1f504491
Bugfix: #323 A double click in the datacage widget triggers the DatacageDoubleClickHandler.onDoubleClick() method of all registered handlers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
916
diff
changeset
|
253 public void addDatacageDoubleClickHandler(DatacageDoubleClickHandler h) { |
07aa1f504491
Bugfix: #323 A double click in the datacage widget triggers the DatacageDoubleClickHandler.onDoubleClick() method of all registered handlers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
916
diff
changeset
|
254 if (!doubleHandlers.contains(h)) { |
07aa1f504491
Bugfix: #323 A double click in the datacage widget triggers the DatacageDoubleClickHandler.onDoubleClick() method of all registered handlers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
916
diff
changeset
|
255 doubleHandlers.add(h); |
07aa1f504491
Bugfix: #323 A double click in the datacage widget triggers the DatacageDoubleClickHandler.onDoubleClick() method of all registered handlers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
916
diff
changeset
|
256 } |
07aa1f504491
Bugfix: #323 A double click in the datacage widget triggers the DatacageDoubleClickHandler.onDoubleClick() method of all registered handlers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
916
diff
changeset
|
257 } |
07aa1f504491
Bugfix: #323 A double click in the datacage widget triggers the DatacageDoubleClickHandler.onDoubleClick() method of all registered handlers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
916
diff
changeset
|
258 |
07aa1f504491
Bugfix: #323 A double click in the datacage widget triggers the DatacageDoubleClickHandler.onDoubleClick() method of all registered handlers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
916
diff
changeset
|
259 |
07aa1f504491
Bugfix: #323 A double click in the datacage widget triggers the DatacageDoubleClickHandler.onDoubleClick() method of all registered handlers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
916
diff
changeset
|
260 /** |
897
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
261 * @param handler Handler to remove from list. |
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
262 */ |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
263 public void removeDatacageHandler(DatacageHandler handler) { |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
264 handlers.remove(handler); |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
265 } |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
266 |
897
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
267 |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
268 public ToLoad getToLoad() { |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
269 return toLoad; |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
270 } |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
271 |
897
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
272 |
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
273 public ToLoad getSelection() { |
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
274 // Reset content of toLoads. |
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
275 toLoad = new ToLoad(); |
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
276 |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
277 if (treeGrid == null) { |
897
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
278 return toLoad; |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
279 } |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
280 |
4131
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3475
diff
changeset
|
281 ListGridRecord [] selection = treeGrid.getSelectedRecords(); |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
282 |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
283 if (selection != null) { |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
284 for (ListGridRecord record: selection) { |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
285 if (record instanceof TreeNode) { |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
286 collectToLoads((TreeNode)record); |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
287 } |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
288 } |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
289 } |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
290 |
897
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
291 return toLoad; |
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
292 } |
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
293 |
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
294 |
7971
93da474506e7
Changed twin dc panel in bed height deifferences to single dc and use the new differences dc macro.
Raimund Renkert <rrenkert@intevation.de>
parents:
6136
diff
changeset
|
295 public List<TreeNode> getPlainSelection() { |
93da474506e7
Changed twin dc panel in bed height deifferences to single dc and use the new differences dc macro.
Raimund Renkert <rrenkert@intevation.de>
parents:
6136
diff
changeset
|
296 ListGridRecord [] selection = treeGrid.getSelectedRecords(); |
93da474506e7
Changed twin dc panel in bed height deifferences to single dc and use the new differences dc macro.
Raimund Renkert <rrenkert@intevation.de>
parents:
6136
diff
changeset
|
297 List<TreeNode> nodes = new ArrayList<TreeNode>(); |
93da474506e7
Changed twin dc panel in bed height deifferences to single dc and use the new differences dc macro.
Raimund Renkert <rrenkert@intevation.de>
parents:
6136
diff
changeset
|
298 if (selection != null) { |
93da474506e7
Changed twin dc panel in bed height deifferences to single dc and use the new differences dc macro.
Raimund Renkert <rrenkert@intevation.de>
parents:
6136
diff
changeset
|
299 for (ListGridRecord record: selection) { |
93da474506e7
Changed twin dc panel in bed height deifferences to single dc and use the new differences dc macro.
Raimund Renkert <rrenkert@intevation.de>
parents:
6136
diff
changeset
|
300 if (record instanceof TreeNode) { |
93da474506e7
Changed twin dc panel in bed height deifferences to single dc and use the new differences dc macro.
Raimund Renkert <rrenkert@intevation.de>
parents:
6136
diff
changeset
|
301 nodes.add((TreeNode)record); |
93da474506e7
Changed twin dc panel in bed height deifferences to single dc and use the new differences dc macro.
Raimund Renkert <rrenkert@intevation.de>
parents:
6136
diff
changeset
|
302 } |
93da474506e7
Changed twin dc panel in bed height deifferences to single dc and use the new differences dc macro.
Raimund Renkert <rrenkert@intevation.de>
parents:
6136
diff
changeset
|
303 } |
93da474506e7
Changed twin dc panel in bed height deifferences to single dc and use the new differences dc macro.
Raimund Renkert <rrenkert@intevation.de>
parents:
6136
diff
changeset
|
304 } |
93da474506e7
Changed twin dc panel in bed height deifferences to single dc and use the new differences dc macro.
Raimund Renkert <rrenkert@intevation.de>
parents:
6136
diff
changeset
|
305 return nodes; |
93da474506e7
Changed twin dc panel in bed height deifferences to single dc and use the new differences dc macro.
Raimund Renkert <rrenkert@intevation.de>
parents:
6136
diff
changeset
|
306 } |
93da474506e7
Changed twin dc panel in bed height deifferences to single dc and use the new differences dc macro.
Raimund Renkert <rrenkert@intevation.de>
parents:
6136
diff
changeset
|
307 |
93da474506e7
Changed twin dc panel in bed height deifferences to single dc and use the new differences dc macro.
Raimund Renkert <rrenkert@intevation.de>
parents:
6136
diff
changeset
|
308 |
897
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
309 /** |
1283
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1268
diff
changeset
|
310 * Returns the titles of selected items (if any). |
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1268
diff
changeset
|
311 */ |
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1268
diff
changeset
|
312 public String[] getSelectionTitles() { |
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1268
diff
changeset
|
313 if (treeGrid == null) { |
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1268
diff
changeset
|
314 return new String[] {}; |
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1268
diff
changeset
|
315 } |
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1268
diff
changeset
|
316 |
4131
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3475
diff
changeset
|
317 ListGridRecord [] selection = treeGrid.getSelectedRecords(); |
1283
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1268
diff
changeset
|
318 |
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1268
diff
changeset
|
319 if (selection == null) { |
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1268
diff
changeset
|
320 return new String[] {}; |
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1268
diff
changeset
|
321 } |
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1268
diff
changeset
|
322 |
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1268
diff
changeset
|
323 List<String> titleList = new ArrayList<String>(); |
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1268
diff
changeset
|
324 for (ListGridRecord record: selection) { |
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1268
diff
changeset
|
325 if (record instanceof TreeNode) { |
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1268
diff
changeset
|
326 titleList.add(((TreeNode)record).getAttribute("name")); |
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1268
diff
changeset
|
327 } |
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1268
diff
changeset
|
328 } |
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1268
diff
changeset
|
329 |
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1268
diff
changeset
|
330 return titleList.toArray(new String[titleList.size()]); |
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1268
diff
changeset
|
331 } |
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1268
diff
changeset
|
332 |
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1268
diff
changeset
|
333 |
e8bb11976c70
Neaten certain GUI aspects with W-Diff waterlevel-pair selection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1268
diff
changeset
|
334 /** |
897
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
335 * Callback for add-button. |
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
336 * Fires to load for every selected element and handler. |
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
337 */ |
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
338 public void plusClicked() { |
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
339 if (!getSelection().isEmpty()) { |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
340 fireToLoad(); |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
341 } |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
342 } |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
343 |
897
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
344 |
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
345 protected Button createPlusButton() { |
1325
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
346 Button plusBtn = new Button(messages.datacageAdd()); |
897
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
347 plusBtn.addClickHandler(new ClickHandler() { |
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
348 @Override |
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
349 public void onClick(ClickEvent event) { |
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
350 plusClicked(); |
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
351 } |
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
352 }); |
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
353 return plusBtn; |
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
354 } |
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
355 |
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
356 |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
357 protected void fireToLoad() { |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
358 for (DatacageHandler handler: handlers) { |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
359 handler.toLoad(toLoad); |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
360 } |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
361 } |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
362 |
897
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
363 |
1333
1627a28c4504
Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1325
diff
changeset
|
364 /** Notify DatacageDoubleClickHandlers that a doubleclick happened. */ |
1267
07aa1f504491
Bugfix: #323 A double click in the datacage widget triggers the DatacageDoubleClickHandler.onDoubleClick() method of all registered handlers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
916
diff
changeset
|
365 protected void fireOnDoubleClick() { |
07aa1f504491
Bugfix: #323 A double click in the datacage widget triggers the DatacageDoubleClickHandler.onDoubleClick() method of all registered handlers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
916
diff
changeset
|
366 for (DatacageDoubleClickHandler handler: doubleHandlers) { |
07aa1f504491
Bugfix: #323 A double click in the datacage widget triggers the DatacageDoubleClickHandler.onDoubleClick() method of all registered handlers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
916
diff
changeset
|
367 handler.onDoubleClick(toLoad); |
07aa1f504491
Bugfix: #323 A double click in the datacage widget triggers the DatacageDoubleClickHandler.onDoubleClick() method of all registered handlers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
916
diff
changeset
|
368 } |
07aa1f504491
Bugfix: #323 A double click in the datacage widget triggers the DatacageDoubleClickHandler.onDoubleClick() method of all registered handlers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
916
diff
changeset
|
369 } |
07aa1f504491
Bugfix: #323 A double click in the datacage widget triggers the DatacageDoubleClickHandler.onDoubleClick() method of all registered handlers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
916
diff
changeset
|
370 |
07aa1f504491
Bugfix: #323 A double click in the datacage widget triggers the DatacageDoubleClickHandler.onDoubleClick() method of all registered handlers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
916
diff
changeset
|
371 |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
372 protected void doubleClickedOnTree(RecordDoubleClickEvent event) { |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
373 TreeNode node = (TreeNode)event.getRecord(); |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
374 collectToLoads(node); |
1267
07aa1f504491
Bugfix: #323 A double click in the datacage widget triggers the DatacageDoubleClickHandler.onDoubleClick() method of all registered handlers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
916
diff
changeset
|
375 fireOnDoubleClick(); |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
376 } |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
377 |
897
2b6efb8b2301
Refactored DatacageWidget to allow reuse in other use-cases.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
892
diff
changeset
|
378 |
1349
46a4b74d87bf
Allow (yet limited) usage of zus and flood-protection data in wdiffs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1333
diff
changeset
|
379 /** |
46a4b74d87bf
Allow (yet limited) usage of zus and flood-protection data in wdiffs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1333
diff
changeset
|
380 * Adds to toLoad, from info in node. |
46a4b74d87bf
Allow (yet limited) usage of zus and flood-protection data in wdiffs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1333
diff
changeset
|
381 * Afterwards, add all children of node to stack to parse (next time |
46a4b74d87bf
Allow (yet limited) usage of zus and flood-protection data in wdiffs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1333
diff
changeset
|
382 * collectToLoads is called). |
46a4b74d87bf
Allow (yet limited) usage of zus and flood-protection data in wdiffs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1333
diff
changeset
|
383 */ |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
384 protected void collectToLoads(TreeNode node) { |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
385 Stack<TreeNode> stack = new Stack<TreeNode>(); |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
386 |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
387 stack.push(node); |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
388 |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
389 while (!stack.isEmpty()) { |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
390 node = stack.pop(); |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
391 String factory = node.getAttribute("factory"); |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
392 if (factory != null) { // we need at least a factory |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
393 String artifact = node.getAttribute("artifact-id"); |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
394 String out = node.getAttribute("out"); |
892
63b258bf365c
Bugfix: Use name instead of description for loading new facets via Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
884
diff
changeset
|
395 String name = node.getAttribute("facet"); |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
396 String ids = node.getAttribute("ids"); |
4500
7558a18ceb23
Also use variable for displayname
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4131
diff
changeset
|
397 String displayname = node.getAttribute("name"); |
6136
8d9859d776e5
Handle target_out in the Recommendation / Client datacage code.
Andre Heinecke <aheinecke@intevation.de>
parents:
6042
diff
changeset
|
398 String targetOut = node.getAttribute("target_out"); |
1349
46a4b74d87bf
Allow (yet limited) usage of zus and flood-protection data in wdiffs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1333
diff
changeset
|
399 String debugAttributeValues = ""; |
46a4b74d87bf
Allow (yet limited) usage of zus and flood-protection data in wdiffs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1333
diff
changeset
|
400 for (String attr: node.getAttributes()) { |
46a4b74d87bf
Allow (yet limited) usage of zus and flood-protection data in wdiffs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1333
diff
changeset
|
401 debugAttributeValues += ("[" + attr +": " |
46a4b74d87bf
Allow (yet limited) usage of zus and flood-protection data in wdiffs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1333
diff
changeset
|
402 + node.getAttributeAsString(attr) + "] "); |
46a4b74d87bf
Allow (yet limited) usage of zus and flood-protection data in wdiffs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1333
diff
changeset
|
403 } |
46a4b74d87bf
Allow (yet limited) usage of zus and flood-protection data in wdiffs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1333
diff
changeset
|
404 GWT.log("DatacageWidget.collectToLoad, attributes are " |
46a4b74d87bf
Allow (yet limited) usage of zus and flood-protection data in wdiffs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1333
diff
changeset
|
405 + debugAttributeValues); |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
406 |
1352
01b18db3b288
In WDiff datacage input make names survive backjumps.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1349
diff
changeset
|
407 toLoad.add(artifact, |
01b18db3b288
In WDiff datacage input make names survive backjumps.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1349
diff
changeset
|
408 factory, |
01b18db3b288
In WDiff datacage input make names survive backjumps.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1349
diff
changeset
|
409 out, |
01b18db3b288
In WDiff datacage input make names survive backjumps.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1349
diff
changeset
|
410 name, |
01b18db3b288
In WDiff datacage input make names survive backjumps.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1349
diff
changeset
|
411 ids, |
6136
8d9859d776e5
Handle target_out in the Recommendation / Client datacage code.
Andre Heinecke <aheinecke@intevation.de>
parents:
6042
diff
changeset
|
412 displayname, |
8d9859d776e5
Handle target_out in the Recommendation / Client datacage code.
Andre Heinecke <aheinecke@intevation.de>
parents:
6042
diff
changeset
|
413 targetOut); |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
414 } |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
415 TreeNode [] children = tree.getChildren(node); |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
416 if (children != null) { |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
417 for (TreeNode child: children) { |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
418 stack.push(child); |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
419 } |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
420 } |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
421 } |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
422 } |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
423 |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
424 |
3475
9b29facddbd1
Show tooltips for datacage rows.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2905
diff
changeset
|
425 /** Get meta-data and populate tree with it. */ |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
426 protected void triggerTreeBuilding() { |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
427 Config config = Config.getInstance(); |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
428 String locale = config.getLocale(); |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
429 |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
430 String artifactId = artifact.getUuid(); |
868
439068365cde
Minor cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
848
diff
changeset
|
431 String userId = (user != null) ? user.identifier() : null; |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
432 |
5488
6ec7c8ebb2c9
DatacageWidget: Use ScreenLock when loading dc data, solves flys/issue1152 .
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5462
diff
changeset
|
433 lockUI(); |
6ec7c8ebb2c9
DatacageWidget: Use ScreenLock when loading dc data, solves flys/issue1152 .
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5462
diff
changeset
|
434 |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
435 metaDataService.getMetaData( |
1425
bc06a671ef60
Removed the URL parameter from service calls. The service
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1352
diff
changeset
|
436 locale, |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
437 artifactId, |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
438 userId, |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
439 outs, |
916
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
897
diff
changeset
|
440 parameters, |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
441 new AsyncCallback<DataCageTree>() { |
4131
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3475
diff
changeset
|
442 @Override |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
443 public void onFailure(Throwable caught) { |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
444 GWT.log("Could not load meta data."); |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
445 SC.warn(caught.getMessage()); |
5488
6ec7c8ebb2c9
DatacageWidget: Use ScreenLock when loading dc data, solves flys/issue1152 .
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5462
diff
changeset
|
446 unlockUI(); |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
447 } |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
448 |
4131
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3475
diff
changeset
|
449 @Override |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
450 public void onSuccess(DataCageTree dcTree) { |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
451 GWT.log("Successfully loaded meta data."); |
1325
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
452 IdGenerator idGenerator = new IdGenerator(); |
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
453 DataCageNode dcRoot = dcTree.getRoot(); |
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
454 TreeNode root = buildRecursiveChildren( |
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
455 dcRoot, idGenerator); |
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
456 tree.setRoot(root); |
2478
6462a02022ab
Issue 424.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2435
diff
changeset
|
457 |
6462a02022ab
Issue 424.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2435
diff
changeset
|
458 TreeNode[] nodes = tree.getChildren(root); |
5462
f2371f3aaf03
Show top level folder icons only if node has no factory
Andre Heinecke <aheinecke@intevation.de>
parents:
4500
diff
changeset
|
459 for (TreeNode node: nodes) { |
f2371f3aaf03
Show top level folder icons only if node has no factory
Andre Heinecke <aheinecke@intevation.de>
parents:
4500
diff
changeset
|
460 if (node.getAttribute("factory") == null && |
f2371f3aaf03
Show top level folder icons only if node has no factory
Andre Heinecke <aheinecke@intevation.de>
parents:
4500
diff
changeset
|
461 !tree.hasChildren(node)) { |
f2371f3aaf03
Show top level folder icons only if node has no factory
Andre Heinecke <aheinecke@intevation.de>
parents:
4500
diff
changeset
|
462 node.setIsFolder(true); |
2478
6462a02022ab
Issue 424.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2435
diff
changeset
|
463 } |
6462a02022ab
Issue 424.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2435
diff
changeset
|
464 } |
6462a02022ab
Issue 424.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2435
diff
changeset
|
465 |
1325
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
466 if (idGenerator.current() < MAX_OPEN) { |
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
467 tree.openAll(); |
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
468 } |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
469 treeGrid.setData(tree); |
5488
6ec7c8ebb2c9
DatacageWidget: Use ScreenLock when loading dc data, solves flys/issue1152 .
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5462
diff
changeset
|
470 unlockUI(); |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
471 } |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
472 }); |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
473 } |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
474 |
1325
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
475 private static final class IdGenerator { |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
476 protected int current; |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
477 |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
478 public IdGenerator() { |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
479 } |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
480 |
1325
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
481 public int next() { |
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
482 return current++; |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
483 } |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
484 |
1325
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
485 public int current() { |
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
486 return current; |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
487 } |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
488 } // class IdGenerator |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
489 |
1325
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
490 private String i18n(String s) { |
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
491 if (!(s.startsWith("${") && s.endsWith("}"))) { |
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
492 return s; |
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
493 } |
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
494 |
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
495 s = s.substring(2, s.length()-1); |
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
496 |
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
497 try { |
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
498 return messages.getString(s); |
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
499 } |
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
500 catch (MissingResourceException mre) { |
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
501 GWT.log("cannot find i18n for + '" + s + "'"); |
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
502 return s; |
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
503 } |
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
504 } |
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
505 |
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
506 protected TreeNode buildRecursiveChildren( |
2905
51ed89b754ae
FLYS client: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2478
diff
changeset
|
507 DataCageNode node, |
1325
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
508 IdGenerator idGenerator |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
509 ) { |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
510 TreeNode tn = new TreeNode(); |
1325
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
511 tn.setAttribute("id", idGenerator.next()); |
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
512 |
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
513 List<DataCageNode> children = node.getChildren(); |
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
514 |
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
515 if (children != null) { |
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
516 TreeNode [] tns = new TreeNode[children.size()]; |
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
517 for (int i = 0; i < tns.length; ++i) { |
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
518 DataCageNode child = children.get(i); |
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
519 tns[i] = buildRecursiveChildren(child, idGenerator); |
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
520 } |
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
521 tn.setAttribute("children-nodes", tns); |
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
522 } |
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
523 |
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
524 tn.setAttribute("name", i18n(node.getDescription())); |
892
63b258bf365c
Bugfix: Use name instead of description for loading new facets via Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
884
diff
changeset
|
525 tn.setAttribute("facet", node.getName()); |
1325
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
526 |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
527 AttrList attrs = node.getAttributes(); |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
528 if (attrs != null) { |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
529 for (int i = 0, N = attrs.size(); i < N; ++i) { |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
530 String key = attrs.getKey(i); |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
531 String value = attrs.getValue(i); |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
532 tn.setAttribute(key, value); |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
533 } |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
534 } |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
535 |
1325
2f5fbfeda1d4
Introduced i18n for datacage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1283
diff
changeset
|
536 return tn; |
848
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
537 } |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
538 } |
9ecd58f619a4
Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
539 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |