Mercurial > dive4elements > river
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 += "×tamp=" + 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 | 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 += "¤tKm=" + 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 += "¤tKm=" + 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 } |