Mercurial > dive4elements > river
annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/StyleEditorWindow.java @ 5462:f2371f3aaf03
Show top level folder icons only if node has no factory
If you have an empty folder the folder icon is still shown.
This makes it possible to add functional "Top Level" entries
in the Datacage
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Tue, 26 Mar 2013 18:29:13 +0100 |
parents | 52068f1231da |
children | 995320711d80 |
rev | line source |
---|---|
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.client.client.ui; |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
2 |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
3 import com.google.gwt.core.client.GWT; |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
4 import com.google.gwt.user.client.rpc.AsyncCallback; |
2954
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
5 import com.smartgwt.client.types.Alignment; |
1499
0372797fc9cf
Avoid NPE in StyleEditorWindow.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1495
diff
changeset
|
6 import com.smartgwt.client.util.SC; |
2954
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
7 import com.smartgwt.client.widgets.Button; |
2540
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
8 import com.smartgwt.client.widgets.Canvas; |
2954
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
9 import com.smartgwt.client.widgets.Window; |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
10 import com.smartgwt.client.widgets.events.ClickEvent; |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
11 import com.smartgwt.client.widgets.events.ClickHandler; |
2954
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
12 import com.smartgwt.client.widgets.form.DynamicForm; |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
13 import com.smartgwt.client.widgets.form.events.ItemChangedEvent; |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
14 import com.smartgwt.client.widgets.form.events.ItemChangedHandler; |
2954
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
15 import com.smartgwt.client.widgets.form.fields.CheckboxItem; |
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
16 import com.smartgwt.client.widgets.form.fields.ColorPickerItem; |
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
17 import com.smartgwt.client.widgets.form.fields.FormItem; |
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
18 import com.smartgwt.client.widgets.form.fields.SelectItem; |
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
19 import com.smartgwt.client.widgets.form.fields.StaticTextItem; |
3352
2f533220af1c
Handle upcoming 'double' theme attribute type.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3349
diff
changeset
|
20 import com.smartgwt.client.widgets.form.fields.events.BlurEvent; |
2f533220af1c
Handle upcoming 'double' theme attribute type.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3349
diff
changeset
|
21 import com.smartgwt.client.widgets.form.fields.events.BlurHandler; |
3384
a6b7f0585761
Merge point/line label styles
Christian Lins <christian.lins@intevation.de>
parents:
3364
diff
changeset
|
22 import com.smartgwt.client.widgets.form.fields.events.ChangedEvent; |
2540
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
23 import com.smartgwt.client.widgets.form.fields.events.ChangedHandler; |
3384
a6b7f0585761
Merge point/line label styles
Christian Lins <christian.lins@intevation.de>
parents:
3364
diff
changeset
|
24 import com.smartgwt.client.widgets.form.validator.IsFloatValidator; |
2954
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
25 import com.smartgwt.client.widgets.layout.HLayout; |
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
26 import com.smartgwt.client.widgets.layout.VLayout; |
2540
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
27 |
2954
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
28 import de.intevation.flys.client.client.Config; |
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
29 import de.intevation.flys.client.client.FLYSConstants; |
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
30 import de.intevation.flys.client.client.services.CollectionItemAttributeService; |
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
31 import de.intevation.flys.client.client.services.CollectionItemAttributeServiceAsync; |
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
32 import de.intevation.flys.client.client.services.ThemeListingService; |
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
33 import de.intevation.flys.client.client.services.ThemeListingServiceAsync; |
3384
a6b7f0585761
Merge point/line label styles
Christian Lins <christian.lins@intevation.de>
parents:
3364
diff
changeset
|
34 import de.intevation.flys.client.client.utils.DoubleValidator; |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
35 import de.intevation.flys.client.shared.model.Collection; |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
36 import de.intevation.flys.client.shared.model.CollectionItemAttribute; |
2954
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
37 import de.intevation.flys.client.shared.model.FacetRecord; |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
38 import de.intevation.flys.client.shared.model.Style; |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
39 import de.intevation.flys.client.shared.model.StyleSetting; |
1326
974c6b3700de
Use the theme index to identify the correct style.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1309
diff
changeset
|
40 import de.intevation.flys.client.shared.model.Theme; |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
41 |
2954
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
42 import java.util.Arrays; |
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
43 import java.util.Iterator; |
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
44 import java.util.LinkedHashMap; |
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
45 import java.util.Map; |
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
46 import java.util.Set; |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
47 |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
48 /** |
3384
a6b7f0585761
Merge point/line label styles
Christian Lins <christian.lins@intevation.de>
parents:
3364
diff
changeset
|
49 * Editor window for styles. |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
50 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a> |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
51 */ |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
52 public class StyleEditorWindow |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
53 extends Window |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
54 implements ClickHandler |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
55 { |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
56 /** The interface that provides i18n messages. */ |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
57 protected FLYSConstants MSG = GWT.create(FLYSConstants.class); |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
58 |
1333
1627a28c4504
Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1326
diff
changeset
|
59 /** The collection. */ |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
60 protected Collection collection; |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
61 |
1336
ceb989d64cd2
Request redraw on style attribute change.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1333
diff
changeset
|
62 /** The parent ThemePanel. */ |
ceb989d64cd2
Request redraw on style attribute change.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1333
diff
changeset
|
63 protected ThemePanel panel; |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
64 |
1333
1627a28c4504
Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1326
diff
changeset
|
65 /** The attributes. */ |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
66 protected CollectionItemAttribute attributes; |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
67 |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
68 /** The selected facet. */ |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
69 protected FacetRecord facet; |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
70 |
1333
1627a28c4504
Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1326
diff
changeset
|
71 /** Main layout. */ |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
72 protected VLayout layout; |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
73 |
3355
dab808e5f516
Improve validation of double-type style arguments.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3352
diff
changeset
|
74 /** The form that contains all the input widgets. */ |
3384
a6b7f0585761
Merge point/line label styles
Christian Lins <christian.lins@intevation.de>
parents:
3364
diff
changeset
|
75 protected DynamicForm df; |
3355
dab808e5f516
Improve validation of double-type style arguments.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3352
diff
changeset
|
76 |
2540
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
77 protected VLayout properties; |
3355
dab808e5f516
Improve validation of double-type style arguments.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3352
diff
changeset
|
78 |
2540
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
79 protected Canvas container; |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
80 |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
81 protected Map<String, Style> styleGroups; |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
82 |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
83 protected Style current; |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
84 |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
85 protected SelectItem styleChooser; |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
86 |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
87 /** The service used to set collection item attributes. */ |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
88 protected CollectionItemAttributeServiceAsync itemAttributeService = |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
89 GWT.create(CollectionItemAttributeService.class); |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
90 |
2540
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
91 /** The service used to request a list of themes. */ |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
92 protected ThemeListingServiceAsync themeListingService = |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
93 GWT.create(ThemeListingService.class); |
1333
1627a28c4504
Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1326
diff
changeset
|
94 |
3355
dab808e5f516
Improve validation of double-type style arguments.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3352
diff
changeset
|
95 |
1345
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
96 /** |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
97 * Setup editor dialog. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
98 * @param collection The collection the current theme belongs to. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
99 * @param attributes The collection attributes. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
100 * @param facet The selected facet. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
101 */ |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
102 public StyleEditorWindow ( |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
103 Collection collection, |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
104 CollectionItemAttribute attributes, |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
105 FacetRecord facet) |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
106 { |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
107 this.collection = collection; |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
108 this.attributes = attributes; |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
109 this.facet = facet; |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
110 this.layout = new VLayout(); |
2540
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
111 this.properties = new VLayout(); |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
112 this.container = new Canvas(); |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
113 this.styleChooser = new SelectItem("style", "Style"); |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
114 |
2540
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
115 styleChooser.setTitleStyle("color:#000;"); |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
116 styleChooser.setTitleAlign(Alignment.LEFT); |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
117 styleChooser.setValue("aktuell"); |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
118 styleChooser.addChangedHandler(new ChangedHandler() { |
2954
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
119 @Override |
2540
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
120 public void onChanged(ChangedEvent ce) { |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
121 String value = ce.getValue().toString(); |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
122 Style s = null; |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
123 if (value.equals("aktuell")) { |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
124 s = current; |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
125 } |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
126 else if (styleGroups.containsKey(value)) { |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
127 s = styleGroups.get(value); |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
128 } |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
129 |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
130 if (s != null) { |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
131 setNewStyle(s); |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
132 properties.removeMember(container); |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
133 container = createPropertyGrid(s); |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
134 properties.addMember(container); |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
135 } |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
136 } |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
137 }); |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
138 |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
139 DynamicForm f = new DynamicForm(); |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
140 f.setFields(styleChooser); |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
141 f.setColWidths("40%", "60%"); |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
142 |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
143 layout.addMember(f); |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
144 init(); |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
145 initPanels(); |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
146 } |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
147 |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
148 |
1345
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
149 /** |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
150 * Initialize the window and set the layout. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
151 */ |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
152 protected void init() { |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
153 setTitle(MSG.properties()); |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
154 setCanDragReposition(true); |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
155 setCanDragResize(true); |
1381
4459901e4ec0
Updated the theme editor window layout.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1380
diff
changeset
|
156 layout.setMargin(10); |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
157 |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
158 layout.setWidth100(); |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
159 layout.setHeight100(); |
2540
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
160 |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
161 Config config = Config.getInstance(); |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
162 String locale = config.getLocale(); |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
163 |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
164 Theme theme = facet.getTheme(); |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
165 Style style = attributes.getStyle(theme.getFacet(), theme.getIndex()); |
2954
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
166 if(style == null) { |
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
167 GWT.log("StyleEditorWindow.init(): style == null"); |
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
168 return; |
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
169 } |
2540
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
170 String name = style.getName(); |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
171 this.current = style; |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
172 |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
173 themeListingService.list( |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
174 locale, |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
175 name, |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
176 new AsyncCallback<Map<String, Style> >() { |
2954
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
177 @Override |
2540
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
178 public void onFailure(Throwable caught) { |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
179 GWT.log("No listloaded."); |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
180 } |
2954
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
181 @Override |
2540
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
182 public void onSuccess(Map<String, Style> list) { |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
183 GWT.log("Successfully loaded list."); |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
184 |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
185 styleGroups = list; |
2954
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
186 Set<String> keys = list.keySet(); |
2540
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
187 LinkedHashMap<String, String> valueMap = |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
188 new LinkedHashMap<String, String>(); |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
189 valueMap.put("aktuell", "Aktuell"); |
2954
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
190 Iterator<String> iter = keys.iterator(); |
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
191 while (iter.hasNext()) { |
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
192 String s = iter.next().toString(); |
2540
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
193 Style tmp = styleGroups.get(s); |
2543
d632a6526ad9
Set the facet and the index to valid values.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2540
diff
changeset
|
194 tmp.setFacet(current.getFacet()); |
d632a6526ad9
Set the facet and the index to valid values.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2540
diff
changeset
|
195 tmp.setIndex(current.getIndex()); |
2540
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
196 valueMap.put(s, s); |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
197 } |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
198 styleChooser.setValueMap(valueMap); |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
199 } |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
200 }); |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
201 } |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
202 |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
203 |
1345
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
204 /** |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
205 * Initialize the static window content like buttons and main layout. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
206 */ |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
207 protected void initPanels() { |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
208 HLayout buttons = new HLayout(); |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
209 Button accept = new Button(MSG.label_ok()); |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
210 Button cancel = new Button(MSG.label_cancel()); |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
211 cancel.addClickHandler(this); |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
212 accept.addClickHandler(new ClickHandler() { |
2954
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
213 @Override |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
214 public void onClick(ClickEvent e) { |
3355
dab808e5f516
Improve validation of double-type style arguments.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3352
diff
changeset
|
215 // TODO Fix this, for whatever reason it doesnt work |
dab808e5f516
Improve validation of double-type style arguments.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3352
diff
changeset
|
216 // (always valid). |
4697
52068f1231da
Fixed NPE in empty style editor window.
Raimund Renkert <rrenkert@intevation.de>
parents:
4687
diff
changeset
|
217 if (df == null) { |
52068f1231da
Fixed NPE in empty style editor window.
Raimund Renkert <rrenkert@intevation.de>
parents:
4687
diff
changeset
|
218 return; |
52068f1231da
Fixed NPE in empty style editor window.
Raimund Renkert <rrenkert@intevation.de>
parents:
4687
diff
changeset
|
219 } |
3355
dab808e5f516
Improve validation of double-type style arguments.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3352
diff
changeset
|
220 if (!df.hasErrors() && df.validate()) { |
dab808e5f516
Improve validation of double-type style arguments.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3352
diff
changeset
|
221 saveStyle(); |
dab808e5f516
Improve validation of double-type style arguments.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3352
diff
changeset
|
222 } |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
223 } |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
224 }); |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
225 |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
226 buttons.addMember(accept); |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
227 buttons.addMember(cancel); |
1381
4459901e4ec0
Updated the theme editor window layout.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1380
diff
changeset
|
228 buttons.setAlign(Alignment.CENTER); |
4459901e4ec0
Updated the theme editor window layout.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1380
diff
changeset
|
229 buttons.setHeight(30); |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
230 |
2540
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
231 Theme theme = facet.getTheme(); |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
232 Style style = attributes.getStyle(theme.getFacet(), theme.getIndex()); |
1348
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
233 |
2540
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
234 container = createPropertyGrid(style); |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
235 properties.addMember(container); |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
236 layout.addMember(properties); |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
237 layout.addMember(buttons); |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
238 addItem(layout); |
2472
75d19d46c3cd
Prepared the style editor for WSPLGEN themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2458
diff
changeset
|
239 setWidth(400); |
1381
4459901e4ec0
Updated the theme editor window layout.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1380
diff
changeset
|
240 setHeight(410); |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
241 } |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
242 |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
243 |
1345
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
244 /** |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
245 * Setter for the parent panel. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
246 * @param panel The panel. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
247 */ |
1336
ceb989d64cd2
Request redraw on style attribute change.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1333
diff
changeset
|
248 public void setThemePanel (ThemePanel panel) { |
ceb989d64cd2
Request redraw on style attribute change.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1333
diff
changeset
|
249 this.panel = panel; |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
250 } |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
251 |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
252 |
1345
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
253 /** |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
254 * this method is called when the user aborts theming. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
255 * @param event The event. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
256 */ |
2954
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
257 @Override |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
258 public void onClick(ClickEvent event) { |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
259 this.hide(); |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
260 } |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
261 |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
262 |
1345
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
263 /** |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
264 * This method creates the property grid for available styling attributes. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
265 * @return The layout containing the UI elements. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
266 */ |
2540
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
267 protected VLayout createPropertyGrid(Style style) { |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
268 VLayout vl = new VLayout(); |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
269 |
1337
9bf72f84728d
Show theme name in static text field.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1336
diff
changeset
|
270 StaticTextItem name = new StaticTextItem("name", "Name"); |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
271 name.setValue(facet.getName()); |
2472
75d19d46c3cd
Prepared the style editor for WSPLGEN themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2458
diff
changeset
|
272 name.setTitleStyle("color:#000;"); |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
273 name.setTitleAlign(Alignment.LEFT); |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
274 name.setDisabled(true); |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
275 name.setShowDisabled(false); |
2540
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
276 |
1450
bb91cdf8407b
Minor refactoring to ease addition of new style-fields (are now added automically).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1425
diff
changeset
|
277 DynamicForm form = new DynamicForm(); |
bb91cdf8407b
Minor refactoring to ease addition of new style-fields (are now added automically).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1425
diff
changeset
|
278 form.setFields(name); |
2472
75d19d46c3cd
Prepared the style editor for WSPLGEN themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2458
diff
changeset
|
279 form.setColWidths("40%", "60%"); |
75d19d46c3cd
Prepared the style editor for WSPLGEN themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2458
diff
changeset
|
280 |
2540
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
281 |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
282 vl.addMember(form); |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
283 |
1499
0372797fc9cf
Avoid NPE in StyleEditorWindow.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1495
diff
changeset
|
284 if (style == null) { |
2540
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
285 SC.warn("No style found."); |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
286 return vl; |
1499
0372797fc9cf
Avoid NPE in StyleEditorWindow.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1495
diff
changeset
|
287 } |
0372797fc9cf
Avoid NPE in StyleEditorWindow.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1495
diff
changeset
|
288 |
1451
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
289 // Done via array to keep the order. |
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
290 String[] sets = {"showlines", |
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
291 "showpoints", |
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
292 "linetype", |
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
293 "linesize", |
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
294 "linecolor", |
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
295 "font", |
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
296 "textstyle", |
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
297 "textsize", |
2908
cd068ff7966d
Show only style attributes in StyleEditorWindow that are not 'hidden'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2543
diff
changeset
|
298 "pointcolor", |
1495
bd6c8b06cb94
Improved the StyledEditorWindow to support a list of pointsizes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1479
diff
changeset
|
299 "pointsize", |
4666
28eb979ae31b
Reordered some attributes in editor ui and use the hidden attribute.
Raimund Renkert <rrenkert@intevation.de>
parents:
4577
diff
changeset
|
300 "showpointlabel", |
1451
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
301 "textcolor", |
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
302 "backgroundcolor", |
2499
8f36d4b5890c
Define order for linelabel theme properties.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2472
diff
changeset
|
303 "showbackground", |
8f36d4b5890c
Define order for linelabel theme properties.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2472
diff
changeset
|
304 "showlinelabel", |
3384
a6b7f0585761
Merge point/line label styles
Christian Lins <christian.lins@intevation.de>
parents:
3364
diff
changeset
|
305 "labelfontface", |
a6b7f0585761
Merge point/line label styles
Christian Lins <christian.lins@intevation.de>
parents:
3364
diff
changeset
|
306 "labelfontcolor", |
a6b7f0585761
Merge point/line label styles
Christian Lins <christian.lins@intevation.de>
parents:
3364
diff
changeset
|
307 "labelfontsize", |
a6b7f0585761
Merge point/line label styles
Christian Lins <christian.lins@intevation.de>
parents:
3364
diff
changeset
|
308 "labelfontstyle", |
3703
4e32de1b6a9e
Fix for line label text in Delta W(t) chart (#837).
Christian Lins <christian.lins@intevation.de>
parents:
3702
diff
changeset
|
309 "textorientation", |
3384
a6b7f0585761
Merge point/line label styles
Christian Lins <christian.lins@intevation.de>
parents:
3364
diff
changeset
|
310 "labelshowbg", |
a6b7f0585761
Merge point/line label styles
Christian Lins <christian.lins@intevation.de>
parents:
3364
diff
changeset
|
311 "labelbgcolor", |
4666
28eb979ae31b
Reordered some attributes in editor ui and use the hidden attribute.
Raimund Renkert <rrenkert@intevation.de>
parents:
4577
diff
changeset
|
312 "bandwidth", |
3364
b31b0d249d21
Set previously selected values for bandwidth theme-prop.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3355
diff
changeset
|
313 "bandwidthcolor", |
4666
28eb979ae31b
Reordered some attributes in editor ui and use the hidden attribute.
Raimund Renkert <rrenkert@intevation.de>
parents:
4577
diff
changeset
|
314 "transparency", |
28eb979ae31b
Reordered some attributes in editor ui and use the hidden attribute.
Raimund Renkert <rrenkert@intevation.de>
parents:
4577
diff
changeset
|
315 "showminimum", |
28eb979ae31b
Reordered some attributes in editor ui and use the hidden attribute.
Raimund Renkert <rrenkert@intevation.de>
parents:
4577
diff
changeset
|
316 "showmaximum"}; |
1451
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
317 |
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
318 for (String settingName: sets) { |
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
319 StyleSetting set = style.getSetting(settingName); |
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
320 |
2908
cd068ff7966d
Show only style attributes in StyleEditorWindow that are not 'hidden'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2543
diff
changeset
|
321 if (set == null || set.isHidden()) { |
1451
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
322 continue; |
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
323 } |
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
324 |
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
325 DynamicForm property = createPropertyUI( |
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
326 set.getDisplayName(), |
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
327 set.getName(), |
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
328 set.getType(), |
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
329 set.getDefaultValue()); |
2540
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
330 vl.addMember(property); |
1451
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
331 } |
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
332 |
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
333 // Add settings not in whitelist above. |
1450
bb91cdf8407b
Minor refactoring to ease addition of new style-fields (are now added automically).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1425
diff
changeset
|
334 for (StyleSetting set: style.getSettings()) { |
1380
2d617c48ca5f
Issue 400.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1360
diff
changeset
|
335 |
4666
28eb979ae31b
Reordered some attributes in editor ui and use the hidden attribute.
Raimund Renkert <rrenkert@intevation.de>
parents:
4577
diff
changeset
|
336 if (Arrays.asList(sets).contains(set.getName()) || |
28eb979ae31b
Reordered some attributes in editor ui and use the hidden attribute.
Raimund Renkert <rrenkert@intevation.de>
parents:
4577
diff
changeset
|
337 set == null || |
28eb979ae31b
Reordered some attributes in editor ui and use the hidden attribute.
Raimund Renkert <rrenkert@intevation.de>
parents:
4577
diff
changeset
|
338 set.isHidden() |
28eb979ae31b
Reordered some attributes in editor ui and use the hidden attribute.
Raimund Renkert <rrenkert@intevation.de>
parents:
4577
diff
changeset
|
339 ) { |
1380
2d617c48ca5f
Issue 400.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1360
diff
changeset
|
340 continue; |
2d617c48ca5f
Issue 400.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1360
diff
changeset
|
341 } |
2d617c48ca5f
Issue 400.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1360
diff
changeset
|
342 |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
343 DynamicForm property = createPropertyUI( |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
344 set.getDisplayName(), |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
345 set.getName(), |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
346 set.getType(), |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
347 set.getDefaultValue()); |
2540
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
348 vl.addMember(property); |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
349 } |
1450
bb91cdf8407b
Minor refactoring to ease addition of new style-fields (are now added automically).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1425
diff
changeset
|
350 |
2540
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
351 return vl; |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
352 } |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
353 |
1336
ceb989d64cd2
Request redraw on style attribute change.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1333
diff
changeset
|
354 |
1345
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
355 /** |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
356 * Create a property form. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
357 * @param dname The display name. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
358 * @param name The property name. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
359 * @param type The property type. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
360 * @param value The current value. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
361 * |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
362 * @return The dynamic form for the attribute property. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
363 */ |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
364 protected DynamicForm createPropertyUI( |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
365 String dname, |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
366 String name, |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
367 String type, |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
368 String value) |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
369 { |
3355
dab808e5f516
Improve validation of double-type style arguments.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3352
diff
changeset
|
370 df = new DynamicForm(); |
2472
75d19d46c3cd
Prepared the style editor for WSPLGEN themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2458
diff
changeset
|
371 df.setColWidths("40%", "60%"); |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
372 |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
373 FormItem f; |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
374 if(type.equals("int")) { |
1479
2f525f54e429
Issue 427.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1451
diff
changeset
|
375 f = new SelectItem(name, MSG.getString(name)); |
1348
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
376 if (name.equals("linesize")) { |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
377 f = createLineSizeUI(f); |
3700
dbcd14c27c8d
Transparency attribute theme fixes
Christian Lins <christian.lins@intevation.de>
parents:
3384
diff
changeset
|
378 f.setValue(value); |
1348
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
379 } |
3384
a6b7f0585761
Merge point/line label styles
Christian Lins <christian.lins@intevation.de>
parents:
3364
diff
changeset
|
380 else if (name.equals("labelfontsize")) { |
1348
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
381 LinkedHashMap<String, String> valueMap = new LinkedHashMap<String, String>(); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
382 valueMap.put("3", "3"); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
383 valueMap.put("5", "5"); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
384 valueMap.put("8", "8"); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
385 valueMap.put("10", "10"); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
386 valueMap.put("12", "12"); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
387 valueMap.put("14", "14"); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
388 valueMap.put("18", "18"); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
389 valueMap.put("24", "24"); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
390 f.setValueMap(valueMap); |
3700
dbcd14c27c8d
Transparency attribute theme fixes
Christian Lins <christian.lins@intevation.de>
parents:
3384
diff
changeset
|
391 f.setValue(value); |
1348
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
392 } |
3349
36cd7d88551a
Added bandwidth field, i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2954
diff
changeset
|
393 else if (name.equals("bandwidth")) { |
36cd7d88551a
Added bandwidth field, i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2954
diff
changeset
|
394 LinkedHashMap<String, String> valueMap = new LinkedHashMap<String, String>(); |
36cd7d88551a
Added bandwidth field, i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2954
diff
changeset
|
395 valueMap.put("0", "0"); |
36cd7d88551a
Added bandwidth field, i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2954
diff
changeset
|
396 valueMap.put("1", "1"); |
36cd7d88551a
Added bandwidth field, i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2954
diff
changeset
|
397 valueMap.put("2", "2"); |
36cd7d88551a
Added bandwidth field, i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2954
diff
changeset
|
398 valueMap.put("3", "3"); |
36cd7d88551a
Added bandwidth field, i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2954
diff
changeset
|
399 valueMap.put("4", "4"); |
36cd7d88551a
Added bandwidth field, i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2954
diff
changeset
|
400 valueMap.put("5", "5"); |
36cd7d88551a
Added bandwidth field, i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2954
diff
changeset
|
401 valueMap.put("6", "6"); |
36cd7d88551a
Added bandwidth field, i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2954
diff
changeset
|
402 valueMap.put("7", "7"); |
36cd7d88551a
Added bandwidth field, i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2954
diff
changeset
|
403 valueMap.put("8", "8"); |
36cd7d88551a
Added bandwidth field, i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2954
diff
changeset
|
404 valueMap.put("9", "9"); |
36cd7d88551a
Added bandwidth field, i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2954
diff
changeset
|
405 valueMap.put("10", "10"); |
36cd7d88551a
Added bandwidth field, i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2954
diff
changeset
|
406 valueMap.put("11", "11"); |
36cd7d88551a
Added bandwidth field, i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2954
diff
changeset
|
407 f.setValueMap(valueMap); |
3700
dbcd14c27c8d
Transparency attribute theme fixes
Christian Lins <christian.lins@intevation.de>
parents:
3384
diff
changeset
|
408 f.setValue(value); |
3349
36cd7d88551a
Added bandwidth field, i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2954
diff
changeset
|
409 } |
1495
bd6c8b06cb94
Improved the StyledEditorWindow to support a list of pointsizes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1479
diff
changeset
|
410 else if (name.equals("pointsize")) { |
bd6c8b06cb94
Improved the StyledEditorWindow to support a list of pointsizes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1479
diff
changeset
|
411 LinkedHashMap<String, String> valueMap = new LinkedHashMap<String, String>(); |
bd6c8b06cb94
Improved the StyledEditorWindow to support a list of pointsizes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1479
diff
changeset
|
412 valueMap.put("1", "1"); |
2433
47a7bdfb4d37
fix flys/issue613 . cap max point size.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1499
diff
changeset
|
413 valueMap.put("2", "2"); |
1495
bd6c8b06cb94
Improved the StyledEditorWindow to support a list of pointsizes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1479
diff
changeset
|
414 valueMap.put("3", "3"); |
2433
47a7bdfb4d37
fix flys/issue613 . cap max point size.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1499
diff
changeset
|
415 valueMap.put("4", "4"); |
1495
bd6c8b06cb94
Improved the StyledEditorWindow to support a list of pointsizes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1479
diff
changeset
|
416 valueMap.put("5", "5"); |
2433
47a7bdfb4d37
fix flys/issue613 . cap max point size.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1499
diff
changeset
|
417 valueMap.put("6", "6"); |
1495
bd6c8b06cb94
Improved the StyledEditorWindow to support a list of pointsizes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1479
diff
changeset
|
418 valueMap.put("7", "7"); |
bd6c8b06cb94
Improved the StyledEditorWindow to support a list of pointsizes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1479
diff
changeset
|
419 f.setValueMap(valueMap); |
3700
dbcd14c27c8d
Transparency attribute theme fixes
Christian Lins <christian.lins@intevation.de>
parents:
3384
diff
changeset
|
420 f.setValue(value); |
1495
bd6c8b06cb94
Improved the StyledEditorWindow to support a list of pointsizes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1479
diff
changeset
|
421 } |
4577
1c6c2ddac3d6
Work on dynamic color classes for floodmap (work in progress, not yet functional).
Christian Lins <christian.lins@intevation.de>
parents:
4433
diff
changeset
|
422 else if (name.equals("numclasses")) { |
1c6c2ddac3d6
Work on dynamic color classes for floodmap (work in progress, not yet functional).
Christian Lins <christian.lins@intevation.de>
parents:
4433
diff
changeset
|
423 LinkedHashMap<String, String> valueMap = new LinkedHashMap<String, String>(); |
1c6c2ddac3d6
Work on dynamic color classes for floodmap (work in progress, not yet functional).
Christian Lins <christian.lins@intevation.de>
parents:
4433
diff
changeset
|
424 valueMap.put("5", "5"); |
1c6c2ddac3d6
Work on dynamic color classes for floodmap (work in progress, not yet functional).
Christian Lins <christian.lins@intevation.de>
parents:
4433
diff
changeset
|
425 valueMap.put("6", "6"); |
1c6c2ddac3d6
Work on dynamic color classes for floodmap (work in progress, not yet functional).
Christian Lins <christian.lins@intevation.de>
parents:
4433
diff
changeset
|
426 valueMap.put("7", "7"); |
1c6c2ddac3d6
Work on dynamic color classes for floodmap (work in progress, not yet functional).
Christian Lins <christian.lins@intevation.de>
parents:
4433
diff
changeset
|
427 valueMap.put("8", "8"); |
1c6c2ddac3d6
Work on dynamic color classes for floodmap (work in progress, not yet functional).
Christian Lins <christian.lins@intevation.de>
parents:
4433
diff
changeset
|
428 valueMap.put("9", "9"); |
1c6c2ddac3d6
Work on dynamic color classes for floodmap (work in progress, not yet functional).
Christian Lins <christian.lins@intevation.de>
parents:
4433
diff
changeset
|
429 valueMap.put("10", "10"); |
1c6c2ddac3d6
Work on dynamic color classes for floodmap (work in progress, not yet functional).
Christian Lins <christian.lins@intevation.de>
parents:
4433
diff
changeset
|
430 valueMap.put("12", "12"); |
1c6c2ddac3d6
Work on dynamic color classes for floodmap (work in progress, not yet functional).
Christian Lins <christian.lins@intevation.de>
parents:
4433
diff
changeset
|
431 valueMap.put("14", "14"); |
1c6c2ddac3d6
Work on dynamic color classes for floodmap (work in progress, not yet functional).
Christian Lins <christian.lins@intevation.de>
parents:
4433
diff
changeset
|
432 valueMap.put("16", "16"); |
1c6c2ddac3d6
Work on dynamic color classes for floodmap (work in progress, not yet functional).
Christian Lins <christian.lins@intevation.de>
parents:
4433
diff
changeset
|
433 valueMap.put("18", "18"); |
1c6c2ddac3d6
Work on dynamic color classes for floodmap (work in progress, not yet functional).
Christian Lins <christian.lins@intevation.de>
parents:
4433
diff
changeset
|
434 valueMap.put("20", "20"); |
1c6c2ddac3d6
Work on dynamic color classes for floodmap (work in progress, not yet functional).
Christian Lins <christian.lins@intevation.de>
parents:
4433
diff
changeset
|
435 f.setValueMap(valueMap); |
1c6c2ddac3d6
Work on dynamic color classes for floodmap (work in progress, not yet functional).
Christian Lins <christian.lins@intevation.de>
parents:
4433
diff
changeset
|
436 f.setValue(value); |
1c6c2ddac3d6
Work on dynamic color classes for floodmap (work in progress, not yet functional).
Christian Lins <christian.lins@intevation.de>
parents:
4433
diff
changeset
|
437 } |
4687
b3d7d5289b7f
Display all 'tranparency' attributes.
Raimund Renkert <rrenkert@intevation.de>
parents:
4666
diff
changeset
|
438 else if (name.contains("transparency")) { |
3700
dbcd14c27c8d
Transparency attribute theme fixes
Christian Lins <christian.lins@intevation.de>
parents:
3384
diff
changeset
|
439 LinkedHashMap<String, String> valueMap = new LinkedHashMap<String, String>(); |
dbcd14c27c8d
Transparency attribute theme fixes
Christian Lins <christian.lins@intevation.de>
parents:
3384
diff
changeset
|
440 for (int n = 10; n < 100; n += 10) { |
dbcd14c27c8d
Transparency attribute theme fixes
Christian Lins <christian.lins@intevation.de>
parents:
3384
diff
changeset
|
441 valueMap.put(Integer.toString(n), n + "%"); |
dbcd14c27c8d
Transparency attribute theme fixes
Christian Lins <christian.lins@intevation.de>
parents:
3384
diff
changeset
|
442 } |
dbcd14c27c8d
Transparency attribute theme fixes
Christian Lins <christian.lins@intevation.de>
parents:
3384
diff
changeset
|
443 f.setValueMap(valueMap); |
3702
394e1a9915ec
Transparency combobox appearence fix for #840.
Christian Lins <christian.lins@intevation.de>
parents:
3700
diff
changeset
|
444 f.setValue(value); |
3700
dbcd14c27c8d
Transparency attribute theme fixes
Christian Lins <christian.lins@intevation.de>
parents:
3384
diff
changeset
|
445 } |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
446 } |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
447 else if (type.equals("boolean")) { |
1359
5ebcf5b3fc10
Display new attributes in editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1357
diff
changeset
|
448 if(name.equals("textorientation")) { |
1479
2f525f54e429
Issue 427.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1451
diff
changeset
|
449 f = new SelectItem(name, MSG.getString(name)); |
1359
5ebcf5b3fc10
Display new attributes in editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1357
diff
changeset
|
450 LinkedHashMap<String, String> valueMap = new LinkedHashMap<String, String>(); |
3703
4e32de1b6a9e
Fix for line label text in Delta W(t) chart (#837).
Christian Lins <christian.lins@intevation.de>
parents:
3702
diff
changeset
|
451 valueMap.put("true", MSG.getString("horizontal")); |
4e32de1b6a9e
Fix for line label text in Delta W(t) chart (#837).
Christian Lins <christian.lins@intevation.de>
parents:
3702
diff
changeset
|
452 valueMap.put("false", MSG.getString("vertical")); |
1359
5ebcf5b3fc10
Display new attributes in editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1357
diff
changeset
|
453 f.setValueMap(valueMap); |
5ebcf5b3fc10
Display new attributes in editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1357
diff
changeset
|
454 f.setValue(value); |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
455 } |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
456 else { |
1479
2f525f54e429
Issue 427.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1451
diff
changeset
|
457 CheckboxItem c = new CheckboxItem(name, MSG.getString(name)); |
1359
5ebcf5b3fc10
Display new attributes in editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1357
diff
changeset
|
458 if(value.equals("true")) { |
5ebcf5b3fc10
Display new attributes in editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1357
diff
changeset
|
459 c.setValue(true); |
5ebcf5b3fc10
Display new attributes in editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1357
diff
changeset
|
460 } |
5ebcf5b3fc10
Display new attributes in editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1357
diff
changeset
|
461 else { |
5ebcf5b3fc10
Display new attributes in editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1357
diff
changeset
|
462 c.setValue(false); |
5ebcf5b3fc10
Display new attributes in editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1357
diff
changeset
|
463 } |
5ebcf5b3fc10
Display new attributes in editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1357
diff
changeset
|
464 c.setLabelAsTitle(true); |
5ebcf5b3fc10
Display new attributes in editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1357
diff
changeset
|
465 f = c; |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
466 } |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
467 } |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
468 else if (type.equals("Color")) { |
1479
2f525f54e429
Issue 427.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1451
diff
changeset
|
469 ColorPickerItem c = new ColorPickerItem(name, MSG.getString(name)); |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
470 c.setValue(rgbToHtml(value)); |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
471 f = c; |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
472 } |
3352
2f533220af1c
Handle upcoming 'double' theme attribute type.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3349
diff
changeset
|
473 else if (type.equals("double")) { |
3355
dab808e5f516
Improve validation of double-type style arguments.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3352
diff
changeset
|
474 f = new FormItem(name); |
dab808e5f516
Improve validation of double-type style arguments.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3352
diff
changeset
|
475 IsFloatValidator fpv = new IsFloatValidator(); |
dab808e5f516
Improve validation of double-type style arguments.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3352
diff
changeset
|
476 |
dab808e5f516
Improve validation of double-type style arguments.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3352
diff
changeset
|
477 f.setValidators(fpv); |
dab808e5f516
Improve validation of double-type style arguments.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3352
diff
changeset
|
478 f.setValidateOnChange(true); |
dab808e5f516
Improve validation of double-type style arguments.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3352
diff
changeset
|
479 f.setTitle(MSG.getString(name)); |
3352
2f533220af1c
Handle upcoming 'double' theme attribute type.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3349
diff
changeset
|
480 f.addBlurHandler(new BlurHandler() { |
3384
a6b7f0585761
Merge point/line label styles
Christian Lins <christian.lins@intevation.de>
parents:
3364
diff
changeset
|
481 @Override |
3352
2f533220af1c
Handle upcoming 'double' theme attribute type.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3349
diff
changeset
|
482 public void onBlur(BlurEvent e) { |
2f533220af1c
Handle upcoming 'double' theme attribute type.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3349
diff
changeset
|
483 DoubleValidator validator = new DoubleValidator(); |
3384
a6b7f0585761
Merge point/line label styles
Christian Lins <christian.lins@intevation.de>
parents:
3364
diff
changeset
|
484 Map<?, ?> errors = e.getForm().getErrors(); |
3352
2f533220af1c
Handle upcoming 'double' theme attribute type.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3349
diff
changeset
|
485 if(validator.validate(e.getItem(), errors)) { |
2f533220af1c
Handle upcoming 'double' theme attribute type.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3349
diff
changeset
|
486 e.getForm().setErrors(errors, true); |
2f533220af1c
Handle upcoming 'double' theme attribute type.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3349
diff
changeset
|
487 } |
2f533220af1c
Handle upcoming 'double' theme attribute type.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3349
diff
changeset
|
488 else { |
2f533220af1c
Handle upcoming 'double' theme attribute type.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3349
diff
changeset
|
489 e.getForm().setErrors(errors, true); |
2f533220af1c
Handle upcoming 'double' theme attribute type.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3349
diff
changeset
|
490 } |
2f533220af1c
Handle upcoming 'double' theme attribute type.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3349
diff
changeset
|
491 } |
2f533220af1c
Handle upcoming 'double' theme attribute type.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3349
diff
changeset
|
492 }); |
3364
b31b0d249d21
Set previously selected values for bandwidth theme-prop.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3355
diff
changeset
|
493 f.setValue(value); |
3352
2f533220af1c
Handle upcoming 'double' theme attribute type.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3349
diff
changeset
|
494 } |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
495 else if (type.equals("Dash")) { |
1479
2f525f54e429
Issue 427.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1451
diff
changeset
|
496 f = new SelectItem(name, MSG.getString(name)); |
1341
e26088566e8a
Use images for line type and line size selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1339
diff
changeset
|
497 LinkedHashMap<String, String> valueIcons = new LinkedHashMap<String, String>(); |
e26088566e8a
Use images for line type and line size selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1339
diff
changeset
|
498 f.setImageURLPrefix(GWT.getHostPageBaseURL() + "images/linestyle-dash-"); |
e26088566e8a
Use images for line type and line size selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1339
diff
changeset
|
499 f.setImageURLSuffix(".png"); |
e26088566e8a
Use images for line type and line size selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1339
diff
changeset
|
500 f.setValueIconHeight(20); |
e26088566e8a
Use images for line type and line size selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1339
diff
changeset
|
501 f.setValueIconWidth(80); |
1348
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
502 LinkedHashMap<String, String> valueMap = new LinkedHashMap<String, String>(); |
1341
e26088566e8a
Use images for line type and line size selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1339
diff
changeset
|
503 valueMap.put("10", ""); |
e26088566e8a
Use images for line type and line size selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1339
diff
changeset
|
504 valueMap.put("10,5", ""); |
e26088566e8a
Use images for line type and line size selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1339
diff
changeset
|
505 valueMap.put("20,10", ""); |
e26088566e8a
Use images for line type and line size selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1339
diff
changeset
|
506 valueMap.put("30,10", ""); |
e26088566e8a
Use images for line type and line size selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1339
diff
changeset
|
507 valueMap.put("20,5,15,5", ""); |
e26088566e8a
Use images for line type and line size selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1339
diff
changeset
|
508 valueIcons.put("10", "10"); |
e26088566e8a
Use images for line type and line size selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1339
diff
changeset
|
509 valueIcons.put("10,5", "10-5"); |
e26088566e8a
Use images for line type and line size selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1339
diff
changeset
|
510 valueIcons.put("20,10", "20-10"); |
e26088566e8a
Use images for line type and line size selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1339
diff
changeset
|
511 valueIcons.put("30,10", "30-10"); |
e26088566e8a
Use images for line type and line size selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1339
diff
changeset
|
512 valueIcons.put("20,5,15,5", "20-5-15-5"); |
e26088566e8a
Use images for line type and line size selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1339
diff
changeset
|
513 f.setValueIcons(valueIcons); |
e26088566e8a
Use images for line type and line size selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1339
diff
changeset
|
514 f.setValueMap(valueMap); |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
515 f.setValue(value); |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
516 } |
1348
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
517 else if (type.equals("Font")) { |
1479
2f525f54e429
Issue 427.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1451
diff
changeset
|
518 f = new SelectItem(name, MSG.getString(name)); |
1348
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
519 LinkedHashMap<String, String> valueMap = new LinkedHashMap<String, String>(); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
520 valueMap.put("arial", "<span style='font-family:arial'>Arial</span>"); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
521 valueMap.put("courier", "<span style='font-family:courier'>Courier</span>"); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
522 valueMap.put("verdana", "<span style='font-family:verdana'>Verdana</span>"); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
523 valueMap.put("times", "<span style='font-family:times'>Times</span>"); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
524 f.setValueMap(valueMap); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
525 f.setValue(value); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
526 } |
1359
5ebcf5b3fc10
Display new attributes in editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1357
diff
changeset
|
527 else if (type.equals("Style")) { |
1479
2f525f54e429
Issue 427.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1451
diff
changeset
|
528 f = new SelectItem(name, MSG.getString(name)); |
1359
5ebcf5b3fc10
Display new attributes in editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1357
diff
changeset
|
529 LinkedHashMap<String, String> valueMap = new LinkedHashMap<String, String>(); |
5ebcf5b3fc10
Display new attributes in editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1357
diff
changeset
|
530 valueMap.put("standard", "<span style='font-style:normal'>Normal</span>"); |
5ebcf5b3fc10
Display new attributes in editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1357
diff
changeset
|
531 valueMap.put("bold", "<span style='font-weight:bold'>Bold</span>"); |
5ebcf5b3fc10
Display new attributes in editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1357
diff
changeset
|
532 valueMap.put("italic", "<span style='font-style:italic'>Italic</span>"); |
5ebcf5b3fc10
Display new attributes in editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1357
diff
changeset
|
533 f.setValueMap(valueMap); |
5ebcf5b3fc10
Display new attributes in editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1357
diff
changeset
|
534 f.setValue(value); |
5ebcf5b3fc10
Display new attributes in editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1357
diff
changeset
|
535 } |
2458
208f923032ac
Issue 493.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2433
diff
changeset
|
536 else if (type.equals("Symbol")) { |
208f923032ac
Issue 493.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2433
diff
changeset
|
537 //create an empty element as long as this property can not be |
208f923032ac
Issue 493.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2433
diff
changeset
|
538 //changed. |
208f923032ac
Issue 493.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2433
diff
changeset
|
539 f = new StaticTextItem(""); |
208f923032ac
Issue 493.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2433
diff
changeset
|
540 } |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
541 else { |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
542 f = new FormItem(); |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
543 } |
2472
75d19d46c3cd
Prepared the style editor for WSPLGEN themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2458
diff
changeset
|
544 f.setTitleStyle("color:#000;"); |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
545 f.setTitleAlign(Alignment.LEFT); |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
546 df.setFields(f); |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
547 df.addItemChangedHandler(new ItemChangedHandler() { |
2954
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
548 @Override |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
549 public void onItemChanged(ItemChangedEvent e) { |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
550 String name = e.getItem().getName(); |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
551 String newValue = e.getNewValue().toString(); |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
552 setNewValue(name, newValue); |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
553 } |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
554 }); |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
555 |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
556 return df; |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
557 } |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
558 |
1333
1627a28c4504
Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1326
diff
changeset
|
559 |
1348
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
560 protected FormItem createLineSizeUI(FormItem f) { |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
561 LinkedHashMap<String, String> valueIcons = new LinkedHashMap<String, String>(); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
562 f.setImageURLPrefix(GWT.getHostPageBaseURL() + "images/linestyle-"); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
563 f.setImageURLSuffix("px.png"); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
564 f.setValueIconHeight(20); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
565 f.setValueIconWidth(80); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
566 LinkedHashMap<String, String> valueMap = new LinkedHashMap<String, String>(); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
567 valueMap.put("1", ""); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
568 valueMap.put("2", ""); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
569 valueMap.put("3", ""); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
570 valueMap.put("4", ""); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
571 valueMap.put("5", ""); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
572 valueMap.put("6", ""); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
573 valueMap.put("7", ""); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
574 valueMap.put("8", ""); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
575 valueIcons.put("1", "1"); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
576 valueIcons.put("2", "2"); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
577 valueIcons.put("3", "3"); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
578 valueIcons.put("4", "4"); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
579 valueIcons.put("5", "5"); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
580 valueIcons.put("6", "6"); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
581 valueIcons.put("7", "7"); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
582 valueIcons.put("8", "8"); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
583 f.setValueIcons(valueIcons); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
584 f.setValueMap(valueMap); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
585 return f; |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
586 } |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
587 |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
588 |
1345
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
589 /** |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
590 * Static method to convert a color from RGB to HTML notation. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
591 * @param rgb String in RGB notation. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
592 * |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
593 * @return String in HTML notation. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
594 */ |
1333
1627a28c4504
Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1326
diff
changeset
|
595 protected static String rgbToHtml(String rgb) { |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
596 String[] parts = rgb.split(","); |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
597 int values[] = new int[parts.length]; |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
598 for (int i = 0; i < parts.length; i++) { |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
599 parts[i] = parts[i].trim(); |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
600 try { |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
601 values[i] = Integer.parseInt(parts[i]); |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
602 } |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
603 catch(NumberFormatException nfe) { |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
604 return "#000000"; |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
605 } |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
606 } |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
607 String hex = "#"; |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
608 for (int i = 0; i < values.length; i++) { |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
609 if (values[i] < 16) { |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
610 hex += "0"; |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
611 } |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
612 hex += Integer.toHexString(values[i]); |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
613 } |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
614 return hex; |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
615 } |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
616 |
1333
1627a28c4504
Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1326
diff
changeset
|
617 |
1345
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
618 /** |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
619 * Static method to convert a color from HTML to RGB notation. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
620 * @param html String in HTML notation. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
621 * |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
622 * @return String in RGB notation. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
623 */ |
1333
1627a28c4504
Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1326
diff
changeset
|
624 protected static String htmlToRgb(String html) { |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
625 if (!html.startsWith("#")) { |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
626 return "0, 0, 0"; |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
627 } |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
628 |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
629 int r = Integer.valueOf(html.substring(1, 3), 16); |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
630 int g = Integer.valueOf(html.substring(3, 5), 16); |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
631 int b = Integer.valueOf(html.substring(5, 7), 16); |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
632 |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
633 return r + ", " + g + ", " + b; |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
634 } |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
635 |
1333
1627a28c4504
Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1326
diff
changeset
|
636 |
1345
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
637 /** |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
638 * Saves the current style attributes and requests a redraw. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
639 */ |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
640 protected void saveStyle () { |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
641 GWT.log("StyleEditorWindow.saveStyle()"); |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
642 Config config = Config.getInstance(); |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
643 String locale = config.getLocale(); |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
644 |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
645 itemAttributeService.setCollectionItemAttribute( |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
646 this.collection, |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
647 attributes.getArtifact(), |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
648 locale, |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
649 attributes, |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
650 new AsyncCallback<Void>() { |
2954
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
651 @Override |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
652 public void onFailure (Throwable caught) { |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
653 GWT.log("Could not set Collection item attributes."); |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
654 } |
2954
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
655 @Override |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
656 public void onSuccess(Void v) { |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
657 GWT.log("Successfully saved collection item attributes."); |
1336
ceb989d64cd2
Request redraw on style attribute change.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1333
diff
changeset
|
658 panel.requestRedraw(); |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
659 } |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
660 }); |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
661 |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
662 |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
663 this.hide(); |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
664 } |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
665 |
1333
1627a28c4504
Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1326
diff
changeset
|
666 |
1345
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
667 /** |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
668 * Sets a new value for an attribute. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
669 * @param name Attribute name. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
670 * @param value The new value. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
671 */ |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
672 protected final void setNewValue(String name, String value) { |
1326
974c6b3700de
Use the theme index to identify the correct style.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1309
diff
changeset
|
673 Theme t = facet.getTheme(); |
974c6b3700de
Use the theme index to identify the correct style.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1309
diff
changeset
|
674 Style s = attributes.getStyle(t.getFacet(), t.getIndex()); |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
675 StyleSetting set = s.getSetting(name); |
2472
75d19d46c3cd
Prepared the style editor for WSPLGEN themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2458
diff
changeset
|
676 String type = set.getType(); |
75d19d46c3cd
Prepared the style editor for WSPLGEN themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2458
diff
changeset
|
677 |
75d19d46c3cd
Prepared the style editor for WSPLGEN themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2458
diff
changeset
|
678 if(name.indexOf("color") != -1 |
75d19d46c3cd
Prepared the style editor for WSPLGEN themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2458
diff
changeset
|
679 || (type != null && type.toLowerCase().indexOf("color") > -1)) { |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
680 value = htmlToRgb(value); |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
681 } |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
682 set.setDefaultValue(value); |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
683 } |
2540
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
684 |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
685 |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
686 protected final void setNewStyle(Style style) { |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
687 Theme t = facet.getTheme(); |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
688 Style s = attributes.getStyle(t.getFacet(), t.getIndex()); |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
689 attributes.removeStyle(s.getName()); |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
690 attributes.appendStyle(style); |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
691 } |
1309
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
692 } |
a95e82d6bcc1
Refactored the code to create a context menu and a style editor so that it is also available for maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
693 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |