annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/chart/NaviChartOutputTab.java @ 9416:05405292a7ca

Navigationtheme panel now shows themes of dWt and WQ charts grayed out, if the current station is outside the valid range of the theme.
author gernotbelger
date Thu, 16 Aug 2018 16:28:03 +0200
parents abf14917be32
children
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) {
9416
05405292a7ca Navigationtheme panel now shows themes of dWt and WQ charts grayed out, if the current station is outside the valid range of the theme.
gernotbelger
parents: 9263
diff changeset
56 super(title, collection, mode, collectionView, new NaviChartRecordHandler(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
9416
05405292a7ca Navigationtheme panel now shows themes of dWt and WQ charts grayed out, if the current station is outside the valid range of the theme.
gernotbelger
parents: 9263
diff changeset
233 updateThemePanel();
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
234 }
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
235
9072
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
236 /**
2936
a805118fffa6 Fixed zooming in navigatable charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2935
diff changeset
237 * Returns the existing chart panel.
a805118fffa6 Fixed zooming in navigatable charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2935
diff changeset
238 *
a805118fffa6 Fixed zooming in navigatable charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2935
diff changeset
239 * @return the existing chart panel.
a805118fffa6 Fixed zooming in navigatable charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2935
diff changeset
240 */
a805118fffa6 Fixed zooming in navigatable charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2935
diff changeset
241 @Override
a805118fffa6 Fixed zooming in navigatable charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2935
diff changeset
242 public Canvas getChartPanel() {
9072
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
243 return this.chart;
2936
a805118fffa6 Fixed zooming in navigatable charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2935
diff changeset
244 }
a805118fffa6 Fixed zooming in navigatable charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2935
diff changeset
245
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
246 /**
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
247 * 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
248 *
9072
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
249 * @param width
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
250 * The width of the requested chart.
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
251 * @param height
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
252 * The height of the requested chart.
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
253 * @param xr
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
254 * Optional x range (used for zooming).
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
255 * @param yr
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
256 * Optional y range (used for zooming).
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
257 *
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
258 * @return the URL to the chart image.
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
259 */
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
260 @Override
9072
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
261 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
262 final Config config = Config.getInstance();
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
263
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
264 String imgUrl = GWT.getModuleBaseURL();
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
265 imgUrl += "chart";
9072
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
266 imgUrl += "?uuid=" + this.collection.identifier();
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
267 imgUrl += "&type=" + this.mode.getName();
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
268 imgUrl += "&locale=" + config.getLocale();
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
269 imgUrl += "&timestamp=" + new Date().getTime();
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
270 imgUrl += "&width=" + Integer.toString(width);
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
271 imgUrl += "&height=" + Integer.toString(height - 40);
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
272
9072
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
273 final Number[] zoom = getZoomValues();
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
274
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
275 if (zoom != null) {
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
276 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
277 // 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
278 // case we don't need to zoom.
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
279 imgUrl += "&minx=" + zoom[0];
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
280 imgUrl += "&maxx=" + zoom[1];
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
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
283 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
284 // 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
285 // case we don't need to zoom.
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
286 imgUrl += "&miny=" + zoom[2];
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
287 imgUrl += "&maxy=" + zoom[3];
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 }
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
290
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
291 if (this.collectionView.getCurrentKm() == -1) {
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
292 // 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
293
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
294 if (this.collectionView.getArtifact() instanceof AbstractFixBunduArtifact) {
9072
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
295 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
296 this.collectionView.setCurrentKm(fix.getFilter().getLowerKm());
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
297 }
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
298 else
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
299 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
300 }
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
301
9072
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
302 if (this.collectionView.getCurrentKm() != -1) {
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
303 imgUrl += "&currentKm=" + this.collectionView.getCurrentKm();
2906
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
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
306 return imgUrl;
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
307 }
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
308
9072
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
309 @Override
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
310 public void onTabSelected(final TabSelectedEvent tse) {
2906
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
311 if (this.equals(tse.getTab())) {
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
312
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
313 final double currentKm = this.collectionView.getCurrentKm();
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
314
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
315 final double validCurrentKm = this.stepper.setValidCurrentKm(currentKm);
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
316 updateCurrentKm(validCurrentKm);
2906
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 }
1780841d79af Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
319
2935
6cf983dd4f8a Add km to chart info request parameters to get valid chart infos.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2918
diff changeset
320 @Override
6cf983dd4f8a Add km to chart info request parameters to get valid chart infos.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2918
diff changeset
321 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
322 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
323
6cf983dd4f8a Add km to chart info request parameters to get valid chart infos.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2918
diff changeset
324 attr = super.getChartAttributes();
9072
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
325 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
326
6cf983dd4f8a Add km to chart info request parameters to get valid chart infos.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2918
diff changeset
327 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
328 }
5964
aaa5e5ac5b02 NaviChartOutputTab: In prep for issue1311, override getExportUrl to include km.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5963
diff changeset
329
9072
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
330 /**
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
331 * 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
332 * km in the url.
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
333 */
5964
aaa5e5ac5b02 NaviChartOutputTab: In prep for issue1311, override getExportUrl to include km.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5963
diff changeset
334 @Override
9072
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
335 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
336 String url = super.getExportUrl(width, height, format);
9072
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
337 if (this.collectionView.getCurrentKm() != -1) {
02739b8c010d bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
gernotbelger
parents: 8856
diff changeset
338 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
339 }
aaa5e5ac5b02 NaviChartOutputTab: In prep for issue1311, override getExportUrl to include km.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5963
diff changeset
340 return url;
aaa5e5ac5b02 NaviChartOutputTab: In prep for issue1311, override getExportUrl to include km.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5963
diff changeset
341 }
9263
abf14917be32 Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
gernotbelger
parents: 9099
diff changeset
342 }

http://dive4elements.wald.intevation.org