annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/UIProviderFactory.java @ 7602:c50dbbe17950

issue1596: Store table (cell) data twice: Once as (formatted) string as coming from server, once transformed into float (or string). The benefit is that now we can sort table data numerically, while keeping the formatted and i18ned display of values.
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Wed, 27 Nov 2013 14:55:25 +0100
parents 0a200ba54461
children dded480e17c9
rev   line source
5861
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
2 * Software engineering by Intevation GmbH
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
3 *
5993
ea9eef426962 Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5861
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
5861
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
5993
ea9eef426962 Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5861
diff changeset
6 * documentation coming with Dive4Elements River for details.
5861
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
7 */
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
8
5835
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
9 package org.dive4elements.river.client.client.ui;
20
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10
5312
2c1045a1e3fe Added new states and transitions to UESK calculation and adjusted states and UI.
Raimund Renkert <rrenkert@intevation.de>
parents: 4299
diff changeset
11 import com.google.gwt.core.client.GWT;
2c1045a1e3fe Added new states and transitions to UESK calculation and adjusted states and UI.
Raimund Renkert <rrenkert@intevation.de>
parents: 4299
diff changeset
12
5835
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
13 import org.dive4elements.river.client.client.ui.fixation.FixEventSelect;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
14 import org.dive4elements.river.client.client.ui.fixation.FixFunctionSelect;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
15 import org.dive4elements.river.client.client.ui.fixation.FixGaugeSelectPanel;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
16 import org.dive4elements.river.client.client.ui.fixation.FixLocationPanel;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
17 import org.dive4elements.river.client.client.ui.fixation.FixMultiPeriodPanel;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
18 import org.dive4elements.river.client.client.ui.fixation.FixPeriodPanel;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
19 import org.dive4elements.river.client.client.ui.fixation.FixQSelectPanel;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
20 import org.dive4elements.river.client.client.ui.minfo.BedHeightsDatacagePanel;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
21 import org.dive4elements.river.client.client.ui.minfo.BedMultiPeriodPanel;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
22 import org.dive4elements.river.client.client.ui.minfo.CheckboxPanel;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
23 import org.dive4elements.river.client.client.ui.minfo.SedLoadDistancePanel;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
24 import org.dive4elements.river.client.client.ui.minfo.SedLoadEpochPanel;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
25 import org.dive4elements.river.client.client.ui.minfo.SedLoadOffEpochPanel;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
26 import org.dive4elements.river.client.client.ui.minfo.SedLoadPeriodPanel;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
27 import org.dive4elements.river.client.client.ui.sq.SQPeriodPanel;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
28 import org.dive4elements.river.client.shared.model.User;
1612
66671b69c7ea Added new UIProvider to enter mutliple locations (yet only input view textfield possible).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1602
diff changeset
29
66671b69c7ea Added new UIProvider to enter mutliple locations (yet only input view textfield possible).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1602
diff changeset
30 /**
66671b69c7ea Added new UIProvider to enter mutliple locations (yet only input view textfield possible).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1602
diff changeset
31 * Depending on the provider the state declared, return a UIProvider.
66671b69c7ea Added new UIProvider to enter mutliple locations (yet only input view textfield possible).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1602
diff changeset
32 *
66671b69c7ea Added new UIProvider to enter mutliple locations (yet only input view textfield possible).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1602
diff changeset
33 * A UIProvider provides widgets and input helpers to guide input to an
66671b69c7ea Added new UIProvider to enter mutliple locations (yet only input view textfield possible).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1602
diff changeset
34 * artifacts state.
66671b69c7ea Added new UIProvider to enter mutliple locations (yet only input view textfield possible).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1602
diff changeset
35 */
20
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
36 public class UIProviderFactory {
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
38 private UIProviderFactory() {
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
39 }
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
40
3351
24e9b5eb83f8 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2953
diff changeset
41 /** @param uiProvider uiprovider demanded for by state. */
867
6a2ed979dfcf Added new UIProvider "DatacageTwinPanel", pass user via UIProviderFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 833
diff changeset
42 public static UIProvider getProvider(String uiProvider, User user) {
20
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
43 if (uiProvider == null || uiProvider.equals("")) {
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
44 return new SelectProvider();
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
45 }
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
46 else if (uiProvider.equals("select_with_map")) {
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
47 return new MapSelection();
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
48 }
41
87a44f8e25cc Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 20
diff changeset
49 else if (uiProvider.equals("location_distance_panel")) {
87a44f8e25cc Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 20
diff changeset
50 return new LocationDistancePanel();
87a44f8e25cc Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 20
diff changeset
51 }
238
234c78a91c15 Added new UI provider for single location selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 44
diff changeset
52 else if (uiProvider.equals("location_panel")) {
234c78a91c15 Added new UI provider for single location selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 44
diff changeset
53 return new SingleLocationPanel();
234c78a91c15 Added new UI provider for single location selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 44
diff changeset
54 }
1612
66671b69c7ea Added new UIProvider to enter mutliple locations (yet only input view textfield possible).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1602
diff changeset
55 else if (uiProvider.equals("multi_location_panel")) {
66671b69c7ea Added new UIProvider to enter mutliple locations (yet only input view textfield possible).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1602
diff changeset
56 return new MultipleLocationPanel();
66671b69c7ea Added new UIProvider to enter mutliple locations (yet only input view textfield possible).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1602
diff changeset
57 }
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 282
diff changeset
58 else if (uiProvider.equals("distance_panel")) {
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 282
diff changeset
59 return new DistancePanel();
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 282
diff changeset
60 }
1265
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 901
diff changeset
61 else if (uiProvider.equals("distance_only_panel")) {
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 901
diff changeset
62 return new DistanceOnlyPanel();
f98bd9b5cedd #315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 901
diff changeset
63 }
787
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 785
diff changeset
64 else if (uiProvider.equals("waterlevel_ground_panel")) {
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 785
diff changeset
65 return new WaterlevelGroundPanel();
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 785
diff changeset
66 }
44
3853210f2d18 Enhanced the UIProviderFactory.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 41
diff changeset
67 else if (uiProvider.equals("wq_panel")) {
3853210f2d18 Enhanced the UIProviderFactory.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 41
diff changeset
68 return new WQInputPanel();
3853210f2d18 Enhanced the UIProviderFactory.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 41
diff changeset
69 }
243
11c5bcd349b1 Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 238
diff changeset
70 else if (uiProvider.equals("wq_panel_adapted")) {
11c5bcd349b1 Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 238
diff changeset
71 return new WQAdaptedInputPanel();
11c5bcd349b1 Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 238
diff changeset
72 }
6060
0a200ba54461 Fix WQ input validation for fixing analysis
Andre Heinecke <aheinecke@intevation.de>
parents: 5993
diff changeset
73 else if (uiProvider.equals("wq_panel_adapted_fixing")) {
0a200ba54461 Fix WQ input validation for fixing analysis
Andre Heinecke <aheinecke@intevation.de>
parents: 5993
diff changeset
74 return new WQAdaptedFixingInputPanel();
0a200ba54461 Fix WQ input validation for fixing analysis
Andre Heinecke <aheinecke@intevation.de>
parents: 5993
diff changeset
75 }
4120
062cb6605653 Register new ui provider.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4061
diff changeset
76 else if (uiProvider.equals("q_segmented_panel")) {
062cb6605653 Register new ui provider.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4061
diff changeset
77 return new QSegmentedInputPanel();
062cb6605653 Register new ui provider.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4061
diff changeset
78 }
282
e92f7ef455d6 Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 243
diff changeset
79 else if (uiProvider.equals("river_panel")) {
e92f7ef455d6 Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 243
diff changeset
80 return new LinkSelection();
e92f7ef455d6 Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 243
diff changeset
81 }
785
3ae0facd4cab Added a panel that lets users step to a next state without feeding the current artifact with new data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
82 else if (uiProvider.equals("continue")) {
3ae0facd4cab Added a panel that lets users step to a next state without feeding the current artifact with new data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
83 return new ContinuePanel();
3ae0facd4cab Added a panel that lets users step to a next state without feeding the current artifact with new data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
84 }
901
3ef7205b814e Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 867
diff changeset
85 else if (uiProvider.equals("wsp_datacage_panel")) {
3ef7205b814e Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 867
diff changeset
86 return new WspDatacagePanel(user);
3ef7205b814e Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 867
diff changeset
87 }
3ef7205b814e Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 867
diff changeset
88 else if (uiProvider.equals("dgm_datacage_panel")) {
3ef7205b814e Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 867
diff changeset
89 return new DemDatacagePanel(user);
787
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 785
diff changeset
90 }
867
6a2ed979dfcf Added new UIProvider "DatacageTwinPanel", pass user via UIProviderFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 833
diff changeset
91 else if (uiProvider.equals("datacage_twin_panel")) {
6a2ed979dfcf Added new UIProvider "DatacageTwinPanel", pass user via UIProviderFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 833
diff changeset
92 return new DatacageTwinPanel(user);
6a2ed979dfcf Added new UIProvider "DatacageTwinPanel", pass user via UIProviderFactory.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 833
diff changeset
93 }
787
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 785
diff changeset
94 else if (uiProvider.equals("auto_integer")) {
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 785
diff changeset
95 return new AutoIntegerPanel();
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 785
diff changeset
96 }
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 785
diff changeset
97 else if (uiProvider.equals("boolean_panel")) {
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 785
diff changeset
98 return new BooleanPanel();
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 785
diff changeset
99 }
824
3fe265b47675 Added a NoInputPanel to suppress the creation of an input panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
100 else if (uiProvider.equals("noinput")) {
3fe265b47675 Added a NoInputPanel to suppress the creation of an input panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
101 return new NoInputPanel();
3fe265b47675 Added a NoInputPanel to suppress the creation of an input panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
102 }
833
dcecdd9693a8 Added a UIProvider that displays a combobox on the left and a map widget in the helper container.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 824
diff changeset
103 else if (uiProvider.equals("map_digitize")) {
dcecdd9693a8 Added a UIProvider that displays a combobox on the left and a map widget in the helper container.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 824
diff changeset
104 return new DigitizePanel();
dcecdd9693a8 Added a UIProvider that displays a combobox on the left and a map widget in the helper container.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 824
diff changeset
105 }
1523
07b532f9e057 Added new panels for inserting ranges, int ranges and time (year) ranges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1367
diff changeset
106 else if (uiProvider.equals("timerange")) {
1524
487c3ff7e838 Improved the code of IntegerRangePanel: it now returns the inserted values as IntegerRangeData object.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1523
diff changeset
107 return new IntegerRangePanel();
1523
07b532f9e057 Added new panels for inserting ranges, int ranges and time (year) ranges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1367
diff changeset
108 }
1528
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1524
diff changeset
109 else if (uiProvider.equals("wq_simple_array")) {
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1524
diff changeset
110 return new WQSimpleArrayPanel();
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1524
diff changeset
111 }
1602
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1528
diff changeset
112 else if (uiProvider.equals("gaugetimerange")) {
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1528
diff changeset
113 return new GaugeTimeRangePanel();
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1528
diff changeset
114 }
2505
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1612
diff changeset
115 else if (uiProvider.equals("fix.location_panel")) {
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1612
diff changeset
116 return new FixLocationPanel();
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1612
diff changeset
117 }
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1612
diff changeset
118 else if (uiProvider.equals("fix.period_panel")) {
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1612
diff changeset
119 return new FixPeriodPanel();
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1612
diff changeset
120 }
2538
c7da05282644 FixPeriodPanel: Make the names of state parameters configurable by constructor.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2526
diff changeset
121 else if (uiProvider.equals("fix.period_ref_panel")) {
c7da05282644 FixPeriodPanel: Make the names of state parameters configurable by constructor.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2526
diff changeset
122 return new FixPeriodPanel("ref_start", "ref_end");
c7da05282644 FixPeriodPanel: Make the names of state parameters configurable by constructor.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2526
diff changeset
123 }
c7da05282644 FixPeriodPanel: Make the names of state parameters configurable by constructor.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2526
diff changeset
124 else if (uiProvider.equals("fix.period_ana_panel")) {
2883
c3feb721035c Added ui provider for multiple date range input in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2538
diff changeset
125 return new FixMultiPeriodPanel();
2538
c7da05282644 FixPeriodPanel: Make the names of state parameters configurable by constructor.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2526
diff changeset
126 }
3365
1f4ce71cb6c4 Register upcoming FixQSelectPanel UI-Provider, added omitted ChangeLog entries.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3358
diff changeset
127 else if (uiProvider.equals("fix.qselect_panel")) {
1f4ce71cb6c4 Register upcoming FixQSelectPanel UI-Provider, added omitted ChangeLog entries.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3358
diff changeset
128 return new FixQSelectPanel();
1f4ce71cb6c4 Register upcoming FixQSelectPanel UI-Provider, added omitted ChangeLog entries.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3358
diff changeset
129 }
2505
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1612
diff changeset
130 else if (uiProvider.equals("fix.gaugeselect_panel")) {
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1612
diff changeset
131 return new FixGaugeSelectPanel();
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1612
diff changeset
132 }
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1612
diff changeset
133 else if (uiProvider.equals("fix.event_panel")) {
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1612
diff changeset
134 return new FixEventSelect();
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1612
diff changeset
135 }
2526
a911e2968cb1 Changed some data types in states and filter and added new preprocessing state
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2521
diff changeset
136 else if (uiProvider.equals("fix.preprocessing_panel")) {
a911e2968cb1 Changed some data types in states and filter and added new preprocessing state
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2521
diff changeset
137 return new BooleanPanel();
a911e2968cb1 Changed some data types in states and filter and added new preprocessing state
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2521
diff changeset
138 }
3358
65b71ddc7716 Show the overview and chart in function select state in fix analysis helper
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3351
diff changeset
139 else if (uiProvider.equals("fix.functionselect")) {
65b71ddc7716 Show the overview and chart in function select state in fix analysis helper
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3351
diff changeset
140 return new FixFunctionSelect();
65b71ddc7716 Show the overview and chart in function select state in fix analysis helper
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3351
diff changeset
141 }
3372
cb84e717e54d Added a new UI provider that allows the input of a single time period (without any helper panel).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3365
diff changeset
142 else if (uiProvider.equals("period_select")) {
cb84e717e54d Added a new UI provider that allows the input of a single time period (without any helper panel).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3365
diff changeset
143 return new PeriodPanel();
cb84e717e54d Added a new UI provider that allows the input of a single time period (without any helper panel).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3365
diff changeset
144 }
2898
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2883
diff changeset
145 else if (uiProvider.equals("periods_select")) {
3527
6ededa5aa803 MINFO: Added new UI provider for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3508
diff changeset
146 return new MultiPeriodPanel();
2898
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2883
diff changeset
147 }
3373
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3372
diff changeset
148 else if (uiProvider.equals("sq.period.select")) {
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3372
diff changeset
149 return new SQPeriodPanel();
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3372
diff changeset
150 }
2898
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2883
diff changeset
151 else if (uiProvider.equals("outliers_input")) {
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2883
diff changeset
152 return new DoubleInputPanel();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2883
diff changeset
153 }
4061
644ac6d1955d Handle new percent_input ui provider name.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3705
diff changeset
154 else if (uiProvider.equals("percent_input")) {
4280
a27e68562f2a Let percent_input be DoubleInputPanal UI-Provider that inputs data named 'percent'.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4224
diff changeset
155 return new DoubleInputPanel("percent");
4061
644ac6d1955d Handle new percent_input ui provider name.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3705
diff changeset
156 }
2521
fe177e7f61d1 Added a new UIProvider that renders a matrix of checkboxes for user input.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2505
diff changeset
157 else if (uiProvider.equals("parameter-matrix")) {
fe177e7f61d1 Added a new UIProvider that renders a matrix of checkboxes for user input.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2505
diff changeset
158 return new ParameterMatrixPanel();
fe177e7f61d1 Added a new UIProvider that renders a matrix of checkboxes for user input.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2505
diff changeset
159 }
3508
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3373
diff changeset
160 else if (uiProvider.equals("minfo.bed.year_epoch")) {
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3373
diff changeset
161 return new RadioPanel();
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3373
diff changeset
162 }
3705
f84ed73311f2 Added UI for minfo bed quality calculation and added new services for overview
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3535
diff changeset
163 else if (uiProvider.equals("bedquality_periods_select")) {
f84ed73311f2 Added UI for minfo bed quality calculation and added new services for overview
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3535
diff changeset
164 return new BedMultiPeriodPanel();
f84ed73311f2 Added UI for minfo bed quality calculation and added new services for overview
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3535
diff changeset
165 }
3508
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3373
diff changeset
166 else if (uiProvider.equals("bedheights_twin_panel")) {
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3373
diff changeset
167 return new BedHeightsDatacagePanel(user);
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3373
diff changeset
168 }
3527
6ededa5aa803 MINFO: Added new UI provider for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3508
diff changeset
169 else if (uiProvider.equals("minfo.bed.char_diameter")) {
6ededa5aa803 MINFO: Added new UI provider for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3508
diff changeset
170 return new CheckboxPanel();
6ededa5aa803 MINFO: Added new UI provider for bed quality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3508
diff changeset
171 }
4224
8b5133444bcc Added UI provider for sediment load parameter input in provider factory.
Raimund Renkert <rrenkert@intevation.de>
parents: 4160
diff changeset
172 else if (uiProvider.equals("minfo.sedimentload_unit_select")) {
8b5133444bcc Added UI provider for sediment load parameter input in provider factory.
Raimund Renkert <rrenkert@intevation.de>
parents: 4160
diff changeset
173 return new RadioPanel();
8b5133444bcc Added UI provider for sediment load parameter input in provider factory.
Raimund Renkert <rrenkert@intevation.de>
parents: 4160
diff changeset
174 }
4160
bbc49d9450c8 Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4120
diff changeset
175 else if (uiProvider.equals("gauge_discharge_curve")) {
5503
b660090b417d Create a new sq relation project on measurement station record click.
Raimund Renkert <rrenkert@intevation.de>
parents: 5312
diff changeset
176 return new StaticDataPanel();
4160
bbc49d9450c8 Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4120
diff changeset
177 }
4224
8b5133444bcc Added UI provider for sediment load parameter input in provider factory.
Raimund Renkert <rrenkert@intevation.de>
parents: 4160
diff changeset
178 else if (uiProvider.equals("minfo.sedimentload_distance_select")) {
8b5133444bcc Added UI provider for sediment load parameter input in provider factory.
Raimund Renkert <rrenkert@intevation.de>
parents: 4160
diff changeset
179 return new SedLoadDistancePanel();
8b5133444bcc Added UI provider for sediment load parameter input in provider factory.
Raimund Renkert <rrenkert@intevation.de>
parents: 4160
diff changeset
180 }
8b5133444bcc Added UI provider for sediment load parameter input in provider factory.
Raimund Renkert <rrenkert@intevation.de>
parents: 4160
diff changeset
181 else if (uiProvider.equals("minfo.sedimentload_year_select")) {
8b5133444bcc Added UI provider for sediment load parameter input in provider factory.
Raimund Renkert <rrenkert@intevation.de>
parents: 4160
diff changeset
182 return new SedLoadPeriodPanel();
8b5133444bcc Added UI provider for sediment load parameter input in provider factory.
Raimund Renkert <rrenkert@intevation.de>
parents: 4160
diff changeset
183 }
8b5133444bcc Added UI provider for sediment load parameter input in provider factory.
Raimund Renkert <rrenkert@intevation.de>
parents: 4160
diff changeset
184 else if (uiProvider.equals("minfo.sedimentload_epoch_select")) {
8b5133444bcc Added UI provider for sediment load parameter input in provider factory.
Raimund Renkert <rrenkert@intevation.de>
parents: 4160
diff changeset
185 return new SedLoadEpochPanel();
8b5133444bcc Added UI provider for sediment load parameter input in provider factory.
Raimund Renkert <rrenkert@intevation.de>
parents: 4160
diff changeset
186 }
4299
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4280
diff changeset
187 else if (uiProvider.equals("minfo.sedimentload_offepoch_select")) {
4224
8b5133444bcc Added UI provider for sediment load parameter input in provider factory.
Raimund Renkert <rrenkert@intevation.de>
parents: 4160
diff changeset
188 return new SedLoadOffEpochPanel();
8b5133444bcc Added UI provider for sediment load parameter input in provider factory.
Raimund Renkert <rrenkert@intevation.de>
parents: 4160
diff changeset
189 }
5312
2c1045a1e3fe Added new states and transitions to UESK calculation and adjusted states and UI.
Raimund Renkert <rrenkert@intevation.de>
parents: 4299
diff changeset
190 else if (uiProvider.equals("hws_datacage_panel")) {
2c1045a1e3fe Added new states and transitions to UESK calculation and adjusted states and UI.
Raimund Renkert <rrenkert@intevation.de>
parents: 4299
diff changeset
191 return new HWSDatacagePanel(user);
2c1045a1e3fe Added new states and transitions to UESK calculation and adjusted states and UI.
Raimund Renkert <rrenkert@intevation.de>
parents: 4299
diff changeset
192 }
2c1045a1e3fe Added new states and transitions to UESK calculation and adjusted states and UI.
Raimund Renkert <rrenkert@intevation.de>
parents: 4299
diff changeset
193 else if (uiProvider.equals("user_rgd_panel")) {
2c1045a1e3fe Added new states and transitions to UESK calculation and adjusted states and UI.
Raimund Renkert <rrenkert@intevation.de>
parents: 4299
diff changeset
194 return new UserRGDProvider();
2c1045a1e3fe Added new states and transitions to UESK calculation and adjusted states and UI.
Raimund Renkert <rrenkert@intevation.de>
parents: 4299
diff changeset
195 }
5503
b660090b417d Create a new sq relation project on measurement station record click.
Raimund Renkert <rrenkert@intevation.de>
parents: 5312
diff changeset
196 else if (uiProvider.equals("static_sqrelation")) {
b660090b417d Create a new sq relation project on measurement station record click.
Raimund Renkert <rrenkert@intevation.de>
parents: 5312
diff changeset
197 return new StaticDataPanel();
b660090b417d Create a new sq relation project on measurement station record click.
Raimund Renkert <rrenkert@intevation.de>
parents: 5312
diff changeset
198 }
20
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
199 else {
3365
1f4ce71cb6c4 Register upcoming FixQSelectPanel UI-Provider, added omitted ChangeLog entries.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3358
diff changeset
200 //GWT.log("Picked default provider.");
20
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
201 return new SelectProvider();
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
202 }
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
203 }
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
204 }
3351
24e9b5eb83f8 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2953
diff changeset
205 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
24e9b5eb83f8 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2953
diff changeset
206

http://dive4elements.wald.intevation.org