Mercurial > dive4elements > river
comparison flys-client/src/main/java/de/intevation/flys/client/client/ui/RangePanel.java @ 1523:07b532f9e057
Added new panels for inserting ranges, int ranges and time (year) ranges.
flys-client/trunk@3700 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Wed, 18 Jan 2012 09:19:36 +0000 |
parents | |
children | 487c3ff7e838 |
comparison
equal
deleted
inserted
replaced
1522:df9baca681a0 | 1523:07b532f9e057 |
---|---|
1 package de.intevation.flys.client.client.ui; | |
2 | |
3 import java.util.ArrayList; | |
4 import java.util.List; | |
5 | |
6 import com.smartgwt.client.data.DataSource; | |
7 import com.smartgwt.client.data.DataSourceField; | |
8 import com.smartgwt.client.types.Alignment; | |
9 import com.smartgwt.client.types.FieldType; | |
10 import com.smartgwt.client.widgets.Canvas; | |
11 import com.smartgwt.client.widgets.Label; | |
12 import com.smartgwt.client.widgets.form.DynamicForm; | |
13 import com.smartgwt.client.widgets.form.fields.FormItem; | |
14 import com.smartgwt.client.widgets.form.fields.TextItem; | |
15 import com.smartgwt.client.widgets.form.validator.Validator; | |
16 import com.smartgwt.client.widgets.layout.HLayout; | |
17 import com.smartgwt.client.widgets.layout.VLayout; | |
18 | |
19 import de.intevation.flys.client.shared.model.DataList; | |
20 import de.intevation.flys.client.shared.model.Data; | |
21 | |
22 | |
23 /** | |
24 * An UIProvider for inserting ranges. | |
25 * | |
26 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> | |
27 */ | |
28 public abstract class RangePanel extends AbstractUIProvider { | |
29 | |
30 public static final String FIELD_LOWER = "field_lower"; | |
31 public static final String FIELD_UPPER = "field_upper"; | |
32 | |
33 | |
34 protected DynamicForm lowerForm; | |
35 protected DynamicForm upperForm; | |
36 | |
37 | |
38 @Override | |
39 public Canvas create(DataList data) { | |
40 VLayout root = new VLayout(); | |
41 | |
42 root.addMember(createLabel(data)); | |
43 root.addMember(createForm(data)); | |
44 root.addMember(getNextButton()); | |
45 | |
46 return root; | |
47 } | |
48 | |
49 | |
50 @Override | |
51 public Canvas createOld(DataList data) { | |
52 // TODO IMPLEMENT ME | |
53 return new Canvas(); | |
54 } | |
55 | |
56 | |
57 @Override | |
58 protected Data[] getData() { | |
59 return new Data[0]; | |
60 } | |
61 | |
62 | |
63 @Override | |
64 public List<String> validate() { | |
65 List<String> errors = new ArrayList<String>(); | |
66 | |
67 if (!lowerForm.validate()) { | |
68 errors.add("LOWER ERRORS"); | |
69 } | |
70 | |
71 if (!upperForm.validate()) { | |
72 errors.add("UPPER ERRORS"); | |
73 } | |
74 | |
75 return errors; | |
76 } | |
77 | |
78 | |
79 protected Canvas createLabel(DataList dataList) { | |
80 Label label = new Label(dataList.getLabel()); | |
81 | |
82 label.setWidth(100); | |
83 label.setHeight(25); | |
84 | |
85 return label; | |
86 } | |
87 | |
88 | |
89 protected Canvas createForm(DataList dataList) { | |
90 lowerForm = createLowerForm(dataList); | |
91 upperForm = createUpperForm(dataList); | |
92 | |
93 HLayout formLayout = new HLayout(); | |
94 formLayout.addMember(lowerForm); | |
95 formLayout.addMember(createSpacer()); | |
96 formLayout.addMember(upperForm); | |
97 | |
98 return formLayout; | |
99 } | |
100 | |
101 | |
102 protected DynamicForm newForm() { | |
103 DynamicForm form = new DynamicForm(); | |
104 form.setTitlePrefix(""); | |
105 form.setTitleSuffix(""); | |
106 form.setTitle(""); | |
107 form.setTitleField(""); | |
108 | |
109 return form; | |
110 } | |
111 | |
112 | |
113 protected FormItem newFormItem(String name) { | |
114 TextItem item = new TextItem(name, ""); | |
115 item.setShowTitle(false); | |
116 | |
117 return item; | |
118 } | |
119 | |
120 | |
121 protected DynamicForm createLowerForm(DataList dataList) { | |
122 DynamicForm lowerForm = newForm(); | |
123 FormItem lower = createLowerField(dataList); | |
124 | |
125 lowerForm.setFields(lower); | |
126 | |
127 return lowerForm; | |
128 } | |
129 | |
130 | |
131 protected DynamicForm createUpperForm(DataList dataList) { | |
132 DynamicForm upperForm = newForm(); | |
133 FormItem upper = createUpperField(dataList); | |
134 | |
135 upperForm.setFields(upper); | |
136 | |
137 return upperForm; | |
138 } | |
139 | |
140 | |
141 protected Canvas createSpacer() { | |
142 Label spacer = new Label("-"); | |
143 spacer.setWidth(25); | |
144 spacer.setHeight(25); | |
145 spacer.setAlign(Alignment.CENTER); | |
146 | |
147 return spacer; | |
148 } | |
149 | |
150 | |
151 protected FormItem createLowerField(DataList dataList) { | |
152 return createField(FIELD_LOWER, createLowerValidators(dataList)); | |
153 } | |
154 | |
155 | |
156 protected FormItem createUpperField(DataList dataList) { | |
157 return createField(FIELD_UPPER, createUpperValidators(dataList)); | |
158 } | |
159 | |
160 | |
161 protected FormItem createField(String name, Validator[] validators) { | |
162 FormItem field = newFormItem(name); | |
163 | |
164 if (validators != null && validators.length > 0) { | |
165 field.setValidators(validators); | |
166 } | |
167 | |
168 return field; | |
169 } | |
170 | |
171 | |
172 protected Validator[] createLowerValidators(DataList dataList) { | |
173 return null; | |
174 } | |
175 | |
176 | |
177 protected Validator[] createUpperValidators(DataList dataList) { | |
178 return null; | |
179 } | |
180 } | |
181 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |