ingo@533: package de.intevation.flys.client.client.ui.chart; ingo@533: ingo@533: import com.google.gwt.core.client.GWT; ingo@533: ingo@533: import com.smartgwt.client.widgets.Button; ingo@534: import com.smartgwt.client.widgets.Label; ingo@533: import com.smartgwt.client.widgets.layout.HLayout; ingo@533: import com.smartgwt.client.widgets.events.ClickEvent; ingo@533: import com.smartgwt.client.widgets.events.ClickHandler; ingo@533: import com.smartgwt.client.widgets.events.CloseClickHandler; ingo@533: import com.smartgwt.client.widgets.events.CloseClientEvent; ingo@533: ingo@533: import de.intevation.flys.client.shared.model.Artifact; ingo@533: ingo@533: import de.intevation.flys.client.client.FLYSConstants; ingo@533: import de.intevation.flys.client.client.ui.CollectionView; ingo@533: import de.intevation.flys.client.client.ui.DatacageWindow; ingo@533: ingo@533: ingo@533: /** ingo@533: * @author Ingo Weinzierl ingo@533: */ ingo@533: public class ChartToolbar extends HLayout { ingo@533: ingo@533: protected static FLYSConstants MSG = GWT.create(FLYSConstants.class); ingo@533: ingo@533: ingo@533: public static final int PANEL_HEIGHT = 30; ingo@533: ingo@533: ingo@533: protected CollectionView view; ingo@533: ingo@534: protected ChartOutputTab chartTab; ingo@533: ingo@533: ingo@534: protected Button datacage; ingo@534: ingo@534: protected MousePositionPanel position; ingo@534: ingo@534: ingo@534: ingo@534: public ChartToolbar(CollectionView view, ChartOutputTab chartTab) { ingo@533: super(); ingo@533: ingo@538: this.view = view; ingo@538: this.chartTab = chartTab; ingo@533: ingo@533: datacage = new Button(MSG.databasket()); ingo@538: position = new MousePositionPanel(chartTab); ingo@538: ingo@533: datacage.addClickHandler(new ClickHandler() { ingo@533: public void onClick(ClickEvent event) { ingo@533: GWT.log("Clicked 'datacage' button."); ingo@533: openDatacageWindow(getArtifact()); ingo@533: } ingo@533: }); ingo@533: ingo@533: initLayout(); ingo@533: } ingo@533: ingo@533: ingo@533: public Artifact getArtifact() { ingo@533: return view.getArtifact(); ingo@533: } ingo@533: ingo@533: ingo@533: protected void initLayout() { ingo@533: setWidth100(); ingo@533: setHeight(PANEL_HEIGHT); ingo@533: setMembersMargin(10); ingo@533: setPadding(5); ingo@533: setBorder("1px solid black"); ingo@533: ingo@534: Label spacer = new Label(); ingo@539: spacer.setWidth("*"); ingo@534: datacage.setWidth("95px"); ingo@538: position.setWidth("200px"); ingo@534: ingo@533: addMember(datacage); ingo@534: addMember(spacer); ingo@534: addMember(position); ingo@533: } ingo@533: ingo@533: ingo@533: protected void openDatacageWindow(Artifact artifact) { ingo@533: final DatacageWindow dc = new DatacageWindow(artifact); ingo@533: dc.addCloseClickHandler(new CloseClickHandler() { ingo@533: public void onCloseClick(CloseClientEvent event) { ingo@533: dc.destroy(); ingo@533: } ingo@533: }); ingo@533: dc.show(); ingo@533: } ingo@533: } ingo@533: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :