diff flys-client/src/main/java/de/intevation/flys/client/client/ui/chart/ChartOutputTab.java @ 3370:08b2472111aa

New implementation of OverviewOutputTab which has a minimalistic chart toolbar and no chart theme panel. The overview image is fetched as single image from server. flys-client/trunk@5078 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Fri, 20 Jul 2012 07:40:55 +0000
parents 6d749af6a9c2
children b6575b8c8db0
line wrap: on
line diff
--- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/chart/ChartOutputTab.java	Thu Jul 19 11:48:41 2012 +0000
+++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/chart/ChartOutputTab.java	Fri Jul 20 07:40:55 2012 +0000
@@ -3,6 +3,7 @@
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.user.client.rpc.AsyncCallback;
 import com.smartgwt.client.types.Overflow;
+import com.smartgwt.client.types.Visibility;
 import com.smartgwt.client.widgets.Canvas;
 import com.smartgwt.client.widgets.Img;
 import com.smartgwt.client.widgets.events.ResizedEvent;
@@ -134,24 +135,21 @@
         hLayout.addMember(left);
         hLayout.addMember(right);
 
-        // Output "cross_section" needs slightly modified ThemePanel
-        // (with action buttons).
-        if (mode.getName().equals("cross_section")) {
-            ctp = new CrossSectionChartThemePanel(mode, this.view);
+        ctp = createThemePanel(mode, collectionView);
+        if (ctp != null) {
+            ctp.addRedrawRequestHandler(this);
+            ctp.addOutputParameterChangeHandler(this);
+            left.addChild(ctp);
         }
         else {
-            ctp = new ChartThemePanel(mode, this.view);
+            left.setVisible(false);
         }
 
-        ctp.addRedrawRequestHandler(this);
-        ctp.addOutputParameterChangeHandler(this);
-
         chart = createChartImg();
         right.addChild(chart);
         right.setOverflow(Overflow.HIDDEN);
-        left.addChild(ctp);
 
-        tbarPanel = new ChartToolbar(this);
+        tbarPanel = createChartToolbar(this);
         vLayout.addMember(tbarPanel);
         vLayout.addMember(hLayout);
 
@@ -159,6 +157,25 @@
 
         right.addResizedHandler(this);
     }
+    
+    
+    public ChartThemePanel createThemePanel(
+        OutputMode mode, CollectionView view
+    ) {
+        // Output "cross_section" needs slightly modified ThemePanel
+        // (with action buttons).
+        if (mode.getName().equals("cross_section")) {
+            return new CrossSectionChartThemePanel(mode, view);
+        }
+        else {
+            return new ChartThemePanel(mode, view);
+        }
+    }
+    
+    
+    public ChartToolbar createChartToolbar(ChartOutputTab tab) {
+        return new ChartToolbar(tab);
+    }
 
 
     public void toggleThemePanel() {

http://dive4elements.wald.intevation.org