[Dive4elements-commits] [PATCH 1 of 3] flys-client: (first draft) In GaugeInfo show link to show main values
Wald Commits
scm-commit at wald.intevation.org
Thu Feb 14 09:28:42 CET 2013
# HG changeset patch
# User Felix Wolfsteller <felix.wolfsteller at intevation.de>
# Date 1360830749 -3600
# Node ID 0e6e44e6725f45597cc539bbd44beed7e858208d
# Parent e70ff0a600a3b8cdff9ff0b38ec2588c505174bd
flys-client: (first draft) In GaugeInfo show link to show main values.
diff -r e70ff0a600a3 -r 0e6e44e6725f flys-client/src/main/java/de/intevation/flys/client/client/FLYS.java
--- a/flys-client/src/main/java/de/intevation/flys/client/client/FLYS.java Thu Feb 14 09:29:51 2013 +0100
+++ b/flys-client/src/main/java/de/intevation/flys/client/client/FLYS.java Thu Feb 14 09:32:29 2013 +0100
@@ -35,9 +35,12 @@
import de.intevation.flys.client.shared.model.Artifact;
import de.intevation.flys.client.shared.model.Collection;
import de.intevation.flys.client.shared.model.CollectionItem;
+import de.intevation.flys.client.shared.model.GaugeInfo;
import de.intevation.flys.client.shared.model.River;
import de.intevation.flys.client.shared.model.User;
+import de.intevation.flys.client.client.ui.wq.WAutoTable;
+
import java.util.ArrayList;
import java.util.List;
import java.util.MissingResourceException;
@@ -434,6 +437,27 @@
});
}
+
+ /** Opens a window with Main Values from gauge. */
+ public void newGaugeMainValueTable(GaugeInfo gauge) {
+ Window mainValueView = new Window();
+ mainValueView.addItem(new WAutoTable(gauge.getRiverName(),
+ new double[] {gauge.getKmStart(), gauge.getKmEnd()}));
+ mainValueView.setWidth(1010);
+ mainValueView.setHeight(700);
+
+ mainValueView.setMaximized(true);
+
+ mainValueView.setCanDragReposition(true);
+ mainValueView.setCanDragResize(true);
+ mainValueView.setShowMaximizeButton(true);
+ mainValueView.setKeepInParentRect(true);
+
+ // TODO i18n
+ mainValueView.setTitle("Stammdaten " + gauge.getName() + " (" + gauge.getRiverName() + ")" );
+ workspace.addChild(mainValueView);
+ }
+
public void newGaugeDischargeCurve(String river, Long gaugeref) {
Config config = Config.getInstance();
diff -r e70ff0a600a3 -r 0e6e44e6725f flys-client/src/main/java/de/intevation/flys/client/client/ui/stationinfo/GaugeInfoPanel.java
--- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/stationinfo/GaugeInfoPanel.java Thu Feb 14 09:29:51 2013 +0100
+++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/stationinfo/GaugeInfoPanel.java Thu Feb 14 09:32:29 2013 +0100
@@ -1,10 +1,15 @@
package de.intevation.flys.client.client.ui.stationinfo;
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.Grid;
import com.smartgwt.client.widgets.layout.VLayout;
+import com.smartgwt.client.widgets.Label;
+import de.intevation.flys.client.client.FLYS;
import de.intevation.flys.client.client.FLYSConstants;
import de.intevation.flys.client.shared.model.GaugeInfo;
@@ -13,7 +18,11 @@
/** The message class that provides i18n strings.*/
private FLYSConstants MSG = GWT.create(FLYSConstants.class);
- public GaugeInfoPanel(GaugeInfo gauge) {
+ /** Application instance. */
+ private FLYS flys;
+
+ public GaugeInfoPanel(GaugeInfo gauge, FLYS flys) {
+ this.flys = flys;
setStyleName("gaugeinfopanel");
setWidth100();
@@ -51,5 +60,33 @@
}
addMember(grid);
+ addMember(new GaugeMainValueAnchor(flys, gauge));
+ }
+
+
+ /**
+ * Clickable anchor that asks application to show window with
+ * main values for gauge.
+ */
+ class GaugeMainValueAnchor extends Anchor implements ClickHandler {
+
+ private FLYS flys;
+ private GaugeInfo gauge;
+
+ public GaugeMainValueAnchor(FLYS flys, GaugeInfo gauge) {
+ super("TODO:i18n MainVALUES");
+ // TODO i18n mainvalues
+ this.flys = flys;
+ this.gauge = gauge;
+
+ addClickHandler(this);
+ }
+
+ @Override
+ public void onClick(ClickEvent ev) {
+ GWT.log("GaugeMainValueAnchor - onClick " + gauge.getRiverName() +
+ " " + gauge.getOfficialNumber());
+ flys.newGaugeMainValueTable(gauge);
+ }
}
}
diff -r e70ff0a600a3 -r 0e6e44e6725f flys-client/src/main/java/de/intevation/flys/client/client/ui/stationinfo/GaugeListGrid.java
--- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/stationinfo/GaugeListGrid.java Thu Feb 14 09:29:51 2013 +0100
+++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/stationinfo/GaugeListGrid.java Thu Feb 14 09:32:29 2013 +0100
@@ -295,7 +295,7 @@
@Override
protected Canvas getExpandPanel(ListGridRecord record) {
GaugeRecord item = (GaugeRecord)record;
- return new WidgetCanvas(new GaugeInfoPanel(item));
+ return new WidgetCanvas(new GaugeInfoPanel(item, flys));
}
@Override
diff -r e70ff0a600a3 -r 0e6e44e6725f flys-client/src/main/java/de/intevation/flys/client/client/ui/stationinfo/GaugePanel.java
--- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/stationinfo/GaugePanel.java Thu Feb 14 09:29:51 2013 +0100
+++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/stationinfo/GaugePanel.java Thu Feb 14 09:32:29 2013 +0100
@@ -1,10 +1,15 @@
package de.intevation.flys.client.client.ui.stationinfo;
+import com.smartgwt.client.util.SC;
+import com.smartgwt.client.widgets.Label;
+
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.rpc.AsyncCallback;
+
import de.intevation.flys.client.client.FLYS;
import de.intevation.flys.client.shared.model.RiverInfo;
+
/**
* The GaugePanel is intended to be used within a SectionStackSection
*
diff -r e70ff0a600a3 -r 0e6e44e6725f flys-client/src/main/java/de/intevation/flys/client/client/ui/wq/WAutoTable.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/wq/WAutoTable.java Thu Feb 14 09:32:29 2013 +0100
@@ -0,0 +1,70 @@
+package de.intevation.flys.client.client.ui.wq;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.i18n.client.NumberFormat;
+
+import com.smartgwt.client.util.SC;
+
+import com.google.gwt.user.client.rpc.AsyncCallback;
+
+import de.intevation.flys.client.client.services.WQInfoService;
+import de.intevation.flys.client.client.services.WQInfoServiceAsync;
+
+import de.intevation.flys.client.shared.model.WQInfoObject;
+import de.intevation.flys.client.shared.model.WQInfoRecord;
+
+import de.intevation.flys.client.client.FLYSConstants;
+
+import de.intevation.flys.client.client.Config;
+
+public class WAutoTable extends WTable {
+
+ WQInfoServiceAsync wqInfoService =
+ GWT.create(WQInfoService.class);
+
+ public WAutoTable(String riverName, double[] dist) {
+ super();
+ Config config = Config.getInstance();
+ String locale = config.getLocale();
+ wqInfoService.getWQInfo(locale, riverName, dist[0], dist[1],
+ new AsyncCallback<WQInfoObject[]>() {
+ @Override
+ public void onFailure(Throwable caught) {
+ GWT.log("Could not recieve wq informations.");
+ SC.warn(caught.getMessage());
+ }
+
+ @Override
+ public void onSuccess(WQInfoObject[] wqi) {
+ int num = wqi != null ? wqi.length :0;
+ GWT.log("Recieved " + num + " wq informations.");
+
+ if (num == 0) {
+ return;
+ }
+
+ addWQInfo(wqi);
+
+ boolean isQ = false;
+ boolean isFree = false;
+ boolean isRange = true;
+ }
+ }
+ );
+ }
+
+
+ protected void addWQInfo (WQInfoObject[] wqi) {
+ for(WQInfoObject wi: wqi) {
+ WQInfoRecord rec = new WQInfoRecord(wi);
+
+ if (wi.getType().equals("W")) {
+ this.addData(rec);
+ }
+ else {
+ this.addData(rec);
+ }
+ }
+ }
+}
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
More information about the Dive4elements-commits
mailing list