annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/chart/ChartPropertiesEditor.java @ 4241:49cb65d5932d

Improved the historical discharge calculation. The calculation now creates new HistoricalWQKms (new subclass of WQKms). Those WQKms are used to create new facets from (new) type 'HistoricalDischargeCurveFacet'. The chart generator is improved to support those facets.
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Wed, 24 Oct 2012 14:34:35 +0200
parents 45f2b0778a3a
children bbd82bd8e541
rev   line source
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.client.client.ui.chart;
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
2
3511
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
3 import java.util.LinkedHashMap;
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
4 import java.util.List;
1506
339f8aa641b5 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1505
diff changeset
5 import java.util.Map;
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
6
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
7 import com.google.gwt.core.client.GWT;
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
8 import com.google.gwt.user.client.rpc.AsyncCallback;
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
9
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
10 import com.smartgwt.client.util.SC;
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
11 import com.smartgwt.client.widgets.Window;
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
12 import com.smartgwt.client.widgets.tab.TabSet;
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
13 import com.smartgwt.client.widgets.tab.Tab;
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
14 import com.smartgwt.client.widgets.layout.VLayout;
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
15 import com.smartgwt.client.widgets.layout.HLayout;
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
16 import com.smartgwt.client.widgets.Button;
1431
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
17 import com.smartgwt.client.widgets.Label;
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
18 import com.smartgwt.client.widgets.Canvas;
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
19
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
20 import com.smartgwt.client.widgets.form.DynamicForm;
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
21 import com.smartgwt.client.widgets.form.fields.FormItem;
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
22 import com.smartgwt.client.widgets.form.fields.CheckboxItem;
3511
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
23 import com.smartgwt.client.widgets.form.fields.SelectItem;
1431
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
24 import com.smartgwt.client.widgets.form.fields.TextItem;
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
25
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
26 import com.smartgwt.client.widgets.events.ClickEvent;
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
27 import com.smartgwt.client.widgets.events.ClickHandler;
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
28 import com.smartgwt.client.widgets.form.fields.events.ChangedHandler;
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
29 import com.smartgwt.client.widgets.form.fields.events.ChangedEvent;
1507
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
30 import com.smartgwt.client.widgets.form.fields.events.BlurHandler;
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
31 import com.smartgwt.client.widgets.form.fields.events.BlurEvent;
1500
2a8b5dcbe8ca Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1482
diff changeset
32
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
33 import com.smartgwt.client.types.Alignment;
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
34
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
35 import de.intevation.flys.client.client.Config;
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
36 import de.intevation.flys.client.client.FLYSConstants;
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
37 import de.intevation.flys.client.shared.model.Property;
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
38 import de.intevation.flys.client.shared.model.PropertyGroup;
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
39 import de.intevation.flys.client.shared.model.PropertySetting;
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
40 import de.intevation.flys.client.shared.model.BooleanProperty;
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
41 import de.intevation.flys.client.shared.model.DoubleProperty;
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
42 import de.intevation.flys.client.shared.model.IntegerProperty;
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
43 import de.intevation.flys.client.shared.model.StringProperty;
1503
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
44 import de.intevation.flys.client.shared.model.Settings;
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
45 import de.intevation.flys.client.shared.model.OutputSettings;
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
46 import de.intevation.flys.client.shared.model.Collection;
1504
02a9104c0451 Implemented the validators more object oriented.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1503
diff changeset
47 import de.intevation.flys.client.client.utils.IntegerValidator;
02a9104c0451 Implemented the validators more object oriented.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1503
diff changeset
48 import de.intevation.flys.client.client.utils.DoubleValidator;
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
49
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
50 import de.intevation.flys.client.client.services.CollectionAttributeService;
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
51 import de.intevation.flys.client.client.services.CollectionAttributeServiceAsync;
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
52
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
53 /**
3511
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
54 * Dialog for the Chart-Properties, constructed from respective xml document.
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
55 *
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
56 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a>
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
57 */
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
58 public class ChartPropertiesEditor
1550
9bf1ffd53dfb Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1543
diff changeset
59 extends Window
9bf1ffd53dfb Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1543
diff changeset
60 implements ClickHandler
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
61 {
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
62 /** The interface that provides i18n messages. */
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
63 protected FLYSConstants MSG = GWT.create(FLYSConstants.class);
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
64
2940
2867a0192aed Cosmetics, whitespaces, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2475
diff changeset
65 /** CollectionAttribute Update Service. */
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
66 protected CollectionAttributeServiceAsync updater =
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
67 GWT.create(CollectionAttributeService.class);
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
68
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
69 /** The tab called the editor window. */
1482
cd8a146d29cd Update chart if properties are changed successfully.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1478
diff changeset
70 protected ChartOutputTab tab;
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
71
1543
0b79630e3bcb Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1508
diff changeset
72 /** The tabset for chart properties. */
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
73 protected TabSet tabs;
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
74
1543
0b79630e3bcb Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1508
diff changeset
75 /** The collection. */
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
76 protected Collection collection;
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
77
1543
0b79630e3bcb Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1508
diff changeset
78 /** The cloned output settings. */
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
79 protected OutputSettings settings;
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
80
1543
0b79630e3bcb Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1508
diff changeset
81 /** The original output settings. */
1503
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
82 protected OutputSettings origSettings;
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
83
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
84
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
85 /**
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
86 * Setup editor dialog.
1560
1c47de6ccfb1 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1550
diff changeset
87 * @param callerTab The tab called the editor window.
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
88 */
1482
cd8a146d29cd Update chart if properties are changed successfully.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1478
diff changeset
89 public ChartPropertiesEditor(ChartOutputTab callerTab) {
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
90 this.tab = callerTab;
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
91 this.tabs = new TabSet();
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
92
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
93 init();
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
94 }
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
95
2940
2867a0192aed Cosmetics, whitespaces, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2475
diff changeset
96
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
97 /**
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
98 * Initialize the editor window and its components.
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
99 */
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
100 protected void init() {
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
101 setTitle(MSG.properties());
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
102 setCanDragReposition(true);
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
103 setCanDragResize(true);
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
104
1500
2a8b5dcbe8ca Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1482
diff changeset
105 Config config = Config.getInstance();
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
106 collection = tab.getCollectionView().getCollection();
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
107 String outputName = tab.getOutputName();
1503
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
108 origSettings = (OutputSettings)collection.getSettings(outputName);
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
109
1503
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
110 settings = (OutputSettings)origSettings.clone();
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
111 if (settings == null) {
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
112 return;
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
113 }
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
114 List<String> list = settings.getCategories();
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
115
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
116 for (int i = 0; i < list.size(); i++) {
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
117 Tab t = new Tab(MSG.getString(list.get(i)));
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
118 List<Property> props = settings.getSettings(list.get(i));
1503
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
119 List<Property> origProps = origSettings.getSettings(list.get(i));
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
120 VLayout layout = new VLayout();
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
121 for (int j = 0; j < props.size(); j++) {
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
122 if (props.get(j) instanceof PropertyGroup) {
1503
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
123 layout.addMember(generatePropertyGroup(props.get(j),
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
124 origProps.get(j)));
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
125 }
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
126 else if (props.get(j) instanceof PropertySetting) {
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
127 PropertySetting p = (PropertySetting)props.get(j);
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
128 if (p.getAttribute("display").equals("false")) {
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
129 continue;
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
130 }
1503
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
131 layout.addMember(generatePropertySetting(props.get(j),
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
132 origProps.get(j)));
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
133 }
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
134 }
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
135 t.setPane(layout);
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
136 tabs.addTab(t);
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
137 }
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
138
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
139 Button accept = new Button(MSG.label_ok());
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
140 Button cancel = new Button(MSG.label_cancel());
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
141 cancel.addClickHandler(this);
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
142 accept.addClickHandler(new ClickHandler() {
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
143 public void onClick(ClickEvent e) {
1502
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
144 if(isDialogValid()) {
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
145 updateCollection();
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
146 }
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
147 else {
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
148 GWT.log("Dialog not valid");
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
149 SC.warn(MSG.error_dialog_not_valid());
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
150 }
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
151 }
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
152 });
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
153
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
154 HLayout buttons = new HLayout();
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
155 buttons.addMember(accept);
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
156 buttons.addMember(cancel);
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
157 buttons.setAlign(Alignment.CENTER);
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
158 buttons.setHeight(30);
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
159
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
160 addItem(tabs);
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
161 addItem(buttons);
1500
2a8b5dcbe8ca Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1482
diff changeset
162 setWidth(380);
1431
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
163 setHeight(470);
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
164 centerInPage();
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
165 }
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
166
3511
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
167
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
168 /**
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
169 * This method is called when the user aborts theming.
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
170 * @param event The event.
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
171 */
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
172 public void onClick(ClickEvent event) {
1503
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
173 this.destroy();
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
174 }
1431
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
175
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
176
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
177 /**
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
178 *
1431
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
179 */
1503
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
180 protected Canvas generatePropertyGroup(Property group, Property orig) {
1506
339f8aa641b5 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1505
diff changeset
181 Config config = Config.getInstance();
339f8aa641b5 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1505
diff changeset
182 String locale = config.getLocale();
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
183 PropertyGroup pg = (PropertyGroup)group;
1503
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
184 PropertyGroup origPg = (PropertyGroup)orig;
1431
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
185
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
186 if (pg.getName().equals("axis")) {
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
187 Label scale = new Label(MSG.scale() + " :");
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
188 scale.setHeight(25);
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
189 scale.setMargin(2);
1431
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
190
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
191 DynamicForm form1 = new DynamicForm();
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
192 DynamicForm form2 = new DynamicForm();
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
193 form2.setNumCols(6);
1431
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
194
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
195 StringProperty label =
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
196 (StringProperty)pg.getPropertyByName("label");
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
197 FormItem title = createStringProperty(label);
1503
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
198 title.setValue(
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
199 ((StringProperty)origPg.getPropertyByName("label")).getValue());
1431
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
200
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
201 IntegerProperty fontsize =
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
202 (IntegerProperty)pg.getPropertyByName("font-size");
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
203 FormItem fs = createIntegerProperty(fontsize);
1503
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
204 fs.setValue(
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
205 ((IntegerProperty)
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
206 origPg.getPropertyByName("font-size")).getValue());
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
207
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
208 DoubleProperty upper =
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
209 (DoubleProperty)pg.getPropertyByName("upper");
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
210 final FormItem range1 = createDoubleProperty(upper);
2475
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
211 range1.setName("rangeupper");
1500
2a8b5dcbe8ca Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1482
diff changeset
212 range1.setWidth(70);
1507
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
213 range1.setValue(
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
214 ((DoubleProperty)
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
215 origPg.getPropertyByName("upper")).toUIString());
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
216
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
217 DoubleProperty lower =
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
218 (DoubleProperty)pg.getPropertyByName("lower");
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
219 final FormItem range2 = createDoubleProperty(lower);
2475
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
220 range2.setName("rangelower");
1500
2a8b5dcbe8ca Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1482
diff changeset
221 range2.setWidth(70);
1507
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
222 range2.setValue(
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
223 ((DoubleProperty)
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
224 origPg.getPropertyByName("lower")).toUIString());
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
225
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
226 BooleanProperty fixation =
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
227 (BooleanProperty)pg.getPropertyByName("fixation");
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
228 FormItem fix = createBooleanProperty(fixation);
1507
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
229 fix.setValue(((BooleanProperty)
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
230 origPg.getPropertyByName("fixation")).getValue().booleanValue());
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
231
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
232 fix.addChangedHandler(new ChangedHandler() {
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
233 public void onChanged(ChangedEvent e) {
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
234 if ((Boolean)e.getValue()) {
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
235 range1.enable();
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
236 range2.enable();
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
237 }
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
238 else {
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
239 range1.disable();
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
240 range2.disable();
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
241 }
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
242 }
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
243 });
1507
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
244 if (fix.getValue().toString().equals("true")) {
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
245 range1.enable();
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
246 range2.enable();
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
247 }
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
248 else {
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
249 range1.disable();
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
250 range2.disable();
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
251 }
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
252
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
253 form1.setFields(title, fs);
1501
d12cb71965cf Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1500
diff changeset
254 form2.setFields(fix, range2, range1);
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
255
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
256 HLayout scaleLayout = new HLayout();
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
257 scaleLayout.setHeight(30);
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
258 scaleLayout.addMember(scale);
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
259 scaleLayout.addMember(form2);
1503
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
260 scaleLayout.setStyleName("property-dialog-axis");
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
261
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
262 VLayout root = new VLayout();
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
263 root.addMember(form1);
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
264 root.addMember(scaleLayout);
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
265 root.setHeight(90);
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
266
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
267 return root;
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
268 }
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
269 return null;
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
270 }
1431
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
271
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
272
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
273 /**
3511
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
274 * Generate a form with items for the properties/settings, preset with
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
275 * values.
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
276 */
1503
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
277 protected DynamicForm generatePropertySetting(
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
278 Property setting,
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
279 Property orig)
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
280 {
1500
2a8b5dcbe8ca Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1482
diff changeset
281 PropertySetting s = (PropertySetting)setting;
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
282 DynamicForm form = new DynamicForm();
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
283 FormItem item = new FormItem();
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
284 if (setting instanceof BooleanProperty) {
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
285 item = createBooleanProperty((BooleanProperty)setting);
1508
8ac57bbc270c Fixed initial boolean value setting.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1507
diff changeset
286 item.setValue(((BooleanProperty)orig).getValue().booleanValue());
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
287 }
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
288 else if (setting instanceof DoubleProperty) {
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
289 item = createDoubleProperty((DoubleProperty)setting);
1507
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
290 item.setValue(((DoubleProperty)orig).toUIString());
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
291 }
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
292 else if (setting instanceof IntegerProperty) {
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
293 item = createIntegerProperty((IntegerProperty)setting);
1503
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
294 item.setValue(((IntegerProperty)orig).getValue());
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
295 }
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
296 else if (setting instanceof StringProperty) {
3511
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
297 StringProperty property = (StringProperty) setting;
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
298 item = createStringProperty(property);
1503
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
299 item.setValue(((StringProperty)orig).getValue());
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
300 }
3511
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
301 else {
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
302 GWT.log("generatePropertySetting: unknown setting type.");
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
303 }
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
304 form.setFields(item);
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
305 return form;
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
306 }
1431
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
307
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
308
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
309 protected FormItem createStringProperty(final StringProperty sp) {
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
310 String name = sp.getName();
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
311 if (name.contains("-")) {
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
312 name = name.replace("-", "_");
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
313 }
3511
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
314
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
315 String choiceAttribute = sp.getAttribute("choice");
3520
0b576ca67cd5 i18n for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3513
diff changeset
316
3511
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
317 if (choiceAttribute != null && choiceAttribute.equals("logo")) {
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
318 SelectItem logoChooser = new SelectItem();
3536
a1610c7e4a4e Show logos in select box.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3520
diff changeset
319 logoChooser.setImageURLPrefix(GWT.getHostPageBaseURL() + "images/logo-");
a1610c7e4a4e Show logos in select box.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3520
diff changeset
320 logoChooser.setValueIconHeight(50);
a1610c7e4a4e Show logos in select box.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3520
diff changeset
321 logoChooser.setValueIconWidth(100);
a1610c7e4a4e Show logos in select box.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3520
diff changeset
322
3511
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
323 LinkedHashMap valueMap = new LinkedHashMap<String, String>();
3536
a1610c7e4a4e Show logos in select box.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3520
diff changeset
324 LinkedHashMap<String, String> valueIcons = new LinkedHashMap<String, String>();
3520
0b576ca67cd5 i18n for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3513
diff changeset
325 valueMap.put("none", MSG.getString("none"));
3536
a1610c7e4a4e Show logos in select box.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3520
diff changeset
326 /*
a1610c7e4a4e Show logos in select box.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3520
diff changeset
327 If you want to add images, remember to change code in these places:
a1610c7e4a4e Show logos in select box.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3520
diff changeset
328 flys-artifacts:
a1610c7e4a4e Show logos in select box.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3520
diff changeset
329 XYChartGenerator.java
a1610c7e4a4e Show logos in select box.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3520
diff changeset
330 Timeseries*Generator.java and
a1610c7e4a4e Show logos in select box.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3520
diff changeset
331 in the flys-client projects Chart*Propert*Editor.java.
a1610c7e4a4e Show logos in select box.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3520
diff changeset
332 Also, these images have to be put in
a1610c7e4a4e Show logos in select box.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3520
diff changeset
333 flys-artifacts/src/main/resources/images/
a1610c7e4a4e Show logos in select box.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3520
diff changeset
334 flys-client/src/main/webapp/images/
a1610c7e4a4e Show logos in select box.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3520
diff changeset
335 */
3537
45f2b0778a3a Do not show labels in logo selection combo box.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3536
diff changeset
336 valueMap.put("BfG", "");
45f2b0778a3a Do not show labels in logo selection combo box.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3536
diff changeset
337 valueMap.put("Intevation", "");
3536
a1610c7e4a4e Show logos in select box.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3520
diff changeset
338 valueIcons.put("BfG", "bfg.gif");
a1610c7e4a4e Show logos in select box.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3520
diff changeset
339 valueIcons.put("Intevation", "intevation.png");
a1610c7e4a4e Show logos in select box.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3520
diff changeset
340 logoChooser.setValueIcons(valueIcons);
3511
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
341 logoChooser.setValueMap(valueMap);
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
342 logoChooser.setTitleStyle("color:#000;");
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
343 logoChooser.setTitleAlign(Alignment.LEFT);
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
344 logoChooser.setTitle(MSG.getString(name));
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
345 logoChooser.setTitleAlign(Alignment.LEFT);
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
346 logoChooser.addBlurHandler(new BlurHandler() {
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
347 public void onBlur(BlurEvent e) {
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
348 String val;
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
349 if (e.getItem().getValue() == null) {
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
350 val = "";
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
351 }
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
352 else {
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
353 val = e.getItem().getValue().toString();
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
354 }
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
355 sp.setValue(val);
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
356 }
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
357 });
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
358 return logoChooser;
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
359 }
3513
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
360 else if (choiceAttribute != null && choiceAttribute.equals("placeh")) {
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
361 SelectItem placeChooser = new SelectItem();
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
362 LinkedHashMap valueMap = new LinkedHashMap<String, String>();
3520
0b576ca67cd5 i18n for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3513
diff changeset
363 valueMap.put("right", MSG.getString("right"));
0b576ca67cd5 i18n for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3513
diff changeset
364 valueMap.put("left", MSG.getString("left"));
0b576ca67cd5 i18n for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3513
diff changeset
365 valueMap.put("center", MSG.getString("center"));
3513
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
366 placeChooser.setValueMap(valueMap);
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
367 placeChooser.setTitleStyle("color:#000;");
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
368 placeChooser.setTitleAlign(Alignment.LEFT);
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
369 placeChooser.setTitle(MSG.getString(name));
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
370 placeChooser.setTitleAlign(Alignment.LEFT);
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
371 placeChooser.addBlurHandler(new BlurHandler() {
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
372 public void onBlur(BlurEvent e) {
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
373 String val;
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
374 if (e.getItem().getValue() == null) {
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
375 val = "";
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
376 }
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
377 else {
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
378 val = e.getItem().getValue().toString();
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
379 }
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
380 sp.setValue(val);
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
381 }
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
382 });
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
383 return placeChooser;
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
384 }
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
385 else if (choiceAttribute != null && choiceAttribute.equals("placev")) {
3512
b8a8ecdebc0d i18n and interpretation for logo placement chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3511
diff changeset
386 SelectItem placeChooser = new SelectItem();
b8a8ecdebc0d i18n and interpretation for logo placement chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3511
diff changeset
387 LinkedHashMap valueMap = new LinkedHashMap<String, String>();
3520
0b576ca67cd5 i18n for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3513
diff changeset
388 valueMap.put("top", MSG.getString("top"));
0b576ca67cd5 i18n for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3513
diff changeset
389 valueMap.put("bottom", MSG.getString("bottom"));
0b576ca67cd5 i18n for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3513
diff changeset
390 valueMap.put("center", MSG.getString("center"));
3512
b8a8ecdebc0d i18n and interpretation for logo placement chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3511
diff changeset
391 placeChooser.setValueMap(valueMap);
b8a8ecdebc0d i18n and interpretation for logo placement chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3511
diff changeset
392 placeChooser.setTitleStyle("color:#000;");
b8a8ecdebc0d i18n and interpretation for logo placement chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3511
diff changeset
393 placeChooser.setTitleAlign(Alignment.LEFT);
b8a8ecdebc0d i18n and interpretation for logo placement chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3511
diff changeset
394 placeChooser.setTitle(MSG.getString(name));
b8a8ecdebc0d i18n and interpretation for logo placement chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3511
diff changeset
395 placeChooser.setTitleAlign(Alignment.LEFT);
b8a8ecdebc0d i18n and interpretation for logo placement chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3511
diff changeset
396 placeChooser.addBlurHandler(new BlurHandler() {
b8a8ecdebc0d i18n and interpretation for logo placement chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3511
diff changeset
397 public void onBlur(BlurEvent e) {
b8a8ecdebc0d i18n and interpretation for logo placement chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3511
diff changeset
398 String val;
b8a8ecdebc0d i18n and interpretation for logo placement chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3511
diff changeset
399 if (e.getItem().getValue() == null) {
b8a8ecdebc0d i18n and interpretation for logo placement chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3511
diff changeset
400 val = "";
b8a8ecdebc0d i18n and interpretation for logo placement chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3511
diff changeset
401 }
b8a8ecdebc0d i18n and interpretation for logo placement chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3511
diff changeset
402 else {
b8a8ecdebc0d i18n and interpretation for logo placement chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3511
diff changeset
403 val = e.getItem().getValue().toString();
b8a8ecdebc0d i18n and interpretation for logo placement chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3511
diff changeset
404 }
b8a8ecdebc0d i18n and interpretation for logo placement chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3511
diff changeset
405 sp.setValue(val);
b8a8ecdebc0d i18n and interpretation for logo placement chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3511
diff changeset
406 }
b8a8ecdebc0d i18n and interpretation for logo placement chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3511
diff changeset
407 });
b8a8ecdebc0d i18n and interpretation for logo placement chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3511
diff changeset
408 return placeChooser;
b8a8ecdebc0d i18n and interpretation for logo placement chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3511
diff changeset
409 }
3511
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
410
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
411 TextItem item = new TextItem();
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
412 item.setTitle(MSG.getString(name));
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
413 item.setTitleAlign(Alignment.LEFT);
1507
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
414 item.addBlurHandler(new BlurHandler() {
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
415 public void onBlur(BlurEvent e) {
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
416 String val;
1507
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
417 if (e.getItem().getValue() == null) {
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
418 val = "";
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
419 }
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
420 else {
1507
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
421 val = e.getItem().getValue().toString();
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
422 }
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
423 sp.setValue(val);
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
424 }
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
425 });
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
426 return item;
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
427 }
1431
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
428
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
429
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
430 /**
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
431 *
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
432 */
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
433 protected FormItem createBooleanProperty(final BooleanProperty bp) {
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
434 String name = bp.getName();
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
435 if (name.contains("-")) {
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
436 name = name.replace("-", "_");
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
437 }
1431
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
438
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
439 CheckboxItem item = new CheckboxItem("item", MSG.getString(name));
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
440 item.setLabelAsTitle(true);
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
441 item.setTitleStyle("color:#000;");
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
442 item.setTitleAlign(Alignment.LEFT);
1507
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
443 item.addBlurHandler(new BlurHandler() {
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
444 public void onBlur(BlurEvent e) {
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
445 String val;
1507
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
446 if (e.getItem().getValue() == null) {
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
447 val = "";
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
448 }
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
449 else {
1507
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
450 val = e.getItem().getValue().toString();
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
451 }
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
452 bp.setValue(val);
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
453 }
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
454 });
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
455 return item;
1431
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
456 }
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
457
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
458
1431
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
459 /**
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
460 *
1431
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
461 */
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
462 protected FormItem createDoubleProperty(final DoubleProperty dp) {
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
463 String name = dp.getName();
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
464 if (name.contains("-")) {
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
465 name = name.replace("-", "_");
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
466 }
1431
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
467
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
468 TextItem item = new TextItem();
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
469 item.setTitle(MSG.getString(name));
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
470 item.setTitleAlign(Alignment.LEFT);
1507
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
471 item.addBlurHandler(new BlurHandler() {
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
472 public void onBlur(BlurEvent e) {
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
473 DoubleValidator validator = new DoubleValidator();
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
474 Map errors = e.getForm().getErrors();
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
475 if(validator.validate(e.getItem(), errors)) {
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
476 dp.setValueFromUI(e.getItem().getValue().toString());
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
477 }
3356
6352244a4153 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2940
diff changeset
478 e.getForm().setErrors(errors, true);
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
479 }
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
480 });
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
481 return item;
1431
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
482 }
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
483
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
484
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
485 /**
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
486 *
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
487 */
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
488 protected FormItem createIntegerProperty(final IntegerProperty ip) {
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
489 String name = ip.getName();
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
490 if (name.contains("-")) {
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
491 name = name.replace("-", "_");
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
492 }
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
493
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
494 TextItem item = new TextItem();
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
495 item.setTitle(MSG.getString(name));
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
496 item.setTitleAlign(Alignment.LEFT);
1507
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
497 item.addBlurHandler(new BlurHandler() {
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
498 public void onBlur(BlurEvent e) {
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
499 IntegerValidator validator = new IntegerValidator();
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
500 Map errors = e.getForm().getErrors();
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
501 if(validator.validate(e.getItem(), errors)) {
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
502 ip.setValue(e.getItem().getValue().toString());
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
503 }
3356
6352244a4153 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2940
diff changeset
504 e.getForm().setErrors(errors, true);
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
505 }
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
506 });
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
507 return item;
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
508 }
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
509
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
510
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
511 protected void updateCollection() {
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
512 final Config config = Config.getInstance();
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
513 final String loc = config.getLocale();
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
514
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
515 GWT.log("PropertiesEditor.updateCollection via RPC now");
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
516
1503
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
517 Settings s = settings;
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
518 collection.addSettings(this.tab.getOutputName(), s);
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
519 updater.update(collection, loc, new AsyncCallback<Collection>() {
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
520 public void onFailure(Throwable caught) {
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
521 GWT.log("Could not update collection attributes.");
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
522 SC.warn(MSG.getString(caught.getMessage()));
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
523 }
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
524 public void onSuccess(Collection collection) {
1482
cd8a146d29cd Update chart if properties are changed successfully.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1478
diff changeset
525 updateChartTab();
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
526 }
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
527 });
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
528 }
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
529
1482
cd8a146d29cd Update chart if properties are changed successfully.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1478
diff changeset
530 protected void updateChartTab() {
cd8a146d29cd Update chart if properties are changed successfully.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1478
diff changeset
531 this.tab.updateChartInfo();
cd8a146d29cd Update chart if properties are changed successfully.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1478
diff changeset
532 this.tab.updateChartPanel();
1503
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
533 this.destroy();
1482
cd8a146d29cd Update chart if properties are changed successfully.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1478
diff changeset
534 }
1502
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
535
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
536
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
537 protected boolean isDialogValid() {
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
538 boolean valid = true;
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
539 for (int i = 0; i < tabs.getNumTabs(); i++) {
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
540 Tab t = tabs.getTab(i);
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
541 Canvas container = t.getPane();
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
542 Canvas[] children = container.getChildren();
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
543 for (Canvas c: children) {
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
544 valid = validateCanvas(c);
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
545 if(!valid) {
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
546 return valid;
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
547 }
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
548 }
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
549 }
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
550 return valid;
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
551 }
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
552
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
553
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
554 protected boolean validateCanvas(Canvas c) {
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
555 boolean valid = true;
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
556 if(c instanceof DynamicForm) {
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
557 DynamicForm f = (DynamicForm) c;
2475
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
558 FormItem up = f.getItem("rangeupper");
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
559 FormItem lo = f.getItem("rangelower");
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
560
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
561 if(up != null && lo != null &&
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
562 !up.isDisabled() && !lo.isDisabled())
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
563 {
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
564 validateRange(f);
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
565 }
1502
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
566 return !f.hasErrors();
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
567 }
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
568 else if(c.getChildren().length > 0) {
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
569 for (Canvas child: c.getChildren()) {
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
570 valid = validateCanvas(child);
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
571 if(!valid) {
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
572 return valid;
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
573 }
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
574 }
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
575 }
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
576 return valid;
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
577 }
2475
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
578
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
579 protected boolean validateRange(DynamicForm form) {
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
580 Map errors = form.getErrors();
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
581 FormItem up = form.getItem("rangeupper");
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
582 FormItem lo = form.getItem("rangelower");
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
583
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
584 String v1 = up.getValue().toString();
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
585 String v2 = lo.getValue().toString();
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
586
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
587 if(v1.equals(v2)) {
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
588 errors.put(up.getFieldName(), MSG.wrongFormat());
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
589 errors.put(lo.getFieldName(), MSG.wrongFormat());
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
590 form.setErrors(errors, true);
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
591 return false;
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
592 }
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
593 return true;
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
594 }
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
595 }
1550
9bf1ffd53dfb Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1543
diff changeset
596 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org