Mercurial > dive4elements > river
annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/chart/ChartPropertiesEditor.java @ 1506:339f8aa641b5
Issue 358.
Convert strings for double values.
flys-client/trunk@3638 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Mon, 09 Jan 2012 18:06:01 +0000 |
parents | 4967508928a2 |
children | c21d14e48040 |
rev | line source |
---|---|
1429
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.client.client.ui.chart; |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
2 |
1465
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
3 import java.util.List; |
1506
339f8aa641b5
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1505
diff
changeset
|
4 import java.util.Map; |
1429
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
5 |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
6 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
|
7 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
|
8 |
1478
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
9 import com.smartgwt.client.util.SC; |
1429
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
10 import com.smartgwt.client.widgets.Window; |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
11 import com.smartgwt.client.widgets.tab.TabSet; |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
12 import com.smartgwt.client.widgets.tab.Tab; |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
13 import com.smartgwt.client.widgets.layout.VLayout; |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
14 import com.smartgwt.client.widgets.layout.HLayout; |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
15 import com.smartgwt.client.widgets.Button; |
1431
987f95ceb623
Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1429
diff
changeset
|
16 import com.smartgwt.client.widgets.Label; |
1465
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
17 import com.smartgwt.client.widgets.Canvas; |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
18 |
1429
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
19 import com.smartgwt.client.widgets.form.DynamicForm; |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
20 import com.smartgwt.client.widgets.form.fields.FormItem; |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
21 import com.smartgwt.client.widgets.form.fields.CheckboxItem; |
1431
987f95ceb623
Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1429
diff
changeset
|
22 import com.smartgwt.client.widgets.form.fields.TextItem; |
1429
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
23 |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
24 import com.smartgwt.client.widgets.events.ClickEvent; |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
25 import com.smartgwt.client.widgets.events.ClickHandler; |
1465
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
26 import com.smartgwt.client.widgets.form.fields.events.ChangedHandler; |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
27 import com.smartgwt.client.widgets.form.fields.events.ChangedEvent; |
1500
2a8b5dcbe8ca
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1482
diff
changeset
|
28 |
1429
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
29 import com.smartgwt.client.types.Alignment; |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
30 |
1478
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
31 import de.intevation.flys.client.client.Config; |
1429
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
32 import de.intevation.flys.client.client.FLYSConstants; |
1465
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
33 import de.intevation.flys.client.shared.model.Property; |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
34 import de.intevation.flys.client.shared.model.PropertyGroup; |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
35 import de.intevation.flys.client.shared.model.PropertySetting; |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
36 import de.intevation.flys.client.shared.model.BooleanProperty; |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
37 import de.intevation.flys.client.shared.model.DoubleProperty; |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
38 import de.intevation.flys.client.shared.model.IntegerProperty; |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
39 import de.intevation.flys.client.shared.model.StringProperty; |
1503
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1502
diff
changeset
|
40 import de.intevation.flys.client.shared.model.Settings; |
1478
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
41 import de.intevation.flys.client.shared.model.OutputSettings; |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
42 import de.intevation.flys.client.shared.model.Collection; |
1504
02a9104c0451
Implemented the validators more object oriented.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
43 import de.intevation.flys.client.client.utils.IntegerValidator; |
02a9104c0451
Implemented the validators more object oriented.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
44 import de.intevation.flys.client.client.utils.DoubleValidator; |
1429
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
45 |
1478
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
46 import de.intevation.flys.client.client.services.CollectionAttributeService; |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
47 import de.intevation.flys.client.client.services.CollectionAttributeServiceAsync; |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
48 |
1429
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
49 /** |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
50 * @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
|
51 */ |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
52 public class ChartPropertiesEditor |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
53 extends Window |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
54 implements ClickHandler |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
55 { |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
56 /** The interface that provides i18n messages. */ |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
57 protected FLYSConstants MSG = GWT.create(FLYSConstants.class); |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
58 |
1478
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
59 protected CollectionAttributeServiceAsync updater = |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
60 GWT.create(CollectionAttributeService.class); |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
61 |
1429
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
62 /** 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
|
63 protected ChartOutputTab tab; |
1429
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
64 |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
65 /** The tabset for chart properties */ |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
66 protected TabSet tabs; |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
67 |
1478
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
68 /** The collection */ |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
69 protected Collection collection; |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
70 |
1503
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1502
diff
changeset
|
71 /** The cloned output settings */ |
1478
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
72 protected OutputSettings settings; |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
73 |
1503
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1502
diff
changeset
|
74 /** The original output settings */ |
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1502
diff
changeset
|
75 protected OutputSettings origSettings; |
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1502
diff
changeset
|
76 |
1478
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
77 |
1429
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
78 /** |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
79 * Setup editor dialog. |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
80 * @param callerTab The tab called the editor window. |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
81 */ |
1482
cd8a146d29cd
Update chart if properties are changed successfully.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1478
diff
changeset
|
82 public ChartPropertiesEditor(ChartOutputTab callerTab) { |
1429
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
83 this.tab = callerTab; |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
84 this.tabs = new TabSet(); |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
85 |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
86 init(); |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
87 } |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
88 |
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 * Initialize the editor window and its components. |
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 protected void init() { |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
93 setTitle(MSG.properties()); |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
94 setCanDragReposition(true); |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
95 setCanDragResize(true); |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
96 |
1500
2a8b5dcbe8ca
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1482
diff
changeset
|
97 Config config = Config.getInstance(); |
1478
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
98 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
|
99 String outputName = tab.getOutputName(); |
1503
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1502
diff
changeset
|
100 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
|
101 |
1503
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1502
diff
changeset
|
102 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
|
103 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
|
104 return; |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
105 } |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
106 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
|
107 |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
108 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
|
109 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
|
110 List<Property> props = settings.getSettings(list.get(i)); |
1503
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1502
diff
changeset
|
111 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
|
112 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
|
113 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
|
114 if (props.get(j) instanceof PropertyGroup) { |
1503
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1502
diff
changeset
|
115 layout.addMember(generatePropertyGroup(props.get(j), |
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1502
diff
changeset
|
116 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
|
117 } |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
118 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
|
119 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
|
120 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
|
121 continue; |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
122 } |
1503
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1502
diff
changeset
|
123 layout.addMember(generatePropertySetting(props.get(j), |
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1502
diff
changeset
|
124 origProps.get(j))); |
1465
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
125 } |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
126 } |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
127 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
|
128 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
|
129 } |
1429
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
130 |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
131 Button accept = new Button(MSG.label_ok()); |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
132 Button cancel = new Button(MSG.label_cancel()); |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
133 cancel.addClickHandler(this); |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
134 accept.addClickHandler(new ClickHandler() { |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
135 public void onClick(ClickEvent e) { |
1502
d1223d93dd68
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1501
diff
changeset
|
136 if(isDialogValid()) { |
d1223d93dd68
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1501
diff
changeset
|
137 updateCollection(); |
d1223d93dd68
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1501
diff
changeset
|
138 } |
d1223d93dd68
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1501
diff
changeset
|
139 else { |
d1223d93dd68
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1501
diff
changeset
|
140 GWT.log("Dialog not valid"); |
d1223d93dd68
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1501
diff
changeset
|
141 SC.warn(MSG.error_dialog_not_valid()); |
d1223d93dd68
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1501
diff
changeset
|
142 } |
1429
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
143 } |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
144 }); |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
145 |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
146 HLayout buttons = new HLayout(); |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
147 buttons.addMember(accept); |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
148 buttons.addMember(cancel); |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
149 buttons.setAlign(Alignment.CENTER); |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
150 buttons.setHeight(30); |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
151 |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
152 addItem(tabs); |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
153 addItem(buttons); |
1500
2a8b5dcbe8ca
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1482
diff
changeset
|
154 setWidth(380); |
1431
987f95ceb623
Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1429
diff
changeset
|
155 setHeight(470); |
1429
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
156 centerInPage(); |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
157 } |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
158 |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
159 /** |
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
160 * 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
|
161 * @param event The event. |
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 public void onClick(ClickEvent event) { |
1503
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1502
diff
changeset
|
164 this.destroy(); |
1429
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
165 } |
1431
987f95ceb623
Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1429
diff
changeset
|
166 |
987f95ceb623
Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1429
diff
changeset
|
167 |
987f95ceb623
Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1429
diff
changeset
|
168 /** |
1465
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
169 * |
1431
987f95ceb623
Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1429
diff
changeset
|
170 */ |
1503
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1502
diff
changeset
|
171 protected Canvas generatePropertyGroup(Property group, Property orig) { |
1506
339f8aa641b5
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1505
diff
changeset
|
172 Config config = Config.getInstance(); |
339f8aa641b5
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1505
diff
changeset
|
173 String locale = config.getLocale(); |
1465
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
174 PropertyGroup pg = (PropertyGroup)group; |
1503
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1502
diff
changeset
|
175 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
|
176 |
1465
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
177 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
|
178 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
|
179 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
|
180 scale.setMargin(2); |
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 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
|
183 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
|
184 form2.setNumCols(6); |
1431
987f95ceb623
Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1429
diff
changeset
|
185 |
1465
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
186 StringProperty label = |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
187 (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
|
188 FormItem title = createStringProperty(label); |
1503
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1502
diff
changeset
|
189 title.setValue( |
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1502
diff
changeset
|
190 ((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
|
191 |
1465
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
192 IntegerProperty fontsize = |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
193 (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
|
194 FormItem fs = createIntegerProperty(fontsize); |
1504
02a9104c0451
Implemented the validators more object oriented.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
195 fs.addChangedHandler(new IntegerValidator()); |
1503
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1502
diff
changeset
|
196 fs.setValue( |
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1502
diff
changeset
|
197 ((IntegerProperty) |
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1502
diff
changeset
|
198 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
|
199 |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
200 DoubleProperty upper = |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
201 (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
|
202 final FormItem range1 = createDoubleProperty(upper); |
1504
02a9104c0451
Implemented the validators more object oriented.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
203 range1.addChangedHandler(new DoubleValidator()); |
1500
2a8b5dcbe8ca
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1482
diff
changeset
|
204 range1.setWidth(70); |
1506
339f8aa641b5
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1505
diff
changeset
|
205 String r1Value = |
339f8aa641b5
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1505
diff
changeset
|
206 ((DoubleProperty)origPg.getPropertyByName("upper")).getValue(); |
1465
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
207 DoubleProperty lower = |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
208 (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
|
209 final FormItem range2 = createDoubleProperty(lower); |
1504
02a9104c0451
Implemented the validators more object oriented.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
210 range2.addChangedHandler(new DoubleValidator()); |
1500
2a8b5dcbe8ca
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1482
diff
changeset
|
211 range2.setWidth(70); |
1506
339f8aa641b5
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1505
diff
changeset
|
212 String r2Value = |
339f8aa641b5
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1505
diff
changeset
|
213 ((DoubleProperty)origPg.getPropertyByName("lower")).getValue(); |
339f8aa641b5
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1505
diff
changeset
|
214 if(locale.equals("de")) { |
339f8aa641b5
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1505
diff
changeset
|
215 range1.setValue(r1Value.replaceAll("\\.", ",")); |
339f8aa641b5
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1505
diff
changeset
|
216 range2.setValue(r2Value.replaceAll("\\.", ",")); |
339f8aa641b5
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1505
diff
changeset
|
217 } |
339f8aa641b5
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1505
diff
changeset
|
218 else { |
339f8aa641b5
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1505
diff
changeset
|
219 range1.setValue(r1Value); |
339f8aa641b5
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1505
diff
changeset
|
220 range2.setValue(r2Value); |
339f8aa641b5
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1505
diff
changeset
|
221 } |
1465
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
222 |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
223 BooleanProperty fixation = |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
224 (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
|
225 FormItem fix = createBooleanProperty(fixation); |
1505
4967508928a2
Fixed initial values of boolean properties.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1504
diff
changeset
|
226 String fixValue = |
1503
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1502
diff
changeset
|
227 ((BooleanProperty) |
1505
4967508928a2
Fixed initial values of boolean properties.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1504
diff
changeset
|
228 origPg.getPropertyByName("fixation")).getValue(); |
4967508928a2
Fixed initial values of boolean properties.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1504
diff
changeset
|
229 if(fixValue.equals("true")) { |
4967508928a2
Fixed initial values of boolean properties.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1504
diff
changeset
|
230 fix.setValue(true); |
4967508928a2
Fixed initial values of boolean properties.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1504
diff
changeset
|
231 } |
4967508928a2
Fixed initial values of boolean properties.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1504
diff
changeset
|
232 else { |
4967508928a2
Fixed initial values of boolean properties.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1504
diff
changeset
|
233 fix.setValue(false); |
4967508928a2
Fixed initial values of boolean properties.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1504
diff
changeset
|
234 } |
1465
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
235 fix.addChangedHandler(new ChangedHandler() { |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
236 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
|
237 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
|
238 range1.enable(); |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
239 range2.enable(); |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
240 } |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
241 else { |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
242 range1.disable(); |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
243 range2.disable(); |
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 } |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
246 }); |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
247 if (fixation.getValue().equals("true")) { |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
248 range1.enable(); |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
249 range2.enable(); |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
250 } |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
251 else { |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
252 range1.disable(); |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
253 range2.disable(); |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
254 } |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
255 |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
256 form1.setFields(title, fs); |
1501
d12cb71965cf
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1500
diff
changeset
|
257 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
|
258 |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
259 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
|
260 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
|
261 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
|
262 scaleLayout.addMember(form2); |
1503
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1502
diff
changeset
|
263 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
|
264 |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
265 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
|
266 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
|
267 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
|
268 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
|
269 |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
270 return root; |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
271 } |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
272 return null; |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
273 } |
1431
987f95ceb623
Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1429
diff
changeset
|
274 |
987f95ceb623
Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1429
diff
changeset
|
275 |
1465
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
276 /** |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
277 * |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
278 */ |
1503
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1502
diff
changeset
|
279 protected DynamicForm generatePropertySetting( |
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1502
diff
changeset
|
280 Property setting, |
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1502
diff
changeset
|
281 Property orig) |
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1502
diff
changeset
|
282 { |
1500
2a8b5dcbe8ca
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1482
diff
changeset
|
283 PropertySetting s = (PropertySetting)setting; |
1465
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
284 DynamicForm form = new DynamicForm(); |
1478
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
285 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
|
286 if (setting instanceof BooleanProperty) { |
1478
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
287 item = createBooleanProperty((BooleanProperty)setting); |
1505
4967508928a2
Fixed initial values of boolean properties.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1504
diff
changeset
|
288 String iValue = ((BooleanProperty)orig).getValue(); |
4967508928a2
Fixed initial values of boolean properties.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1504
diff
changeset
|
289 if(iValue.equals("true")) { |
4967508928a2
Fixed initial values of boolean properties.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1504
diff
changeset
|
290 item.setValue(true); |
4967508928a2
Fixed initial values of boolean properties.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1504
diff
changeset
|
291 } |
4967508928a2
Fixed initial values of boolean properties.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1504
diff
changeset
|
292 else { |
4967508928a2
Fixed initial values of boolean properties.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1504
diff
changeset
|
293 item.setValue(false); |
4967508928a2
Fixed initial values of boolean properties.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1504
diff
changeset
|
294 } |
1465
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
295 } |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
296 else if (setting instanceof DoubleProperty) { |
1478
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
297 item = createDoubleProperty((DoubleProperty)setting); |
1506
339f8aa641b5
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1505
diff
changeset
|
298 DoubleValidator validator = new DoubleValidator(); |
339f8aa641b5
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1505
diff
changeset
|
299 item.addChangedHandler(validator); |
339f8aa641b5
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1505
diff
changeset
|
300 Config config = Config.getInstance(); |
339f8aa641b5
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1505
diff
changeset
|
301 String locale = config.getLocale(); |
339f8aa641b5
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1505
diff
changeset
|
302 String iValue = ((DoubleProperty)orig).getValue(); |
339f8aa641b5
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1505
diff
changeset
|
303 if(locale.equals("de")) { |
339f8aa641b5
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1505
diff
changeset
|
304 item.setValue(iValue.replaceAll("\\.", ",")); |
339f8aa641b5
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1505
diff
changeset
|
305 } |
339f8aa641b5
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1505
diff
changeset
|
306 else { |
339f8aa641b5
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1505
diff
changeset
|
307 item.setValue(iValue); |
339f8aa641b5
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1505
diff
changeset
|
308 } |
1465
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
309 } |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
310 else if (setting instanceof IntegerProperty) { |
1478
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
311 item = createIntegerProperty((IntegerProperty)setting); |
1504
02a9104c0451
Implemented the validators more object oriented.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
312 item.addChangedHandler(new IntegerValidator()); |
1503
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1502
diff
changeset
|
313 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
|
314 } |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
315 else if (setting instanceof StringProperty) { |
1478
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
316 item = createStringProperty((StringProperty)setting); |
1503
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1502
diff
changeset
|
317 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
|
318 } |
1478
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
319 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
|
320 return form; |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
321 } |
1431
987f95ceb623
Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1429
diff
changeset
|
322 |
987f95ceb623
Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1429
diff
changeset
|
323 |
1465
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
324 /** |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
325 * |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
326 */ |
1478
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
327 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
|
328 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
|
329 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
|
330 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
|
331 } |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
332 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
|
333 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
|
334 item.setTitleAlign(Alignment.LEFT); |
1478
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
335 item.addChangedHandler(new ChangedHandler() { |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
336 public void onChanged(ChangedEvent e) { |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
337 String val; |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
338 if (e.getValue() == null) { |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
339 val = ""; |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
340 } |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
341 else { |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
342 val = e.getValue().toString(); |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
343 } |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
344 sp.setValue(val); |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
345 } |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
346 }); |
1465
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
347 return item; |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
348 } |
1431
987f95ceb623
Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1429
diff
changeset
|
349 |
987f95ceb623
Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1429
diff
changeset
|
350 |
1465
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
351 /** |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
352 * |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
353 */ |
1478
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
354 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
|
355 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
|
356 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
|
357 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
|
358 } |
1431
987f95ceb623
Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1429
diff
changeset
|
359 |
1465
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
360 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
|
361 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
|
362 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
|
363 item.setTitleAlign(Alignment.LEFT); |
1478
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
364 item.addChangedHandler(new ChangedHandler() { |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
365 public void onChanged(ChangedEvent e) { |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
366 String val; |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
367 if (e.getValue() == null) { |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
368 val = ""; |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
369 } |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
370 else { |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
371 val = e.getValue().toString(); |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
372 } |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
373 bp.setValue(val); |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
374 } |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
375 }); |
1465
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
376 return item; |
1431
987f95ceb623
Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1429
diff
changeset
|
377 } |
987f95ceb623
Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1429
diff
changeset
|
378 |
1465
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
379 |
1431
987f95ceb623
Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1429
diff
changeset
|
380 /** |
1465
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
381 * |
1431
987f95ceb623
Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1429
diff
changeset
|
382 */ |
1478
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
383 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
|
384 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
|
385 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
|
386 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
|
387 } |
1431
987f95ceb623
Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1429
diff
changeset
|
388 |
1465
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
389 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
|
390 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
|
391 item.setTitleAlign(Alignment.LEFT); |
1478
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
392 item.addChangedHandler(new ChangedHandler() { |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
393 public void onChanged(ChangedEvent e) { |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
394 String val; |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
395 if (e.getValue() == null) { |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
396 val = ""; |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
397 } |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
398 else { |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
399 val = e.getValue().toString(); |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
400 } |
1506
339f8aa641b5
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1505
diff
changeset
|
401 DoubleValidator validator = new DoubleValidator(); |
339f8aa641b5
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1505
diff
changeset
|
402 |
339f8aa641b5
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1505
diff
changeset
|
403 Map errors = e.getForm().getErrors(); |
339f8aa641b5
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1505
diff
changeset
|
404 String input = validator.toProtocolString(e.getItem(), errors); |
339f8aa641b5
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1505
diff
changeset
|
405 if(input != null) { |
339f8aa641b5
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1505
diff
changeset
|
406 dp.setValue(input); |
339f8aa641b5
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1505
diff
changeset
|
407 } |
1478
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
408 } |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
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 return item; |
1431
987f95ceb623
Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1429
diff
changeset
|
411 } |
987f95ceb623
Added property fields to the chart properties editor dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1429
diff
changeset
|
412 |
1465
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
413 |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
414 /** |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
415 * |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
416 */ |
1478
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
417 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
|
418 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
|
419 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
|
420 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
|
421 } |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
422 |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
423 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
|
424 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
|
425 item.setTitleAlign(Alignment.LEFT); |
1478
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
426 item.addChangedHandler(new ChangedHandler() { |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
427 public void onChanged(ChangedEvent e) { |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
428 String val; |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
429 if (e.getValue() == null) { |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
430 val = ""; |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
431 } |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
432 else { |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
433 val = e.getValue().toString(); |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
434 } |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
435 ip.setValue(val); |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
436 } |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
437 }); |
1465
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
438 return item; |
d0bcf5ba7adf
Create the properties dialog content dynamically based on the properties read
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1449
diff
changeset
|
439 } |
1478
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
440 |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
441 |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
442 protected void updateCollection() { |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
443 final Config config = Config.getInstance(); |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
444 final String loc = config.getLocale(); |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
445 |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
446 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
|
447 |
1503
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1502
diff
changeset
|
448 Settings s = settings; |
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1502
diff
changeset
|
449 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
|
450 updater.update(collection, loc, new AsyncCallback<Collection>() { |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
451 public void onFailure(Throwable caught) { |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
452 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
|
453 SC.warn(MSG.getString(caught.getMessage())); |
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 public void onSuccess(Collection collection) { |
1482
cd8a146d29cd
Update chart if properties are changed successfully.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1478
diff
changeset
|
456 updateChartTab(); |
1478
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
457 } |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
458 }); |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
459 } |
237e7450ae2e
Save output settings in chart properties dialog.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1465
diff
changeset
|
460 |
1482
cd8a146d29cd
Update chart if properties are changed successfully.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1478
diff
changeset
|
461 protected void updateChartTab() { |
cd8a146d29cd
Update chart if properties are changed successfully.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1478
diff
changeset
|
462 this.tab.updateChartInfo(); |
cd8a146d29cd
Update chart if properties are changed successfully.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1478
diff
changeset
|
463 this.tab.updateChartPanel(); |
1503
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1502
diff
changeset
|
464 this.destroy(); |
1482
cd8a146d29cd
Update chart if properties are changed successfully.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1478
diff
changeset
|
465 } |
1502
d1223d93dd68
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1501
diff
changeset
|
466 |
d1223d93dd68
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1501
diff
changeset
|
467 |
d1223d93dd68
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1501
diff
changeset
|
468 protected boolean isDialogValid() { |
d1223d93dd68
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1501
diff
changeset
|
469 boolean valid = true; |
d1223d93dd68
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1501
diff
changeset
|
470 for (int i = 0; i < tabs.getNumTabs(); i++) { |
d1223d93dd68
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1501
diff
changeset
|
471 Tab t = tabs.getTab(i); |
d1223d93dd68
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1501
diff
changeset
|
472 Canvas container = t.getPane(); |
d1223d93dd68
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1501
diff
changeset
|
473 Canvas[] children = container.getChildren(); |
d1223d93dd68
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1501
diff
changeset
|
474 for (Canvas c: children) { |
d1223d93dd68
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1501
diff
changeset
|
475 valid = validateCanvas(c); |
d1223d93dd68
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1501
diff
changeset
|
476 if(!valid) { |
d1223d93dd68
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1501
diff
changeset
|
477 return valid; |
d1223d93dd68
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1501
diff
changeset
|
478 } |
d1223d93dd68
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1501
diff
changeset
|
479 } |
d1223d93dd68
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1501
diff
changeset
|
480 } |
d1223d93dd68
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1501
diff
changeset
|
481 return valid; |
d1223d93dd68
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1501
diff
changeset
|
482 } |
d1223d93dd68
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1501
diff
changeset
|
483 |
d1223d93dd68
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1501
diff
changeset
|
484 |
d1223d93dd68
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1501
diff
changeset
|
485 protected boolean validateCanvas(Canvas c) { |
d1223d93dd68
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1501
diff
changeset
|
486 boolean valid = true; |
d1223d93dd68
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1501
diff
changeset
|
487 if(c instanceof DynamicForm) { |
d1223d93dd68
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1501
diff
changeset
|
488 DynamicForm f = (DynamicForm) c; |
d1223d93dd68
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1501
diff
changeset
|
489 return !f.hasErrors(); |
d1223d93dd68
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1501
diff
changeset
|
490 } |
d1223d93dd68
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1501
diff
changeset
|
491 else if(c.getChildren().length > 0) { |
d1223d93dd68
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1501
diff
changeset
|
492 for (Canvas child: c.getChildren()) { |
d1223d93dd68
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1501
diff
changeset
|
493 valid = validateCanvas(child); |
d1223d93dd68
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1501
diff
changeset
|
494 if(!valid) { |
d1223d93dd68
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1501
diff
changeset
|
495 return valid; |
d1223d93dd68
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1501
diff
changeset
|
496 } |
d1223d93dd68
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1501
diff
changeset
|
497 } |
d1223d93dd68
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1501
diff
changeset
|
498 } |
d1223d93dd68
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1501
diff
changeset
|
499 return valid; |
d1223d93dd68
Issue 358.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1501
diff
changeset
|
500 } |
1429
16b7adc66330
Added stub for chart property editor.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
501 } |