Mercurial > dive4elements > river
annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/StyleEditorWindow.java @ 5818:a4ff4167be1e
Request feature info on all layers and show it as html if
the server does not return valid gml.
Non queryable layers produce an error message when the request
fails. This is good enough
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Wed, 24 Apr 2013 17:33:27 +0200 |
parents | 995320711d80 |
children |
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; |
5658
995320711d80
Temporary remove classification from floodmap plane theme editor (#801).
Christian Lins <christian.lins@intevation.de>
parents:
4697
diff
changeset
|
5 |
2954
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
6 import com.smartgwt.client.types.Alignment; |
1499
0372797fc9cf
Avoid NPE in StyleEditorWindow.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1495
diff
changeset
|
7 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
|
8 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
|
9 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
|
10 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
|
11 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
|
12 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
|
13 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
|
14 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
|
15 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
|
16 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
|
17 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
|
18 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
|
19 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
|
20 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
|
21 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
|
22 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
|
23 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
|
24 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
|
25 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
|
26 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
|
27 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
|
28 |
2954
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.Config; |
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.FLYSConstants; |
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.CollectionItemAttributeService; |
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.CollectionItemAttributeServiceAsync; |
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.ThemeListingService; |
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
34 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
|
35 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
|
36 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
|
37 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
|
38 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
|
39 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
|
40 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
|
41 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
|
42 |
2954
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.Arrays; |
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.Iterator; |
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.LinkedHashMap; |
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.Map; |
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
47 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
|
48 |
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
|
49 /** |
3384
a6b7f0585761
Merge point/line label styles
Christian Lins <christian.lins@intevation.de>
parents:
3364
diff
changeset
|
50 * 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
|
51 * @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
|
52 */ |
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 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
|
54 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
|
55 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
|
56 { |
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 /** 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
|
58 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
|
59 |
1333
1627a28c4504
Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1326
diff
changeset
|
60 /** 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
|
61 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
|
62 |
1336
ceb989d64cd2
Request redraw on style attribute change.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1333
diff
changeset
|
63 /** The parent ThemePanel. */ |
ceb989d64cd2
Request redraw on style attribute change.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1333
diff
changeset
|
64 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
|
65 |
1333
1627a28c4504
Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1326
diff
changeset
|
66 /** 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
|
67 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
|
68 |
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 /** 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
|
70 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
|
71 |
1333
1627a28c4504
Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1326
diff
changeset
|
72 /** 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
|
73 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
|
74 |
3355
dab808e5f516
Improve validation of double-type style arguments.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3352
diff
changeset
|
75 /** 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
|
76 protected DynamicForm df; |
3355
dab808e5f516
Improve validation of double-type style arguments.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3352
diff
changeset
|
77 |
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
|
78 protected VLayout properties; |
3355
dab808e5f516
Improve validation of double-type style arguments.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3352
diff
changeset
|
79 |
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
|
80 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
|
81 |
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 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
|
83 |
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 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
|
85 |
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 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
|
87 |
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
|
88 /** 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
|
89 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
|
90 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
|
91 |
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
|
92 /** 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
|
93 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
|
94 GWT.create(ThemeListingService.class); |
1333
1627a28c4504
Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1326
diff
changeset
|
95 |
3355
dab808e5f516
Improve validation of double-type style arguments.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3352
diff
changeset
|
96 |
1345
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
97 /** |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
98 * Setup editor dialog. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
99 * @param collection The collection the current theme belongs to. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
100 * @param attributes The collection attributes. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
101 * @param facet The selected facet. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
102 */ |
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
|
103 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
|
104 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
|
105 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
|
106 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
|
107 { |
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.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
|
109 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
|
110 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
|
111 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
|
112 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
|
113 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
|
114 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
|
115 |
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
|
116 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
|
117 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
|
118 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
|
119 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
|
120 @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
|
121 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
|
122 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
|
123 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
|
124 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
|
125 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
|
126 } |
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 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
|
128 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
|
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 |
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 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
|
132 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
|
133 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
|
134 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
|
135 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
|
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 |
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 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
|
141 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
|
142 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
|
143 |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
144 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
|
145 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
|
146 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
|
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 |
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
|
149 |
1345
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
150 /** |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
151 * Initialize the window and set the layout. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
152 */ |
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
|
153 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
|
154 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
|
155 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
|
156 setCanDragResize(true); |
1381
4459901e4ec0
Updated the theme editor window layout.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1380
diff
changeset
|
157 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
|
158 |
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.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
|
160 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
|
161 |
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 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
|
163 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
|
164 |
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 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
|
166 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
|
167 if(style == null) { |
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
168 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
|
169 return; |
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
170 } |
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
|
171 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
|
172 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
|
173 |
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 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
|
175 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
|
176 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
|
177 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
|
178 @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
|
179 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
|
180 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
|
181 } |
2954
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
182 @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
|
183 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
|
184 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
|
185 |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
186 styleGroups = list; |
2954
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
187 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
|
188 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
|
189 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
|
190 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
|
191 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
|
192 while (iter.hasNext()) { |
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
193 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
|
194 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
|
195 tmp.setFacet(current.getFacet()); |
d632a6526ad9
Set the facet and the index to valid values.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2540
diff
changeset
|
196 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
|
197 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
|
198 } |
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 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
|
200 } |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
201 }); |
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
|
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 |
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
|
204 |
1345
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
205 /** |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
206 * Initialize the static window content like buttons and main layout. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
207 */ |
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
|
208 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
|
209 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
|
210 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
|
211 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
|
212 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
|
213 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
|
214 @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
|
215 public void onClick(ClickEvent e) { |
3355
dab808e5f516
Improve validation of double-type style arguments.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3352
diff
changeset
|
216 // 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
|
217 // (always valid). |
4697
52068f1231da
Fixed NPE in empty style editor window.
Raimund Renkert <rrenkert@intevation.de>
parents:
4687
diff
changeset
|
218 if (df == null) { |
52068f1231da
Fixed NPE in empty style editor window.
Raimund Renkert <rrenkert@intevation.de>
parents:
4687
diff
changeset
|
219 return; |
52068f1231da
Fixed NPE in empty style editor window.
Raimund Renkert <rrenkert@intevation.de>
parents:
4687
diff
changeset
|
220 } |
3355
dab808e5f516
Improve validation of double-type style arguments.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3352
diff
changeset
|
221 if (!df.hasErrors() && df.validate()) { |
dab808e5f516
Improve validation of double-type style arguments.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3352
diff
changeset
|
222 saveStyle(); |
dab808e5f516
Improve validation of double-type style arguments.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3352
diff
changeset
|
223 } |
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
|
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 |
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(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
|
228 buttons.addMember(cancel); |
1381
4459901e4ec0
Updated the theme editor window layout.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1380
diff
changeset
|
229 buttons.setAlign(Alignment.CENTER); |
4459901e4ec0
Updated the theme editor window layout.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1380
diff
changeset
|
230 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
|
231 |
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
|
232 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
|
233 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
|
234 |
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
|
235 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
|
236 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
|
237 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
|
238 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
|
239 addItem(layout); |
2472
75d19d46c3cd
Prepared the style editor for WSPLGEN themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2458
diff
changeset
|
240 setWidth(400); |
1381
4459901e4ec0
Updated the theme editor window layout.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1380
diff
changeset
|
241 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
|
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 |
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
|
244 |
1345
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
245 /** |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
246 * Setter for the parent panel. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
247 * @param panel The panel. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
248 */ |
1336
ceb989d64cd2
Request redraw on style attribute change.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1333
diff
changeset
|
249 public void setThemePanel (ThemePanel panel) { |
ceb989d64cd2
Request redraw on style attribute change.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1333
diff
changeset
|
250 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
|
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 |
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
|
253 |
1345
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
254 /** |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
255 * this method is called when the user aborts theming. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
256 * @param event The event. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
257 */ |
2954
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
258 @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
|
259 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
|
260 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
|
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 |
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
|
263 |
1345
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
264 /** |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
265 * This method creates the property grid for available styling attributes. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
266 * @return The layout containing the UI elements. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
267 */ |
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
|
268 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
|
269 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
|
270 |
1337
9bf72f84728d
Show theme name in static text field.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1336
diff
changeset
|
271 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
|
272 name.setValue(facet.getName()); |
2472
75d19d46c3cd
Prepared the style editor for WSPLGEN themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2458
diff
changeset
|
273 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
|
274 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
|
275 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
|
276 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
|
277 |
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
|
278 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
|
279 form.setFields(name); |
2472
75d19d46c3cd
Prepared the style editor for WSPLGEN themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2458
diff
changeset
|
280 form.setColWidths("40%", "60%"); |
75d19d46c3cd
Prepared the style editor for WSPLGEN themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2458
diff
changeset
|
281 |
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
|
282 |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
283 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
|
284 |
1499
0372797fc9cf
Avoid NPE in StyleEditorWindow.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1495
diff
changeset
|
285 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
|
286 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
|
287 return vl; |
1499
0372797fc9cf
Avoid NPE in StyleEditorWindow.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1495
diff
changeset
|
288 } |
0372797fc9cf
Avoid NPE in StyleEditorWindow.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1495
diff
changeset
|
289 |
1451
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
290 // 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
|
291 String[] sets = {"showlines", |
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
292 "showpoints", |
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
293 "linetype", |
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
294 "linesize", |
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
295 "linecolor", |
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
296 "font", |
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
297 "textstyle", |
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
298 "textsize", |
2908
cd068ff7966d
Show only style attributes in StyleEditorWindow that are not 'hidden'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2543
diff
changeset
|
299 "pointcolor", |
1495
bd6c8b06cb94
Improved the StyledEditorWindow to support a list of pointsizes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1479
diff
changeset
|
300 "pointsize", |
4666
28eb979ae31b
Reordered some attributes in editor ui and use the hidden attribute.
Raimund Renkert <rrenkert@intevation.de>
parents:
4577
diff
changeset
|
301 "showpointlabel", |
1451
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
302 "textcolor", |
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
303 "backgroundcolor", |
2499
8f36d4b5890c
Define order for linelabel theme properties.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2472
diff
changeset
|
304 "showbackground", |
8f36d4b5890c
Define order for linelabel theme properties.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2472
diff
changeset
|
305 "showlinelabel", |
3384
a6b7f0585761
Merge point/line label styles
Christian Lins <christian.lins@intevation.de>
parents:
3364
diff
changeset
|
306 "labelfontface", |
a6b7f0585761
Merge point/line label styles
Christian Lins <christian.lins@intevation.de>
parents:
3364
diff
changeset
|
307 "labelfontcolor", |
a6b7f0585761
Merge point/line label styles
Christian Lins <christian.lins@intevation.de>
parents:
3364
diff
changeset
|
308 "labelfontsize", |
a6b7f0585761
Merge point/line label styles
Christian Lins <christian.lins@intevation.de>
parents:
3364
diff
changeset
|
309 "labelfontstyle", |
3703
4e32de1b6a9e
Fix for line label text in Delta W(t) chart (#837).
Christian Lins <christian.lins@intevation.de>
parents:
3702
diff
changeset
|
310 "textorientation", |
3384
a6b7f0585761
Merge point/line label styles
Christian Lins <christian.lins@intevation.de>
parents:
3364
diff
changeset
|
311 "labelshowbg", |
a6b7f0585761
Merge point/line label styles
Christian Lins <christian.lins@intevation.de>
parents:
3364
diff
changeset
|
312 "labelbgcolor", |
4666
28eb979ae31b
Reordered some attributes in editor ui and use the hidden attribute.
Raimund Renkert <rrenkert@intevation.de>
parents:
4577
diff
changeset
|
313 "bandwidth", |
3364
b31b0d249d21
Set previously selected values for bandwidth theme-prop.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3355
diff
changeset
|
314 "bandwidthcolor", |
4666
28eb979ae31b
Reordered some attributes in editor ui and use the hidden attribute.
Raimund Renkert <rrenkert@intevation.de>
parents:
4577
diff
changeset
|
315 "transparency", |
28eb979ae31b
Reordered some attributes in editor ui and use the hidden attribute.
Raimund Renkert <rrenkert@intevation.de>
parents:
4577
diff
changeset
|
316 "showminimum", |
28eb979ae31b
Reordered some attributes in editor ui and use the hidden attribute.
Raimund Renkert <rrenkert@intevation.de>
parents:
4577
diff
changeset
|
317 "showmaximum"}; |
1451
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
318 |
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
319 for (String settingName: sets) { |
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
320 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
|
321 |
2908
cd068ff7966d
Show only style attributes in StyleEditorWindow that are not 'hidden'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2543
diff
changeset
|
322 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
|
323 continue; |
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 |
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
326 DynamicForm property = createPropertyUI( |
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
327 set.getDisplayName(), |
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
328 set.getName(), |
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
329 set.getType(), |
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
330 set.getDefaultValue()); |
5658
995320711d80
Temporary remove classification from floodmap plane theme editor (#801).
Christian Lins <christian.lins@intevation.de>
parents:
4697
diff
changeset
|
331 if (property != null) { |
995320711d80
Temporary remove classification from floodmap plane theme editor (#801).
Christian Lins <christian.lins@intevation.de>
parents:
4697
diff
changeset
|
332 vl.addMember(property); |
995320711d80
Temporary remove classification from floodmap plane theme editor (#801).
Christian Lins <christian.lins@intevation.de>
parents:
4697
diff
changeset
|
333 } |
1451
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
334 } |
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
335 |
bc830e564b6d
Restore feature that was optimized away by last commit.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1450
diff
changeset
|
336 // 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
|
337 for (StyleSetting set: style.getSettings()) { |
1380
2d617c48ca5f
Issue 400.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1360
diff
changeset
|
338 |
4666
28eb979ae31b
Reordered some attributes in editor ui and use the hidden attribute.
Raimund Renkert <rrenkert@intevation.de>
parents:
4577
diff
changeset
|
339 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
|
340 set == null || |
28eb979ae31b
Reordered some attributes in editor ui and use the hidden attribute.
Raimund Renkert <rrenkert@intevation.de>
parents:
4577
diff
changeset
|
341 set.isHidden() |
28eb979ae31b
Reordered some attributes in editor ui and use the hidden attribute.
Raimund Renkert <rrenkert@intevation.de>
parents:
4577
diff
changeset
|
342 ) { |
1380
2d617c48ca5f
Issue 400.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1360
diff
changeset
|
343 continue; |
2d617c48ca5f
Issue 400.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1360
diff
changeset
|
344 } |
2d617c48ca5f
Issue 400.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1360
diff
changeset
|
345 |
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
|
346 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
|
347 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
|
348 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
|
349 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
|
350 set.getDefaultValue()); |
5658
995320711d80
Temporary remove classification from floodmap plane theme editor (#801).
Christian Lins <christian.lins@intevation.de>
parents:
4697
diff
changeset
|
351 if (property != null) { |
995320711d80
Temporary remove classification from floodmap plane theme editor (#801).
Christian Lins <christian.lins@intevation.de>
parents:
4697
diff
changeset
|
352 vl.addMember(property); |
995320711d80
Temporary remove classification from floodmap plane theme editor (#801).
Christian Lins <christian.lins@intevation.de>
parents:
4697
diff
changeset
|
353 } |
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
|
354 } |
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
|
355 |
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
|
356 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
|
357 } |
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
|
358 |
1336
ceb989d64cd2
Request redraw on style attribute change.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1333
diff
changeset
|
359 |
1345
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
360 /** |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
361 * Create a property form. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
362 * @param dname The display name. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
363 * @param name The property name. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
364 * @param type The property type. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
365 * @param value The current value. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
366 * |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
367 * @return The dynamic form for the attribute property. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
368 */ |
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
|
369 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
|
370 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
|
371 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
|
372 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
|
373 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
|
374 { |
3355
dab808e5f516
Improve validation of double-type style arguments.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3352
diff
changeset
|
375 df = new DynamicForm(); |
2472
75d19d46c3cd
Prepared the style editor for WSPLGEN themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2458
diff
changeset
|
376 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
|
377 |
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
|
378 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
|
379 if(type.equals("int")) { |
1479
2f525f54e429
Issue 427.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1451
diff
changeset
|
380 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
|
381 if (name.equals("linesize")) { |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
382 f = createLineSizeUI(f); |
3700
dbcd14c27c8d
Transparency attribute theme fixes
Christian Lins <christian.lins@intevation.de>
parents:
3384
diff
changeset
|
383 f.setValue(value); |
1348
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
384 } |
3384
a6b7f0585761
Merge point/line label styles
Christian Lins <christian.lins@intevation.de>
parents:
3364
diff
changeset
|
385 else if (name.equals("labelfontsize")) { |
1348
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
386 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
|
387 valueMap.put("3", "3"); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
388 valueMap.put("5", "5"); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
389 valueMap.put("8", "8"); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
390 valueMap.put("10", "10"); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
391 valueMap.put("12", "12"); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
392 valueMap.put("14", "14"); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
393 valueMap.put("18", "18"); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
394 valueMap.put("24", "24"); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
395 f.setValueMap(valueMap); |
3700
dbcd14c27c8d
Transparency attribute theme fixes
Christian Lins <christian.lins@intevation.de>
parents:
3384
diff
changeset
|
396 f.setValue(value); |
1348
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
397 } |
3349
36cd7d88551a
Added bandwidth field, i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2954
diff
changeset
|
398 else if (name.equals("bandwidth")) { |
36cd7d88551a
Added bandwidth field, i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2954
diff
changeset
|
399 LinkedHashMap<String, String> valueMap = new LinkedHashMap<String, String>(); |
36cd7d88551a
Added bandwidth field, i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2954
diff
changeset
|
400 valueMap.put("0", "0"); |
36cd7d88551a
Added bandwidth field, i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2954
diff
changeset
|
401 valueMap.put("1", "1"); |
36cd7d88551a
Added bandwidth field, i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2954
diff
changeset
|
402 valueMap.put("2", "2"); |
36cd7d88551a
Added bandwidth field, i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2954
diff
changeset
|
403 valueMap.put("3", "3"); |
36cd7d88551a
Added bandwidth field, i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2954
diff
changeset
|
404 valueMap.put("4", "4"); |
36cd7d88551a
Added bandwidth field, i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2954
diff
changeset
|
405 valueMap.put("5", "5"); |
36cd7d88551a
Added bandwidth field, i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2954
diff
changeset
|
406 valueMap.put("6", "6"); |
36cd7d88551a
Added bandwidth field, i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2954
diff
changeset
|
407 valueMap.put("7", "7"); |
36cd7d88551a
Added bandwidth field, i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2954
diff
changeset
|
408 valueMap.put("8", "8"); |
36cd7d88551a
Added bandwidth field, i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2954
diff
changeset
|
409 valueMap.put("9", "9"); |
36cd7d88551a
Added bandwidth field, i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2954
diff
changeset
|
410 valueMap.put("10", "10"); |
36cd7d88551a
Added bandwidth field, i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2954
diff
changeset
|
411 valueMap.put("11", "11"); |
36cd7d88551a
Added bandwidth field, i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2954
diff
changeset
|
412 f.setValueMap(valueMap); |
3700
dbcd14c27c8d
Transparency attribute theme fixes
Christian Lins <christian.lins@intevation.de>
parents:
3384
diff
changeset
|
413 f.setValue(value); |
3349
36cd7d88551a
Added bandwidth field, i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2954
diff
changeset
|
414 } |
1495
bd6c8b06cb94
Improved the StyledEditorWindow to support a list of pointsizes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1479
diff
changeset
|
415 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
|
416 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
|
417 valueMap.put("1", "1"); |
2433
47a7bdfb4d37
fix flys/issue613 . cap max point size.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1499
diff
changeset
|
418 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
|
419 valueMap.put("3", "3"); |
2433
47a7bdfb4d37
fix flys/issue613 . cap max point size.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1499
diff
changeset
|
420 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
|
421 valueMap.put("5", "5"); |
2433
47a7bdfb4d37
fix flys/issue613 . cap max point size.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1499
diff
changeset
|
422 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
|
423 valueMap.put("7", "7"); |
bd6c8b06cb94
Improved the StyledEditorWindow to support a list of pointsizes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1479
diff
changeset
|
424 f.setValueMap(valueMap); |
3700
dbcd14c27c8d
Transparency attribute theme fixes
Christian Lins <christian.lins@intevation.de>
parents:
3384
diff
changeset
|
425 f.setValue(value); |
1495
bd6c8b06cb94
Improved the StyledEditorWindow to support a list of pointsizes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1479
diff
changeset
|
426 } |
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
|
427 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
|
428 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
|
429 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
|
430 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
|
431 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
|
432 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
|
433 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
|
434 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
|
435 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
|
436 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
|
437 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
|
438 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
|
439 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
|
440 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
|
441 f.setValue(value); |
5658
995320711d80
Temporary remove classification from floodmap plane theme editor (#801).
Christian Lins <christian.lins@intevation.de>
parents:
4697
diff
changeset
|
442 // FIXME: Make that work again |
995320711d80
Temporary remove classification from floodmap plane theme editor (#801).
Christian Lins <christian.lins@intevation.de>
parents:
4697
diff
changeset
|
443 return null; |
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
|
444 } |
4687
b3d7d5289b7f
Display all 'tranparency' attributes.
Raimund Renkert <rrenkert@intevation.de>
parents:
4666
diff
changeset
|
445 else if (name.contains("transparency")) { |
3700
dbcd14c27c8d
Transparency attribute theme fixes
Christian Lins <christian.lins@intevation.de>
parents:
3384
diff
changeset
|
446 LinkedHashMap<String, String> valueMap = new LinkedHashMap<String, String>(); |
dbcd14c27c8d
Transparency attribute theme fixes
Christian Lins <christian.lins@intevation.de>
parents:
3384
diff
changeset
|
447 for (int n = 10; n < 100; n += 10) { |
dbcd14c27c8d
Transparency attribute theme fixes
Christian Lins <christian.lins@intevation.de>
parents:
3384
diff
changeset
|
448 valueMap.put(Integer.toString(n), n + "%"); |
dbcd14c27c8d
Transparency attribute theme fixes
Christian Lins <christian.lins@intevation.de>
parents:
3384
diff
changeset
|
449 } |
dbcd14c27c8d
Transparency attribute theme fixes
Christian Lins <christian.lins@intevation.de>
parents:
3384
diff
changeset
|
450 f.setValueMap(valueMap); |
3702
394e1a9915ec
Transparency combobox appearence fix for #840.
Christian Lins <christian.lins@intevation.de>
parents:
3700
diff
changeset
|
451 f.setValue(value); |
3700
dbcd14c27c8d
Transparency attribute theme fixes
Christian Lins <christian.lins@intevation.de>
parents:
3384
diff
changeset
|
452 } |
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
|
453 } |
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
|
454 else if (type.equals("boolean")) { |
1359
5ebcf5b3fc10
Display new attributes in editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1357
diff
changeset
|
455 if(name.equals("textorientation")) { |
1479
2f525f54e429
Issue 427.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1451
diff
changeset
|
456 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
|
457 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
|
458 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
|
459 valueMap.put("false", MSG.getString("vertical")); |
1359
5ebcf5b3fc10
Display new attributes in editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1357
diff
changeset
|
460 f.setValueMap(valueMap); |
5ebcf5b3fc10
Display new attributes in editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1357
diff
changeset
|
461 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
|
462 } |
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
|
463 else { |
1479
2f525f54e429
Issue 427.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1451
diff
changeset
|
464 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
|
465 if(value.equals("true")) { |
5ebcf5b3fc10
Display new attributes in editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1357
diff
changeset
|
466 c.setValue(true); |
5ebcf5b3fc10
Display new attributes in editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1357
diff
changeset
|
467 } |
5ebcf5b3fc10
Display new attributes in editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1357
diff
changeset
|
468 else { |
5ebcf5b3fc10
Display new attributes in editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1357
diff
changeset
|
469 c.setValue(false); |
5ebcf5b3fc10
Display new attributes in editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1357
diff
changeset
|
470 } |
5ebcf5b3fc10
Display new attributes in editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1357
diff
changeset
|
471 c.setLabelAsTitle(true); |
5ebcf5b3fc10
Display new attributes in editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1357
diff
changeset
|
472 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
|
473 } |
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
|
474 } |
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
|
475 else if (type.equals("Color")) { |
1479
2f525f54e429
Issue 427.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1451
diff
changeset
|
476 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
|
477 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
|
478 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
|
479 } |
3352
2f533220af1c
Handle upcoming 'double' theme attribute type.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3349
diff
changeset
|
480 else if (type.equals("double")) { |
3355
dab808e5f516
Improve validation of double-type style arguments.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3352
diff
changeset
|
481 f = new FormItem(name); |
dab808e5f516
Improve validation of double-type style arguments.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3352
diff
changeset
|
482 IsFloatValidator fpv = new IsFloatValidator(); |
dab808e5f516
Improve validation of double-type style arguments.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3352
diff
changeset
|
483 |
dab808e5f516
Improve validation of double-type style arguments.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3352
diff
changeset
|
484 f.setValidators(fpv); |
dab808e5f516
Improve validation of double-type style arguments.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3352
diff
changeset
|
485 f.setValidateOnChange(true); |
dab808e5f516
Improve validation of double-type style arguments.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3352
diff
changeset
|
486 f.setTitle(MSG.getString(name)); |
3352
2f533220af1c
Handle upcoming 'double' theme attribute type.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3349
diff
changeset
|
487 f.addBlurHandler(new BlurHandler() { |
3384
a6b7f0585761
Merge point/line label styles
Christian Lins <christian.lins@intevation.de>
parents:
3364
diff
changeset
|
488 @Override |
3352
2f533220af1c
Handle upcoming 'double' theme attribute type.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3349
diff
changeset
|
489 public void onBlur(BlurEvent e) { |
2f533220af1c
Handle upcoming 'double' theme attribute type.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3349
diff
changeset
|
490 DoubleValidator validator = new DoubleValidator(); |
3384
a6b7f0585761
Merge point/line label styles
Christian Lins <christian.lins@intevation.de>
parents:
3364
diff
changeset
|
491 Map<?, ?> errors = e.getForm().getErrors(); |
3352
2f533220af1c
Handle upcoming 'double' theme attribute type.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3349
diff
changeset
|
492 if(validator.validate(e.getItem(), errors)) { |
2f533220af1c
Handle upcoming 'double' theme attribute type.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3349
diff
changeset
|
493 e.getForm().setErrors(errors, true); |
2f533220af1c
Handle upcoming 'double' theme attribute type.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3349
diff
changeset
|
494 } |
2f533220af1c
Handle upcoming 'double' theme attribute type.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3349
diff
changeset
|
495 else { |
2f533220af1c
Handle upcoming 'double' theme attribute type.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3349
diff
changeset
|
496 e.getForm().setErrors(errors, true); |
2f533220af1c
Handle upcoming 'double' theme attribute type.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3349
diff
changeset
|
497 } |
2f533220af1c
Handle upcoming 'double' theme attribute type.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3349
diff
changeset
|
498 } |
2f533220af1c
Handle upcoming 'double' theme attribute type.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3349
diff
changeset
|
499 }); |
3364
b31b0d249d21
Set previously selected values for bandwidth theme-prop.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3355
diff
changeset
|
500 f.setValue(value); |
3352
2f533220af1c
Handle upcoming 'double' theme attribute type.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3349
diff
changeset
|
501 } |
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
|
502 else if (type.equals("Dash")) { |
1479
2f525f54e429
Issue 427.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1451
diff
changeset
|
503 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
|
504 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
|
505 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
|
506 f.setImageURLSuffix(".png"); |
e26088566e8a
Use images for line type and line size selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1339
diff
changeset
|
507 f.setValueIconHeight(20); |
e26088566e8a
Use images for line type and line size selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1339
diff
changeset
|
508 f.setValueIconWidth(80); |
1348
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
509 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
|
510 valueMap.put("10", ""); |
e26088566e8a
Use images for line type and line size selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1339
diff
changeset
|
511 valueMap.put("10,5", ""); |
e26088566e8a
Use images for line type and line size selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1339
diff
changeset
|
512 valueMap.put("20,10", ""); |
e26088566e8a
Use images for line type and line size selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1339
diff
changeset
|
513 valueMap.put("30,10", ""); |
e26088566e8a
Use images for line type and line size selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1339
diff
changeset
|
514 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
|
515 valueIcons.put("10", "10"); |
e26088566e8a
Use images for line type and line size selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1339
diff
changeset
|
516 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
|
517 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
|
518 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
|
519 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
|
520 f.setValueIcons(valueIcons); |
e26088566e8a
Use images for line type and line size selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1339
diff
changeset
|
521 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
|
522 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
|
523 } |
1348
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
524 else if (type.equals("Font")) { |
1479
2f525f54e429
Issue 427.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1451
diff
changeset
|
525 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
|
526 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
|
527 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
|
528 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
|
529 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
|
530 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
|
531 f.setValueMap(valueMap); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
532 f.setValue(value); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
533 } |
1359
5ebcf5b3fc10
Display new attributes in editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1357
diff
changeset
|
534 else if (type.equals("Style")) { |
1479
2f525f54e429
Issue 427.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1451
diff
changeset
|
535 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
|
536 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
|
537 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
|
538 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
|
539 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
|
540 f.setValueMap(valueMap); |
5ebcf5b3fc10
Display new attributes in editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1357
diff
changeset
|
541 f.setValue(value); |
5ebcf5b3fc10
Display new attributes in editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1357
diff
changeset
|
542 } |
2458
208f923032ac
Issue 493.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2433
diff
changeset
|
543 else if (type.equals("Symbol")) { |
208f923032ac
Issue 493.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2433
diff
changeset
|
544 //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
|
545 //changed. |
208f923032ac
Issue 493.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2433
diff
changeset
|
546 f = new StaticTextItem(""); |
208f923032ac
Issue 493.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2433
diff
changeset
|
547 } |
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
|
548 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
|
549 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
|
550 } |
2472
75d19d46c3cd
Prepared the style editor for WSPLGEN themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2458
diff
changeset
|
551 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
|
552 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
|
553 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
|
554 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
|
555 @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
|
556 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
|
557 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
|
558 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
|
559 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
|
560 } |
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
|
561 }); |
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
|
562 |
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
|
563 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
|
564 } |
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
|
565 |
1333
1627a28c4504
Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1326
diff
changeset
|
566 |
1348
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
567 protected FormItem createLineSizeUI(FormItem f) { |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
568 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
|
569 f.setImageURLPrefix(GWT.getHostPageBaseURL() + "images/linestyle-"); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
570 f.setImageURLSuffix("px.png"); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
571 f.setValueIconHeight(20); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
572 f.setValueIconWidth(80); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
573 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
|
574 valueMap.put("1", ""); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
575 valueMap.put("2", ""); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
576 valueMap.put("3", ""); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
577 valueMap.put("4", ""); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
578 valueMap.put("5", ""); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
579 valueMap.put("6", ""); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
580 valueMap.put("7", ""); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
581 valueMap.put("8", ""); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
582 valueIcons.put("1", "1"); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
583 valueIcons.put("2", "2"); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
584 valueIcons.put("3", "3"); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
585 valueIcons.put("4", "4"); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
586 valueIcons.put("5", "5"); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
587 valueIcons.put("6", "6"); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
588 valueIcons.put("7", "7"); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
589 valueIcons.put("8", "8"); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
590 f.setValueIcons(valueIcons); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
591 f.setValueMap(valueMap); |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
592 return f; |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
593 } |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
594 |
fb224f54c643
Prepared editor UI for annotation styling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1345
diff
changeset
|
595 |
1345
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
596 /** |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
597 * Static method to convert a color from RGB to HTML notation. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
598 * @param rgb String in RGB notation. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
599 * |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
600 * @return String in HTML notation. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
601 */ |
1333
1627a28c4504
Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1326
diff
changeset
|
602 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
|
603 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
|
604 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
|
605 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
|
606 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
|
607 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
|
608 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
|
609 } |
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 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
|
611 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
|
612 } |
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 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
|
615 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
|
616 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
|
617 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
|
618 } |
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
|
619 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
|
620 } |
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
|
621 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
|
622 } |
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
|
623 |
1333
1627a28c4504
Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1326
diff
changeset
|
624 |
1345
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
625 /** |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
626 * Static method to convert a color from HTML to RGB notation. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
627 * @param html String in HTML notation. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
628 * |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
629 * @return String in RGB notation. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
630 */ |
1333
1627a28c4504
Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1326
diff
changeset
|
631 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
|
632 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
|
633 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
|
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 |
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
|
636 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
|
637 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
|
638 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
|
639 |
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 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
|
641 } |
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 |
1333
1627a28c4504
Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1326
diff
changeset
|
643 |
1345
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
644 /** |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
645 * Saves the current style attributes and requests a redraw. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
646 */ |
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
|
647 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
|
648 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
|
649 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
|
650 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
|
651 |
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 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
|
653 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
|
654 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
|
655 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
|
656 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
|
657 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
|
658 @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
|
659 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
|
660 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
|
661 } |
2954
b9433322fcaf
Add alpha transp. and fix exceptions on unknown style attributes.
Christian Lins <christian.lins@intevation.de>
parents:
2908
diff
changeset
|
662 @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
|
663 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
|
664 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
|
665 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
|
666 } |
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
|
667 }); |
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
|
668 |
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
|
669 |
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
|
670 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
|
671 } |
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 |
1333
1627a28c4504
Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1326
diff
changeset
|
673 |
1345
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
674 /** |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
675 * Sets a new value for an attribute. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
676 * @param name Attribute name. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
677 * @param value The new value. |
92074508a387
Added documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1341
diff
changeset
|
678 */ |
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
|
679 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
|
680 Theme t = facet.getTheme(); |
974c6b3700de
Use the theme index to identify the correct style.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1309
diff
changeset
|
681 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
|
682 StyleSetting set = s.getSetting(name); |
2472
75d19d46c3cd
Prepared the style editor for WSPLGEN themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2458
diff
changeset
|
683 String type = set.getType(); |
75d19d46c3cd
Prepared the style editor for WSPLGEN themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2458
diff
changeset
|
684 |
75d19d46c3cd
Prepared the style editor for WSPLGEN themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2458
diff
changeset
|
685 if(name.indexOf("color") != -1 |
75d19d46c3cd
Prepared the style editor for WSPLGEN themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2458
diff
changeset
|
686 || (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
|
687 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
|
688 } |
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
|
689 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
|
690 } |
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
|
691 |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
692 |
e75b15818435
Added a style chooser to the style editor to provide predefined styles and
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2499
diff
changeset
|
693 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
|
694 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
|
695 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
|
696 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
|
697 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
|
698 } |
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
|
699 } |
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
|
700 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |