annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/chart/ChartPropertiesEditor.java @ 8458:d87b32635bb5

Remove obsolete setting of start date.
author Tom Gottfried <tom@intevation.de>
date Thu, 30 Oct 2014 11:03:19 +0100
parents d2b85c0c35b7
children 5e38e2924c07
rev   line source
5861
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
2 * Software engineering by Intevation GmbH
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
3 *
5993
ea9eef426962 Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5861
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
5861
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
5993
ea9eef426962 Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5861
diff changeset
6 * documentation coming with Dive4Elements River for details.
5861
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
7 */
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
8
5835
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
9 package org.dive4elements.river.client.client.ui.chart;
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
10
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
11 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
12 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
13
4568
bbd82bd8e541 flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents: 3537
diff changeset
14 import com.smartgwt.client.types.Alignment;
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
15 import com.smartgwt.client.util.SC;
4568
bbd82bd8e541 flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents: 3537
diff changeset
16 import com.smartgwt.client.widgets.Button;
bbd82bd8e541 flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents: 3537
diff changeset
17 import com.smartgwt.client.widgets.Canvas;
bbd82bd8e541 flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents: 3537
diff changeset
18 import com.smartgwt.client.widgets.Label;
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
19 import com.smartgwt.client.widgets.Window;
4568
bbd82bd8e541 flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents: 3537
diff changeset
20 import com.smartgwt.client.widgets.events.ClickEvent;
bbd82bd8e541 flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents: 3537
diff changeset
21 import com.smartgwt.client.widgets.events.ClickHandler;
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
22 import com.smartgwt.client.widgets.form.DynamicForm;
4568
bbd82bd8e541 flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents: 3537
diff changeset
23 import com.smartgwt.client.widgets.form.fields.CheckboxItem;
8454
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
24 import com.smartgwt.client.widgets.form.fields.DateItem;
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
25 import com.smartgwt.client.widgets.form.fields.FormItem;
3511
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
26 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
27 import com.smartgwt.client.widgets.form.fields.TextItem;
4568
bbd82bd8e541 flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents: 3537
diff changeset
28 import com.smartgwt.client.widgets.form.fields.events.BlurEvent;
bbd82bd8e541 flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents: 3537
diff changeset
29 import com.smartgwt.client.widgets.form.fields.events.BlurHandler;
bbd82bd8e541 flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents: 3537
diff changeset
30 import com.smartgwt.client.widgets.form.fields.events.ChangedEvent;
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
31 import com.smartgwt.client.widgets.form.fields.events.ChangedHandler;
4568
bbd82bd8e541 flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents: 3537
diff changeset
32 import com.smartgwt.client.widgets.layout.HLayout;
bbd82bd8e541 flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents: 3537
diff changeset
33 import com.smartgwt.client.widgets.layout.VLayout;
8454
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
34 import com.smartgwt.client.widgets.layout.Layout;
4568
bbd82bd8e541 flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents: 3537
diff changeset
35 import com.smartgwt.client.widgets.tab.Tab;
bbd82bd8e541 flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents: 3537
diff changeset
36 import com.smartgwt.client.widgets.tab.TabSet;
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
37
5835
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
38 import org.dive4elements.river.client.client.Config;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
39 import org.dive4elements.river.client.client.FLYSConstants;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
40 import org.dive4elements.river.client.client.services.CollectionAttributeService;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
41 import org.dive4elements.river.client.client.services.CollectionAttributeServiceAsync;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
42 import org.dive4elements.river.client.client.utils.DoubleValidator;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
43 import org.dive4elements.river.client.client.utils.IntegerValidator;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
44 import org.dive4elements.river.client.shared.model.BooleanProperty;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
45 import org.dive4elements.river.client.shared.model.Collection;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
46 import org.dive4elements.river.client.shared.model.DoubleProperty;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
47 import org.dive4elements.river.client.shared.model.IntegerProperty;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
48 import org.dive4elements.river.client.shared.model.OutputSettings;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
49 import org.dive4elements.river.client.shared.model.Property;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
50 import org.dive4elements.river.client.shared.model.PropertyGroup;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
51 import org.dive4elements.river.client.shared.model.PropertySetting;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
52 import org.dive4elements.river.client.shared.model.Settings;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
53 import org.dive4elements.river.client.shared.model.StringProperty;
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
54
4568
bbd82bd8e541 flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents: 3537
diff changeset
55 import java.util.LinkedHashMap;
bbd82bd8e541 flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents: 3537
diff changeset
56 import java.util.List;
bbd82bd8e541 flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents: 3537
diff changeset
57 import java.util.Map;
8454
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
58 import java.util.Date;
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
59
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
60 /**
3511
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
61 * 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
62 *
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
63 * @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
64 */
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
65 public class ChartPropertiesEditor
1550
9bf1ffd53dfb Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1543
diff changeset
66 extends Window
9bf1ffd53dfb Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1543
diff changeset
67 implements ClickHandler
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
68 {
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
69 /** The interface that provides i18n messages. */
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
70 protected FLYSConstants MSG = GWT.create(FLYSConstants.class);
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
71
2940
2867a0192aed Cosmetics, whitespaces, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2475
diff changeset
72 /** CollectionAttribute Update Service. */
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
73 protected CollectionAttributeServiceAsync updater =
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
74 GWT.create(CollectionAttributeService.class);
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
75
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
76 /** 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
77 protected ChartOutputTab tab;
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
78
1543
0b79630e3bcb Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1508
diff changeset
79 /** The tabset for chart properties. */
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
80 protected TabSet tabs;
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
81
1543
0b79630e3bcb Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1508
diff changeset
82 /** The collection. */
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
83 protected Collection collection;
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
84
1543
0b79630e3bcb Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1508
diff changeset
85 /** The cloned output settings. */
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
86 protected OutputSettings settings;
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
87
1543
0b79630e3bcb Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1508
diff changeset
88 /** The original output settings. */
1503
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
89 protected OutputSettings origSettings;
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
90
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
91
5334
b296d435fc69 Doc and whitespace fixes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4568
diff changeset
92
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
93 /**
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
94 * Setup editor dialog.
1560
1c47de6ccfb1 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1550
diff changeset
95 * @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
96 */
1482
cd8a146d29cd Update chart if properties are changed successfully.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1478
diff changeset
97 public ChartPropertiesEditor(ChartOutputTab callerTab) {
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
98 this.tab = callerTab;
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
99 this.tabs = new TabSet();
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
100
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
101 init();
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
102 }
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
103
2940
2867a0192aed Cosmetics, whitespaces, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2475
diff changeset
104
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
105 /**
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
106 * Initialize the editor window and its components.
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
107 */
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
108 protected void init() {
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
109 setTitle(MSG.properties());
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
110 setCanDragReposition(true);
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
111 setCanDragResize(true);
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
112
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
113 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
114 String outputName = tab.getOutputName();
1503
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
115 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
116
1503
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
117 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
118 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
119 return;
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
120 }
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
121 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
122
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
123 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
124 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
125 List<Property> props = settings.getSettings(list.get(i));
1503
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
126 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
127 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
128 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
129 if (props.get(j) instanceof PropertyGroup) {
1503
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
130 layout.addMember(generatePropertyGroup(props.get(j),
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
131 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
132 }
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
133 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
134 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
135 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
136 continue;
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
137 }
1503
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
138 layout.addMember(generatePropertySetting(props.get(j),
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
139 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
140 }
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
141 }
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
142 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
143 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
144 }
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
145
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
146 Button accept = new Button(MSG.label_ok());
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
147 Button cancel = new Button(MSG.label_cancel());
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
148 cancel.addClickHandler(this);
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
149 accept.addClickHandler(new ClickHandler() {
4568
bbd82bd8e541 flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents: 3537
diff changeset
150 @Override
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
151 public void onClick(ClickEvent e) {
1502
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
152 if(isDialogValid()) {
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
153 updateCollection();
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
154 }
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
155 else {
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
156 GWT.log("Dialog not valid");
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
157 SC.warn(MSG.error_dialog_not_valid());
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
158 }
1429
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 });
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
161
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
162 HLayout buttons = new HLayout();
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
163 buttons.addMember(accept);
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
164 buttons.addMember(cancel);
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
165 buttons.setAlign(Alignment.CENTER);
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
166 buttons.setHeight(30);
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
167
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
168 addItem(tabs);
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
169 addItem(buttons);
1500
2a8b5dcbe8ca Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1482
diff changeset
170 setWidth(380);
1431
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
171 setHeight(470);
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
172 centerInPage();
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
173 }
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
174
3511
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
175
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
176 /**
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
177 * 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
178 * @param event The event.
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
179 */
4568
bbd82bd8e541 flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents: 3537
diff changeset
180 @Override
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
181 public void onClick(ClickEvent event) {
1503
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
182 this.destroy();
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
183 }
1431
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
184
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
185
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
186 /**
5334
b296d435fc69 Doc and whitespace fixes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4568
diff changeset
187 * Create a section from group (usually axis properties).
1431
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
188 */
1503
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
189 protected Canvas generatePropertyGroup(Property group, Property orig) {
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
190 PropertyGroup pg = (PropertyGroup)group;
1503
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
191 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
192
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
193 if (pg.getName().equals("axis")) {
6534
480fb71ab73f issue1370: In GWT chart property editor, suppres editing the "W [cm]" axis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5993
diff changeset
194 // Certain axis shall be skipped (W/Q-Diagrams cm-axis especially).
480fb71ab73f issue1370: In GWT chart property editor, suppres editing the "W [cm]" axis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5993
diff changeset
195 String outputName = tab.getOutputName();
480fb71ab73f issue1370: In GWT chart property editor, suppres editing the "W [cm]" axis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5993
diff changeset
196 if (outputName.equals("fix_wq_curve") || outputName.equals("computed_discharge_curve")
480fb71ab73f issue1370: In GWT chart property editor, suppres editing the "W [cm]" axis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5993
diff changeset
197 || outputName.equals("extreme_wq_curve")) {
480fb71ab73f issue1370: In GWT chart property editor, suppres editing the "W [cm]" axis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5993
diff changeset
198 String labelString = ((StringProperty)origPg.getPropertyByName("label")).getValue();
480fb71ab73f issue1370: In GWT chart property editor, suppres editing the "W [cm]" axis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5993
diff changeset
199 if(labelString.equals("W [cm]")) {
480fb71ab73f issue1370: In GWT chart property editor, suppres editing the "W [cm]" axis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5993
diff changeset
200 VLayout layout = new VLayout();
480fb71ab73f issue1370: In GWT chart property editor, suppres editing the "W [cm]" axis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5993
diff changeset
201 layout.setHeight(0);
480fb71ab73f issue1370: In GWT chart property editor, suppres editing the "W [cm]" axis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5993
diff changeset
202 return layout;
480fb71ab73f issue1370: In GWT chart property editor, suppres editing the "W [cm]" axis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5993
diff changeset
203 }
480fb71ab73f issue1370: In GWT chart property editor, suppres editing the "W [cm]" axis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5993
diff changeset
204 }
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
205 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
206 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
207 scale.setMargin(2);
1431
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
208
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
209 DynamicForm form1 = new DynamicForm();
1431
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
210
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
211 StringProperty label =
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
212 (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
213 FormItem title = createStringProperty(label);
1503
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
214 title.setValue(
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
215 ((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
216
7597
fca46ce8e4f5 (issue1225) Implement Magic labels.
Andre Heinecke <aheinecke@intevation.de>
parents: 6534
diff changeset
217 StringProperty suggestedLabel =
fca46ce8e4f5 (issue1225) Implement Magic labels.
Andre Heinecke <aheinecke@intevation.de>
parents: 6534
diff changeset
218 (StringProperty)pg.getPropertyByName("suggested-label");
fca46ce8e4f5 (issue1225) Implement Magic labels.
Andre Heinecke <aheinecke@intevation.de>
parents: 6534
diff changeset
219 FormItem sugLabel = null;
fca46ce8e4f5 (issue1225) Implement Magic labels.
Andre Heinecke <aheinecke@intevation.de>
parents: 6534
diff changeset
220
fca46ce8e4f5 (issue1225) Implement Magic labels.
Andre Heinecke <aheinecke@intevation.de>
parents: 6534
diff changeset
221 if (suggestedLabel != null) {
fca46ce8e4f5 (issue1225) Implement Magic labels.
Andre Heinecke <aheinecke@intevation.de>
parents: 6534
diff changeset
222 // X Axis does not have a suggested label
fca46ce8e4f5 (issue1225) Implement Magic labels.
Andre Heinecke <aheinecke@intevation.de>
parents: 6534
diff changeset
223 // otherwise add an hidden property for suggestedLabel
fca46ce8e4f5 (issue1225) Implement Magic labels.
Andre Heinecke <aheinecke@intevation.de>
parents: 6534
diff changeset
224 sugLabel = createStringProperty(suggestedLabel);
fca46ce8e4f5 (issue1225) Implement Magic labels.
Andre Heinecke <aheinecke@intevation.de>
parents: 6534
diff changeset
225 sugLabel.setValue(
fca46ce8e4f5 (issue1225) Implement Magic labels.
Andre Heinecke <aheinecke@intevation.de>
parents: 6534
diff changeset
226 ((StringProperty)origPg.getPropertyByName("suggested-label")).getValue());
fca46ce8e4f5 (issue1225) Implement Magic labels.
Andre Heinecke <aheinecke@intevation.de>
parents: 6534
diff changeset
227 }
fca46ce8e4f5 (issue1225) Implement Magic labels.
Andre Heinecke <aheinecke@intevation.de>
parents: 6534
diff changeset
228
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
229 IntegerProperty fontsize =
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
230 (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
231 FormItem fs = createIntegerProperty(fontsize);
1503
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
232 fs.setValue(
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
233 ((IntegerProperty)
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
234 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
235
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
236 form1.setFields(title, fs);
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 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
239 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
240 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
241
8454
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
242
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
243 DoubleProperty upper =
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
244 (DoubleProperty)pg.getPropertyByName("upper");
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
245 DoubleProperty lower =
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
246 (DoubleProperty)pg.getPropertyByName("lower");
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
247
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
248 FormItem range1candidate = null;
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
249 FormItem range2candidate = null;
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
250 Layout scaleLayout;
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
251 DynamicForm form2 = new DynamicForm();
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
252
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
253 if (upper != null && lower != null) {
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
254 // Normal axis with double values
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
255 scaleLayout = new HLayout();
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
256 form2.setNumCols(6);
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
257 range1candidate = createDoubleProperty(upper);
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
258 range1candidate.setName("rangeupper");
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
259 range1candidate.setWidth(70);
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
260 range1candidate.setValue(
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
261 ((DoubleProperty)
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
262 origPg.getPropertyByName("upper")).toUIString());
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
263
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
264 range2candidate = createDoubleProperty(lower);
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
265 range2candidate.setName("rangelower");
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
266 range2candidate.setWidth(70);
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
267 range2candidate.setValue(
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
268 ((DoubleProperty)
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
269 origPg.getPropertyByName("lower")).toUIString());
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
270 } else {
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
271 // Time range axis
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
272 scaleLayout = new VLayout();
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
273 StringProperty dateUpper = (StringProperty)pg.getPropertyByName("upper-time");
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
274 StringProperty dateLower = (StringProperty)pg.getPropertyByName("lower-time");
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
275 if (dateUpper != null && dateLower != null) {
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
276 DateItem lowerDI = createDateProperty(dateLower);
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
277 DateItem upperDI = createDateProperty(dateUpper);
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
278 StringProperty origUp = (StringProperty)origPg.getPropertyByName("upper-time");
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
279 StringProperty origLow = (StringProperty)origPg.getPropertyByName("lower-time");
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
280 try {
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
281 lowerDI.setValue(new Date(Long.valueOf(origLow.getValue())));
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
282 upperDI.setValue(new Date(Long.valueOf(origUp.getValue())));
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
283 } catch (NumberFormatException e) {
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
284 // Just leave it at default then.
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
285 }
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
286 range1candidate = upperDI;
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
287 range2candidate = lowerDI;
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
288 }
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
289 }
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
290
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
291 if (range1candidate != null && range2candidate != null) {
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
292 final FormItem range1 = range1candidate;
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
293 final FormItem range2 = range2candidate;
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
294
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
295 BooleanProperty fixation =
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
296 (BooleanProperty)pg.getPropertyByName("fixation");
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
297 FormItem fix = createBooleanProperty(fixation);
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
298 fix.setValue(((BooleanProperty)
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
299 origPg.getPropertyByName("fixation")).getValue().booleanValue());
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
300 fix.setWidth(30);
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
301
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
302 fix.addChangedHandler(new ChangedHandler() {
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
303 @Override
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
304 public void onChanged(ChangedEvent e) {
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
305 if ((Boolean)e.getValue()) {
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
306 range1.enable();
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
307 range2.enable();
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
308 }
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
309 else {
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
310 range1.disable();
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
311 range2.disable();
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
312 }
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
313 }
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
314 });
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
315 if (fix.getValue().toString().equals("true")) {
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
316 range1.enable();
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
317 range2.enable();
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
318 }
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
319 else {
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
320 range1.disable();
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
321 range2.disable();
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
322 }
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
323 form2.setFields(fix, range2, range1);
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
324 scaleLayout.setHeight(30);
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
325 scaleLayout.addMember(scale);
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
326 scaleLayout.addMember(form2);
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
327 scaleLayout.setStyleName("property-dialog-axis");
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
328 root.addMember(scaleLayout);
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
329 } else {
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
330 GWT.log("Invalid settings document. Without upper/lower.");
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
331 }
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
332
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
333 return root;
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
334 }
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
335 return null;
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
336 }
1431
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
337
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
338
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
339 /**
3511
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
340 * 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
341 * values.
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
342 */
1503
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
343 protected DynamicForm generatePropertySetting(
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
344 Property setting,
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
345 Property orig)
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
346 {
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
347 DynamicForm form = new DynamicForm();
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
348 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
349 if (setting instanceof BooleanProperty) {
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
350 item = createBooleanProperty((BooleanProperty)setting);
1508
8ac57bbc270c Fixed initial boolean value setting.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1507
diff changeset
351 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
352 }
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
353 else if (setting instanceof DoubleProperty) {
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
354 item = createDoubleProperty((DoubleProperty)setting);
1507
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
355 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
356 }
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
357 else if (setting instanceof IntegerProperty) {
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
358 item = createIntegerProperty((IntegerProperty)setting);
1503
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
359 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
360 }
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
361 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
362 StringProperty property = (StringProperty) setting;
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
363 item = createStringProperty(property);
1503
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
364 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
365 }
3511
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
366 else {
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
367 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
368 }
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
369 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
370 return form;
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
371 }
1431
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
372
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
373
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
374 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
375 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
376 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
377 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
378 }
3511
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
379
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
380 String choiceAttribute = sp.getAttribute("choice");
3520
0b576ca67cd5 i18n for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3513
diff changeset
381
3511
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
382 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
383 SelectItem logoChooser = new SelectItem();
3536
a1610c7e4a4e Show logos in select box.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3520
diff changeset
384 logoChooser.setImageURLPrefix(GWT.getHostPageBaseURL() + "images/logo-");
a1610c7e4a4e Show logos in select box.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3520
diff changeset
385 logoChooser.setValueIconHeight(50);
a1610c7e4a4e Show logos in select box.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3520
diff changeset
386 logoChooser.setValueIconWidth(100);
a1610c7e4a4e Show logos in select box.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3520
diff changeset
387
3511
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
388 LinkedHashMap valueMap = new LinkedHashMap<String, String>();
3536
a1610c7e4a4e Show logos in select box.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3520
diff changeset
389 LinkedHashMap<String, String> valueIcons = new LinkedHashMap<String, String>();
3520
0b576ca67cd5 i18n for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3513
diff changeset
390 valueMap.put("none", MSG.getString("none"));
3536
a1610c7e4a4e Show logos in select box.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3520
diff changeset
391 /*
a1610c7e4a4e Show logos in select box.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3520
diff changeset
392 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
393 flys-artifacts:
a1610c7e4a4e Show logos in select box.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3520
diff changeset
394 XYChartGenerator.java
a1610c7e4a4e Show logos in select box.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3520
diff changeset
395 Timeseries*Generator.java and
a1610c7e4a4e Show logos in select box.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3520
diff changeset
396 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
397 Also, these images have to be put in
a1610c7e4a4e Show logos in select box.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3520
diff changeset
398 flys-artifacts/src/main/resources/images/
a1610c7e4a4e Show logos in select box.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3520
diff changeset
399 flys-client/src/main/webapp/images/
a1610c7e4a4e Show logos in select box.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3520
diff changeset
400 */
3537
45f2b0778a3a Do not show labels in logo selection combo box.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3536
diff changeset
401 valueMap.put("BfG", "");
45f2b0778a3a Do not show labels in logo selection combo box.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3536
diff changeset
402 valueMap.put("Intevation", "");
3536
a1610c7e4a4e Show logos in select box.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3520
diff changeset
403 valueIcons.put("BfG", "bfg.gif");
a1610c7e4a4e Show logos in select box.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3520
diff changeset
404 valueIcons.put("Intevation", "intevation.png");
a1610c7e4a4e Show logos in select box.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3520
diff changeset
405 logoChooser.setValueIcons(valueIcons);
3511
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
406 logoChooser.setValueMap(valueMap);
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
407 logoChooser.setTitleStyle("color:#000;");
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
408 logoChooser.setTitleAlign(Alignment.LEFT);
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
409 logoChooser.setTitle(MSG.getString(name));
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
410 logoChooser.setTitleAlign(Alignment.LEFT);
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
411 logoChooser.addBlurHandler(new BlurHandler() {
4568
bbd82bd8e541 flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents: 3537
diff changeset
412 @Override
3511
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
413 public void onBlur(BlurEvent e) {
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
414 String val;
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
415 if (e.getItem().getValue() == null) {
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
416 val = "";
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
417 }
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
418 else {
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
419 val = e.getItem().getValue().toString();
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
420 }
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
421 sp.setValue(val);
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
422 }
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
423 });
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
424 return logoChooser;
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
425 }
3513
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
426 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
427 SelectItem placeChooser = new SelectItem();
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
428 LinkedHashMap valueMap = new LinkedHashMap<String, String>();
3520
0b576ca67cd5 i18n for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3513
diff changeset
429 valueMap.put("right", MSG.getString("right"));
0b576ca67cd5 i18n for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3513
diff changeset
430 valueMap.put("left", MSG.getString("left"));
0b576ca67cd5 i18n for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3513
diff changeset
431 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
432 placeChooser.setValueMap(valueMap);
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
433 placeChooser.setTitleStyle("color:#000;");
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
434 placeChooser.setTitleAlign(Alignment.LEFT);
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
435 placeChooser.setTitle(MSG.getString(name));
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
436 placeChooser.setTitleAlign(Alignment.LEFT);
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
437 placeChooser.addBlurHandler(new BlurHandler() {
4568
bbd82bd8e541 flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents: 3537
diff changeset
438 @Override
3513
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
439 public void onBlur(BlurEvent e) {
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
440 String val;
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
441 if (e.getItem().getValue() == null) {
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
442 val = "";
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
443 }
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
444 else {
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
445 val = e.getItem().getValue().toString();
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
446 }
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
447 sp.setValue(val);
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
448 }
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
449 });
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
450 return placeChooser;
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
451 }
c657c0bbcf8f Updated to use split properties for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3512
diff changeset
452 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
453 SelectItem placeChooser = new SelectItem();
b8a8ecdebc0d i18n and interpretation for logo placement chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3511
diff changeset
454 LinkedHashMap valueMap = new LinkedHashMap<String, String>();
3520
0b576ca67cd5 i18n for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3513
diff changeset
455 valueMap.put("top", MSG.getString("top"));
0b576ca67cd5 i18n for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3513
diff changeset
456 valueMap.put("bottom", MSG.getString("bottom"));
0b576ca67cd5 i18n for logo placement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3513
diff changeset
457 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
458 placeChooser.setValueMap(valueMap);
b8a8ecdebc0d i18n and interpretation for logo placement chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3511
diff changeset
459 placeChooser.setTitleStyle("color:#000;");
b8a8ecdebc0d i18n and interpretation for logo placement chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3511
diff changeset
460 placeChooser.setTitleAlign(Alignment.LEFT);
b8a8ecdebc0d i18n and interpretation for logo placement chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3511
diff changeset
461 placeChooser.setTitle(MSG.getString(name));
b8a8ecdebc0d i18n and interpretation for logo placement chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3511
diff changeset
462 placeChooser.setTitleAlign(Alignment.LEFT);
b8a8ecdebc0d i18n and interpretation for logo placement chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3511
diff changeset
463 placeChooser.addBlurHandler(new BlurHandler() {
4568
bbd82bd8e541 flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents: 3537
diff changeset
464 @Override
3512
b8a8ecdebc0d i18n and interpretation for logo placement chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3511
diff changeset
465 public void onBlur(BlurEvent e) {
b8a8ecdebc0d i18n and interpretation for logo placement chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3511
diff changeset
466 String val;
b8a8ecdebc0d i18n and interpretation for logo placement chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3511
diff changeset
467 if (e.getItem().getValue() == null) {
b8a8ecdebc0d i18n and interpretation for logo placement chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3511
diff changeset
468 val = "";
b8a8ecdebc0d i18n and interpretation for logo placement chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3511
diff changeset
469 }
b8a8ecdebc0d i18n and interpretation for logo placement chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3511
diff changeset
470 else {
b8a8ecdebc0d i18n and interpretation for logo placement chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3511
diff changeset
471 val = e.getItem().getValue().toString();
b8a8ecdebc0d i18n and interpretation for logo placement chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3511
diff changeset
472 }
b8a8ecdebc0d i18n and interpretation for logo placement chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3511
diff changeset
473 sp.setValue(val);
b8a8ecdebc0d i18n and interpretation for logo placement chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3511
diff changeset
474 }
b8a8ecdebc0d i18n and interpretation for logo placement chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3511
diff changeset
475 });
b8a8ecdebc0d i18n and interpretation for logo placement chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3511
diff changeset
476 return placeChooser;
b8a8ecdebc0d i18n and interpretation for logo placement chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3511
diff changeset
477 }
3511
57eb38260015 Show logo selection box for logo chart property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3356
diff changeset
478
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
479 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
480 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
481 item.setTitleAlign(Alignment.LEFT);
1507
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
482 item.addBlurHandler(new BlurHandler() {
4568
bbd82bd8e541 flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents: 3537
diff changeset
483 @Override
1507
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
484 public void onBlur(BlurEvent e) {
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
485 String val;
1507
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
486 if (e.getItem().getValue() == null) {
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
487 val = "";
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
488 }
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
489 else {
1507
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
490 val = e.getItem().getValue().toString();
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
491 }
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
492 sp.setValue(val);
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
493 }
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
494 });
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
495 return item;
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
496 }
1431
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
497
8454
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
498 protected DateItem createDateProperty(final StringProperty sp) {
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
499 String name = sp.getName();
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
500 if (name.contains("-")) {
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
501 name = name.replace("-", "_");
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
502 }
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
503
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
504 DateItem item = new DateItem(name, MSG.getString(name));
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
505 item.setTitleAlign(Alignment.LEFT);
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
506 item.setTitleStyle("color:#000;");
8457
d2b85c0c35b7 (issue1764) Use datepicker with text field
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8454
diff changeset
507 item.setUseTextField(true);
8454
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
508
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
509 item.addBlurHandler(new BlurHandler() {
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
510 @Override
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
511 public void onBlur(BlurEvent e) {
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
512 DateItem di = (DateItem)e.getItem();
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
513 sp.setValue(Long.toString(di.getValueAsDate().getTime()));
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
514 }
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
515 });
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
516 return item;
7003cf5c19ed (issue1764) Handle date ranges in chart properties editor
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7982
diff changeset
517 }
1431
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
518
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
519 /**
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
520 *
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
521 */
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
522 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
523 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
524 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
525 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
526 }
1431
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
527
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
528 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
529 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
530 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
531 item.setTitleAlign(Alignment.LEFT);
1507
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
532 item.addBlurHandler(new BlurHandler() {
4568
bbd82bd8e541 flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents: 3537
diff changeset
533 @Override
1507
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
534 public void onBlur(BlurEvent e) {
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
535 String val;
1507
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
536 if (e.getItem().getValue() == null) {
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
537 val = "";
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
538 }
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
539 else {
1507
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
540 val = e.getItem().getValue().toString();
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
541 }
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
542 bp.setValue(val);
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
543 }
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
544 });
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
545 return item;
1431
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
546 }
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
547
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
548
1431
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
549 /**
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
550 *
1431
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
551 */
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
552 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
553 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
554 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
555 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
556 }
1431
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
557
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
558 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
559 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
560 item.setTitleAlign(Alignment.LEFT);
1507
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
561 item.addBlurHandler(new BlurHandler() {
4568
bbd82bd8e541 flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents: 3537
diff changeset
562 @Override
1507
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
563 public void onBlur(BlurEvent e) {
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
564 DoubleValidator validator = new DoubleValidator();
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
565 Map errors = e.getForm().getErrors();
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
566 if(validator.validate(e.getItem(), errors)) {
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
567 dp.setValueFromUI(e.getItem().getValue().toString());
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
568 }
3356
6352244a4153 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2940
diff changeset
569 e.getForm().setErrors(errors, true);
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
570 }
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
571 });
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
572 return item;
1431
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
573 }
987f95ceb623 Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1429
diff changeset
574
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
575
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
576 /**
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
577 *
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
578 */
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
579 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
580 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
581 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
582 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
583 }
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
584
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
585 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
586 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
587 item.setTitleAlign(Alignment.LEFT);
1507
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
588 item.addBlurHandler(new BlurHandler() {
4568
bbd82bd8e541 flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents: 3537
diff changeset
589 @Override
1507
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
590 public void onBlur(BlurEvent e) {
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
591 IntegerValidator validator = new IntegerValidator();
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
592 Map errors = e.getForm().getErrors();
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
593 if(validator.validate(e.getItem(), errors)) {
c21d14e48040 Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1506
diff changeset
594 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
595 }
3356
6352244a4153 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2940
diff changeset
596 e.getForm().setErrors(errors, true);
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
597 }
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
598 });
1465
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
599 return item;
d0bcf5ba7adf Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1449
diff changeset
600 }
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
601
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
602
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
603 protected void updateCollection() {
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
604 final Config config = Config.getInstance();
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
605 final String loc = config.getLocale();
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
606
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
607 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
608
1503
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
609 Settings s = settings;
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
610 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
611 updater.update(collection, loc, new AsyncCallback<Collection>() {
4568
bbd82bd8e541 flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents: 3537
diff changeset
612 @Override
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
613 public void onFailure(Throwable caught) {
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
614 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
615 SC.warn(MSG.getString(caught.getMessage()));
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
616 }
4568
bbd82bd8e541 flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents: 3537
diff changeset
617 @Override
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
618 public void onSuccess(Collection collection) {
1482
cd8a146d29cd Update chart if properties are changed successfully.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1478
diff changeset
619 updateChartTab();
1478
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
620 }
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
621 });
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
622 }
237e7450ae2e Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1465
diff changeset
623
1482
cd8a146d29cd Update chart if properties are changed successfully.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1478
diff changeset
624 protected void updateChartTab() {
cd8a146d29cd Update chart if properties are changed successfully.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1478
diff changeset
625 this.tab.updateChartInfo();
cd8a146d29cd Update chart if properties are changed successfully.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1478
diff changeset
626 this.tab.updateChartPanel();
1503
3304608baf35 Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1502
diff changeset
627 this.destroy();
1482
cd8a146d29cd Update chart if properties are changed successfully.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1478
diff changeset
628 }
1502
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
629
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
630
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
631 protected boolean isDialogValid() {
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
632 boolean valid = true;
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
633 for (int i = 0; i < tabs.getNumTabs(); i++) {
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
634 Tab t = tabs.getTab(i);
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
635 Canvas container = t.getPane();
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
636 Canvas[] children = container.getChildren();
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
637 for (Canvas c: children) {
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
638 valid = validateCanvas(c);
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
639 if(!valid) {
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
640 return valid;
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
641 }
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
642 }
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
643 }
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
644 return valid;
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
645 }
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
646
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
647
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
648 protected boolean validateCanvas(Canvas c) {
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
649 boolean valid = true;
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
650 if(c instanceof DynamicForm) {
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
651 DynamicForm f = (DynamicForm) c;
2475
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
652 FormItem up = f.getItem("rangeupper");
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
653 FormItem lo = f.getItem("rangelower");
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
654
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
655 if(up != null && lo != null &&
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
656 !up.isDisabled() && !lo.isDisabled())
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
657 {
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
658 validateRange(f);
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
659 }
1502
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
660 return !f.hasErrors();
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
661 }
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
662 else if(c.getChildren().length > 0) {
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
663 for (Canvas child: c.getChildren()) {
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
664 valid = validateCanvas(child);
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
665 if(!valid) {
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
666 return valid;
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
667 }
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
668 }
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
669 }
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
670 return valid;
d1223d93dd68 Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1501
diff changeset
671 }
2475
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
672
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
673 protected boolean validateRange(DynamicForm form) {
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
674 Map errors = form.getErrors();
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
675 FormItem up = form.getItem("rangeupper");
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
676 FormItem lo = form.getItem("rangelower");
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
677
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
678 String v1 = up.getValue().toString();
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
679 String v2 = lo.getValue().toString();
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
680
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
681 if(v1.equals(v2)) {
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
682 errors.put(up.getFieldName(), MSG.wrongFormat());
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
683 errors.put(lo.getFieldName(), MSG.wrongFormat());
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
684 form.setErrors(errors, true);
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
685 return false;
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
686 }
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
687 return true;
d77b1e489df7 Issue 492.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1560
diff changeset
688 }
1429
16b7adc66330 Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
689 }
1550
9bf1ffd53dfb Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1543
diff changeset
690 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org