Mercurial > dive4elements > river
annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/TextProvider.java @ 791:9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
flys-client/trunk@2298 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Thu, 07 Jul 2011 10:33:29 +0000 |
parents | 4e0b73b7113b |
children | 40269a176cd2 |
rev | line source |
---|---|
787
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.client.client.ui; |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
2 |
791
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
3 import java.util.ArrayList; |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
4 import java.util.List; |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
5 |
787
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
6 import com.google.gwt.core.client.GWT; |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
7 |
791
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
8 import com.smartgwt.client.data.DataSource; |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
9 import com.smartgwt.client.data.DataSourceField; |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
10 import com.smartgwt.client.types.Alignment; |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
11 import com.smartgwt.client.types.FieldType; |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
12 import com.smartgwt.client.types.TitleOrientation; |
787
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
13 import com.smartgwt.client.widgets.Canvas; |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
14 import com.smartgwt.client.widgets.Label; |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
15 import com.smartgwt.client.widgets.form.DynamicForm; |
791
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
16 import com.smartgwt.client.widgets.form.events.ItemChangedEvent; |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
17 import com.smartgwt.client.widgets.form.events.ItemChangedHandler; |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
18 import com.smartgwt.client.widgets.form.validator.Validator; |
787
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
19 import com.smartgwt.client.widgets.layout.HLayout; |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
20 |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
21 import de.intevation.flys.client.shared.model.Data; |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
22 import de.intevation.flys.client.shared.model.DataItem; |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
23 import de.intevation.flys.client.shared.model.DataList; |
791
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
24 import de.intevation.flys.client.shared.model.DefaultData; |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
25 import de.intevation.flys.client.shared.model.DefaultDataItem; |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
26 |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
27 import de.intevation.flys.client.client.FLYSConstants; |
787
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
28 |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
29 |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
30 /** |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
31 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
32 */ |
791
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
33 public class TextProvider |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
34 extends AbstractUIProvider |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
35 implements ItemChangedHandler |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
36 { |
787
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
37 |
791
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
38 public static final String FIELD_NAME = "textprovider_inputfield"; |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
39 public static final int FORM_WIDTH = 400; |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
40 public static final int TITLE_WIDTH = 75; |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
41 |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
42 |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
43 protected static FLYSConstants MSG = GWT.create(FLYSConstants.class); |
787
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
44 |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
45 protected DynamicForm form; |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
46 |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
47 |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
48 @Override |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
49 public Canvas create(DataList dataList) { |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
50 return createForm(); |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
51 } |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
52 |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
53 |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
54 protected Canvas createForm() { |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
55 return createForm(null); |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
56 } |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
57 |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
58 |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
59 protected Canvas createForm(String title) { |
791
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
60 form = new DynamicForm(); |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
61 form.addItemChangedHandler(this); |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
62 form.setTitlePrefix(""); |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
63 form.setTitleSuffix(": "); |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
64 form.setTitleAlign(Alignment.LEFT); |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
65 form.setTitleOrientation(TitleOrientation.LEFT); |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
66 form.setTitleWidth(getTitleWidth()); |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
67 form.setWidth(getFormWidth()); |
787
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
68 |
791
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
69 DataSourceField item = createField(); |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
70 item.setTitle(title); |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
71 |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
72 Validator validator = getValidator(); |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
73 if (validator != null) { |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
74 item.setValidators(validator); |
787
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
75 } |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
76 |
791
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
77 DataSource source = new DataSource(); |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
78 source.setFields(item); |
787
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
79 |
791
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
80 form.setDataSource(source); |
787
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
81 |
791
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
82 return form; |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
83 } |
787
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
84 |
791
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
85 |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
86 protected DataSourceField createField() { |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
87 return new DataSourceField(getFieldName(), getFieldType()); |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
88 } |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
89 |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
90 |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
91 protected String getFieldName() { |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
92 return FIELD_NAME; |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
93 } |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
94 |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
95 |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
96 protected FieldType getFieldType() { |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
97 return FieldType.TEXT; |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
98 } |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
99 |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
100 |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
101 protected Validator getValidator() { |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
102 return null; |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
103 } |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
104 |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
105 |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
106 protected int getFormWidth() { |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
107 return FORM_WIDTH; |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
108 } |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
109 |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
110 |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
111 protected int getTitleWidth() { |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
112 return TITLE_WIDTH; |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
113 } |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
114 |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
115 |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
116 protected String getDataName() { |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
117 return null; |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
118 } |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
119 |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
120 |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
121 protected String getValueAsString() { |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
122 return (String) form.getValue(getFieldName()); |
787
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
123 } |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
124 |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
125 |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
126 @Override |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
127 public Canvas createOld(DataList dataList) { |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
128 Data data = dataList.get(0); |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
129 DataItem[] items = data.getItems(); |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
130 |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
131 HLayout layout = new HLayout(); |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
132 Label label = new Label(dataList.getLabel()); |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
133 Label value = new Label(items[0].getLabel()); |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
134 |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
135 layout.setHeight(35); |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
136 layout.setWidth(400); |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
137 label.setWidth(200); |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
138 |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
139 layout.addMember(label); |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
140 layout.addMember(value); |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
141 layout.addMember(getBackButton(dataList.getState())); |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
142 |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
143 return layout; |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
144 } |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
145 |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
146 |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
147 @Override |
791
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
148 public List<String> validate() { |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
149 List<String> errors = new ArrayList<String>(); |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
150 |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
151 if (!form.validate()) { |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
152 errors.add(MSG.wrongFormat()); |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
153 } |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
154 |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
155 return errors; |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
156 } |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
157 |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
158 |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
159 @Override |
787
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
160 protected Data[] getData() { |
791
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
161 String value = getValueAsString(); |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
162 String name = getDataName(); |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
163 |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
164 DataItem item = new DefaultDataItem(name, name, value); |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
165 return new Data[] { new DefaultData( |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
166 name, null, null, new DataItem[] { item }) }; |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
167 } |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
168 |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
169 |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
170 @Override |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
171 public void onItemChanged(ItemChangedEvent event) { |
9b1499a65aaa
Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
172 form.validate(); |
787
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
173 } |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
174 } |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
175 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |