annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/SelectProvider.java @ 8870:c26fb37899ca

Introduced groups for modules. Modules marked with the same group-id, will be put together in the ui. Also using now the localization info from the server instead of localizing the modules again on the client side.
author gernotbelger
date Wed, 07 Feb 2018 11:59:13 +0100
parents 5e38e2924c07
children
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
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
11 import com.google.gwt.core.client.GWT;
30
5709bd8f4d7c Added a new widget that combines the module and the river selection. Users can now choose the desired plugin and river in one step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 20
diff changeset
12 import com.smartgwt.client.types.VerticalAlignment;
20
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
13 import com.smartgwt.client.widgets.Canvas;
30
5709bd8f4d7c Added a new widget that combines the module and the river selection. Users can now choose the desired plugin and river in one step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 20
diff changeset
14 import com.smartgwt.client.widgets.Label;
20
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
15 import com.smartgwt.client.widgets.form.DynamicForm;
4573
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
16 import com.smartgwt.client.widgets.form.fields.FormItem;
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
17 import com.smartgwt.client.widgets.form.fields.LinkItem;
592
f8f8982e2d5c The comboboxes to select the calculation mode are no longer editable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 519
diff changeset
18 import com.smartgwt.client.widgets.form.fields.SelectItem;
4573
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
19 import com.smartgwt.client.widgets.form.fields.SpacerItem;
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
20 import com.smartgwt.client.widgets.form.fields.events.ClickEvent;
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
21 import com.smartgwt.client.widgets.form.fields.events.ClickHandler;
53
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
22 import com.smartgwt.client.widgets.layout.HLayout;
20
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
23 import com.smartgwt.client.widgets.layout.VLayout;
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
24
5835
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
25 import org.dive4elements.river.client.client.FLYSConstants;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
26 import org.dive4elements.river.client.client.event.StepForwardEvent;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
27 import org.dive4elements.river.client.shared.model.Data;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
28 import org.dive4elements.river.client.shared.model.DataItem;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
29 import org.dive4elements.river.client.shared.model.DataList;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
30 import org.dive4elements.river.client.shared.model.DefaultData;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
31 import org.dive4elements.river.client.shared.model.DefaultDataItem;
20
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
32
4573
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
33 import java.util.ArrayList;
4184
03de5c424f95 Fix warnings and minor TODOs in flys-client.
Christian Lins <christian.lins@intevation.de>
parents: 2537
diff changeset
34 import java.util.LinkedHashMap;
03de5c424f95 Fix warnings and minor TODOs in flys-client.
Christian Lins <christian.lins@intevation.de>
parents: 2537
diff changeset
35 import java.util.Map;
20
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
36
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 /**
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
39 * This UIProvider displays the DataItems of the Data object in a combo box.
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
40 *
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
41 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
42 */
49
d573ae975330 Some refactoring (imports, etc).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 38
diff changeset
43 public class SelectProvider
d573ae975330 Some refactoring (imports, etc).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 38
diff changeset
44 extends AbstractUIProvider
20
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
45 {
4184
03de5c424f95 Fix warnings and minor TODOs in flys-client.
Christian Lins <christian.lins@intevation.de>
parents: 2537
diff changeset
46 private static final long serialVersionUID = 4696637534424070726L;
03de5c424f95 Fix warnings and minor TODOs in flys-client.
Christian Lins <christian.lins@intevation.de>
parents: 2537
diff changeset
47
20
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
48 /** The message class that provides i18n strings.*/
211
b92281182c6b Removed the FLYSMessages interface and replaced it with a FLYSConstants interface - this interface has the ability to lookup i18n strings with given keys.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 101
diff changeset
49 protected FLYSConstants messages = GWT.create(FLYSConstants.class);
20
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
50
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
51 /** The combobox.*/
4573
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
52 protected DynamicForm form = new DynamicForm();
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
53
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
54 public static final int COMBOBOX_THRESHOLD = 20;
38
7142386e86c2 Some improvements for displaying old parameters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 37
diff changeset
55
20
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
56
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
57 /**
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
58 * This method currently returns a
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
59 * {@link com.smartgwt.client.widgets.form.DynamicForm} that contains all
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
60 * data items in a combobox stored in <i>data</i>.
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
61 *
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
62 * @param data The {@link Data} object.
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
63 *
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
64 * @return a combobox.
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
65 */
4184
03de5c424f95 Fix warnings and minor TODOs in flys-client.
Christian Lins <christian.lins@intevation.de>
parents: 2537
diff changeset
66 @Override
51
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 49
diff changeset
67 public Canvas create(DataList data) {
4574
32a4651eef93 flys-client: Shapefile upload widget readded again (regression).
Christian Lins <christian.lins@intevation.de>
parents: 4573
diff changeset
68 VLayout v = new VLayout();
32a4651eef93 flys-client: Shapefile upload widget readded again (regression).
Christian Lins <christian.lins@intevation.de>
parents: 4573
diff changeset
69 v.setMembersMargin(10);
32a4651eef93 flys-client: Shapefile upload widget readded again (regression).
Christian Lins <christian.lins@intevation.de>
parents: 4573
diff changeset
70 v.addMember(createWidget(data));
32a4651eef93 flys-client: Shapefile upload widget readded again (regression).
Christian Lins <christian.lins@intevation.de>
parents: 4573
diff changeset
71 if(data.size() > COMBOBOX_THRESHOLD) {
32a4651eef93 flys-client: Shapefile upload widget readded again (regression).
Christian Lins <christian.lins@intevation.de>
parents: 4573
diff changeset
72 v.addMember(getNextButton());
32a4651eef93 flys-client: Shapefile upload widget readded again (regression).
Christian Lins <christian.lins@intevation.de>
parents: 4573
diff changeset
73 }
32a4651eef93 flys-client: Shapefile upload widget readded again (regression).
Christian Lins <christian.lins@intevation.de>
parents: 4573
diff changeset
74 return v;
32a4651eef93 flys-client: Shapefile upload widget readded again (regression).
Christian Lins <christian.lins@intevation.de>
parents: 4573
diff changeset
75 }
32a4651eef93 flys-client: Shapefile upload widget readded again (regression).
Christian Lins <christian.lins@intevation.de>
parents: 4573
diff changeset
76
32a4651eef93 flys-client: Shapefile upload widget readded again (regression).
Christian Lins <christian.lins@intevation.de>
parents: 4573
diff changeset
77
32a4651eef93 flys-client: Shapefile upload widget readded again (regression).
Christian Lins <christian.lins@intevation.de>
parents: 4573
diff changeset
78 protected Canvas createWidget(DataList data) {
4573
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
79 if (data.size() > COMBOBOX_THRESHOLD) {
4574
32a4651eef93 flys-client: Shapefile upload widget readded again (regression).
Christian Lins <christian.lins@intevation.de>
parents: 4573
diff changeset
80 return createComboboxWidget(data);
4573
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
81 }
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
82 else {
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
83 return createListWidget(data);
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
84 }
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
85 }
20
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
86
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
87
4184
03de5c424f95 Fix warnings and minor TODOs in flys-client.
Christian Lins <christian.lins@intevation.de>
parents: 2537
diff changeset
88 @Override
53
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
89 public Canvas createOld(DataList dataList) {
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
90 HLayout layout = new HLayout();
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
91 VLayout vLayout = new VLayout();
91
0d8203594bb4 Resized CollectionView and set the content size to have a tabled style.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 83
diff changeset
92 layout.setWidth("400px");
53
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
93
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
94 Label label = new Label(dataList.getLabel());
91
0d8203594bb4 Resized CollectionView and set the content size to have a tabled style.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 83
diff changeset
95 label.setWidth("200px");
53
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
96
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
97 int size = dataList.size();
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
98 for (int i = 0; i < size; i++) {
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
99 Data data = dataList.get(i);
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
100 DataItem[] items = data.getItems();
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
101
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
102 for (DataItem item: items) {
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
103 HLayout hLayout = new HLayout();
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
104
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
105 hLayout.addMember(label);
61
f983d5ce6402 Display human readable strings of the selected values in the UI.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
106 hLayout.addMember(new Label(item.getLabel()));
53
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
107
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
108 vLayout.addMember(hLayout);
91
0d8203594bb4 Resized CollectionView and set the content size to have a tabled style.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 83
diff changeset
109 vLayout.setWidth("130px");
53
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
110 }
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
111 }
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
112
58
d018995fbee7 The 'old' items in the parameter panel have a button to step back to a previous state (NOTE: just the UI stuff is implemented now).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 57
diff changeset
113 Canvas back = getBackButton(dataList.getState());
d018995fbee7 The 'old' items in the parameter panel have a button to step back to a previous state (NOTE: just the UI stuff is implemented now).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 57
diff changeset
114
53
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
115 layout.addMember(label);
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
116 layout.addMember(vLayout);
58
d018995fbee7 The 'old' items in the parameter panel have a button to step back to a previous state (NOTE: just the UI stuff is implemented now).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 57
diff changeset
117 layout.addMember(back);
53
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
118
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
119 return layout;
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
120 }
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
121
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
122
4573
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
123 protected Canvas createListWidget(DataList data) {
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
124 VLayout layout = new VLayout();
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
125 layout.setAlign(VerticalAlignment.TOP);
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
126 layout.setHeight(25);
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
127 layout.setWidth("100%");
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
128
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
129 VLayout formLayout = new VLayout();
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
130 formLayout.setLayoutTopMargin(20);
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
131 formLayout.setLayoutLeftMargin(50);
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
132
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
133 ClickHandler handler = new ClickHandler() {
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
134 @Override
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
135 public void onClick(ClickEvent event) {
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
136 LinkItem li = (LinkItem)event.getItem();
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
137 String attr = li.getAttribute(li.getName());
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
138 GWT.log("li.getTarget: " + attr + " " + li.getName());
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
139 DataItem item = new DefaultDataItem(
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
140 attr,
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
141 null,
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
142 attr);
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
143
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
144 Data d = new DefaultData(
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
145 li.getName(),
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
146 null,
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
147 null,
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
148 new DataItem [] { item });
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
149
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
150 Data [] odata = getData();
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
151 Data [] ndata = new Data[odata.length+1];
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
152 System.arraycopy(odata, 0, ndata, 0, odata.length);
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
153 ndata[odata.length] = d;
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
154
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
155 fireStepForwardEvent(new StepForwardEvent(ndata));
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
156 }
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
157 };
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
158
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
159 for (int i = 0, size = data.size(); i < size; i++) {
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
160 Data d = data.get(i);
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
161
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
162 Label label = new Label(d.getDescription());
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
163 label.setValign(VerticalAlignment.TOP);
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
164 label.setHeight(20);
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
165 label.setWidth(400);
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
166
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 6100
diff changeset
167 LinkedHashMap<String, String> initial =
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 6100
diff changeset
168 new LinkedHashMap<String, String>();
4573
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
169 ArrayList<FormItem> formItems = new ArrayList<FormItem>();
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
170
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
171 for (DataItem item: d.getItems()) {
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 6100
diff changeset
172 initial.put(
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 6100
diff changeset
173 item.getLabel().replace(' ', '_'), item.getStringValue());
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 6100
diff changeset
174 GWT.log("put: " + item.getLabel().replace(' ', '_')
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 6100
diff changeset
175 + "=" + item.getStringValue());
4573
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
176
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
177 LinkItem link = new LinkItem(d.getLabel());
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
178 link.setLinkTitle(item.getLabel()); // i18n text of the link
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 6100
diff changeset
179 link.setAttribute(d.getLabel(), item.getStringValue());
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 6100
diff changeset
180 // e.g. "calculation_mode":"foo"
4573
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
181 link.setShowTitle(false);
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
182 link.setEndRow(true);
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
183 link.setWidth("350px");
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
184
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
185 SpacerItem space = new SpacerItem();
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
186 space.setWidth(15);
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
187 formItems.add(space);
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
188 formItems.add(link);
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
189
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
190 link.addClickHandler(handler);
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
191 }
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
192
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
193 form.setFields(formItems.toArray(new FormItem[0]));
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
194 form.setValues(initial);
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
195
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
196 layout.addMember(label);
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
197 layout.addMember(form);
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
198 }
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
199 return layout;
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
200 }
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
201
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
202 protected Canvas createComboboxWidget(DataList data) {
b87073a05f9d flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents: 4184
diff changeset
203 GWT.log("SelectProvider.createComboboxWidget()");
20
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
204
51
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 49
diff changeset
205 VLayout layout = new VLayout();
83
4784ca718476 Improved the positioning of helper widgets and some layout specific stuff.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 61
diff changeset
206 layout.setAlign(VerticalAlignment.TOP);
4784ca718476 Improved the positioning of helper widgets and some layout specific stuff.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 61
diff changeset
207 layout.setHeight(25);
20
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
208
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 6100
diff changeset
209 LinkedHashMap<String, String> initial =
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 6100
diff changeset
210 new LinkedHashMap<String, String>();
266
e3565f58b0ae ISSUE-38 Set the first value of a select box as default value.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 211
diff changeset
211
51
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 49
diff changeset
212 int size = data.size();
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 49
diff changeset
213
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 49
diff changeset
214 for (int i = 0; i < size; i++) {
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 49
diff changeset
215 Data d = data.get(i);
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 49
diff changeset
216
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 49
diff changeset
217 Label label = new Label(d.getDescription());
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 49
diff changeset
218 label.setValign(VerticalAlignment.TOP);
53
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
219 label.setHeight(20);
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: 594
diff changeset
220 label.setWidth(400);
51
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 49
diff changeset
221
594
646cf09dabf2 Initialize the combobox in the SelectProvider correctly.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 592
diff changeset
222 SelectItem combobox = new SelectItem(d.getLabel());
592
f8f8982e2d5c The comboboxes to select the calculation mode are no longer editable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 519
diff changeset
223 combobox.setWidth(250);
51
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 49
diff changeset
224
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 6100
diff changeset
225 LinkedHashMap<String, String> it =
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 6100
diff changeset
226 new LinkedHashMap<String, String>();
51
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 49
diff changeset
227
519
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 266
diff changeset
228 boolean defaultSet = false;
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 266
diff changeset
229 boolean first = true;
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 266
diff changeset
230
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 266
diff changeset
231 DataItem def = d.getDefault();
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 266
diff changeset
232 String defValue = def != null ? def.getStringValue() : null;
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 266
diff changeset
233
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 266
diff changeset
234 if (defValue != null && defValue.length() > 0) {
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 266
diff changeset
235 initial.put(d.getLabel(), def.getStringValue());
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 266
diff changeset
236 defaultSet = true;
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 266
diff changeset
237 }
266
e3565f58b0ae ISSUE-38 Set the first value of a select box as default value.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 211
diff changeset
238
51
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 49
diff changeset
239 for (DataItem item: d.getItems()) {
519
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 266
diff changeset
240 if (!defaultSet && first) {
266
e3565f58b0ae ISSUE-38 Set the first value of a select box as default value.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 211
diff changeset
241 initial.put(d.getLabel(), item.getStringValue());
519
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 266
diff changeset
242 first = false;
266
e3565f58b0ae ISSUE-38 Set the first value of a select box as default value.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 211
diff changeset
243 }
e3565f58b0ae ISSUE-38 Set the first value of a select box as default value.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 211
diff changeset
244
51
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 49
diff changeset
245 it.put(item.getStringValue(), item.getLabel());
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 49
diff changeset
246 }
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 49
diff changeset
247
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 49
diff changeset
248 label.setWidth(50);
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 49
diff changeset
249 combobox.setValueMap(it);
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 49
diff changeset
250 combobox.setShowTitle(false);
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 49
diff changeset
251 form.setItems(combobox);
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 49
diff changeset
252
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 49
diff changeset
253 layout.addMember(label);
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 49
diff changeset
254 layout.addMember(form);
20
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
255 }
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
256
266
e3565f58b0ae ISSUE-38 Set the first value of a select box as default value.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 211
diff changeset
257 form.setValues(initial);
e3565f58b0ae ISSUE-38 Set the first value of a select box as default value.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 211
diff changeset
258
30
5709bd8f4d7c Added a new widget that combines the module and the river selection. Users can now choose the desired plugin and river in one step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 20
diff changeset
259 layout.setAlign(VerticalAlignment.TOP);
5709bd8f4d7c Added a new widget that combines the module and the river selection. Users can now choose the desired plugin and river in one step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 20
diff changeset
260
5709bd8f4d7c Added a new widget that combines the module and the river selection. Users can now choose the desired plugin and river in one step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 20
diff changeset
261 return layout;
20
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
262 }
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
263
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
264
4184
03de5c424f95 Fix warnings and minor TODOs in flys-client.
Christian Lins <christian.lins@intevation.de>
parents: 2537
diff changeset
265 @Override
20
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
266 protected Data[] getData() {
4184
03de5c424f95 Fix warnings and minor TODOs in flys-client.
Christian Lins <christian.lins@intevation.de>
parents: 2537
diff changeset
267 Map<?,?> values = form.getValues();
20
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
268
51
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 49
diff changeset
269 Data[] list = new Data[values.size()];
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 49
diff changeset
270 int i = 0;
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 49
diff changeset
271
6100
de92e0cdebdc GWT client: Removed some Iterator cruft.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5993
diff changeset
272 for (Map.Entry<?, ?> entry: values.entrySet()) {
de92e0cdebdc GWT client: Removed some Iterator cruft.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5993
diff changeset
273 String fieldname = ((String)entry.getKey()).replace('_', ' ');
de92e0cdebdc GWT client: Removed some Iterator cruft.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5993
diff changeset
274 String selection = (String)entry.getValue();
51
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 49
diff changeset
275
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 49
diff changeset
276 DataItem item = new DefaultDataItem(fieldname, null, selection);
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 49
diff changeset
277
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 49
diff changeset
278 list[i++] = new DefaultData(
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 49
diff changeset
279 fieldname, null, null, new DataItem[] { item });
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 49
diff changeset
280 }
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 49
diff changeset
281
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 49
diff changeset
282 return list;
20
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
283 }
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
284 }
c128d675386b Added UIProviders that are used to create widgets for entering data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
285 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org