annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/ModuleSelection.java @ 5861:172338b1407f

GWT client: Added copyright header.
author Sascha L. Teichmann <teichmann@intevation.de>
date Sun, 28 Apr 2013 14:30:15 +0200
parents 5aa05a7a34b7
children 34392dc16546
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 *
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
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
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
6 * documentation coming with Dive4Elements River for details.
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;
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:
diff changeset
10
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:
diff changeset
11 import com.google.gwt.core.client.GWT;
3518
33ed40aa1201 User ModuleService to get all modules for a user
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 2522
diff changeset
12 import com.google.gwt.user.client.rpc.AsyncCallback;
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:
diff changeset
13
83
4784ca718476 Improved the positioning of helper widgets and some layout specific stuff.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 57
diff changeset
14 import com.smartgwt.client.types.VerticalAlignment;
3518
33ed40aa1201 User ModuleService to get all modules for a user
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 2522
diff changeset
15 import com.smartgwt.client.util.SC;
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:
diff changeset
16 import com.smartgwt.client.widgets.Canvas;
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:
diff changeset
17 import com.smartgwt.client.widgets.Label;
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:
diff changeset
18 import com.smartgwt.client.widgets.form.DynamicForm;
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:
diff changeset
19 import com.smartgwt.client.widgets.form.fields.RadioGroupItem;
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:
diff changeset
20 import com.smartgwt.client.widgets.layout.HLayout;
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:
diff changeset
21 import com.smartgwt.client.widgets.layout.VLayout;
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:
diff changeset
22
5835
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
23 import org.dive4elements.river.client.client.Config;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
24 import org.dive4elements.river.client.client.FLYSConstants;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
25 import org.dive4elements.river.client.client.services.ModuleService;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
26 import org.dive4elements.river.client.client.services.ModuleServiceAsync;
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;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
32 import org.dive4elements.river.client.shared.model.Module;
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:
diff changeset
33
4131
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 3530
diff changeset
34 import java.util.LinkedHashMap;
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:
diff changeset
35
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:
diff changeset
36 /**
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:
diff changeset
37 * The ModuleSelection combines the river selection and the module selection in
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:
diff changeset
38 * one widget. It will display a vertical splitted widget - the upper part will
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:
diff changeset
39 * render checkboxes for each module, the lower one will display a combobox at
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:
diff changeset
40 * the left and a map panel on the right to choose the river.
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:
diff changeset
41 *
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:
diff changeset
42 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
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:
diff changeset
43 */
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:
diff changeset
44 public class ModuleSelection extends MapSelection {
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:
diff changeset
45
4131
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 3530
diff changeset
46 private static final long serialVersionUID = -5634831815175543328L;
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 3530
diff changeset
47
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:
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: 86
diff changeset
49 protected FLYSConstants MESSAGES = GWT.create(FLYSConstants.class);
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:
diff changeset
50
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:
diff changeset
51 /** The module checkboxes.*/
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:
diff changeset
52 protected RadioGroupItem radio;
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:
diff changeset
53
3518
33ed40aa1201 User ModuleService to get all modules for a user
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 2522
diff changeset
54 /** */
33ed40aa1201 User ModuleService to get all modules for a user
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 2522
diff changeset
55 protected Module[] modules;
33ed40aa1201 User ModuleService to get all modules for a user
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 2522
diff changeset
56
33ed40aa1201 User ModuleService to get all modules for a user
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 2522
diff changeset
57 /** The ModuleService used to retrieve the available modules of a user.*/
33ed40aa1201 User ModuleService to get all modules for a user
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 2522
diff changeset
58 protected ModuleServiceAsync moduleService = GWT.create(ModuleService.class);
33ed40aa1201 User ModuleService to get all modules for a user
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 2522
diff changeset
59
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:
diff changeset
60
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:
diff changeset
61 /**
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:
diff changeset
62 * The default constructor.
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:
diff changeset
63 */
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:
diff changeset
64 public ModuleSelection() {
3518
33ed40aa1201 User ModuleService to get all modules for a user
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 2522
diff changeset
65 readModules();
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:
diff changeset
66 }
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:
diff changeset
67
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:
diff changeset
68
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:
diff changeset
69 /**
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:
diff changeset
70 * This method returns a widget that renders the checkboxes for each module
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:
diff changeset
71 * and the MapSelection that lets the user choose the river.
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:
diff changeset
72 *
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:
diff changeset
73 * @param data The provided rivers.
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:
diff changeset
74 *
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:
diff changeset
75 * @return the module selection combined with the river selection.
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:
diff changeset
76 */
4131
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 3530
diff changeset
77 @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: 45
diff changeset
78 public Canvas create(DataList data) {
3518
33ed40aa1201 User ModuleService to get all modules for a user
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 2522
diff changeset
79 GWT.log("ModuleSelection - create()");
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:
diff changeset
80 VLayout newLayout = new VLayout();
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:
diff changeset
81 newLayout.setMembersMargin(10);
282
e92f7ef455d6 Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 211
diff changeset
82 newLayout.setAlign(VerticalAlignment.TOP);
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:
diff changeset
83 Canvas moduleSelection = createWidget();
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:
diff changeset
84
282
e92f7ef455d6 Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 211
diff changeset
85 moduleSelection.setHeight(100);
e92f7ef455d6 Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 211
diff changeset
86 newLayout.setHeight(70);
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:
diff changeset
87 newLayout.addMember(moduleSelection);
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:
diff changeset
88
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:
diff changeset
89 return newLayout;
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:
diff changeset
90 }
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:
diff changeset
91
3518
33ed40aa1201 User ModuleService to get all modules for a user
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 2522
diff changeset
92 private void readModules() {
33ed40aa1201 User ModuleService to get all modules for a user
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 2522
diff changeset
93 Config config = Config.getInstance();
33ed40aa1201 User ModuleService to get all modules for a user
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 2522
diff changeset
94 String locale = config.getLocale();
33ed40aa1201 User ModuleService to get all modules for a user
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 2522
diff changeset
95
33ed40aa1201 User ModuleService to get all modules for a user
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 2522
diff changeset
96 moduleService.list(locale, new AsyncCallback<Module[]>() {
33ed40aa1201 User ModuleService to get all modules for a user
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 2522
diff changeset
97 @Override
33ed40aa1201 User ModuleService to get all modules for a user
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 2522
diff changeset
98 public void onFailure(Throwable caught) {
33ed40aa1201 User ModuleService to get all modules for a user
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 2522
diff changeset
99 GWT.log("Could not recieve a list of modules.");
33ed40aa1201 User ModuleService to get all modules for a user
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 2522
diff changeset
100 SC.warn(MSG.getString(caught.getMessage()));
33ed40aa1201 User ModuleService to get all modules for a user
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 2522
diff changeset
101 }
33ed40aa1201 User ModuleService to get all modules for a user
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 2522
diff changeset
102
33ed40aa1201 User ModuleService to get all modules for a user
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 2522
diff changeset
103 @Override
33ed40aa1201 User ModuleService to get all modules for a user
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 2522
diff changeset
104 public void onSuccess(Module[] newmodules) {
33ed40aa1201 User ModuleService to get all modules for a user
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 2522
diff changeset
105 GWT.log("Retrieved " + newmodules.length + " modules.");
33ed40aa1201 User ModuleService to get all modules for a user
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 2522
diff changeset
106 modules = newmodules;
33ed40aa1201 User ModuleService to get all modules for a user
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 2522
diff changeset
107 setModules();
33ed40aa1201 User ModuleService to get all modules for a user
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 2522
diff changeset
108 }
33ed40aa1201 User ModuleService to get all modules for a user
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 2522
diff changeset
109 });
33ed40aa1201 User ModuleService to get all modules for a user
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 2522
diff changeset
110 }
33ed40aa1201 User ModuleService to get all modules for a user
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 2522
diff changeset
111
33ed40aa1201 User ModuleService to get all modules for a user
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 2522
diff changeset
112 private void setModules() {
4131
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 3530
diff changeset
113 LinkedHashMap<String, String> values = new LinkedHashMap<String, String>();
3530
8c9c202292fe Set the default value of the RadioGroupItem if a loaded module is selected
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3518
diff changeset
114
3518
33ed40aa1201 User ModuleService to get all modules for a user
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 2522
diff changeset
115 if (this.modules!= null) {
33ed40aa1201 User ModuleService to get all modules for a user
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 2522
diff changeset
116 for(Module module : this.modules) {
33ed40aa1201 User ModuleService to get all modules for a user
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 2522
diff changeset
117 values.put(module.getName(), module.getLocalizedName());
3530
8c9c202292fe Set the default value of the RadioGroupItem if a loaded module is selected
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3518
diff changeset
118 if (module.isSelected()) {
8c9c202292fe Set the default value of the RadioGroupItem if a loaded module is selected
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3518
diff changeset
119 GWT.log("Module " + module.getName() + " is selected.");
8c9c202292fe Set the default value of the RadioGroupItem if a loaded module is selected
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3518
diff changeset
120 if (radio != null) {
8c9c202292fe Set the default value of the RadioGroupItem if a loaded module is selected
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3518
diff changeset
121 radio.setDefaultValue(module.getName());
8c9c202292fe Set the default value of the RadioGroupItem if a loaded module is selected
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3518
diff changeset
122 GWT.log("Setting " + module.getName() + " as selected.");
8c9c202292fe Set the default value of the RadioGroupItem if a loaded module is selected
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3518
diff changeset
123 }
8c9c202292fe Set the default value of the RadioGroupItem if a loaded module is selected
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3518
diff changeset
124 }
3518
33ed40aa1201 User ModuleService to get all modules for a user
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 2522
diff changeset
125 }
33ed40aa1201 User ModuleService to get all modules for a user
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 2522
diff changeset
126 }
33ed40aa1201 User ModuleService to get all modules for a user
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 2522
diff changeset
127 if (radio != null) {
33ed40aa1201 User ModuleService to get all modules for a user
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 2522
diff changeset
128 radio.setValueMap(values);
33ed40aa1201 User ModuleService to get all modules for a user
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 2522
diff changeset
129 }
33ed40aa1201 User ModuleService to get all modules for a user
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 2522
diff changeset
130 }
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:
diff changeset
131
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:
diff changeset
132 /**
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:
diff changeset
133 * Creates a widget that displays a checkbox for each module.
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:
diff changeset
134 *
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:
diff changeset
135 * @return a widget with checkboxes.
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:
diff changeset
136 */
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:
diff changeset
137 protected Canvas createWidget() {
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:
diff changeset
138 HLayout layout = new HLayout();
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:
diff changeset
139
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:
diff changeset
140 Label label = new Label(MESSAGES.module_selection());
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:
diff changeset
141 DynamicForm form = new DynamicForm();
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:
diff changeset
142
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:
diff changeset
143 radio = new RadioGroupItem("plugin");
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:
diff changeset
144
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:
diff changeset
145 label.setWidth(50);
282
e92f7ef455d6 Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 211
diff changeset
146 label.setHeight(25);
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:
diff changeset
147
45
f99c5f8e4672 Some GUI improvements in the Location/Distance, W/Q and Module panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 38
diff changeset
148
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:
diff changeset
149 radio.setShowTitle(false);
86
eae92a05282e Added a further plugin in the module selection and changed its alignment to vertical.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 83
diff changeset
150 radio.setVertical(true);
45
f99c5f8e4672 Some GUI improvements in the Location/Distance, W/Q and Module panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 38
diff changeset
151
3518
33ed40aa1201 User ModuleService to get all modules for a user
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 2522
diff changeset
152 setModules();
33ed40aa1201 User ModuleService to get all modules for a user
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 2522
diff changeset
153
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:
diff changeset
154 form.setFields(radio);
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:
diff changeset
155
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:
diff changeset
156 layout.addMember(label);
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:
diff changeset
157 layout.addMember(form);
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:
diff changeset
158
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:
diff changeset
159 return layout;
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:
diff changeset
160 }
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:
diff changeset
161
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:
diff changeset
162
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:
diff changeset
163 /**
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:
diff changeset
164 * This method prepares the data of two widgets - the module selection and
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:
diff changeset
165 * the river selection. The returning field will contain the Data that
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:
diff changeset
166 * represents the module selection at first position, the second position
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:
diff changeset
167 * stores the Data object that represents the river selection.
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:
diff changeset
168 *
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:
diff changeset
169 * @return the Data that was chosen in this widget.
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:
diff changeset
170 */
4131
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 3530
diff changeset
171 @Override
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:
diff changeset
172 protected Data[] getData() {
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:
diff changeset
173
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:
diff changeset
174 String module = radio.getValueAsString();
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:
diff changeset
175
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:
diff changeset
176 DataItem[] items = new DefaultDataItem[1];
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:
diff changeset
177 items[0] = new DefaultDataItem(module, module, module);
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:
diff changeset
178
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: 45
diff changeset
179 Data data = new DefaultData("module", null, null, items);
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:
diff changeset
180
282
e92f7ef455d6 Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 211
diff changeset
181 return new Data[] {data};
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:
diff changeset
182 }
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:
diff changeset
183 }
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:
diff changeset
184 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org