diff flys-client/src/main/java/de/intevation/flys/client/client/ui/chart/ChartToolbar.java @ 2983:725470fc57d2

Add "Manage themes" button to ChartToolbar and MapToolbar. flys-client/trunk@4991 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Christian Lins <christian.lins@intevation.de>
date Fri, 13 Jul 2012 11:31:25 +0000
parents a805118fffa6
children 6d749af6a9c2
line wrap: on
line diff
--- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/chart/ChartToolbar.java	Fri Jul 13 10:09:20 2012 +0000
+++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/chart/ChartToolbar.java	Fri Jul 13 11:31:25 2012 +0000
@@ -1,7 +1,6 @@
 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.Canvas;
 import com.smartgwt.client.widgets.ImgButton;
@@ -30,34 +29,20 @@
 
     public static final int PANEL_HEIGHT = 30;
 
-    protected ChartOutputTab chartTab;
-
+    protected Button manageThemes;
     protected Button datacage;
-
     protected ImgLink downloadPNG;
-
     protected ImgLink downloadPDF;
-
     protected ImgLink downloadSVG;
-
     protected Canvas downloadCSV;
-
     protected MousePositionPanel position;
-
     protected ZoomboxControl zoombox;
-
     protected ImgButton zoomToMaxExtent;
-
     protected ImgButton historyBack;
-
     protected ImgButton zoomOut;
-
     protected ImgButton chartProperties;
-
     protected Button addPoints;
-
     protected Button addWSP;
-
     protected PanControl panControl;
 
 
@@ -65,7 +50,7 @@
     public ChartToolbar(ChartOutputTab chartTab) {
         super(chartTab);
 
-        this.chartTab   = chartTab;
+        manageThemes    = new Button(MSG.manageThemes());
         datacage        = new Button(MSG.databasket());
         position        = new MousePositionPanel(chartTab);
         zoombox         = new ZoomboxControl(chartTab, MSG.zoom_in());
@@ -76,11 +61,12 @@
         chartProperties = new ImgButton();
         addPoints       = new Button(MSG.points());
 
-        if (this.chartTab.getMode().getName().equals("cross_section")) {
+        if (chartTab.getMode().getName().equals("cross_section")) {
             addWSP = new Button(MSG.addWSPButton());
             addWSP.setTooltip(MSG.addWSPTooltip());
             final ChartOutputTab finalChartTab = chartTab;
             addWSP.addClickHandler(new ClickHandler() {
+                @Override
                 public void onClick(ClickEvent ce) {
                     new ManualWSPEditor(finalChartTab.getView().getCollection(),
                         finalChartTab, finalChartTab.getMode().getName()).show();
@@ -88,13 +74,23 @@
         }
 
         addPoints.addClickHandler(new ClickHandler() {
+            @Override
             public void onClick(ClickEvent event) {
                 openPointWindow();
             }
         });
         addPoints.setTooltip(MSG.addPointsTooltip());
 
+        manageThemes.addClickHandler(new ClickHandler() {
+
+            @Override
+            public void onClick(ClickEvent event) {
+                getChartOutputTab().toggleThemePanel();
+            }
+        });
+
         datacage.addClickHandler(new ClickHandler() {
+            @Override
             public void onClick(ClickEvent event) {
                 GWT.log("Clicked 'datacage' button.");
                 openDatacageWindow((ChartOutputTab) getOutputTab());
@@ -134,6 +130,7 @@
         zoomToMaxExtent.setSrc(baseUrl + MSG.zoom_all());
         adjustImageButton(zoomToMaxExtent);
         zoomToMaxExtent.addClickHandler(new ClickHandler() {
+            @Override
             public void onClick(ClickEvent event) {
                 getChartOutputTab().resetRanges();
                 // Relink the export buttons.
@@ -145,6 +142,7 @@
         zoomOut.setSrc(baseUrl + MSG.zoom_out());
         adjustImageButton(zoomOut);
         zoomOut.addClickHandler(new ClickHandler() {
+            @Override
             public void onClick(ClickEvent event) {
                 getChartOutputTab().zoomOut(10);
                 // Relink the export buttons.
@@ -156,6 +154,7 @@
         historyBack.setSrc(baseUrl + MSG.zoom_back());
         adjustImageButton(historyBack);
         historyBack.addClickHandler(new ClickHandler() {
+            @Override
             public void onClick(ClickEvent event) {
                 getChartOutputTab().zoomOut();
                 // Relink the export buttons.
@@ -167,6 +166,7 @@
         zoombox.addZoomHandler(chartTab);
         zoombox.addZoomHandler(this);
         zoombox.addClickHandler(new ClickHandler() {
+            @Override
             public void onClick(ClickEvent event) {
                 panControl.deselect();
             }
@@ -175,6 +175,7 @@
 
         panControl.addPanHandler(chartTab);
         panControl.addClickHandler(new ClickHandler() {
+            @Override
             public void onClick(ClickEvent event) {
                 zoombox.deselect();
             }
@@ -184,6 +185,7 @@
         chartProperties.setSrc(baseUrl + MSG.properties_ico());
         adjustImageButton(chartProperties);
         chartProperties.addClickHandler(new ClickHandler() {
+            @Override
             public void onClick(ClickEvent event) {
                 openPropertiesEditor();
             }
@@ -192,6 +194,7 @@
 
         initLayout();
         addResizedHandler(new ResizedHandler() {
+            @Override
             public void onResized(ResizedEvent e) {
                 if (getVisibleWidth() < 740) {
                     setHeight(55);
@@ -217,8 +220,8 @@
     }
 
 
-    public ChartOutputTab getChartOutputTab() {
-        return chartTab;
+    private ChartOutputTab getChartOutputTab() {
+        return (ChartOutputTab)getOutputTab();
     }
 
 
@@ -234,6 +237,7 @@
         datacage.setWidth("95px");
         position.setWidth("200px");
 
+        addMember(manageThemes);
         addMember(datacage);
         addMember(downloadPNG);
         addMember(downloadPDF);
@@ -247,7 +251,7 @@
         addMember(chartProperties);
         addMember(addPoints);
 
-        if (this.chartTab.getMode().getName().equals("cross_section")) {
+        if (getChartOutputTab().getMode().getName().equals("cross_section")) {
             addMember(addWSP);
         }
 
@@ -267,13 +271,14 @@
 
     /** Open editor for custom points. */
     protected void openPointWindow() {
-        if (this.chartTab.getMode().getName().equals("historical_discharge")) {
+        ChartOutputTab chartTab = getChartOutputTab();
+        if (chartTab.getMode().getName().equals("historical_discharge")) {
             new ManualDatePointsEditor(chartTab.getView().getCollection(),
-                this.chartTab, this.chartTab.getMode().getName()).show();
+                chartTab, chartTab.getMode().getName()).show();
         }
         else {
             new ManualPointsEditor(chartTab.getView().getCollection(),
-                this.chartTab, this.chartTab.getMode().getName()).show();
+                chartTab, chartTab.getMode().getName()).show();
         }
     }
 
@@ -283,7 +288,9 @@
      * correct zoom values are included in the request when clicked.
      * @param evt ignored.
      */
+    @Override
     public void onZoom(ZoomEvent evt) {
+        ChartOutputTab chartTab = getChartOutputTab();
         downloadPNG.setSource(chartTab.getExportUrl(-1, -1, "png"));
         downloadPDF.setSource(chartTab.getExportUrl(-1, -1, "pdf"));
         downloadSVG.setSource(chartTab.getExportUrl(-1, -1, "svg"));

http://dive4elements.wald.intevation.org