teichmann@5861: /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
teichmann@5861: * Software engineering by Intevation GmbH
teichmann@5861: *
teichmann@5993: * This file is Free Software under the GNU AGPL (>=v3)
teichmann@5861: * and comes with ABSOLUTELY NO WARRANTY! Check out the
teichmann@5993: * documentation coming with Dive4Elements River for details.
teichmann@5861: */
teichmann@5861:
teichmann@5835: package org.dive4elements.river.client.shared.model;
ingo@796:
ingo@796: import java.util.List;
ingo@796:
teichmann@5835: import org.dive4elements.river.client.client.ui.CollectionView;
gernotbelger@9416: import org.dive4elements.river.client.client.ui.NoopThemeRecordHandler;
teichmann@5835: import org.dive4elements.river.client.client.ui.OutputTab;
teichmann@5835: import org.dive4elements.river.client.client.ui.chart.ChartOutputTab;
teichmann@5835: import org.dive4elements.river.client.client.ui.chart.NaviChartOutputTab;
ingo@796:
ingo@796: /**
ingo@796: * @author Ingo Weinzierl
ingo@796: */
ingo@796: public class ChartMode extends DefaultOutputMode {
ingo@796:
gernotbelger@9416: private static final long serialVersionUID = 1L;
gernotbelger@9416:
ingo@796: public ChartMode() {
ingo@796: }
ingo@796:
gernotbelger@9416: public ChartMode(final String name, final String descrition, final String mimeType, final List facets, final String type) {
gernotbelger@9416: super(name, descrition, mimeType, facets);
ingo@796:
raimund@2977: this.type = type;
ingo@796: }
ingo@796:
felix@4351: /** Create output tab. Some outs feel better inside a specialized one. */
ingo@796: @Override
gernotbelger@9416: public OutputTab createOutputTab(final String t, final Collection c, final CollectionView p) {
gernotbelger@9416: final String modeName = this.getName();
gernotbelger@9416:
gernotbelger@9416: if (modeName.equals("fix_wq_curve") || //
gernotbelger@9416: modeName.equals("extreme_wq_curve") || //
gernotbelger@9416: modeName.equals("fix_deltawt_curve") || //
gernotbelger@9416: modeName.equals("fix_derivate_curve") || //
gernotbelger@9416: modeName.equals("fix_vollmer_wq_curve") || //
gernotbelger@9416: modeName.equals("sinfo_floodduration_curve")) {
gernotbelger@9416:
raimund@2906: return new NaviChartOutputTab(t, c, this, p);
raimund@2906: }
gernotbelger@9416:
gernotbelger@9416: return new ChartOutputTab(t, c, this, p, new NoopThemeRecordHandler());
ingo@796: }
gernotbelger@9416: }