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

Moved stepping behaviour of NaviOutputChart into an exchangeable strategy. Allows for distinct values stepping of sinfo flood duration.
author gernotbelger
date Tue, 17 Jul 2018 19:48:18 +0200
parents 23945061daec
children c81cf7e2a770
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;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
43 import org.dive4elements.river.client.shared.model.OutputMode;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
44 import org.dive4elements.river.client.shared.model.Recommendation;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
45 import org.dive4elements.river.client.shared.model.ReportMode;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
46 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
47
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
48 import com.google.gwt.core.client.GWT;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
49 import com.google.gwt.user.client.rpc.AsyncCallback;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
50 import com.smartgwt.client.util.SC;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
51 import com.smartgwt.client.widgets.Window;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
52 import com.smartgwt.client.widgets.events.CloseClickEvent;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
53 import com.smartgwt.client.widgets.events.CloseClickHandler;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
54 import com.smartgwt.client.widgets.layout.Layout;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
55 import com.smartgwt.client.widgets.layout.VLayout;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
56 import com.smartgwt.client.widgets.tab.TabSet;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
57 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
58
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 * @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
61 */
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
62 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
63
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
64 /** The message class that provides i18n strings. */
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
65 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
66
803
653ae84533e7 Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
67 /** 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
68 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
69
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
70 /** 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
71 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
72
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
73 /** The DescribeCollectionService used to update the existing collection. */
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
74 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
75
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
76 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
77
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
78 /** The LoadArtifactService used to load recommendations */
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
79 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
80
864
c0e13cf826d7 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 862
diff changeset
81 /** The FLYS instance used to call services. */
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
82 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
83
864
c0e13cf826d7 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 862
diff changeset
84 /** The ParameterList. */
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
85 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
86
864
c0e13cf826d7 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 862
diff changeset
87 /** The list of CollectionChangeHandlers. */
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
88 private final List<CollectionChangeHandler> handlers;
19
f48b2cb2e219 The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
89
864
c0e13cf826d7 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 862
diff changeset
90 /** The list of OutputModesChangeHandlers. */
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
91 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
92
864
c0e13cf826d7 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 862
diff changeset
93 /** The collection to be displayed. */
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
94 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
95
864
c0e13cf826d7 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 862
diff changeset
96 /** The artifact that handles the parameterization. */
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
97 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
98
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
99 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
100
864
c0e13cf826d7 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 862
diff changeset
101 /** The output tab. */
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
102 private final Map<String, OutputTab> outputTabs;
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
103
864
c0e13cf826d7 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 862
diff changeset
104 /** The layout. */
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
105 private final Layout layout;
3366
8bedd1fcaeee Removed trailing whitespace. Import cleanup
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3363
diff changeset
106
5487
a87fe0d2c928 CollectionView: removed and use functionality that was moved to LockScreen.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4690
diff changeset
107 /** Layout to show spinning wheel of joy. */
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
108 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
109
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
110 private final int artifactsQueue;
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
111 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
112
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
113 /** Values for fix analysis charts */
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
114 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
115
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
116 /**
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 * 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
118 * <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
119 */
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
120 public CollectionView(final FLYS flys) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
121 this.flys = flys;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
122 this.tabs = new TabSet();
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
123 this.outputTabs = new HashMap<String, OutputTab>();
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
124 this.handlers = new ArrayList<CollectionChangeHandler>();
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
125 this.outHandlers = new ArrayList<OutputModesChangeHandler>();
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
126 this.layout = new VLayout();
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
127 this.parameterList = new ParameterList(flys, this, CollectionView.messages.new_project());
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
128 this.artifactsQueue = 0;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
129 this.newRecommendations = new Stack<Recommendation>();
19
f48b2cb2e219 The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
130
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2905
diff changeset
131 this.currentKm = -1d;
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2905
diff changeset
132
19
f48b2cb2e219 The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
133 addCollectionChangeHandler(this);
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
134 addCollectionChangeHandler(this.parameterList);
611
854312c0528c #21 Newly created projects cannot be opened twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 601
diff changeset
135 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
136 addOutputModesChangeHandler(this);
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
137 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
138 addCloseClickHandler(this);
73
39210a74db07 Moved parameterization specific code from CollectionView to ParameterList.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 72
diff changeset
139
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
140 this.parameterList.addParameterChangeHandler(this);
19
f48b2cb2e219 The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
141
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
142 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
143 }
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
1557
964e90c5b4c1 Invested 2 seconds after losing 3.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1539
diff changeset
145 /**
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
146 * @param collection
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
147 * The collection to be displayed.
1557
964e90c5b4c1 Invested 2 seconds after losing 3.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1539
diff changeset
148 */
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
149 public CollectionView(final FLYS flys, final Collection collection, final Artifact artifact) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
150 this.flys = flys;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
151 this.artifact = artifact;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
152 this.collection = collection;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
153 this.tabs = new TabSet();
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
154 this.outputTabs = new HashMap<String, OutputTab>();
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
155 this.handlers = new ArrayList<CollectionChangeHandler>();
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
156 this.outHandlers = new ArrayList<OutputModesChangeHandler>();
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
157 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
158
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2905
diff changeset
159 this.currentKm = -1d;
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2905
diff changeset
160
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
161 if (artifact != null) {
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
162 this.parameterList = new ParameterList(flys, this,
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
163 // FIXME: literally every information about the artifact is transported from the server side
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
164 // 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
165 // use it!
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
166 // 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
167 CollectionView.messages.getString(artifact.getName()), artifact);
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
168 } else {
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
169 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
170 }
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
171
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
172 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
173 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
174
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
175 addCollectionChangeHandler(this);
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
176 addCollectionChangeHandler(this.parameterList);
611
854312c0528c #21 Newly created projects cannot be opened twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 601
diff changeset
177 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
178 addOutputModesChangeHandler(this);
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
179 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
180 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
181
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
182 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
183
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
184 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
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 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
187
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
188 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
189 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
190 }
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
191 }
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
192
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
193 /**
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
194 * 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
195 */
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
196 private void init() {
3347
6d749af6a9c2 Issue #726 work.
Christian Lins <christian.lins@intevation.de>
parents: 2983
diff changeset
197 setWidth(1010);
6d749af6a9c2 Issue #726 work.
Christian Lins <christian.lins@intevation.de>
parents: 2983
diff changeset
198 setHeight(700);
3547
8a16ff3b9a7f Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3522
diff changeset
199
3522
6eeacd0bbe26 New projects are now maximized by default.
Christian Lins <christian.lins@intevation.de>
parents: 3501
diff changeset
200 setMaximized(true);
3547
8a16ff3b9a7f Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3522
diff changeset
201
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
202 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
203
77
5b5ec0403844 Limited the area for CollectionView to the size of FLYSWorkspace.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 75
diff changeset
204 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
205 setCanDragResize(true);
437
7fa15845fecf ISSUE-35 The project view has a maximize button now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 276
diff changeset
206 setShowMaximizeButton(true);
77
5b5ec0403844 Limited the area for CollectionView to the size of FLYSWorkspace.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 75
diff changeset
207 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
208
84
b8acb6a615f2 Removed the title (date string) of CollectionViews.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 77
diff changeset
209 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
210
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
211 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
212
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
213 this.layout.addMember(this.tabs);
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
214 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
215 }
a65793e08245 Radio buttons for each plugin are displayed if a new CollectionView is created.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 6
diff changeset
216
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
217 private FLYS getFlys() {
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
218 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
219 }
c19985f75118 Implemented a service that triggers the artifact-collection creation in the artifact server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 23
diff changeset
220
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 /**
864
c0e13cf826d7 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 862
diff changeset
222 * 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
223 *
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
224 * @param handler
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
225 * The new CollectionChangeHandler.
19
f48b2cb2e219 The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
226 */
2983
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 2906
diff changeset
227 @Override
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
228 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
229 if (handler != null) {
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
230 this.handlers.add(handler);
19
f48b2cb2e219 The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
231 }
f48b2cb2e219 The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
232 }
f48b2cb2e219 The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
233
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
234 /**
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
235 * 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
236 *
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
237 * @param handler
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
238 * 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
239 */
2983
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 2906
diff changeset
240 @Override
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
241 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
242 if (handler != null) {
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
243 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
244 }
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
245 }
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
36
3cacc9d2dd01 CollectionView implements HasParameterChangeHandler and ParameterChangeHandler interfaces.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 32
diff changeset
247 /**
19
f48b2cb2e219 The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
248 * 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
249 * registered ValueChangeHanders.
f48b2cb2e219 The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
250 */
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
251 private void fireCollectionChangeEvent(final Collection old, final Collection newCol) {
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
252 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
253 handler.onCollectionChange(new CollectionChangeEvent(old, newCol));
f48b2cb2e219 The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
254 }
f48b2cb2e219 The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
255 }
f48b2cb2e219 The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
256
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
257 private void fireOutputModesChangeEvent(final OutputMode[] outputs) {
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
258 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
259 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
260 }
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
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
262 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
263 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
264 }
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 }
3366
8bedd1fcaeee Removed trailing whitespace. Import cleanup
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3363
diff changeset
266
3549
6a8f83c538e3 Merged revisions 5384 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3547
diff changeset
267 /** 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
268 public void lockUI() {
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
269 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
270 }
3366
8bedd1fcaeee Removed trailing whitespace. Import cleanup
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3363
diff changeset
271
3549
6a8f83c538e3 Merged revisions 5384 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3547
diff changeset
272 /** 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
273 public void unlockUI() {
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
274 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
275 }
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
276
19
f48b2cb2e219 The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
277 /**
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
278 * 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
279 *
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 * @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
281 */
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
282 public Artifact getArtifact() {
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
283 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
284 }
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
285
811
8fa303586f14 Pass user id to the meta data service.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 809
diff changeset
286 public User getUser() {
8fa303586f14 Pass user id to the meta data service.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 809
diff changeset
287 return getFlys().getCurrentUser();
8fa303586f14 Pass user id to the meta data service.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 809
diff changeset
288 }
8fa303586f14 Pass user id to the meta data service.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 809
diff changeset
289
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
290 /**
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
291 * 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
292 *
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
293 * @param artifact
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
294 * 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
295 */
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
296 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
297 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
298
1270
ea9a73782de4 Bugfix: #321 Refresh the parameter list after a calculation is finished.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 917
diff changeset
299 artifactChanged();
ea9a73782de4 Bugfix: #321 Refresh the parameter list after a calculation is finished.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 917
diff changeset
300
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
301 if (artifact.isInBackground()) {
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
302 final LoadingPanel p = new LoadingPanel(this, artifact);
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
303 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
304 }
36
3cacc9d2dd01 CollectionView implements HasParameterChangeHandler and ParameterChangeHandler interfaces.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 32
diff changeset
305 }
3cacc9d2dd01 CollectionView implements HasParameterChangeHandler and ParameterChangeHandler interfaces.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 32
diff changeset
306
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 * 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
309 * parameterization has changed.
3cacc9d2dd01 CollectionView implements HasParameterChangeHandler and ParameterChangeHandler interfaces.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 32
diff changeset
310 *
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
311 * @param event
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
312 * The ParameterChangeEvent.
36
3cacc9d2dd01 CollectionView implements HasParameterChangeHandler and ParameterChangeHandler interfaces.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 32
diff changeset
313 */
2983
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 2906
diff changeset
314 @Override
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
315 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
316 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
317 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
318 }
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
319
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
320 private void artifactChanged() {
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
321 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
322
908
a680ccec5dd6 Create new collections initially when starting a new project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
323 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
324 loadCollection(c);
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
325 } 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
326 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
327 }
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
328 }
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
329
4661
5025acdb3815 Move loading of the full Collection to an own method
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4660
diff changeset
330 /**
6578
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5993
diff changeset
331 * Loads all information of a collection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5993
diff changeset
332 * If 'recommendations' present, load these.
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
333 *
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
334 * @param c
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
335 * 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
336 */
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
337 private void loadCollection(final Collection c) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
338 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
339 final Recommendation[] recom = desc.getRecommendations();
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
340 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
341
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
342 this.describeCollectionService.describe(c.identifier(), locale, new AsyncCallback<Collection>() {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
343 @Override
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
344 public void onFailure(final Throwable caught) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
345 GWT.log("Could not DESCRIBE collection.");
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
346 SC.warn(FLYS.getExceptionString(CollectionView.this.messages, caught));
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
347 }
4661
5025acdb3815 Move loading of the full Collection to an own method
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4660
diff changeset
348
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
349 @Override
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
350 public void onSuccess(final Collection newCollection) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
351 GWT.log("Successfully DESCRIBED collection.");
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
352 boolean loaded = true;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
353 for (final Recommendation r : recom) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
354 if (!newCollection.loadedRecommendation(r)) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
355 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
356 }
5025acdb3815 Move loading of the full Collection to an own method
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4660
diff changeset
357 }
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
358 if (!loaded) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
359 loadRecommendedArtifacts(recom);
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
360 } else {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
361 setCollection(newCollection);
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
362 }
4661
5025acdb3815 Move loading of the full Collection to an own method
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4660
diff changeset
363 }
9150
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 }
5025acdb3815 Move loading of the full Collection to an own method
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4660
diff changeset
366
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
367 /**
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
368 * 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
369 *
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 * @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
371 */
537
d2c37ba78feb The collection object in the CollectionView is now accessible via getter method.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 521
diff changeset
372 public Collection getCollection() {
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
373 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
374 }
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
375
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
376 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
377 setCollection(collection, false);
a680ccec5dd6 Create new collections initially when starting a new project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
378 }
a680ccec5dd6 Create new collections initially when starting a new project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
379
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
380 /**
19
f48b2cb2e219 The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
381 * 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
382 *
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
383 * @param collection
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
384 * The new collection.
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
385 * @param suppress
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
386 * 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
387 */
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
388 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
389 if (collection != null && this.collection == null) {
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
390 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
391 }
3cf6ee30207c Register newly created CollectionViews at FLYSWorkspace to avoid an inconsistent view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 593
diff changeset
392
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
393 final Collection tmp = this.collection;
19
f48b2cb2e219 The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
394 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
395
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
396 if (collection != null)
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
397 setTitle(collection.getDisplayName());
908
a680ccec5dd6 Create new collections initially when starting a new project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
398
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
399 if (!suppress)
908
a680ccec5dd6 Create new collections initially when starting a new project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
400 fireCollectionChangeEvent(tmp, this.collection);
19
f48b2cb2e219 The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
401 }
f48b2cb2e219 The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
402
2983
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 2906
diff changeset
403 @Override
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
404 public void onCollectionChange(final CollectionChangeEvent event) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
405 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
406 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
407 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
408 }
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
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
410 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
411
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
412 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
413
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
414 final Set<String> keys = outs.keySet();
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
415 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
416
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
417 int idx = 0;
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
418 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
419 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
420 }
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
421
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
422 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
423
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
424 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
425 }
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
2983
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 2906
diff changeset
427 @Override
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
428 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
429 clearOutputTabs();
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
430 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
431
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
432 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
433 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
434 }
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
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
436 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
437
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
438 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
439 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
440
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
441 if (out instanceof ExportMode) {
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
442 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
443
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
444 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
445 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
446 }
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 }
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 if (!hasCSV) {
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
451 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
452 }
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
453 }
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
36
3cacc9d2dd01 CollectionView implements HasParameterChangeHandler and ParameterChangeHandler interfaces.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 32
diff changeset
455 /**
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
456 * 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
457 *
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
458 * @param name
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
459 * 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
460 */
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
461 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
462 if (out instanceof ExportMode) {
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
463 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
464
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
465 if (export.getFacet("csv") != null && !this.parameterList.hasTable()) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
466 final TableDataPanel p = new TableDataPanel();
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
467 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
468 p.setName(out.getName());
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
469 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
470 }
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
471
239
47fe77a1bac7 Added new i18n strings for new output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
472 return;
47fe77a1bac7 Added new i18n strings for new output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
473 }
47fe77a1bac7 Added new i18n strings for new output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
474
593
c0477626ae6a #156 Do not display report modes as tabs in the project view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 582
diff changeset
475 if (out instanceof ReportMode) {
c0477626ae6a #156 Do not display report modes as tabs in the project view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 582
diff changeset
476 // 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
477 return;
c0477626ae6a #156 Do not display report modes as tabs in the project view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 582
diff changeset
478 }
c0477626ae6a #156 Do not display report modes as tabs in the project view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 582
diff changeset
479
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
480 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
481
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
482 final String title = CollectionView.messages.getString(name);
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
483 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
484
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
485 if (tab != null)
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
486 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
487 }
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
488
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
489 /**
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
490 * 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
491 */
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
492 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
493 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
494
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
495 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
496
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
497 for (int i = num - 1; i >= 1; i--) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
498 this.tabs.removeTab(i);
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
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
501 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
502 }
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
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
504 /**
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
505 * 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
506 */
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
507 private void updateView() {
36
3cacc9d2dd01 CollectionView implements HasParameterChangeHandler and ParameterChangeHandler interfaces.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 32
diff changeset
508 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
509 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
510 }
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
511
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
512 /**
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
513 * 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
514 */
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
515 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
516 GWT.log("Update output tabs.");
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
517 if (this.outputTabs != null) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
518 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
519
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
520 for (final String key : keys) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
521 this.tabs.addTab(this.outputTabs.get(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
522 }
c5586446f3c0 Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 73
diff changeset
523 }
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
524 }
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
525
2983
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 2906
diff changeset
526 @Override
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
527 public void onCloseClick(final CloseClickEvent event) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
528 if (this.collection != null) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
529 if (this.artifact != null) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
530 this.flys.closeProject(this.collection.identifier());
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
531 } else {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
532 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
533 }
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
534 } else {
611
854312c0528c #21 Newly created projects cannot be opened twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 601
diff changeset
535 hide();
854312c0528c #21 Newly created projects cannot be opened twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 601
diff changeset
536 destroy();
854312c0528c #21 Newly created projects cannot be opened twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 601
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 }
803
653ae84533e7 Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
539
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
540 public void addArtifactToCollection(final Artifact artifact) {
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
541 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
542
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
543 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
544
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
545 if (this.collection != null) {
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
546 this.addArtifactService.add(this.collection, artifact, locale, new AsyncCallback<Collection>() {
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
547 @Override
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
548 public void onFailure(final Throwable caught) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
549 GWT.log("An error occured while adding artifact.");
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
550 SC.warn(FLYS.getExceptionString(CollectionView.this.messages, caught));
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
551 }
4659
518d60dfe6bf Create a Collection if an artifact is added to the CollectionView
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4658
diff changeset
552
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
553 @Override
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
554 public void onSuccess(final Collection newCollection) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
555 GWT.log("Successfully added artifacts.");
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
556 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
557 }
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
558 });
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
559 } else {
6578
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5993
diff changeset
560 // 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
561 final Artifact art = artifact;
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
562 this.createCollectionService.create(locale, this.flys.getCurrentUser().identifier(), new AsyncCallback<Collection>() {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
563 @Override
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
564 public void onFailure(final Throwable caught) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
565 GWT.log("Could not create the new collection.");
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
566 SC.warn(FLYS.getExceptionString(CollectionView.messages, caught));
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
567 }
803
653ae84533e7 Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
568
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
569 @Override
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
570 public void onSuccess(final Collection collection) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
571 GWT.log("Successfully created a new collection.");
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
572 CollectionView.this.addArtifactService.add(collection, art, locale, new AsyncCallback<Collection>() {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
573 @Override
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
574 public void onFailure(final Throwable caught) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
575 GWT.log("An error occured while " + "adding artifact.");
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
576 SC.warn(FLYS.getExceptionString(CollectionView.this.messages, caught));
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
577 }
4659
518d60dfe6bf Create a Collection if an artifact is added to the CollectionView
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4658
diff changeset
578
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
579 @Override
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
580 public void onSuccess(final Collection newCollection) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
581 GWT.log("Successfully added artifacts.");
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
582 setCollection(newCollection);
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
583 }
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
584 });
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
585 }
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
586 });
4659
518d60dfe6bf Create a Collection if an artifact is added to the CollectionView
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4658
diff changeset
587 }
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
588 }
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
589
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
590 private void addRecommendationsToCollection() {
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
591 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
592
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
593 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
594
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
595 this.updater.update(this.collection, locale, new AsyncCallback<Collection>() {
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
596 @Override
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
597 public void onFailure(final Throwable caught) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
598 CollectionView.this.newRecommendations.removeAllElements();
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
599 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
600
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
601 GWT.log("An error occured while saving recommendations.");
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
602 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
603 }
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
604
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
605 @Override
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
606 public void onSuccess(final Collection newCol) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
607 GWT.log("Successfully saved recommendations.");
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
608 CollectionView.this.newRecommendations.removeAllElements();
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
609 setCollection(newCol);
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
610 }
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
611 });
803
653ae84533e7 Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
612 }
653ae84533e7 Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
613
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
614 private void loadRecommendedArtifacts(final Recommendation[] recommendations) {
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
615 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
616
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
617 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
618
819
11fd6557d0fc UI: Cosmetics in log messages of CollectionView.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 811
diff changeset
619 if (recommendations == null) {
11fd6557d0fc UI: Cosmetics in log messages of CollectionView.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 811
diff changeset
620 GWT.log("WARNING: Currently no recommendations.");
11fd6557d0fc UI: Cosmetics in log messages of CollectionView.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 811
diff changeset
621 return;
11fd6557d0fc UI: Cosmetics in log messages of CollectionView.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 811
diff changeset
622 }
11fd6557d0fc UI: Cosmetics in log messages of CollectionView.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 811
diff changeset
623
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
624 for (final Recommendation recommendation : recommendations) {
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
625 if (this.collection.loadedRecommendation(recommendation)) {
8717
68916dd6359b Backout 8709:71ae18553377 Regression risk too high.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8716
diff changeset
626 continue;
68916dd6359b Backout 8709:71ae18553377 Regression risk too high.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8716
diff changeset
627 }
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
628 this.newRecommendations.push(recommendation);
8717
68916dd6359b Backout 8709:71ae18553377 Regression risk too high.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8716
diff changeset
629
847
25a4bf390757 Loading recommendations: If no reference artifact is given use current
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 845
diff changeset
630 // XXX: UGLY! If no reference artifact given use uuid of
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
631 // 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
632 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
633 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
634 }
25a4bf390757 Loading recommendations: If no reference artifact is given use current
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 845
diff changeset
635
1515
298a4ce64c2e Issue451.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1512
diff changeset
636 }
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
637
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
638 this.loadArtifactService.loadMany(this.collection, recommendations, null, locale, new AsyncCallback<Artifact[]>() {
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
639 @Override
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
640 public void onFailure(final Throwable caught) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
641 GWT.log("Error loading recommendations: " + caught.getMessage());
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
642 SC.warn(FLYS.getExceptionString(CollectionView.messages, caught));
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
643 }
803
653ae84533e7 Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
644
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
645 @Override
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
646 public void onSuccess(final Artifact[] artifacts) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
647 GWT.log("Loaded artifacts: " + artifacts.length);
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
648 addRecommendationsToCollection();
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
649 }
1515
298a4ce64c2e Issue451.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1512
diff changeset
650 });
803
653ae84533e7 Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
651 }
915
89a47098bcbd Hide geometry layer in floodmap when tab selection changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 908
diff changeset
652
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
653 public void registerTabHandler(final TabSelectedHandler tse) {
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
654 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
655 }
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2905
diff changeset
656
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents: 8860
diff changeset
657 public void setCurrentKm(final double currentKm) {
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2905
diff changeset
658 this.currentKm = currentKm;
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2905
diff changeset
659 }
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2905
diff changeset
660
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2905
diff changeset
661 public double getCurrentKm() {
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2905
diff changeset
662 return this.currentKm;
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2905
diff changeset
663 }
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9150
diff changeset
664 }

http://dive4elements.wald.intevation.org