Mercurial > dive4elements > river
diff flys-client/src/main/java/de/intevation/flys/client/client/ui/chart/ChartOutputTab.java @ 531:c17c593f8732
The chart in the ChartOutputTab is refreshed when there occur any changes in the chart theme panel.
flys-client/trunk@2020 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Fri, 27 May 2011 09:50:57 +0000 |
parents | 902609b5cc79 |
children | 0ba7c43e7b62 |
line wrap: on
line diff
--- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/chart/ChartOutputTab.java Fri May 27 08:59:26 2011 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/chart/ChartOutputTab.java Fri May 27 09:50:57 2011 +0000 @@ -24,6 +24,8 @@ import de.intevation.flys.client.shared.model.Collection; import de.intevation.flys.client.shared.model.OutputMode; import de.intevation.flys.client.client.Config; +import de.intevation.flys.client.client.event.OutputParameterChangeEvent; +import de.intevation.flys.client.client.event.OutputParameterChangeHandler; import de.intevation.flys.client.client.ui.CollectionView; import de.intevation.flys.client.client.ui.DatacageWindow; import de.intevation.flys.client.client.ui.OutputTab; @@ -32,8 +34,10 @@ /** * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> */ -public class ChartOutputTab extends OutputTab implements ResizedHandler { - +public class ChartOutputTab +extends OutputTab +implements ResizedHandler, OutputParameterChangeHandler +{ public static final int DEFAULT_CHART_WIDTH = 600; public static final int DEFAULT_CHART_HEIGHT = 500; @@ -87,8 +91,11 @@ hLayout.addMember(left); hLayout.addMember(right); + ChartThemePanel ctp = new ChartThemePanel(collection, mode); + ctp.addOutputParameterChangeHandler(this); + right.addChild(createChartPanel()); - left.addChild(new ChartThemePanel(collection, mode)); + left.addChild(ctp); tbarPanel.addChild( createTBarPanel(collectionView)); @@ -108,6 +115,22 @@ * @param event The resize event. */ public void onResized(ResizedEvent event) { + updateChartPanel(); + } + + + /** + * Listens to change event in the chart them panel and updates chart after + * receiving such an event. + * + * @param event The OutputParameterChangeEvent. + */ + public void onOutputParameterChanged(OutputParameterChangeEvent event) { + updateChartPanel(); + } + + + public void updateChartPanel() { Canvas[] children = right.getChildren(); for (Canvas child: children) { right.removeChild(child);