Mercurial > dive4elements > river
diff flys-client/src/main/java/de/intevation/flys/client/client/ui/chart/ChartToolbar.java @ 533:34103ab9fe60
Moved the toolbar stuff of the chart panel into an own class.
flys-client/trunk@2024 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Fri, 27 May 2011 13:48:25 +0000 |
parents | |
children | e08777967bad |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/chart/ChartToolbar.java Fri May 27 13:48:25 2011 +0000 @@ -0,0 +1,78 @@ +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.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 Button datacage; + + + public ChartToolbar(CollectionView view) { + super(); + + this.view = view; + + datacage = new Button(MSG.databasket()); + datacage.addClickHandler(new ClickHandler() { + public void onClick(ClickEvent event) { + GWT.log("Clicked 'datacage' button."); + openDatacageWindow(getArtifact()); + } + }); + + initLayout(); + } + + + public Artifact getArtifact() { + return view.getArtifact(); + } + + + protected void initLayout() { + setWidth100(); + setHeight(PANEL_HEIGHT); + setMembersMargin(10); + setPadding(5); + setBorder("1px solid black"); + + addMember(datacage); + } + + + 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 :