Mercurial > dive4elements > river
annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/chart/StyleEditorWindow.java @ 1291:1d04f35b2cc0
New methods for color transformation (html to rgb; rgb to html).
flys-client/trunk@2891 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Wed, 05 Oct 2011 09:26:13 +0000 |
parents | f4deeafa60b3 |
children | bdc270ea6195 |
rev | line source |
---|---|
1287
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.client.client.ui.chart; |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
2 |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
3 import com.google.gwt.core.client.GWT; |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
4 |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
5 import com.smartgwt.client.widgets.Window; |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
6 import com.smartgwt.client.widgets.layout.VLayout; |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
7 import com.smartgwt.client.widgets.layout.HLayout; |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
8 import com.smartgwt.client.widgets.Button; |
1290
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
9 import com.smartgwt.client.widgets.form.DynamicForm; |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
10 import com.smartgwt.client.widgets.form.fields.FormItem; |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
11 import com.smartgwt.client.widgets.form.fields.CheckboxItem; |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
12 import com.smartgwt.client.widgets.form.fields.SpinnerItem; |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
13 import com.smartgwt.client.widgets.form.fields.ColorPickerItem; |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
14 import com.smartgwt.client.widgets.form.fields.ComboBoxItem; |
1287
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
15 |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
16 import com.smartgwt.client.widgets.events.ClickEvent; |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
17 import com.smartgwt.client.widgets.events.ClickHandler; |
1290
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
18 import com.smartgwt.client.types.Alignment; |
1287
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
19 |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
20 import de.intevation.flys.client.shared.model.Collection; |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
21 import de.intevation.flys.client.shared.model.CollectionItemAttribute; |
1290
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
22 import de.intevation.flys.client.shared.model.Style; |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
23 import de.intevation.flys.client.shared.model.StyleSetting; |
1287
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
24 import de.intevation.flys.client.client.ui.CollectionView; |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
25 |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
26 import de.intevation.flys.client.client.FLYSConstants; |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
27 |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
28 /** |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
29 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a> |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
30 */ |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
31 public class StyleEditorWindow |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
32 extends Window |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
33 implements ClickHandler |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
34 { |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
35 /** The interface that provides i18n messages. */ |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
36 protected FLYSConstants MSG = GWT.create(FLYSConstants.class); |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
37 |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
38 /** The collection */ |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
39 protected Collection collection; |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
40 |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
41 /** The parent collection view */ |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
42 protected CollectionView view; |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
43 |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
44 /** The attributes */ |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
45 protected CollectionItemAttribute attributes; |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
46 |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
47 /** Main layout */ |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
48 protected VLayout layout; |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
49 |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
50 |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
51 public StyleEditorWindow ( |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
52 Collection collection, |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
53 CollectionItemAttribute attributes) |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
54 { |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
55 this.collection = collection; |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
56 this.attributes = attributes; |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
57 this.layout = new VLayout(); |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
58 |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
59 init(); |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
60 initPanels(); |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
61 } |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
62 |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
63 |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
64 protected void init() { |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
65 setTitle(MSG.properties()); |
1290
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
66 setWidth(270); |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
67 setHeight(200); |
1287
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
68 setCanDragReposition(true); |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
69 setCanDragResize(true); |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
70 setKeepInParentRect(true); |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
71 |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
72 layout.setWidth100(); |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
73 layout.setHeight100(); |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
74 |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
75 } |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
76 |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
77 |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
78 protected void initPanels() { |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
79 HLayout buttons = new HLayout(); |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
80 Button accept = new Button(MSG.label_ok()); |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
81 Button cancel = new Button(MSG.label_cancel()); |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
82 cancel.addClickHandler(this); |
1290
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
83 accept.addClickHandler(new ClickHandler() { |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
84 public void onClick(ClickEvent e) { |
1287
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
85 |
1290
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
86 } |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
87 }); |
1287
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
88 |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
89 buttons.addMember(accept); |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
90 buttons.addMember(cancel); |
1290
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
91 buttons.setAlign(Alignment.RIGHT); |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
92 |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
93 layout.addMember(createPropertyGrid("LongitudinalSectionW"));; |
1287
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
94 layout.addMember(buttons); |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
95 addItem(layout); |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
96 } |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
97 |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
98 |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
99 public void setCollectionView (CollectionView view) { |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
100 this.view = view; |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
101 setParentElement(this.view.getParentElement()); |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
102 } |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
103 |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
104 |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
105 public void onClick(ClickEvent event) { |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
106 this.hide(); |
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
107 } |
1290
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
108 |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
109 |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
110 protected VLayout createPropertyGrid(String stylename) { |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
111 //TODO use the style-(theme-)name from response to get the correct |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
112 //attribute set. |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
113 |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
114 VLayout properties = new VLayout(); |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
115 |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
116 // get the correct style using the name. |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
117 Style s = attributes.getStyle(0); |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
118 |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
119 for (int i = 0; i < s.getNumSettings(); i ++) { |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
120 final StyleSetting set = s.getSetting(i); |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
121 DynamicForm property = createPropertyUI( |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
122 set.getDisplayName(), |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
123 set.getName(), |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
124 set.getType(), |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
125 set.getDefaultValue()); |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
126 properties.addMember(property); |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
127 } |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
128 return properties; |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
129 } |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
130 |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
131 protected DynamicForm createPropertyUI( |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
132 String dname, |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
133 String name, |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
134 String type, |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
135 String value) |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
136 { |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
137 DynamicForm df = new DynamicForm(); |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
138 |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
139 FormItem f; |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
140 if(type.equals("int")) { |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
141 SpinnerItem s = new SpinnerItem(name, dname); |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
142 s.setMin(1); |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
143 s.setMax(10); |
1291
1d04f35b2cc0
New methods for color transformation (html to rgb; rgb to html).
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1290
diff
changeset
|
144 s.setValue(value); |
1290
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
145 f = s; |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
146 } |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
147 else if (type.equals("boolean")) { |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
148 CheckboxItem c = new CheckboxItem(name, dname); |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
149 if(value.equals("true")) { |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
150 c.setValue(true); |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
151 } |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
152 else { |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
153 c.setValue(false); |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
154 } |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
155 c.setLabelAsTitle(true); |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
156 f = c; |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
157 } |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
158 else if (type.equals("Color")) { |
1291
1d04f35b2cc0
New methods for color transformation (html to rgb; rgb to html).
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1290
diff
changeset
|
159 ColorPickerItem c = new ColorPickerItem(name, dname); |
1d04f35b2cc0
New methods for color transformation (html to rgb; rgb to html).
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1290
diff
changeset
|
160 c.setValue(rgbToHtml(value)); |
1d04f35b2cc0
New methods for color transformation (html to rgb; rgb to html).
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1290
diff
changeset
|
161 f = c; |
1290
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
162 } |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
163 else if (type.equals("Dash")) { |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
164 f = new ComboBoxItem(name, dname); |
1291
1d04f35b2cc0
New methods for color transformation (html to rgb; rgb to html).
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1290
diff
changeset
|
165 f.setValue(value); |
1290
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
166 } |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
167 else { |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
168 f = new FormItem(); |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
169 } |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
170 f.setTitleStyle("color:#000; width:120px"); |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
171 f.setTitleAlign(Alignment.LEFT); |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
172 df.setFields(f); |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
173 |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
174 return df; |
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
175 } |
1291
1d04f35b2cc0
New methods for color transformation (html to rgb; rgb to html).
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1290
diff
changeset
|
176 |
1d04f35b2cc0
New methods for color transformation (html to rgb; rgb to html).
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1290
diff
changeset
|
177 protected String rgbToHtml(String rgb) { |
1d04f35b2cc0
New methods for color transformation (html to rgb; rgb to html).
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1290
diff
changeset
|
178 String[] parts = rgb.split(","); |
1d04f35b2cc0
New methods for color transformation (html to rgb; rgb to html).
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1290
diff
changeset
|
179 int values[] = new int[parts.length]; |
1d04f35b2cc0
New methods for color transformation (html to rgb; rgb to html).
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1290
diff
changeset
|
180 for (int i = 0; i < parts.length; i++) { |
1d04f35b2cc0
New methods for color transformation (html to rgb; rgb to html).
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1290
diff
changeset
|
181 parts[i] = parts[i].trim(); |
1d04f35b2cc0
New methods for color transformation (html to rgb; rgb to html).
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1290
diff
changeset
|
182 try { |
1d04f35b2cc0
New methods for color transformation (html to rgb; rgb to html).
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1290
diff
changeset
|
183 values[i] = Integer.parseInt(parts[i]); |
1d04f35b2cc0
New methods for color transformation (html to rgb; rgb to html).
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1290
diff
changeset
|
184 } |
1d04f35b2cc0
New methods for color transformation (html to rgb; rgb to html).
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1290
diff
changeset
|
185 catch(NumberFormatException nfe) { |
1d04f35b2cc0
New methods for color transformation (html to rgb; rgb to html).
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1290
diff
changeset
|
186 return "#000000"; |
1d04f35b2cc0
New methods for color transformation (html to rgb; rgb to html).
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1290
diff
changeset
|
187 } |
1d04f35b2cc0
New methods for color transformation (html to rgb; rgb to html).
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1290
diff
changeset
|
188 } |
1d04f35b2cc0
New methods for color transformation (html to rgb; rgb to html).
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1290
diff
changeset
|
189 String hex = "#"; |
1d04f35b2cc0
New methods for color transformation (html to rgb; rgb to html).
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1290
diff
changeset
|
190 for (int i = 0; i < values.length; i++) { |
1d04f35b2cc0
New methods for color transformation (html to rgb; rgb to html).
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1290
diff
changeset
|
191 hex += Integer.toHexString(values[i]); |
1d04f35b2cc0
New methods for color transformation (html to rgb; rgb to html).
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1290
diff
changeset
|
192 } |
1d04f35b2cc0
New methods for color transformation (html to rgb; rgb to html).
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1290
diff
changeset
|
193 return hex; |
1d04f35b2cc0
New methods for color transformation (html to rgb; rgb to html).
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1290
diff
changeset
|
194 } |
1d04f35b2cc0
New methods for color transformation (html to rgb; rgb to html).
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1290
diff
changeset
|
195 |
1d04f35b2cc0
New methods for color transformation (html to rgb; rgb to html).
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1290
diff
changeset
|
196 protected String htmlToRgb(String html) { |
1d04f35b2cc0
New methods for color transformation (html to rgb; rgb to html).
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1290
diff
changeset
|
197 if (!html.startsWith("#")) { |
1d04f35b2cc0
New methods for color transformation (html to rgb; rgb to html).
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1290
diff
changeset
|
198 return "0, 0, 0"; |
1d04f35b2cc0
New methods for color transformation (html to rgb; rgb to html).
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1290
diff
changeset
|
199 } |
1d04f35b2cc0
New methods for color transformation (html to rgb; rgb to html).
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1290
diff
changeset
|
200 |
1d04f35b2cc0
New methods for color transformation (html to rgb; rgb to html).
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1290
diff
changeset
|
201 GWT.log("sub: " + html.substring(1, 3)); |
1d04f35b2cc0
New methods for color transformation (html to rgb; rgb to html).
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1290
diff
changeset
|
202 int r = Integer.valueOf(html.substring(1, 3), 16); |
1d04f35b2cc0
New methods for color transformation (html to rgb; rgb to html).
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1290
diff
changeset
|
203 int g = Integer.valueOf(html.substring(3, 5), 16); |
1d04f35b2cc0
New methods for color transformation (html to rgb; rgb to html).
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1290
diff
changeset
|
204 int b = Integer.valueOf(html.substring(5, 7), 16); |
1d04f35b2cc0
New methods for color transformation (html to rgb; rgb to html).
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1290
diff
changeset
|
205 |
1d04f35b2cc0
New methods for color transformation (html to rgb; rgb to html).
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1290
diff
changeset
|
206 return r + ", " + g + ", " + b; |
1d04f35b2cc0
New methods for color transformation (html to rgb; rgb to html).
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1290
diff
changeset
|
207 } |
1d04f35b2cc0
New methods for color transformation (html to rgb; rgb to html).
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1290
diff
changeset
|
208 |
1287
95ecb98c6015
Added skeleton for editor window.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
209 } |
1290
f4deeafa60b3
Build up the editor window from CollectionItemAttribute response.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1287
diff
changeset
|
210 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |