Mercurial > dive4elements > river
view flys-client/src/main/java/de/intevation/flys/client/client/ui/chart/ChartToolbar.java @ 1331:aa2313e0f18d
#366 Modifications on theme description in theme panels are now persisted to artifact server.
flys-client/trunk@2976 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Mon, 17 Oct 2011 09:18:22 +0000 |
parents | 4782c0ce9cec |
children | 51d4b51a51ed |
line wrap: on
line source
package de.intevation.flys.client.client.ui.chart; import com.google.gwt.core.client.GWT; import com.smartgwt.client.widgets.Button; import com.smartgwt.client.widgets.ImgButton; import com.smartgwt.client.widgets.Label; import com.smartgwt.client.widgets.layout.HLayout; import com.smartgwt.client.widgets.events.ClickEvent; import com.smartgwt.client.widgets.events.ClickHandler; import com.smartgwt.client.widgets.events.CloseClickHandler; import com.smartgwt.client.widgets.events.CloseClientEvent; import de.intevation.flys.client.shared.model.Artifact; import de.intevation.flys.client.shared.model.User; import de.intevation.flys.client.client.FLYSConstants; import de.intevation.flys.client.client.ui.CollectionView; import de.intevation.flys.client.client.ui.DatacageWindow; /** * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> */ public class ChartToolbar extends HLayout { protected static FLYSConstants MSG = GWT.create(FLYSConstants.class); public static final int PANEL_HEIGHT = 30; protected CollectionView view; protected ChartOutputTab chartTab; protected Button datacage; protected MousePositionPanel position; protected ZoomboxControl zoombox; protected ImgButton zoomToMaxExtent; protected ImgButton historyBack; protected ImgButton zoomOut; protected PanControl panControl; public ChartToolbar(CollectionView view, ChartOutputTab chartTab) { super(); this.view = view; this.chartTab = chartTab; datacage = new Button(MSG.databasket()); position = new MousePositionPanel(chartTab); zoombox = new ZoomboxControl(chartTab, MSG.zoom_in()); zoomToMaxExtent = new ImgButton(); zoomOut = new ImgButton(); historyBack = new ImgButton(); panControl = new PanControl(chartTab, MSG.pan()); datacage.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { GWT.log("Clicked 'datacage' button."); openDatacageWindow(); } }); String baseUrl = GWT.getHostPageBaseURL(); zoomToMaxExtent.setSrc(baseUrl + MSG.zoom_all()); zoomToMaxExtent.setWidth(20); zoomToMaxExtent.setHeight(20); zoomToMaxExtent.setShowDown(false); zoomToMaxExtent.setShowRollOver(false); zoomToMaxExtent.setShowDisabled(false); zoomToMaxExtent.setShowDisabledIcon(true); zoomToMaxExtent.setShowDownIcon(false); zoomToMaxExtent.setShowFocusedIcon(false); zoomToMaxExtent.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { getChartOutputTab().resetRanges(); } }); zoomOut.setSrc(baseUrl + MSG.zoom_out()); zoomOut.setWidth(20); zoomOut.setHeight(20); zoomOut.setShowDown(false); zoomOut.setShowRollOver(false); zoomOut.setShowDisabled(false); zoomOut.setShowDisabledIcon(true); zoomOut.setShowDownIcon(false); zoomOut.setShowFocusedIcon(false); zoomOut.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { getChartOutputTab().zoomOut(10); } }); historyBack.setSrc(baseUrl + MSG.zoom_back()); historyBack.setWidth(20); historyBack.setHeight(20); historyBack.setShowDown(false); historyBack.setShowRollOver(false); historyBack.setShowDisabled(false); historyBack.setShowDisabledIcon(true); historyBack.setShowDownIcon(false); historyBack.setShowFocusedIcon(false); historyBack.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { getChartOutputTab().zoomOut(); } }); zoombox.addZoomHandler(chartTab); zoombox.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { panControl.deselect(); } }); panControl.addPanHandler(chartTab); panControl.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { zoombox.deselect(); } }); initLayout(); } public Artifact getArtifact() { return view.getArtifact(); } public User getUser() { return view.getUser(); } public ChartOutputTab getChartOutputTab() { return chartTab; } protected void initLayout() { setWidth100(); setHeight(PANEL_HEIGHT); setMembersMargin(10); setPadding(5); setBorder("1px solid black"); Label spacer = new Label(); spacer.setWidth("*"); datacage.setWidth("95px"); position.setWidth("200px"); addMember(datacage); addMember(zoomToMaxExtent); addMember(historyBack); addMember(zoomOut); addMember(zoombox); addMember(panControl); addMember(spacer); addMember(position); } protected void openDatacageWindow() { Artifact artifact = getArtifact(); User user = getUser(); String outs = chartTab.getOutputName(); final DatacageWindow dc = new DatacageWindow( artifact, user, outs, view); dc.addRedrawRequestHandler(chartTab); dc.addCloseClickHandler(new CloseClickHandler() { public void onCloseClick(CloseClientEvent event) { dc.destroy(); } }); dc.show(); } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :