Mercurial > dive4elements > river
diff flys-client/src/main/java/de/intevation/flys/client/client/ui/GaugeTree.java @ 3865:436eec3be6ff
Allow to create a discharge curve from a gauge info
This is only a draft yet.
flys-client/trunk@5639 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Bjoern Ricks <bjoern.ricks@intevation.de> |
---|---|
date | Fri, 28 Sep 2012 08:57:48 +0000 |
parents | f3b821735e39 |
children | 989f6f0d1986 |
line wrap: on
line diff
--- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/GaugeTree.java Fri Sep 28 08:52:53 2012 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/GaugeTree.java Fri Sep 28 08:57:48 2012 +0000 @@ -5,6 +5,8 @@ import java.util.Iterator; import com.google.gwt.core.client.GWT; +import com.google.gwt.event.dom.client.ClickEvent; +import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.i18n.client.NumberFormat; import com.google.gwt.user.client.ui.Anchor; import com.google.gwt.user.client.ui.DecoratorPanel; @@ -16,6 +18,7 @@ import com.smartgwt.client.widgets.layout.HLayout; +import de.intevation.flys.client.client.FLYS; import de.intevation.flys.client.client.FLYSConstants; import de.intevation.flys.client.shared.model.Data; @@ -27,13 +30,15 @@ public class GaugeTree extends ScrollPanel { + private FLYS flys; private Tree tree; private DataList[] data; /** The message class that provides i18n strings.*/ protected FLYSConstants MSG = GWT.create(FLYSConstants.class); - public GaugeTree() { + public GaugeTree(FLYS flys) { + this.flys = flys; tree = new Tree(); setWidget(tree); } @@ -82,7 +87,7 @@ } private void addGauge(GaugeInfo gauge) { - GaugeInfoItem gaugeitem = new GaugeInfoItem(gauge); + GaugeInfoItem gaugeitem = new GaugeInfoItem(flys, gauge); tree.addItem(gaugeitem); } @@ -315,8 +320,8 @@ private GaugeInfo gauge; - public GaugeInfoItem(GaugeInfo gauge) { - GaugeInfoHead gaugeinfohead = new GaugeInfoHead(gauge); + public GaugeInfoItem(FLYS flys, GaugeInfo gauge) { + GaugeInfoHead gaugeinfohead = new GaugeInfoHead(flys, gauge); GaugeInfoPanel gaugeinfopanel = new GaugeInfoPanel(gauge); setWidget(gaugeinfohead); addItem(gaugeinfopanel); @@ -338,7 +343,7 @@ class GaugeInfoHead extends HLayout { - public GaugeInfoHead(GaugeInfo gauge) { + public GaugeInfoHead(FLYS flys, GaugeInfo gauge) { setStyleName("gaugeinfohead"); setAutoHeight(); setAutoWidth(); @@ -390,6 +395,29 @@ MSG.gauge_url(); Anchor anchor = new Anchor(MSG.gauge_info_link(), url); addMember(anchor); + + addMember(new GaugeCurveAnchor(flys, gauge)); + } + } + + class GaugeCurveAnchor extends Anchor implements ClickHandler { + + private FLYS flys; + private GaugeInfo gauge; + + public GaugeCurveAnchor(FLYS flys, GaugeInfo gauge) { + super(MSG.gauge_curve_link()); + this.flys = flys; + this.gauge = gauge; + + addClickHandler(this); + } + + public void onClick(ClickEvent ev) { + GWT.log("GaugeCurveAnchor - onClick " + gauge.getRiverName() + + " " + gauge.getOfficialNumber()); + flys.newGaugeDischargeCurve(gauge.getRiverName(), + gauge.getOfficialNumber()); } }