Mercurial > dive4elements > river
diff gwt-client/src/main/java/org/dive4elements/river/client/client/ui/chart/ChartOutputTab.java @ 9416:05405292a7ca
Navigationtheme panel now shows themes of dWt and WQ charts grayed out, if the current station is outside the valid range of the theme.
author | gernotbelger |
---|---|
date | Thu, 16 Aug 2018 16:28:03 +0200 |
parents | 5e38e2924c07 |
children |
line wrap: on
line diff
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/chart/ChartOutputTab.java Thu Aug 16 16:27:53 2018 +0200 +++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/chart/ChartOutputTab.java Thu Aug 16 16:28:03 2018 +0200 @@ -31,6 +31,8 @@ import org.dive4elements.river.client.client.services.ChartInfoService; import org.dive4elements.river.client.client.services.ChartInfoServiceAsync; import org.dive4elements.river.client.client.ui.CollectionView; +import org.dive4elements.river.client.client.ui.IThemeRecordHandler; +import org.dive4elements.river.client.client.ui.NoopThemeRecordHandler; import org.dive4elements.river.client.client.ui.OutputTab; import org.dive4elements.river.client.shared.Transform2D; import org.dive4elements.river.client.shared.model.Axis; @@ -74,9 +76,6 @@ * coordinates. */ protected Transform2D[] transformer; - /** The collection view.*/ - protected CollectionView view; - /** The ThemePanel to expose control over themes (facettes). */ protected ChartThemePanel ctp; @@ -107,16 +106,17 @@ * @param collection The Collection which this chart belongs to. * @param mode The OutputMode. * @param collectionView The shown collection. + * @param recordHandler */ public ChartOutputTab( String title, Collection collection, OutputMode mode, - CollectionView collectionView + CollectionView collectionView, + IThemeRecordHandler recordHandler ){ super(title, collection, collectionView, mode); - view = collectionView; left = new Canvas(); right = new Canvas(); xrange = new int[2]; @@ -143,7 +143,7 @@ hLayout.addMember(left); hLayout.addMember(right); - ctp = createThemePanel(mode, collectionView); + ctp = createThemePanel(mode, collectionView, recordHandler); if (ctp != null) { ctp.addRedrawRequestHandler(this); ctp.addOutputParameterChangeHandler(this); @@ -170,17 +170,13 @@ } - public ChartThemePanel createThemePanel( - OutputMode mode, CollectionView view - ) { + public ChartThemePanel createThemePanel( OutputMode mode, CollectionView view, IThemeRecordHandler recordHandler ) { // 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); - } + if (mode.getName().equals("cross_section")) + return new CrossSectionChartThemePanel(mode, view, recordHandler); + + return new ChartThemePanel(mode, view, recordHandler); } @@ -482,7 +478,7 @@ String locale = config.getLocale(); info.getChartInfo( - view.getCollection(), + getCollectionView().getCollection(), locale, mode.getName(), getChartAttributes(), @@ -506,8 +502,11 @@ chart.setSrc(getImgUrl(w, h)); } - - + + protected final void updateThemePanel() { + ctp.updateThemes(); + } + /** * Returns the existing chart panel. * @@ -709,13 +708,6 @@ return zoom; } - - /** Return the 'parent' CollectionView. */ - public CollectionView getView() { - return this.view; - } - - public static Number subtract(Number left, Number right) { if (left instanceof Double) { return new Double(left.doubleValue() - right.doubleValue());