annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/CollectionView.java @ 9484:c81cf7e2a770

Karten-Tab-Bug
author gernotbelger
date Mon, 17 Sep 2018 10:20:08 +0200
parents abf14917be32
children 5397555d74c9
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;
6
e2b3966b40ca Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
11 import java.util.ArrayList;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
12 import java.util.HashMap;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
13 import java.util.List;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
14 import java.util.Map;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
15 import java.util.Set;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
16 import java.util.Stack;
6
e2b3966b40ca Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
17
5835
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
18 import org.dive4elements.river.client.client.Config;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
19 import org.dive4elements.river.client.client.FLYS;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
20 import org.dive4elements.river.client.client.FLYSConstants;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
21 import org.dive4elements.river.client.client.event.CollectionChangeEvent;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
22 import org.dive4elements.river.client.client.event.CollectionChangeHandler;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
23 import org.dive4elements.river.client.client.event.HasCollectionChangeHandlers;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
24 import org.dive4elements.river.client.client.event.HasOutputModesChangeHandlers;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
25 import org.dive4elements.river.client.client.event.OutputModesChangeEvent;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
26 import org.dive4elements.river.client.client.event.OutputModesChangeHandler;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
27 import org.dive4elements.river.client.client.event.ParameterChangeEvent;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
28 import org.dive4elements.river.client.client.event.ParameterChangeHandler;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
29 import org.dive4elements.river.client.client.services.AddArtifactService;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
30 import org.dive4elements.river.client.client.services.AddArtifactServiceAsync;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
31 import org.dive4elements.river.client.client.services.CollectionAttributeService;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
32 import org.dive4elements.river.client.client.services.CollectionAttributeServiceAsync;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
33 import org.dive4elements.river.client.client.services.CreateCollectionService;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
34 import org.dive4elements.river.client.client.services.CreateCollectionServiceAsync;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
35 import org.dive4elements.river.client.client.services.DescribeCollectionService;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
36 import org.dive4elements.river.client.client.services.DescribeCollectionServiceAsync;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
37 import org.dive4elements.river.client.client.services.LoadArtifactService;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
38 import org.dive4elements.river.client.client.services.LoadArtifactServiceAsync;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
39 import org.dive4elements.river.client.shared.model.Artifact;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
40 import org.dive4elements.river.client.shared.model.ArtifactDescription;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
41 import org.dive4elements.river.client.shared.model.Collection;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
42 import org.dive4elements.river.client.shared.model.ExportMode;
9484
c81cf7e2a770 Karten-Tab-Bug
gernotbelger
parents: 9263
diff changeset
43 import org.dive4elements.river.client.shared.model.MapMode;
5835
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
44 import org.dive4elements.river.client.shared.model.OutputMode;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
45 import org.dive4elements.river.client.shared.model.Recommendation;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
46 import org.dive4elements.river.client.shared.model.ReportMode;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
47 import org.dive4elements.river.client.shared.model.User;
6
e2b3966b40ca Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
48
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
49 import com.google.gwt.core.client.GWT;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
50 import com.google.gwt.user.client.rpc.AsyncCallback;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
51 import com.smartgwt.client.util.SC;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
52 import com.smartgwt.client.widgets.Window;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
53 import com.smartgwt.client.widgets.events.CloseClickEvent;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
54 import com.smartgwt.client.widgets.events.CloseClickHandler;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
55 import com.smartgwt.client.widgets.layout.Layout;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
56 import com.smartgwt.client.widgets.layout.VLayout;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
57 import com.smartgwt.client.widgets.tab.TabSet;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
58 import com.smartgwt.client.widgets.tab.events.TabSelectedHandler;
6
e2b3966b40ca Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
59
e2b3966b40ca Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
60 /**
e2b3966b40ca Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
61 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
e2b3966b40ca Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
62 */
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
63 public class CollectionView extends Window implements CollectionChangeHandler, HasCollectionChangeHandlers, OutputModesChangeHandler, HasOutputModesChangeHandlers, ParameterChangeHandler, CloseClickHandler {
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
64
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
65 /** The message class that provides i18n strings. */
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
66 private static final FLYSConstants messages = GWT.create(FLYSConstants.class);
26
c19985f75118 Implemented a service that triggers the artifact-collection creation in the artifact server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 23
diff changeset
67
803
653ae84533e7 Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
68 /** The ArtifactService used to communicate with the Artifact server. */
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
69 private final CreateCollectionServiceAsync createCollectionService = GWT.create(CreateCollectionService.class);
803
653ae84533e7 Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
70
71
987567f31200 Adjusted the return type of the CreateCollectionService and added code to react on Collection changes (like output modes).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 60
diff changeset
71 /** The AddArtifactService used to add an artifact to a collection. */
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
72 private final AddArtifactServiceAsync addArtifactService = GWT.create(AddArtifactService.class);
71
987567f31200 Adjusted the return type of the CreateCollectionService and added code to react on Collection changes (like output modes).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 60
diff changeset
73
100
95b30a5d6350 Bugfix: A collection view just creates a single time a new collection - even if we step back to a previous state and go forward afterwards.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 92
diff changeset
74 /** The DescribeCollectionService used to update the existing collection. */
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
75 private final DescribeCollectionServiceAsync describeCollectionService = GWT.create(DescribeCollectionService.class);
100
95b30a5d6350 Bugfix: A collection view just creates a single time a new collection - even if we step back to a previous state and go forward afterwards.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 92
diff changeset
76
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
77 private final CollectionAttributeServiceAsync updater = GWT.create(CollectionAttributeService.class);
809
e9337488bac3 The Collection now knows its already loaded recommendations - the CollectionView will not load recommendations that have already been loaded before.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 807
diff changeset
78
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
79 /** The LoadArtifactService used to load recommendations */
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
80 private final LoadArtifactServiceAsync loadArtifactService = GWT.create(LoadArtifactService.class);
6
e2b3966b40ca Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
81
864
c0e13cf826d7 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 862
diff changeset
82 /** The FLYS instance used to call services. */
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
83 private final FLYS flys;
13
8d9075c07667 Enhanced the CollectionView: there are radio buttons for each module and a button to select one of those.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 7
diff changeset
84
864
c0e13cf826d7 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 862
diff changeset
85 /** The ParameterList. */
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
86 private ParameterList parameterList;
23
dc086030e6a3 The CollectionView is able to create new instances of a WINFO artifact and to display the artifact's state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 19
diff changeset
87
864
c0e13cf826d7 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 862
diff changeset
88 /** The list of CollectionChangeHandlers. */
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
89 private final List<CollectionChangeHandler> handlers;
19
f48b2cb2e219 The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
90
864
c0e13cf826d7 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 862
diff changeset
91 /** The list of OutputModesChangeHandlers. */
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
92 private final List<OutputModesChangeHandler> outHandlers;
513
e090fbd5a535 Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 437
diff changeset
93
864
c0e13cf826d7 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 862
diff changeset
94 /** The collection to be displayed. */
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
95 private Collection collection;
6
e2b3966b40ca Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
96
864
c0e13cf826d7 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 862
diff changeset
97 /** The artifact that handles the parameterization. */
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
98 private Artifact artifact;
30
5709bd8f4d7c Added a new widget that combines the module and the river selection. Users can now choose the desired plugin and river in one step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 26
diff changeset
99
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
100 private final TabSet tabs;
23
dc086030e6a3 The CollectionView is able to create new instances of a WINFO artifact and to display the artifact's state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 19
diff changeset
101
864
c0e13cf826d7 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 862
diff changeset
102 /** The output tab. */
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
103 private final Map<String, OutputTab> outputTabs;
9484
c81cf7e2a770 Karten-Tab-Bug
gernotbelger
parents: 9263
diff changeset
104 private final List<String> tabNames = new ArrayList<String>();
7
a65793e08245 Radio buttons for each plugin are displayed if a new CollectionView is created.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 6
diff changeset
105
864
c0e13cf826d7 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 862
diff changeset
106 /** The layout. */
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
107 private final Layout layout;
3366
8bedd1fcaeee Removed trailing whitespace. Import cleanup
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3363
diff changeset
108
5487
a87fe0d2c928 CollectionView: removed and use functionality that was moved to LockScreen.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4690
diff changeset
109 /** Layout to show spinning wheel of joy. */
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
110 private VLayout lockScreen;
23
dc086030e6a3 The CollectionView is able to create new instances of a WINFO artifact and to display the artifact's state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 19
diff changeset
111
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
112 private final int artifactsQueue;
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
113 private final Stack<Recommendation> newRecommendations;
809
e9337488bac3 The Collection now knows its already loaded recommendations - the CollectionView will not load recommendations that have already been loaded before.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 807
diff changeset
114
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
115 /** Values for fix analysis charts */
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
116 private double currentKm;
6
e2b3966b40ca Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
117
e2b3966b40ca Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
118 /**
e2b3966b40ca Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
119 * This constructor creates a new CollectionView that is used to display the
e2b3966b40ca Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
120 * <i>collection</i>.
e2b3966b40ca Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
121 */
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
122 public CollectionView(final FLYS flys) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
123 this.flys = flys;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
124 this.tabs = new TabSet();
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
125 this.outputTabs = new HashMap<String, OutputTab>();
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
126 this.handlers = new ArrayList<CollectionChangeHandler>();
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
127 this.outHandlers = new ArrayList<OutputModesChangeHandler>();
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
128 this.layout = new VLayout();
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
129 this.parameterList = new ParameterList(flys, this, CollectionView.messages.new_project());
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
130 this.artifactsQueue = 0;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
131 this.newRecommendations = new Stack<Recommendation>();
19
f48b2cb2e219 The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
132
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2905
diff changeset
133 this.currentKm = -1d;
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2905
diff changeset
134
19
f48b2cb2e219 The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
135 addCollectionChangeHandler(this);
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
136 addCollectionChangeHandler(this.parameterList);
611
854312c0528c #21 Newly created projects cannot be opened twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 601
diff changeset
137 addCollectionChangeHandler(flys);
513
e090fbd5a535 Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 437
diff changeset
138 addOutputModesChangeHandler(this);
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
139 addOutputModesChangeHandler(this.parameterList);
557
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 537
diff changeset
140 addCloseClickHandler(this);
73
39210a74db07 Moved parameterization specific code from CollectionView to ParameterList.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 72
diff changeset
141
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
142 this.parameterList.addParameterChangeHandler(this);
19
f48b2cb2e219 The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
143
6
e2b3966b40ca Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
144 init();
e2b3966b40ca Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
145 }
e2b3966b40ca Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
146
1557
964e90c5b4c1 Invested 2 seconds after losing 3.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1539
diff changeset
147 /**
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
148 * @param collection
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
149 * The collection to be displayed.
1557
964e90c5b4c1 Invested 2 seconds after losing 3.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1539
diff changeset
150 */
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
151 public CollectionView(final FLYS flys, final Collection collection, final Artifact artifact) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
152 this.flys = flys;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
153 this.artifact = artifact;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
154 this.collection = collection;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
155 this.tabs = new TabSet();
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
156 this.outputTabs = new HashMap<String, OutputTab>();
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
157 this.handlers = new ArrayList<CollectionChangeHandler>();
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
158 this.outHandlers = new ArrayList<OutputModesChangeHandler>();
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
159 this.layout = new VLayout();
1294
94d4f040da3a Bugfix: #326 Made the process of opening existing project more robust if the collection has no artifact set.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1270
diff changeset
160
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2905
diff changeset
161 this.currentKm = -1d;
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2905
diff changeset
162
1294
94d4f040da3a Bugfix: #326 Made the process of opening existing project more robust if the collection has no artifact set.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1270
diff changeset
163 if (artifact != null) {
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
164 this.parameterList = new ParameterList(flys, this,
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
165 // FIXME: literally every information about the artifact is transported from the server side
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
166 // but... the international name is resolved client-side.... Instead also transport the description of the artifact and
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
167 // use it!
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
168 // FIXME: the same holds for a very few other international strings (e.g. names of facets used in Tabs)
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
169 CollectionView.messages.getString(artifact.getName()), artifact);
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
170 } else {
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
171 this.parameterList = new ParameterList(flys, this, CollectionView.messages.new_project());
1294
94d4f040da3a Bugfix: #326 Made the process of opening existing project more robust if the collection has no artifact set.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1270
diff changeset
172 }
94d4f040da3a Bugfix: #326 Made the process of opening existing project more robust if the collection has no artifact set.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1270
diff changeset
173
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
174 this.artifactsQueue = 0;
809
e9337488bac3 The Collection now knows its already loaded recommendations - the CollectionView will not load recommendations that have already been loaded before.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 807
diff changeset
175 this.newRecommendations = new Stack<Recommendation>();
224
a4a68b4ee2a3 Improved the CollectionView and the ParameterList - both can be initialized with an existing artifact (parameterization).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 215
diff changeset
176
a4a68b4ee2a3 Improved the CollectionView and the ParameterList - both can be initialized with an existing artifact (parameterization).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 215
diff changeset
177 addCollectionChangeHandler(this);
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
178 addCollectionChangeHandler(this.parameterList);
611
854312c0528c #21 Newly created projects cannot be opened twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 601
diff changeset
179 addCollectionChangeHandler(flys);
513
e090fbd5a535 Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 437
diff changeset
180 addOutputModesChangeHandler(this);
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
181 addOutputModesChangeHandler(this.parameterList);
557
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 537
diff changeset
182 addCloseClickHandler(this);
224
a4a68b4ee2a3 Improved the CollectionView and the ParameterList - both can be initialized with an existing artifact (parameterization).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 215
diff changeset
183
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
184 this.parameterList.addParameterChangeHandler(this);
224
a4a68b4ee2a3 Improved the CollectionView and the ParameterList - both can be initialized with an existing artifact (parameterization).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 215
diff changeset
185
a4a68b4ee2a3 Improved the CollectionView and the ParameterList - both can be initialized with an existing artifact (parameterization).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 215
diff changeset
186 init();
a4a68b4ee2a3 Improved the CollectionView and the ParameterList - both can be initialized with an existing artifact (parameterization).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 215
diff changeset
187
a4a68b4ee2a3 Improved the CollectionView and the ParameterList - both can be initialized with an existing artifact (parameterization).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 215
diff changeset
188 setCollection(collection);
1294
94d4f040da3a Bugfix: #326 Made the process of opening existing project more robust if the collection has no artifact set.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1270
diff changeset
189
94d4f040da3a Bugfix: #326 Made the process of opening existing project more robust if the collection has no artifact set.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1270
diff changeset
190 if (artifact != null) {
94d4f040da3a Bugfix: #326 Made the process of opening existing project more robust if the collection has no artifact set.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1270
diff changeset
191 setArtifact(artifact);
94d4f040da3a Bugfix: #326 Made the process of opening existing project more robust if the collection has no artifact set.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1270
diff changeset
192 }
224
a4a68b4ee2a3 Improved the CollectionView and the ParameterList - both can be initialized with an existing artifact (parameterization).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 215
diff changeset
193 }
a4a68b4ee2a3 Improved the CollectionView and the ParameterList - both can be initialized with an existing artifact (parameterization).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 215
diff changeset
194
6
e2b3966b40ca Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
195 /**
e2b3966b40ca Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
196 * This method handles the initial layout stuff.
e2b3966b40ca Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
197 */
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
198 private void init() {
3347
6d749af6a9c2 Issue #726 work.
Christian Lins <christian.lins@intevation.de>
parents: 2983
diff changeset
199 setWidth(1010);
6d749af6a9c2 Issue #726 work.
Christian Lins <christian.lins@intevation.de>
parents: 2983
diff changeset
200 setHeight(700);
3547
8a16ff3b9a7f Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3522
diff changeset
201
3522
6eeacd0bbe26 New projects are now maximized by default.
Christian Lins <christian.lins@intevation.de>
parents: 3501
diff changeset
202 setMaximized(true);
3547
8a16ff3b9a7f Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3522
diff changeset
203
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
204 this.layout.setWidth100();
23
dc086030e6a3 The CollectionView is able to create new instances of a WINFO artifact and to display the artifact's state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 19
diff changeset
205
77
5b5ec0403844 Limited the area for CollectionView to the size of FLYSWorkspace.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 75
diff changeset
206 setCanDragReposition(true);
6
e2b3966b40ca Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
207 setCanDragResize(true);
437
7fa15845fecf ISSUE-35 The project view has a maximize button now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 276
diff changeset
208 setShowMaximizeButton(true);
77
5b5ec0403844 Limited the area for CollectionView to the size of FLYSWorkspace.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 75
diff changeset
209 setKeepInParentRect(true);
6
e2b3966b40ca Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
210
84
b8acb6a615f2 Removed the title (date string) of CollectionViews.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 77
diff changeset
211 setTitle("");
7
a65793e08245 Radio buttons for each plugin are displayed if a new CollectionView is created.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 6
diff changeset
212
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
213 addItem(this.layout);
7
a65793e08245 Radio buttons for each plugin are displayed if a new CollectionView is created.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 6
diff changeset
214
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
215 this.layout.addMember(this.tabs);
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
216 this.tabs.addTab(this.parameterList);
7
a65793e08245 Radio buttons for each plugin are displayed if a new CollectionView is created.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 6
diff changeset
217 }
a65793e08245 Radio buttons for each plugin are displayed if a new CollectionView is created.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 6
diff changeset
218
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
219 private FLYS getFlys() {
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
220 return this.flys;
26
c19985f75118 Implemented a service that triggers the artifact-collection creation in the artifact server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 23
diff changeset
221 }
c19985f75118 Implemented a service that triggers the artifact-collection creation in the artifact server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 23
diff changeset
222
c19985f75118 Implemented a service that triggers the artifact-collection creation in the artifact server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 23
diff changeset
223 /**
864
c0e13cf826d7 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 862
diff changeset
224 * This method registers a new CollectionChangeHandler.
19
f48b2cb2e219 The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
225 *
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
226 * @param handler
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
227 * The new CollectionChangeHandler.
19
f48b2cb2e219 The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
228 */
2983
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 2906
diff changeset
229 @Override
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
230 public void addCollectionChangeHandler(final CollectionChangeHandler handler) {
19
f48b2cb2e219 The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
231 if (handler != null) {
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
232 this.handlers.add(handler);
19
f48b2cb2e219 The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
233 }
f48b2cb2e219 The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
234 }
f48b2cb2e219 The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
235
513
e090fbd5a535 Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 437
diff changeset
236 /**
e090fbd5a535 Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 437
diff changeset
237 * This method registers a new OutputModesChangeHandler.
e090fbd5a535 Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 437
diff changeset
238 *
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
239 * @param handler
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
240 * The new OutputModesChangeHandler.
513
e090fbd5a535 Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 437
diff changeset
241 */
2983
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 2906
diff changeset
242 @Override
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
243 public void addOutputModesChangeHandler(final OutputModesChangeHandler handler) {
513
e090fbd5a535 Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 437
diff changeset
244 if (handler != null) {
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
245 this.outHandlers.add(handler);
513
e090fbd5a535 Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 437
diff changeset
246 }
e090fbd5a535 Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 437
diff changeset
247 }
e090fbd5a535 Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 437
diff changeset
248
36
3cacc9d2dd01 CollectionView implements HasParameterChangeHandler and ParameterChangeHandler interfaces.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 32
diff changeset
249 /**
19
f48b2cb2e219 The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
250 * This method calls the <code>onValueChange()</code> method of all
f48b2cb2e219 The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
251 * registered ValueChangeHanders.
f48b2cb2e219 The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
252 */
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
253 private void fireCollectionChangeEvent(final Collection old, final Collection newCol) {
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
254 for (final CollectionChangeHandler handler : this.handlers) {
19
f48b2cb2e219 The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
255 handler.onCollectionChange(new CollectionChangeEvent(old, newCol));
f48b2cb2e219 The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
256 }
f48b2cb2e219 The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
257 }
f48b2cb2e219 The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
258
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
259 private void fireOutputModesChangeEvent(final OutputMode[] outputs) {
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
260 if (this.collection == null) {
513
e090fbd5a535 Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 437
diff changeset
261 return;
e090fbd5a535 Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 437
diff changeset
262 }
e090fbd5a535 Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 437
diff changeset
263
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
264 for (final OutputModesChangeHandler handler : this.outHandlers) {
513
e090fbd5a535 Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 437
diff changeset
265 handler.onOutputModesChange(new OutputModesChangeEvent(outputs));
e090fbd5a535 Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 437
diff changeset
266 }
e090fbd5a535 Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 437
diff changeset
267 }
3366
8bedd1fcaeee Removed trailing whitespace. Import cleanup
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3363
diff changeset
268
3549
6a8f83c538e3 Merged revisions 5384 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3547
diff changeset
269 /** Disables input, grey out, show spinning wheel of joy. */
3353
08f8524a81ad Lock the screen when the parameterization of a Collection's master Artifact changes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3347
diff changeset
270 public void lockUI() {
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
271 this.lockScreen = ScreenLock.lockUI(this.layout, this.lockScreen);
3353
08f8524a81ad Lock the screen when the parameterization of a Collection's master Artifact changes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3347
diff changeset
272 }
3366
8bedd1fcaeee Removed trailing whitespace. Import cleanup
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3363
diff changeset
273
3549
6a8f83c538e3 Merged revisions 5384 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3547
diff changeset
274 /** Enable input, remove grey, remove spinning wheel of joy. */
3353
08f8524a81ad Lock the screen when the parameterization of a Collection's master Artifact changes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3347
diff changeset
275 public void unlockUI() {
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
276 ScreenLock.unlockUI(this.layout, this.lockScreen);
3353
08f8524a81ad Lock the screen when the parameterization of a Collection's master Artifact changes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3347
diff changeset
277 }
513
e090fbd5a535 Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 437
diff changeset
278
19
f48b2cb2e219 The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
279 /**
71
987567f31200 Adjusted the return type of the CreateCollectionService and added code to react on Collection changes (like output modes).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 60
diff changeset
280 * Returns the artifact that is used for the parameterization.
987567f31200 Adjusted the return type of the CreateCollectionService and added code to react on Collection changes (like output modes).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 60
diff changeset
281 *
987567f31200 Adjusted the return type of the CreateCollectionService and added code to react on Collection changes (like output modes).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 60
diff changeset
282 * @return the artifact that is used for the parameterization.
987567f31200 Adjusted the return type of the CreateCollectionService and added code to react on Collection changes (like output modes).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 60
diff changeset
283 */
521
fc60822e9c89 Added a new package 'chart' that should be the place where chart relevant classes should be stored. Moved ChartOutputTab into that package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 513
diff changeset
284 public Artifact getArtifact() {
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
285 return this.artifact;
71
987567f31200 Adjusted the return type of the CreateCollectionService and added code to react on Collection changes (like output modes).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 60
diff changeset
286 }
987567f31200 Adjusted the return type of the CreateCollectionService and added code to react on Collection changes (like output modes).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 60
diff changeset
287
811
8fa303586f14 Pass user id to the meta data service.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 809
diff changeset
288 public User getUser() {
8fa303586f14 Pass user id to the meta data service.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 809
diff changeset
289 return getFlys().getCurrentUser();
8fa303586f14 Pass user id to the meta data service.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 809
diff changeset
290 }
8fa303586f14 Pass user id to the meta data service.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 809
diff changeset
291
71
987567f31200 Adjusted the return type of the CreateCollectionService and added code to react on Collection changes (like output modes).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 60
diff changeset
292 /**
30
5709bd8f4d7c Added a new widget that combines the module and the river selection. Users can now choose the desired plugin and river in one step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 26
diff changeset
293 * Set the current artifact that is the master of the parameterization.
5709bd8f4d7c Added a new widget that combines the module and the river selection. Users can now choose the desired plugin and river in one step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 26
diff changeset
294 *
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
295 * @param artifact
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
296 * The new artifact.
30
5709bd8f4d7c Added a new widget that combines the module and the river selection. Users can now choose the desired plugin and river in one step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 26
diff changeset
297 */
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
298 public void setArtifact(final Artifact artifact) {
30
5709bd8f4d7c Added a new widget that combines the module and the river selection. Users can now choose the desired plugin and river in one step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 26
diff changeset
299 this.artifact = artifact;
862
c9549074ecd1 Parse Artifact's 'background-processing' attribute and lock the UI if this attribute is true.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 847
diff changeset
300
1270
ea9a73782de4 Bugfix: #321 Refresh the parameter list after a calculation is finished.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 917
diff changeset
301 artifactChanged();
ea9a73782de4 Bugfix: #321 Refresh the parameter list after a calculation is finished.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 917
diff changeset
302
862
c9549074ecd1 Parse Artifact's 'background-processing' attribute and lock the UI if this attribute is true.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 847
diff changeset
303 if (artifact.isInBackground()) {
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
304 final LoadingPanel p = new LoadingPanel(this, artifact);
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
305 p.addStepBackHandler(this.parameterList);
862
c9549074ecd1 Parse Artifact's 'background-processing' attribute and lock the UI if this attribute is true.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 847
diff changeset
306 }
36
3cacc9d2dd01 CollectionView implements HasParameterChangeHandler and ParameterChangeHandler interfaces.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 32
diff changeset
307 }
3cacc9d2dd01 CollectionView implements HasParameterChangeHandler and ParameterChangeHandler interfaces.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 32
diff changeset
308
3cacc9d2dd01 CollectionView implements HasParameterChangeHandler and ParameterChangeHandler interfaces.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 32
diff changeset
309 /**
3cacc9d2dd01 CollectionView implements HasParameterChangeHandler and ParameterChangeHandler interfaces.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 32
diff changeset
310 * Implements the onCollectionChange() method to do update the GUI after the
3cacc9d2dd01 CollectionView implements HasParameterChangeHandler and ParameterChangeHandler interfaces.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 32
diff changeset
311 * parameterization has changed.
3cacc9d2dd01 CollectionView implements HasParameterChangeHandler and ParameterChangeHandler interfaces.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 32
diff changeset
312 *
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
313 * @param event
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
314 * The ParameterChangeEvent.
36
3cacc9d2dd01 CollectionView implements HasParameterChangeHandler and ParameterChangeHandler interfaces.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 32
diff changeset
315 */
2983
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 2906
diff changeset
316 @Override
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
317 public void onParameterChange(final ParameterChangeEvent event) {
100
95b30a5d6350 Bugfix: A collection view just creates a single time a new collection - even if we step back to a previous state and go forward afterwards.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 92
diff changeset
318 GWT.log("CollectionView.onParameterChange");
1270
ea9a73782de4 Bugfix: #321 Refresh the parameter list after a calculation is finished.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 917
diff changeset
319 setArtifact(event.getNewValue());
ea9a73782de4 Bugfix: #321 Refresh the parameter list after a calculation is finished.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 917
diff changeset
320 }
100
95b30a5d6350 Bugfix: A collection view just creates a single time a new collection - even if we step back to a previous state and go forward afterwards.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 92
diff changeset
321
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
322 private void artifactChanged() {
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
323 final Collection c = getCollection();
100
95b30a5d6350 Bugfix: A collection view just creates a single time a new collection - even if we step back to a previous state and go forward afterwards.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 92
diff changeset
324
908
a680ccec5dd6 Create new collections initially when starting a new project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
325 if (c != null) {
4661
5025acdb3815 Move loading of the full Collection to an own method
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4660
diff changeset
326 loadCollection(c);
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
327 } else {
71
987567f31200 Adjusted the return type of the CreateCollectionService and added code to react on Collection changes (like output modes).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 60
diff changeset
328 updateView();
987567f31200 Adjusted the return type of the CreateCollectionService and added code to react on Collection changes (like output modes).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 60
diff changeset
329 }
6
e2b3966b40ca Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
330 }
13
8d9075c07667 Enhanced the CollectionView: there are radio buttons for each module and a button to select one of those.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 7
diff changeset
331
4661
5025acdb3815 Move loading of the full Collection to an own method
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4660
diff changeset
332 /**
6578
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5993
diff changeset
333 * Loads all information of a collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5993
diff changeset
334 * If 'recommendations' present, load these.
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
335 *
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
336 * @param c
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
337 * the Collection
4661
5025acdb3815 Move loading of the full Collection to an own method
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4660
diff changeset
338 */
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
339 private void loadCollection(final Collection c) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
340 final ArtifactDescription desc = getArtifact().getArtifactDescription();
4661
5025acdb3815 Move loading of the full Collection to an own method
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4660
diff changeset
341 final Recommendation[] recom = desc.getRecommendations();
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
342 final String locale = Config.getInstance().getLocale();
4661
5025acdb3815 Move loading of the full Collection to an own method
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4660
diff changeset
343
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
344 this.describeCollectionService.describe(c.identifier(), locale, new AsyncCallback<Collection>() {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
345 @Override
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
346 public void onFailure(final Throwable caught) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
347 GWT.log("Could not DESCRIBE collection.");
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
348 SC.warn(FLYS.getExceptionString(CollectionView.this.messages, caught));
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
349 }
4661
5025acdb3815 Move loading of the full Collection to an own method
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4660
diff changeset
350
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
351 @Override
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
352 public void onSuccess(final Collection newCollection) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
353 GWT.log("Successfully DESCRIBED collection.");
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
354 boolean loaded = true;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
355 for (final Recommendation r : recom) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
356 if (!newCollection.loadedRecommendation(r)) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
357 loaded = false;
4661
5025acdb3815 Move loading of the full Collection to an own method
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4660
diff changeset
358 }
5025acdb3815 Move loading of the full Collection to an own method
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4660
diff changeset
359 }
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
360 if (!loaded) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
361 loadRecommendedArtifacts(recom);
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
362 } else {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
363 setCollection(newCollection);
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
364 }
4661
5025acdb3815 Move loading of the full Collection to an own method
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4660
diff changeset
365 }
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
366 });
4661
5025acdb3815 Move loading of the full Collection to an own method
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4660
diff changeset
367 }
5025acdb3815 Move loading of the full Collection to an own method
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4660
diff changeset
368
13
8d9075c07667 Enhanced the CollectionView: there are radio buttons for each module and a button to select one of those.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 7
diff changeset
369 /**
74
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
370 * Returns the collection of displayed by this view.
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
371 *
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
372 * @return the collection of this view.
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
373 */
537
d2c37ba78feb The collection object in the CollectionView is now accessible via getter method.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 521
diff changeset
374 public Collection getCollection() {
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
375 return this.collection;
74
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
376 }
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
377
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
378 private void setCollection(final Collection collection) {
908
a680ccec5dd6 Create new collections initially when starting a new project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
379 setCollection(collection, false);
a680ccec5dd6 Create new collections initially when starting a new project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
380 }
a680ccec5dd6 Create new collections initially when starting a new project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
381
74
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
382 /**
19
f48b2cb2e219 The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
383 * Set the current collection.
13
8d9075c07667 Enhanced the CollectionView: there are radio buttons for each module and a button to select one of those.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 7
diff changeset
384 *
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
385 * @param collection
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
386 * The new collection.
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
387 * @param suppress
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
388 * Whether to fire a collectionchangeevent.
13
8d9075c07667 Enhanced the CollectionView: there are radio buttons for each module and a button to select one of those.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 7
diff changeset
389 */
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
390 public void setCollection(final Collection collection, final boolean suppress) {
601
3cf6ee30207c Register newly created CollectionViews at FLYSWorkspace to avoid an inconsistent view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 593
diff changeset
391 if (collection != null && this.collection == null) {
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
392 this.flys.getWorkspace().addView(collection.identifier(), this);
601
3cf6ee30207c Register newly created CollectionViews at FLYSWorkspace to avoid an inconsistent view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 593
diff changeset
393 }
3cf6ee30207c Register newly created CollectionViews at FLYSWorkspace to avoid an inconsistent view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 593
diff changeset
394
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
395 final Collection tmp = this.collection;
19
f48b2cb2e219 The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
396 this.collection = collection;
13
8d9075c07667 Enhanced the CollectionView: there are radio buttons for each module and a button to select one of those.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 7
diff changeset
397
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
398 if (collection != null)
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
399 setTitle(collection.getDisplayName());
908
a680ccec5dd6 Create new collections initially when starting a new project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
400
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
401 if (!suppress)
908
a680ccec5dd6 Create new collections initially when starting a new project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
402 fireCollectionChangeEvent(tmp, this.collection);
19
f48b2cb2e219 The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
403 }
f48b2cb2e219 The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
404
2983
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 2906
diff changeset
405 @Override
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
406 public void onCollectionChange(final CollectionChangeEvent event) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
407 if (this.artifactsQueue > 0) {
809
e9337488bac3 The Collection now knows its already loaded recommendations - the CollectionView will not load recommendations that have already been loaded before.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 807
diff changeset
408 GWT.log("Do not update UI because we are still loading Artifacts.");
e9337488bac3 The Collection now knows its already loaded recommendations - the CollectionView will not load recommendations that have already been loaded before.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 807
diff changeset
409 return;
e9337488bac3 The Collection now knows its already loaded recommendations - the CollectionView will not load recommendations that have already been loaded before.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 807
diff changeset
410 }
e9337488bac3 The Collection now knows its already loaded recommendations - the CollectionView will not load recommendations that have already been loaded before.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 807
diff changeset
411
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
412 final Collection newCol = event.getNewValue();
74
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
413
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
414 final Map<String, OutputMode> outs = newCol.getOutputModes();
74
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
415
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
416 final Set<String> keys = outs.keySet();
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
417 final OutputMode[] prepared = new OutputMode[outs.size()];
513
e090fbd5a535 Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 437
diff changeset
418
e090fbd5a535 Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 437
diff changeset
419 int idx = 0;
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
420 for (final String outname : keys) {
513
e090fbd5a535 Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 437
diff changeset
421 prepared[idx++] = outs.get(outname);
74
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
422 }
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
423
513
e090fbd5a535 Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 437
diff changeset
424 fireOutputModesChangeEvent(prepared);
e090fbd5a535 Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 437
diff changeset
425
13
8d9075c07667 Enhanced the CollectionView: there are radio buttons for each module and a button to select one of those.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 7
diff changeset
426 updateView();
8d9075c07667 Enhanced the CollectionView: there are radio buttons for each module and a button to select one of those.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 7
diff changeset
427 }
8d9075c07667 Enhanced the CollectionView: there are radio buttons for each module and a button to select one of those.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 7
diff changeset
428
2983
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 2906
diff changeset
429 @Override
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
430 public void onOutputModesChange(final OutputModesChangeEvent event) {
788
dfbc6693247e Integrated a stacked panel on the right side of the ParameterList that enables users to see calculation results and the helper panel at the same time.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 611
diff changeset
431 clearOutputTabs();
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
432 final OutputMode[] outs = event.getOutputModes();
513
e090fbd5a535 Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 437
diff changeset
433
e090fbd5a535 Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 437
diff changeset
434 if (outs == null) {
e090fbd5a535 Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 437
diff changeset
435 return;
e090fbd5a535 Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 437
diff changeset
436 }
e090fbd5a535 Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 437
diff changeset
437
788
dfbc6693247e Integrated a stacked panel on the right side of the ParameterList that enables users to see calculation results and the helper panel at the same time.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 611
diff changeset
438 boolean hasCSV = false;
dfbc6693247e Integrated a stacked panel on the right side of the ParameterList that enables users to see calculation results and the helper panel at the same time.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 611
diff changeset
439
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
440 for (final OutputMode out : outs) {
513
e090fbd5a535 Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 437
diff changeset
441 addOutputTab(out.getName(), out);
788
dfbc6693247e Integrated a stacked panel on the right side of the ParameterList that enables users to see calculation results and the helper panel at the same time.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 611
diff changeset
442
dfbc6693247e Integrated a stacked panel on the right side of the ParameterList that enables users to see calculation results and the helper panel at the same time.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 611
diff changeset
443 if (out instanceof ExportMode) {
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
444 final ExportMode export = (ExportMode) out;
788
dfbc6693247e Integrated a stacked panel on the right side of the ParameterList that enables users to see calculation results and the helper panel at the same time.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 611
diff changeset
445
dfbc6693247e Integrated a stacked panel on the right side of the ParameterList that enables users to see calculation results and the helper panel at the same time.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 611
diff changeset
446 if (export.getFacet("csv") != null) {
dfbc6693247e Integrated a stacked panel on the right side of the ParameterList that enables users to see calculation results and the helper panel at the same time.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 611
diff changeset
447 hasCSV = true;
dfbc6693247e Integrated a stacked panel on the right side of the ParameterList that enables users to see calculation results and the helper panel at the same time.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 611
diff changeset
448 }
dfbc6693247e Integrated a stacked panel on the right side of the ParameterList that enables users to see calculation results and the helper panel at the same time.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 611
diff changeset
449 }
dfbc6693247e Integrated a stacked panel on the right side of the ParameterList that enables users to see calculation results and the helper panel at the same time.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 611
diff changeset
450 }
dfbc6693247e Integrated a stacked panel on the right side of the ParameterList that enables users to see calculation results and the helper panel at the same time.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 611
diff changeset
451
dfbc6693247e Integrated a stacked panel on the right side of the ParameterList that enables users to see calculation results and the helper panel at the same time.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 611
diff changeset
452 if (!hasCSV) {
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
453 this.parameterList.removeTable();
513
e090fbd5a535 Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 437
diff changeset
454 }
e090fbd5a535 Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 437
diff changeset
455 }
e090fbd5a535 Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 437
diff changeset
456
36
3cacc9d2dd01 CollectionView implements HasParameterChangeHandler and ParameterChangeHandler interfaces.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 32
diff changeset
457 /**
74
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
458 * Adds a new tab for the OutputMode <i>out</i>.
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
459 *
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
460 * @param name
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
461 * The name and title of the output.
74
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
462 */
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
463 private void addOutputTab(final String name, final OutputMode out) {
270
d01b0d81b92a Parse the facets of a Collection and distinguish between an ordinary OutputMode and an ExportMode (new).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 260
diff changeset
464 if (out instanceof ExportMode) {
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
465 final ExportMode export = (ExportMode) out;
256
5e1c1b7d6516 Added table and service for calculation output to UI.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 239
diff changeset
466
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
467 if (export.getFacet("csv") != null && !this.parameterList.hasTable()) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
468 final TableDataPanel p = new TableDataPanel();
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
469 p.setUuid(this.collection.identifier());
270
d01b0d81b92a Parse the facets of a Collection and distinguish between an ordinary OutputMode and an ExportMode (new).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 260
diff changeset
470 p.setName(out.getName());
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
471 this.parameterList.setTable(p);
270
d01b0d81b92a Parse the facets of a Collection and distinguish between an ordinary OutputMode and an ExportMode (new).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 260
diff changeset
472 }
d01b0d81b92a Parse the facets of a Collection and distinguish between an ordinary OutputMode and an ExportMode (new).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 260
diff changeset
473
239
47fe77a1bac7 Added new i18n strings for new output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
474 return;
47fe77a1bac7 Added new i18n strings for new output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
475 }
47fe77a1bac7 Added new i18n strings for new output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
476
9484
c81cf7e2a770 Karten-Tab-Bug
gernotbelger
parents: 9263
diff changeset
477 else if (out instanceof ReportMode) {
593
c0477626ae6a #156 Do not display report modes as tabs in the project view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 582
diff changeset
478 // we don't want to display report modes at all
c0477626ae6a #156 Do not display report modes as tabs in the project view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 582
diff changeset
479 return;
9484
c81cf7e2a770 Karten-Tab-Bug
gernotbelger
parents: 9263
diff changeset
480 } else if (out instanceof MapMode) {
c81cf7e2a770 Karten-Tab-Bug
gernotbelger
parents: 9263
diff changeset
481 // Der Workflow von dem ganzen ist derart merkwürdig. Ständig werden Tabs entfernt und wieder hinzugefügt,
c81cf7e2a770 Karten-Tab-Bug
gernotbelger
parents: 9263
diff changeset
482 // alles wird neu erzeugt und wieder entfernt.
c81cf7e2a770 Karten-Tab-Bug
gernotbelger
parents: 9263
diff changeset
483 // normalerweise klappt das auch ("tabset.remove")
c81cf7e2a770 Karten-Tab-Bug
gernotbelger
parents: 9263
diff changeset
484 // beim Karten-Tab komischerweise nicht.
c81cf7e2a770 Karten-Tab-Bug
gernotbelger
parents: 9263
diff changeset
485 // Diese Sonderbehandlung "löst" das Problem der Doppelten Karten-Tabs mit nur wenigen zusätzlichen Zeilen
c81cf7e2a770 Karten-Tab-Bug
gernotbelger
parents: 9263
diff changeset
486 // (neuer Member "tabNames" )
c81cf7e2a770 Karten-Tab-Bug
gernotbelger
parents: 9263
diff changeset
487 // Wenn die Liste den Namen schon enthält, wird der Tab einfach nicht nochmal erzeugt.
c81cf7e2a770 Karten-Tab-Bug
gernotbelger
parents: 9263
diff changeset
488 if (this.tabNames.contains("map"))
c81cf7e2a770 Karten-Tab-Bug
gernotbelger
parents: 9263
diff changeset
489 return;
593
c0477626ae6a #156 Do not display report modes as tabs in the project view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 582
diff changeset
490 }
c0477626ae6a #156 Do not display report modes as tabs in the project view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 582
diff changeset
491
74
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
492 GWT.log("Add new output tab for '" + name + "'");
75
571843833129 Added a panel that will be used to display chart output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 74
diff changeset
493
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
494 final String title = CollectionView.messages.getString(name);
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
495 final OutputTab tab = out.createOutputTab(title, getCollection(), this);
796
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 788
diff changeset
496
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
497 if (tab != null)
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
498 this.outputTabs.put(name, tab);
74
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
499 }
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
500
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
501 /**
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
502 * Removes all output mode tabs from tab bar.
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
503 */
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
504 private void clearOutputTabs() {
74
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
505 GWT.log("Clear OutputTabs.");
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
506
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
507 final int num = this.tabs.getNumTabs();
74
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
508
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
509 for (int i = num - 1; i >= 1; i--) {
9484
c81cf7e2a770 Karten-Tab-Bug
gernotbelger
parents: 9263
diff changeset
510 this.tabs.removeTab(i); // does not work for the Maps-panel
74
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
511 }
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
512
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
513 this.outputTabs.clear();
74
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
514 }
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
515
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
516 /**
23
dc086030e6a3 The CollectionView is able to create new instances of a WINFO artifact and to display the artifact's state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 19
diff changeset
517 * Update the view (refresh the list of old and current data).
dc086030e6a3 The CollectionView is able to create new instances of a WINFO artifact and to display the artifact's state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 19
diff changeset
518 */
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
519 private void updateView() {
36
3cacc9d2dd01 CollectionView implements HasParameterChangeHandler and ParameterChangeHandler interfaces.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 32
diff changeset
520 GWT.log("CollectionView.updateView()");
74
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
521 updateOutputTabs();
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
522 }
23
dc086030e6a3 The CollectionView is able to create new instances of a WINFO artifact and to display the artifact's state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 19
diff changeset
523
74
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
524 /**
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
525 * This method is used to update the tabs to show specific output modes.
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
526 */
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
527 private void updateOutputTabs() {
74
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
528 GWT.log("Update output tabs.");
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
529 if (this.outputTabs != null) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
530 final Set<String> keys = this.outputTabs.keySet();
74
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
531
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
532 for (final String key : keys) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
533 this.tabs.addTab(this.outputTabs.get(key));
9484
c81cf7e2a770 Karten-Tab-Bug
gernotbelger
parents: 9263
diff changeset
534 this.tabNames.add(key);
74
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
535 }
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
536 }
13
8d9075c07667 Enhanced the CollectionView: there are radio buttons for each module and a button to select one of those.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 7
diff changeset
537 }
557
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 537
diff changeset
538
2983
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 2906
diff changeset
539 @Override
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
540 public void onCloseClick(final CloseClickEvent event) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
541 if (this.collection != null) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
542 if (this.artifact != null) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
543 this.flys.closeProject(this.collection.identifier());
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
544 } else {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
545 this.flys.getProjectList().deleteCollection(this.collection);
3501
0de0ef04bcdc Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents: 3366
diff changeset
546 }
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
547 } else {
611
854312c0528c #21 Newly created projects cannot be opened twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 601
diff changeset
548 hide();
854312c0528c #21 Newly created projects cannot be opened twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 601
diff changeset
549 destroy();
854312c0528c #21 Newly created projects cannot be opened twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 601
diff changeset
550 }
557
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 537
diff changeset
551 }
803
653ae84533e7 Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
552
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
553 public void addArtifactToCollection(final Artifact artifact) {
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
554 final String locale = Config.getInstance().getLocale();
803
653ae84533e7 Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
555
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
556 GWT.log("CollectionView.addArtifactToCollection " + this.collection);
4659
518d60dfe6bf Create a Collection if an artifact is added to the CollectionView
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4658
diff changeset
557
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
558 if (this.collection != null) {
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
559 this.addArtifactService.add(this.collection, artifact, locale, new AsyncCallback<Collection>() {
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
560 @Override
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
561 public void onFailure(final Throwable caught) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
562 GWT.log("An error occured while adding artifact.");
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
563 SC.warn(FLYS.getExceptionString(CollectionView.this.messages, caught));
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
564 }
4659
518d60dfe6bf Create a Collection if an artifact is added to the CollectionView
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4658
diff changeset
565
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
566 @Override
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
567 public void onSuccess(final Collection newCollection) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
568 GWT.log("Successfully added artifacts.");
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
569 setCollection(newCollection);
803
653ae84533e7 Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
570 }
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
571 });
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
572 } else {
6578
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5993
diff changeset
573 // Create new collection and add artifact.
4659
518d60dfe6bf Create a Collection if an artifact is added to the CollectionView
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4658
diff changeset
574 final Artifact art = artifact;
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
575 this.createCollectionService.create(locale, this.flys.getCurrentUser().identifier(), new AsyncCallback<Collection>() {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
576 @Override
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
577 public void onFailure(final Throwable caught) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
578 GWT.log("Could not create the new collection.");
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
579 SC.warn(FLYS.getExceptionString(CollectionView.messages, caught));
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
580 }
803
653ae84533e7 Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
581
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
582 @Override
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
583 public void onSuccess(final Collection collection) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
584 GWT.log("Successfully created a new collection.");
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
585 CollectionView.this.addArtifactService.add(collection, art, locale, new AsyncCallback<Collection>() {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
586 @Override
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
587 public void onFailure(final Throwable caught) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
588 GWT.log("An error occured while " + "adding artifact.");
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
589 SC.warn(FLYS.getExceptionString(CollectionView.this.messages, caught));
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
590 }
4659
518d60dfe6bf Create a Collection if an artifact is added to the CollectionView
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4658
diff changeset
591
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
592 @Override
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
593 public void onSuccess(final Collection newCollection) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
594 GWT.log("Successfully added artifacts.");
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
595 setCollection(newCollection);
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
596 }
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
597 });
809
e9337488bac3 The Collection now knows its already loaded recommendations - the CollectionView will not load recommendations that have already been loaded before.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 807
diff changeset
598 }
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
599 });
4659
518d60dfe6bf Create a Collection if an artifact is added to the CollectionView
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4658
diff changeset
600 }
809
e9337488bac3 The Collection now knows its already loaded recommendations - the CollectionView will not load recommendations that have already been loaded before.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 807
diff changeset
601 }
e9337488bac3 The Collection now knows its already loaded recommendations - the CollectionView will not load recommendations that have already been loaded before.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 807
diff changeset
602
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
603 private void addRecommendationsToCollection() {
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
604 final String locale = Config.getInstance().getLocale();
809
e9337488bac3 The Collection now knows its already loaded recommendations - the CollectionView will not load recommendations that have already been loaded before.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 807
diff changeset
605
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
606 this.collection.addRecommendations(this.newRecommendations);
809
e9337488bac3 The Collection now knows its already loaded recommendations - the CollectionView will not load recommendations that have already been loaded before.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 807
diff changeset
607
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
608 this.updater.update(this.collection, locale, new AsyncCallback<Collection>() {
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
609 @Override
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
610 public void onFailure(final Throwable caught) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
611 CollectionView.this.newRecommendations.removeAllElements();
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
612 setCollection(CollectionView.this.collection);
809
e9337488bac3 The Collection now knows its already loaded recommendations - the CollectionView will not load recommendations that have already been loaded before.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 807
diff changeset
613
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
614 GWT.log("An error occured while saving recommendations.");
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
615 SC.warn(FLYS.getExceptionString(CollectionView.this.messages, caught));
803
653ae84533e7 Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
616 }
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
617
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
618 @Override
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
619 public void onSuccess(final Collection newCol) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
620 GWT.log("Successfully saved recommendations.");
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
621 CollectionView.this.newRecommendations.removeAllElements();
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
622 setCollection(newCol);
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
623 }
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
624 });
803
653ae84533e7 Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
625 }
653ae84533e7 Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
626
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
627 private void loadRecommendedArtifacts(final Recommendation[] recommendations) {
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
628 final String locale = Config.getInstance().getLocale();
803
653ae84533e7 Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
629
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
630 final Artifact masterArtifact = getArtifact();
847
25a4bf390757 Loading recommendations: If no reference artifact is given use current
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 845
diff changeset
631
819
11fd6557d0fc UI: Cosmetics in log messages of CollectionView.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 811
diff changeset
632 if (recommendations == null) {
11fd6557d0fc UI: Cosmetics in log messages of CollectionView.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 811
diff changeset
633 GWT.log("WARNING: Currently no recommendations.");
11fd6557d0fc UI: Cosmetics in log messages of CollectionView.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 811
diff changeset
634 return;
11fd6557d0fc UI: Cosmetics in log messages of CollectionView.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 811
diff changeset
635 }
11fd6557d0fc UI: Cosmetics in log messages of CollectionView.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 811
diff changeset
636
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
637 for (final Recommendation recommendation : recommendations) {
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
638 if (this.collection.loadedRecommendation(recommendation)) {
8717
68916dd6359b Backout 8709:71ae18553377 Regression risk too high.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8716
diff changeset
639 continue;
68916dd6359b Backout 8709:71ae18553377 Regression risk too high.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8716
diff changeset
640 }
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
641 this.newRecommendations.push(recommendation);
8717
68916dd6359b Backout 8709:71ae18553377 Regression risk too high.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8716
diff changeset
642
847
25a4bf390757 Loading recommendations: If no reference artifact is given use current
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 845
diff changeset
643 // XXX: UGLY! If no reference artifact given use uuid of
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
644 // current artifact as reference.
847
25a4bf390757 Loading recommendations: If no reference artifact is given use current
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 845
diff changeset
645 if (recommendation.getMasterArtifact() == null) {
25a4bf390757 Loading recommendations: If no reference artifact is given use current
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 845
diff changeset
646 recommendation.setMasterArtifact(masterArtifact.getUuid());
25a4bf390757 Loading recommendations: If no reference artifact is given use current
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 845
diff changeset
647 }
25a4bf390757 Loading recommendations: If no reference artifact is given use current
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 845
diff changeset
648
1515
298a4ce64c2e Issue451.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1512
diff changeset
649 }
807
6f65e70fa11d Repaired broken recommendation parsing from Artifact's DESCRIBE document (which structure has changed).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 803
diff changeset
650
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
651 this.loadArtifactService.loadMany(this.collection, recommendations, null, locale, new AsyncCallback<Artifact[]>() {
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
652 @Override
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
653 public void onFailure(final Throwable caught) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
654 GWT.log("Error loading recommendations: " + caught.getMessage());
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
655 SC.warn(FLYS.getExceptionString(CollectionView.messages, caught));
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
656 }
803
653ae84533e7 Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
657
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
658 @Override
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
659 public void onSuccess(final Artifact[] artifacts) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
660 GWT.log("Loaded artifacts: " + artifacts.length);
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
661 addRecommendationsToCollection();
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
662 }
1515
298a4ce64c2e Issue451.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1512
diff changeset
663 });
803
653ae84533e7 Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
664 }
915
89a47098bcbd Hide geometry layer in floodmap when tab selection changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 908
diff changeset
665
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
666 public void registerTabHandler(final TabSelectedHandler tse) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
667 this.tabs.addTabSelectedHandler(tse);
915
89a47098bcbd Hide geometry layer in floodmap when tab selection changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 908
diff changeset
668 }
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2905
diff changeset
669
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
670 public void setCurrentKm(final double currentKm) {
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2905
diff changeset
671 this.currentKm = currentKm;
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2905
diff changeset
672 }
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2905
diff changeset
673
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2905
diff changeset
674 public double getCurrentKm() {
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2905
diff changeset
675 return this.currentKm;
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2905
diff changeset
676 }
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
677 }

http://dive4elements.wald.intevation.org