ingo@20: package de.intevation.flys.client.client.ui; ingo@20: rrenkert@5312: import com.google.gwt.core.client.GWT; rrenkert@5312: felix@3365: import de.intevation.flys.client.client.ui.fixation.FixEventSelect; raimund@3358: import de.intevation.flys.client.client.ui.fixation.FixFunctionSelect; felix@3365: import de.intevation.flys.client.client.ui.fixation.FixGaugeSelectPanel; raimund@2505: import de.intevation.flys.client.client.ui.fixation.FixLocationPanel; felix@3365: import de.intevation.flys.client.client.ui.fixation.FixMultiPeriodPanel; raimund@2505: import de.intevation.flys.client.client.ui.fixation.FixPeriodPanel; felix@3365: import de.intevation.flys.client.client.ui.fixation.FixQSelectPanel; raimund@3508: import de.intevation.flys.client.client.ui.minfo.BedHeightsDatacagePanel; raimund@3705: import de.intevation.flys.client.client.ui.minfo.BedMultiPeriodPanel; raimund@3527: import de.intevation.flys.client.client.ui.minfo.CheckboxPanel; rrenkert@4224: import de.intevation.flys.client.client.ui.minfo.SedLoadDistancePanel; rrenkert@4224: import de.intevation.flys.client.client.ui.minfo.SedLoadEpochPanel; rrenkert@4224: import de.intevation.flys.client.client.ui.minfo.SedLoadOffEpochPanel; rrenkert@4224: import de.intevation.flys.client.client.ui.minfo.SedLoadPeriodPanel; rrenkert@4224: import de.intevation.flys.client.client.ui.sq.SQPeriodPanel; ingo@3373: import de.intevation.flys.client.shared.model.User; felix@1612: felix@1612: /** felix@1612: * Depending on the provider the state declared, return a UIProvider. felix@1612: * felix@1612: * A UIProvider provides widgets and input helpers to guide input to an felix@1612: * artifacts state. felix@1612: */ ingo@20: public class UIProviderFactory { ingo@20: ingo@20: private UIProviderFactory() { ingo@20: } ingo@20: felix@3351: /** @param uiProvider uiprovider demanded for by state. */ felix@867: public static UIProvider getProvider(String uiProvider, User user) { ingo@20: if (uiProvider == null || uiProvider.equals("")) { ingo@20: return new SelectProvider(); ingo@20: } ingo@20: else if (uiProvider.equals("select_with_map")) { ingo@20: return new MapSelection(); ingo@20: } ingo@41: else if (uiProvider.equals("location_distance_panel")) { ingo@41: return new LocationDistancePanel(); ingo@41: } raimund@238: else if (uiProvider.equals("location_panel")) { raimund@238: return new SingleLocationPanel(); raimund@238: } felix@1612: else if (uiProvider.equals("multi_location_panel")) { felix@1612: return new MultipleLocationPanel(); felix@1612: } ingo@780: else if (uiProvider.equals("distance_panel")) { ingo@780: return new DistancePanel(); ingo@780: } ingo@1265: else if (uiProvider.equals("distance_only_panel")) { ingo@1265: return new DistanceOnlyPanel(); ingo@1265: } ingo@787: else if (uiProvider.equals("waterlevel_ground_panel")) { ingo@787: return new WaterlevelGroundPanel(); ingo@787: } ingo@44: else if (uiProvider.equals("wq_panel")) { ingo@44: return new WQInputPanel(); ingo@44: } ingo@243: else if (uiProvider.equals("wq_panel_adapted")) { ingo@243: return new WQAdaptedInputPanel(); ingo@243: } felix@4120: else if (uiProvider.equals("q_segmented_panel")) { felix@4120: return new QSegmentedInputPanel(); felix@4120: } raimund@282: else if (uiProvider.equals("river_panel")) { raimund@282: return new LinkSelection(); raimund@282: } ingo@785: else if (uiProvider.equals("continue")) { ingo@785: return new ContinuePanel(); ingo@785: } ingo@901: else if (uiProvider.equals("wsp_datacage_panel")) { ingo@901: return new WspDatacagePanel(user); ingo@901: } ingo@901: else if (uiProvider.equals("dgm_datacage_panel")) { ingo@901: return new DemDatacagePanel(user); ingo@787: } felix@867: else if (uiProvider.equals("datacage_twin_panel")) { felix@867: return new DatacageTwinPanel(user); felix@867: } ingo@787: else if (uiProvider.equals("auto_integer")) { ingo@787: return new AutoIntegerPanel(); ingo@787: } ingo@787: else if (uiProvider.equals("boolean_panel")) { ingo@787: return new BooleanPanel(); ingo@787: } ingo@824: else if (uiProvider.equals("noinput")) { ingo@824: return new NoInputPanel(); ingo@824: } ingo@833: else if (uiProvider.equals("map_digitize")) { ingo@833: return new DigitizePanel(); ingo@833: } ingo@1523: else if (uiProvider.equals("timerange")) { ingo@1524: return new IntegerRangePanel(); ingo@1523: } ingo@1528: else if (uiProvider.equals("wq_simple_array")) { ingo@1528: return new WQSimpleArrayPanel(); ingo@1528: } raimund@1602: else if (uiProvider.equals("gaugetimerange")) { raimund@1602: return new GaugeTimeRangePanel(); raimund@1602: } raimund@2505: else if (uiProvider.equals("fix.location_panel")) { raimund@2505: return new FixLocationPanel(); raimund@2505: } raimund@2505: else if (uiProvider.equals("fix.period_panel")) { raimund@2505: return new FixPeriodPanel(); raimund@2505: } sascha@2538: else if (uiProvider.equals("fix.period_ref_panel")) { sascha@2538: return new FixPeriodPanel("ref_start", "ref_end"); sascha@2538: } sascha@2538: else if (uiProvider.equals("fix.period_ana_panel")) { raimund@2883: return new FixMultiPeriodPanel(); sascha@2538: } felix@3365: else if (uiProvider.equals("fix.qselect_panel")) { felix@3365: return new FixQSelectPanel(); felix@3365: } raimund@2505: else if (uiProvider.equals("fix.gaugeselect_panel")) { raimund@2505: return new FixGaugeSelectPanel(); raimund@2505: } raimund@2505: else if (uiProvider.equals("fix.event_panel")) { raimund@2505: return new FixEventSelect(); raimund@2505: } raimund@2526: else if (uiProvider.equals("fix.preprocessing_panel")) { raimund@2526: return new BooleanPanel(); raimund@2526: } raimund@3358: else if (uiProvider.equals("fix.functionselect")) { raimund@3358: return new FixFunctionSelect(); raimund@3358: } ingo@3372: else if (uiProvider.equals("period_select")) { ingo@3372: return new PeriodPanel(); ingo@3372: } raimund@2898: else if (uiProvider.equals("periods_select")) { raimund@3527: return new MultiPeriodPanel(); raimund@2898: } ingo@3373: else if (uiProvider.equals("sq.period.select")) { ingo@3373: return new SQPeriodPanel(); ingo@3373: } raimund@2898: else if (uiProvider.equals("outliers_input")) { raimund@2898: return new DoubleInputPanel(); raimund@2898: } felix@4061: else if (uiProvider.equals("percent_input")) { felix@4280: return new DoubleInputPanel("percent"); felix@4061: } ingo@2521: else if (uiProvider.equals("parameter-matrix")) { ingo@2521: return new ParameterMatrixPanel(); ingo@2521: } raimund@3508: else if (uiProvider.equals("minfo.bed.year_epoch")) { raimund@3508: return new RadioPanel(); raimund@3508: } raimund@3705: else if (uiProvider.equals("bedquality_periods_select")) { raimund@3705: return new BedMultiPeriodPanel(); raimund@3705: } raimund@3508: else if (uiProvider.equals("bedheights_twin_panel")) { raimund@3508: return new BedHeightsDatacagePanel(user); raimund@3508: } raimund@3527: else if (uiProvider.equals("minfo.bed.char_diameter")) { raimund@3527: return new CheckboxPanel(); raimund@3527: } rrenkert@4224: else if (uiProvider.equals("minfo.sedimentload_unit_select")) { rrenkert@4224: return new RadioPanel(); rrenkert@4224: } bjoern@4160: else if (uiProvider.equals("gauge_discharge_curve")) { rrenkert@5503: return new StaticDataPanel(); bjoern@4160: } rrenkert@4224: else if (uiProvider.equals("minfo.sedimentload_distance_select")) { rrenkert@4224: return new SedLoadDistancePanel(); rrenkert@4224: } rrenkert@4224: else if (uiProvider.equals("minfo.sedimentload_year_select")) { rrenkert@4224: return new SedLoadPeriodPanel(); rrenkert@4224: } rrenkert@4224: else if (uiProvider.equals("minfo.sedimentload_epoch_select")) { rrenkert@4224: return new SedLoadEpochPanel(); rrenkert@4224: } rrenkert@4299: else if (uiProvider.equals("minfo.sedimentload_offepoch_select")) { rrenkert@4224: return new SedLoadOffEpochPanel(); rrenkert@4224: } rrenkert@5312: else if (uiProvider.equals("hws_datacage_panel")) { rrenkert@5312: return new HWSDatacagePanel(user); rrenkert@5312: } rrenkert@5312: else if (uiProvider.equals("user_rgd_panel")) { rrenkert@5312: return new UserRGDProvider(); rrenkert@5312: } rrenkert@5503: else if (uiProvider.equals("static_sqrelation")) { rrenkert@5503: return new StaticDataPanel(); rrenkert@5503: } ingo@20: else { felix@3365: //GWT.log("Picked default provider."); ingo@20: return new SelectProvider(); ingo@20: } ingo@20: } ingo@20: } felix@3351: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : felix@3351: