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 :

http://dive4elements.wald.intevation.org