annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/chart/ChartPropertiesEditor.java @ 5838:5aa05a7a34b7

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

http://dive4elements.wald.intevation.org