Mercurial > dive4elements > river
diff flys-client/src/main/java/de/intevation/flys/client/client/ui/sq/SQMultiPeriodPanel.java @ 3373:86e69788c946
Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
flys-client/trunk@5085 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Fri, 20 Jul 2012 10:17:25 +0000 |
parents | b7aab14310cb |
children |
line wrap: on
line diff
--- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/sq/SQMultiPeriodPanel.java Fri Jul 20 09:37:27 2012 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/sq/SQMultiPeriodPanel.java Fri Jul 20 10:17:25 2012 +0000 @@ -1,100 +1,32 @@ package de.intevation.flys.client.client.ui.sq; -import com.google.gwt.json.client.JSONObject; -import com.google.gwt.json.client.JSONNumber; -import com.google.gwt.json.client.JSONString; - -import com.google.gwt.core.client.GWT; - -import com.smartgwt.client.types.Alignment; - -import com.smartgwt.client.widgets.Img; import com.smartgwt.client.widgets.Canvas; -import com.smartgwt.client.widgets.layout.VLayout; +import com.smartgwt.client.widgets.events.ResizedEvent; import com.smartgwt.client.widgets.events.ResizedHandler; -import com.smartgwt.client.widgets.events.ResizedEvent; import de.intevation.flys.client.client.ui.MultiPeriodPanel; -import de.intevation.flys.client.client.Config; + /** * This UIProvider creates helper panel for sq relation. * * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a> */ -public class SQMultiPeriodPanel -extends MultiPeriodPanel -implements ResizedHandler -{ - protected VLayout chartContainer; - - protected Img chartImg; +public class SQMultiPeriodPanel extends MultiPeriodPanel implements + ResizedHandler { + protected SQCampaignChart chartContainer; public SQMultiPeriodPanel() { - chartImg = new Img(); } - + @Override protected Canvas createHelper() { - Config config = Config.getInstance(); - String locale = config.getLocale (); - - chartContainer = new VLayout(); - chartContainer.addResizedHandler(this); - chartContainer.setAlign(Alignment.CENTER); - + chartContainer = new SQCampaignChart(artifact, this); return chartContainer; } - - protected void updateChart() { - Config config = Config.getInstance(); - String locale = config.getLocale (); - - int hWidth = chartContainer.getWidth() - 12; - int hHeight = chartContainer.getHeight() - 12; - - if ((int)(hHeight *4f/3) < hWidth) { - hWidth = (int)(hHeight * 4f/3); - } - else { - hHeight = (int)(hWidth *3f/4); - } - String river = artifact.getArtifactDescription().getRiver(); - - JSONObject jfix = new JSONObject(); - JSONObject jfilter = new JSONObject(); - JSONObject jrName = new JSONObject(); - JSONString jrValue = new JSONString(river); - JSONObject jextent = new JSONObject(); - JSONNumber jwidth = new JSONNumber(hWidth); - JSONNumber jheight = new JSONNumber(hHeight); - - jrName.put("name", jrValue); - jfilter.put("river", jrName); - jextent.put("width", jwidth); - jextent.put("height", jheight); - jfilter.put("extent", jextent); - jfix.put("sq", jfilter); - String filter = jfix.toString(); - - String imgUrl = GWT.getModuleBaseURL(); - imgUrl += "sq-km-chart"; - imgUrl += "?locale=" + locale; - imgUrl += "&filter=" + filter; - if (chartContainer.hasMember(chartImg)) { - chartImg.setWidth(hWidth); - chartImg.setHeight(hHeight); - chartImg.setSrc(imgUrl); - } - else { - chartImg = new Img(imgUrl, hWidth, hHeight); - chartContainer.addMember(chartImg); - } - } - - + @Override public void onResized(ResizedEvent re) { - updateChart(); + chartContainer.update(); } }