Mercurial > dive4elements > river
view flys-client/src/main/java/de/intevation/flys/client/client/ui/chart/ChartToolbar.java @ 534:e08777967bad
Added a first implementation of a MousePositionPanel - work is not finished yet.
flys-client/trunk@2025 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Fri, 27 May 2011 15:38:24 +0000 |
parents | 34103ab9fe60 |
children | 75df57220104 |
line wrap: on
line source
package de.intevation.flys.client.client.ui.chart; import com.google.gwt.core.client.GWT; import com.smartgwt.client.core.Rectangle; import com.smartgwt.client.widgets.Button; 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.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; public ChartToolbar(CollectionView view, ChartOutputTab chartTab) { super(); this.view = view; this.chartTab = chartTab; datacage = new Button(MSG.databasket()); datacage.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { GWT.log("Clicked 'datacage' button."); openDatacageWindow(getArtifact()); } }); // TODO determine the correct viewport of the chart! position = new MousePositionPanel( chartTab.getChartPanel(), new Rectangle(65, 35, 50, 70)); chartTab.getChartPanel().addMouseMoveHandler(position); chartTab.getChartPanel().addResizedHandler(position); initLayout(); } public Artifact getArtifact() { return view.getArtifact(); } protected void initLayout() { setWidth100(); setHeight(PANEL_HEIGHT); setMembersMargin(10); setPadding(5); setBorder("1px solid black"); // TODO do this dynamic Label spacer = new Label(); spacer.setWidth("450px"); datacage.setWidth("95px"); position.setWidth("150px"); addMember(datacage); addMember(spacer); addMember(position); } protected void openDatacageWindow(Artifact artifact) { final DatacageWindow dc = new DatacageWindow(artifact); 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 :