annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/chart/NaviChartOutputTab.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 850ce16034e9
children 05405292a7ca
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: 5965
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: 5965
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.chart;
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
10
9072
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
11 import java.util.Date;
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
12 import java.util.HashMap;
2935
6cf983dd4f8a Add km to chart info request parameters to get valid chart infos.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2918
diff changeset
13 import java.util.Map;
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
14 import java.util.Set;
9072
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
15
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
16 import org.dive4elements.river.client.client.Config;
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
17 import org.dive4elements.river.client.client.ui.CollectionView;
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
18 import org.dive4elements.river.client.shared.model.AbstractFixBunduArtifact;
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
19 import org.dive4elements.river.client.shared.model.Artifact;
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
20 import org.dive4elements.river.client.shared.model.Collection;
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
21 import org.dive4elements.river.client.shared.model.CollectionItem;
9072
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
22 import org.dive4elements.river.client.shared.model.FixFilter;
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
23 import org.dive4elements.river.client.shared.model.OutputMode;
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
24 import org.dive4elements.river.client.shared.model.SINFOArtifact;
2935
6cf983dd4f8a Add km to chart info request parameters to get valid chart infos.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2918
diff changeset
25
2911
37dce0f2f63b Removed superfluous import.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2906
diff changeset
26 import com.google.gwt.core.client.GWT;
3362
bea50e45f0d3 FixA: Input fields for chart navigation now use the correct i18n number formats.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2936
diff changeset
27 import com.google.gwt.i18n.client.NumberFormat;
2911
37dce0f2f63b Removed superfluous import.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2906
diff changeset
28 import com.smartgwt.client.types.Alignment;
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
29 import com.smartgwt.client.util.SC;
2911
37dce0f2f63b Removed superfluous import.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2906
diff changeset
30 import com.smartgwt.client.widgets.Button;
37dce0f2f63b Removed superfluous import.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2906
diff changeset
31 import com.smartgwt.client.widgets.Canvas;
37dce0f2f63b Removed superfluous import.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2906
diff changeset
32 import com.smartgwt.client.widgets.events.ClickEvent;
37dce0f2f63b Removed superfluous import.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2906
diff changeset
33 import com.smartgwt.client.widgets.events.ClickHandler;
37dce0f2f63b Removed superfluous import.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2906
diff changeset
34 import com.smartgwt.client.widgets.form.DynamicForm;
37dce0f2f63b Removed superfluous import.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2906
diff changeset
35 import com.smartgwt.client.widgets.form.fields.TextItem;
2918
d92770527b0f Changed handler for km navigation in fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2911
diff changeset
36 import com.smartgwt.client.widgets.form.fields.events.KeyPressEvent;
d92770527b0f Changed handler for km navigation in fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2911
diff changeset
37 import com.smartgwt.client.widgets.form.fields.events.KeyPressHandler;
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
38 import com.smartgwt.client.widgets.layout.HLayout;
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
39 import com.smartgwt.client.widgets.layout.VLayout;
2911
37dce0f2f63b Removed superfluous import.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2906
diff changeset
40 import com.smartgwt.client.widgets.tab.events.TabSelectedEvent;
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
41 import com.smartgwt.client.widgets.tab.events.TabSelectedHandler;
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
42
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
43 /**
4320
c3ac330d9be4 NaviChartOutputTab: Slight refactoring to work not only with FixAnalysisArtifacts.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4319
diff changeset
44 * Tab representing and showing one Chart-output with a "navi" thing.
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
45 *
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
46 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
47 */
9072
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
48 public class NaviChartOutputTab extends ChartOutputTab implements TabSelectedHandler {
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
49 private TextItem currentkm;
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
50
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
51 private final NumberFormat kmFormat = NumberFormat.getDecimalFormat();
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
52
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
53 private INaviChartStepper stepper;
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
54
9072
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
55 public NaviChartOutputTab(final String title, final Collection collection, final OutputMode mode, final CollectionView collectionView) {
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
56 super(title, collection, mode, collectionView);
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
57
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
58 this.stepper = new NilNaviChartStepper();
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
59
9072
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
60 this.right.removeChild(this.chart);
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
61 this.right.addChild(createNaviChart());
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
62 collectionView.registerTabHandler(this);
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
63 }
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
64
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
65 protected Canvas createNaviChart() {
9072
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
66 final Artifact art = this.collectionView.getArtifact();
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
67 final VLayout root = new VLayout();
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
68 root.setWidth100();
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
69 root.setHeight100();
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
70
9072
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
71 final HLayout layout = new HLayout();
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
72 layout.setAlign(Alignment.CENTER);
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
73
9072
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
74 final DynamicForm form = new DynamicForm();
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
75 final Button lower = new Button("<<");
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
76 lower.setWidth(30);
9072
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
77 final Button upper = new Button(">>");
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
78 upper.setWidth(30);
9072
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
79 this.currentkm = new TextItem();
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
80 this.currentkm.setWidth(60);
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
81 this.currentkm.setShowTitle(false);
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
82
9072
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
83 form.setFields(this.currentkm);
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
84 form.setWidth(60);
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
85
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
86 this.stepper = createStepper(art);
6017
bcaf66443b93 issue1261: when tab is created, jump navi to 'default'-km. This overcomes
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5993
diff changeset
87
bcaf66443b93 issue1261: when tab is created, jump navi to 'default'-km. This overcomes
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5993
diff changeset
88 // Always jump to the from km when initialized.
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
89 final double currentKm = this.stepper.getCurrentKm();
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
90 this.collectionView.setCurrentKm(currentKm);
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
91 this.currentkm.setValue(this.kmFormat.format(currentKm));
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
92
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
93 lower.addClickHandler(new ClickHandler() {
9072
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
94 @Override
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
95 public void onClick(final ClickEvent ce) {
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
96 updateChartDown();
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
97 }
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
98 });
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
99
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
100 upper.addClickHandler(new ClickHandler() {
9072
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
101 @Override
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
102 public void onClick(final ClickEvent ce) {
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
103 updateChartUp();
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
104 }
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
105 });
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
106
9072
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
107 this.currentkm.addKeyPressHandler(new KeyPressHandler() {
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
108 @Override
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
109 public void onKeyPress(final KeyPressEvent kpe) {
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
110
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
111 if (!kpe.getKeyName().equals("Enter"))
2918
d92770527b0f Changed handler for km navigation in fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2911
diff changeset
112 return;
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
113
9072
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
114 if (kpe.getItem().getValue() != null) {
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
115 final String kmText = kpe.getItem().getValue().toString();
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
116 updateChartKm(kmText);
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
117 }
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
118 }
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
119 });
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
120 layout.addMember(lower);
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
121 layout.addMember(form);
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
122 layout.addMember(upper);
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
123
9072
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
124 root.addMember(this.chart);
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
125 root.addMember(layout);
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
126 return root;
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
127 }
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
128
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
129 private INaviChartStepper createStepper(final Artifact art) {
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
130
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
131 if (art instanceof AbstractFixBunduArtifact) {
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
132 final AbstractFixBunduArtifact fix = (AbstractFixBunduArtifact) art;
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
133 final FixFilter fixFilter = fix.getFilter();
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
134
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
135 final double fromKm = fixFilter.getLowerKm();
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
136 final double toKm = fixFilter.getUpperKm();
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
137
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
138 final String s = fix.getArtifactDescription().getDataValueAsString("ld_step");
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
139 try {
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
140 final double ds = Double.parseDouble(s);
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
141 return new MinMaxStepNaviChartStepper(fromKm, toKm, ds);
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
142 }
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
143 catch (final NumberFormatException nfe) {
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
144 return new MinMaxStepNaviChartStepper(fromKm, toKm, 100d);
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
145 }
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
146 } else if (art instanceof SINFOArtifact) {
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
147 /* special case for SINFO-Flood-Duration */
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
148 final SINFOArtifact sinfo = (SINFOArtifact) art;
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
149
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
150 final CollectionItem item = this.collection.getItem(sinfo.getUuid());
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
151
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
152 final Set<Double> validKms = sinfo.getValidDurationChartKms(item);
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
153 return new DistinctValuesNaviChartStepper(validKms);
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
154 } else {
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
155 // Probably WINFOArtifact kind of artifact.
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
156
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
157 double fromKm;
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
158 double toKm;
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
159
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
160 final double[] kmRange = art.getArtifactDescription().getKMRange();
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
161 if (kmRange != null && kmRange.length == 2) {
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
162 fromKm = kmRange[0];
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
163 toKm = kmRange[1];
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
164 } else {
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
165 GWT.log("No KM range in description found.");
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
166 return new NilNaviChartStepper();
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
167 }
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
168
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
169 final String ld_step = art.getArtifactDescription().getDataValueAsString("ld_step");
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
170 try {
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
171 final Double step = Double.valueOf(ld_step);
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
172 return new MinMaxStepNaviChartStepper(fromKm, toKm, step);
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
173 }
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
174 catch (final Exception e) {
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
175 GWT.log("No ld_steps data or not parsable.", e);
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
176 return new MinMaxStepNaviChartStepper(fromKm, toKm, 100d);
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
177 }
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
178 }
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
179 }
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
180
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
181 protected void updateChartKm(final String kmText) {
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
182
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
183 NaviChartOutputTab.this.tbarPanel.deselectControls();
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
184
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
185 try {
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
186 final double d = this.kmFormat.parse(kmText);
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
187
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
188 final double validCurrentKm = this.stepper.setValidCurrentKm(d);
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
189 updateCurrentKm(validCurrentKm);
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
190 }
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
191 catch (final NumberFormatException e) {
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
192 SC.warn("Invalid value: " + kmText);
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
193 // do nothing, but an error message would be nice
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
194 }
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
195 }
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
196
5963
dbbe3085384e Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5861
diff changeset
197 /**
dbbe3085384e Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5861
diff changeset
198 * Callback when km-up-button is clicked.
dbbe3085384e Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5861
diff changeset
199 * Increases collectionViews KM and refreshes view.
dbbe3085384e Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5861
diff changeset
200 */
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
201 protected void updateChartUp() {
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
202
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
203 this.tbarPanel.deselectControls();
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
204
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
205 final double nextKm = this.stepper.stepForward();
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
206 updateCurrentKm(nextKm);
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
207 }
4321
e7f7be368cf3 NaviChartOutputTab: Doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4320
diff changeset
208
5963
dbbe3085384e Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5861
diff changeset
209 /**
dbbe3085384e Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5861
diff changeset
210 * Callback when km-down-button is clicked.
dbbe3085384e Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5861
diff changeset
211 * Decreases collectionViews KM and refreshes view.
dbbe3085384e Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5861
diff changeset
212 */
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
213 protected void updateChartDown() {
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
214
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
215 this.tbarPanel.deselectControls();
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
216
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
217 final double prevKm = this.stepper.stepBackward();
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
218 updateCurrentKm(prevKm);
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
219 }
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
220
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
221 private void updateCurrentKm(final double currentKm) {
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
222
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
223 this.collectionView.setCurrentKm(currentKm);
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
224
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
225 this.tbarPanel.updateLinks();
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
226
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
227 updateChartPanel();
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
228 updateChartInfo();
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
229
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
230 this.currentkm.setValue(this.kmFormat.format(currentKm));
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
231 this.tbarPanel.onZoom(null);
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
232
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
233 }
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
234
9072
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
235 /**
2936
a805118fffa6 Fixed zooming in navigatable charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2935
diff changeset
236 * Returns the existing chart panel.
a805118fffa6 Fixed zooming in navigatable charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2935
diff changeset
237 *
a805118fffa6 Fixed zooming in navigatable charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2935
diff changeset
238 * @return the existing chart panel.
a805118fffa6 Fixed zooming in navigatable charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2935
diff changeset
239 */
a805118fffa6 Fixed zooming in navigatable charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2935
diff changeset
240 @Override
a805118fffa6 Fixed zooming in navigatable charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2935
diff changeset
241 public Canvas getChartPanel() {
9072
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
242 return this.chart;
2936
a805118fffa6 Fixed zooming in navigatable charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2935
diff changeset
243 }
a805118fffa6 Fixed zooming in navigatable charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2935
diff changeset
244
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
245 /**
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
246 * Builds the URL that points to the chart image.
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
247 *
9072
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
248 * @param width
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
249 * The width of the requested chart.
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
250 * @param height
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
251 * The height of the requested chart.
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
252 * @param xr
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
253 * Optional x range (used for zooming).
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
254 * @param yr
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
255 * Optional y range (used for zooming).
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
256 *
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
257 * @return the URL to the chart image.
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
258 */
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
259 @Override
9072
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
260 protected String getImgUrl(final int width, final int height) {
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
261 final Config config = Config.getInstance();
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
262
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
263 String imgUrl = GWT.getModuleBaseURL();
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
264 imgUrl += "chart";
9072
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
265 imgUrl += "?uuid=" + this.collection.identifier();
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
266 imgUrl += "&type=" + this.mode.getName();
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
267 imgUrl += "&locale=" + config.getLocale();
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
268 imgUrl += "&timestamp=" + new Date().getTime();
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
269 imgUrl += "&width=" + Integer.toString(width);
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
270 imgUrl += "&height=" + Integer.toString(height - 40);
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
271
9072
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
272 final Number[] zoom = getZoomValues();
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
273
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
274 if (zoom != null) {
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
275 if (zoom[0].intValue() != 0 || zoom[1].intValue() != 1) {
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
276 // a zoom range of 0-1 means displaying the whole range. In such
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
277 // case we don't need to zoom.
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
278 imgUrl += "&minx=" + zoom[0];
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
279 imgUrl += "&maxx=" + zoom[1];
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
280 }
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
281
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
282 if (zoom[2].intValue() != 0 || zoom[3].intValue() != 1) {
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
283 // a zoom range of 0-1 means displaying the whole range. In such
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
284 // case we don't need to zoom.
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
285 imgUrl += "&miny=" + zoom[2];
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
286 imgUrl += "&maxy=" + zoom[3];
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
287 }
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
288 }
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
289
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
290 if (this.collectionView.getCurrentKm() == -1) {
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
291 // REMARK: this happens, because we get called from the constructor of our super class
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
292
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
293 if (this.collectionView.getArtifact() instanceof AbstractFixBunduArtifact) {
9072
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
294 final AbstractFixBunduArtifact fix = (AbstractFixBunduArtifact) this.collectionView.getArtifact();
9099
850ce16034e9 2.3.4.1.10 Berechnung mit Start-km > End-km
gernotbelger
parents: 9072
diff changeset
295 this.collectionView.setCurrentKm(fix.getFilter().getLowerKm());
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
296 }
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
297 else
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
298 this.collectionView.setCurrentKm(this.collectionView.getArtifact().getArtifactDescription().getKMRange()[0]);
4322
f36550788add NaviChartOutputTab: Get relevant data also from not-fixationanalysis-artifacts.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4321
diff changeset
299 }
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
300
9072
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
301 if (this.collectionView.getCurrentKm() != -1) {
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
302 imgUrl += "&currentKm=" + this.collectionView.getCurrentKm();
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
303 }
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
304
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
305 return imgUrl;
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
306 }
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
307
9072
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
308 @Override
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
309 public void onTabSelected(final TabSelectedEvent tse) {
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
310 if (this.equals(tse.getTab())) {
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
311
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
312 final double currentKm = this.collectionView.getCurrentKm();
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
313
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
314 final double validCurrentKm = this.stepper.setValidCurrentKm(currentKm);
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
315 updateCurrentKm(validCurrentKm);
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
316 }
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
317 }
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
318
2935
6cf983dd4f8a Add km to chart info request parameters to get valid chart infos.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2918
diff changeset
319 @Override
6cf983dd4f8a Add km to chart info request parameters to get valid chart infos.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2918
diff changeset
320 public Map<String, String> getChartAttributes() {
6cf983dd4f8a Add km to chart info request parameters to get valid chart infos.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2918
diff changeset
321 Map<String, String> attr = new HashMap<String, String>();
6cf983dd4f8a Add km to chart info request parameters to get valid chart infos.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2918
diff changeset
322
6cf983dd4f8a Add km to chart info request parameters to get valid chart infos.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2918
diff changeset
323 attr = super.getChartAttributes();
9072
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
324 attr.put("km", String.valueOf(this.collectionView.getCurrentKm()));
2935
6cf983dd4f8a Add km to chart info request parameters to get valid chart infos.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2918
diff changeset
325
6cf983dd4f8a Add km to chart info request parameters to get valid chart infos.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2918
diff changeset
326 return attr;
6cf983dd4f8a Add km to chart info request parameters to get valid chart infos.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2918
diff changeset
327 }
5964
aaa5e5ac5b02 NaviChartOutputTab: In prep for issue1311, override getExportUrl to include km.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5963
diff changeset
328
9072
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
329 /**
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
330 * In contrast to supers implementation, include the currently selected
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
331 * km in the url.
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
332 */
5964
aaa5e5ac5b02 NaviChartOutputTab: In prep for issue1311, override getExportUrl to include km.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5963
diff changeset
333 @Override
9072
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
334 public String getExportUrl(final int width, final int height, final String format) {
5964
aaa5e5ac5b02 NaviChartOutputTab: In prep for issue1311, override getExportUrl to include km.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5963
diff changeset
335 String url = super.getExportUrl(width, height, format);
9072
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
336 if (this.collectionView.getCurrentKm() != -1) {
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
337 url += "&currentKm=" + this.collectionView.getCurrentKm();
5964
aaa5e5ac5b02 NaviChartOutputTab: In prep for issue1311, override getExportUrl to include km.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5963
diff changeset
338 }
aaa5e5ac5b02 NaviChartOutputTab: In prep for issue1311, override getExportUrl to include km.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5963
diff changeset
339 return url;
aaa5e5ac5b02 NaviChartOutputTab: In prep for issue1311, override getExportUrl to include km.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5963
diff changeset
340 }
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
341 }

http://dive4elements.wald.intevation.org