annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/TextProvider.java @ 4198:1cdbd8a0c994

Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation. The new tables define listener interfaces (clicked lower or upper icon) to listen to user clicks. In addition to this, there is an enum ClickMode with NONE, SINGLE and RANGE options, which allows to specifiy, which icons are displayed in the tables. NONE means no icon for user clicks, SINGLE has 1 icon, RANGE 2 icons for lower and upper.
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Mon, 22 Oct 2012 13:31:25 +0200
parents 03de5c424f95
children
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
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
3 import com.google.gwt.core.client.GWT;
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
4
791
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
5 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
6 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
7 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
8 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
9 import com.smartgwt.client.types.TitleOrientation;
787
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10 import com.smartgwt.client.widgets.Canvas;
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
11 import com.smartgwt.client.widgets.Label;
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
12 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
13 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
14 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
15 import com.smartgwt.client.widgets.form.validator.Validator;
787
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
16 import com.smartgwt.client.widgets.layout.HLayout;
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
17
4184
03de5c424f95 Fix warnings and minor TODOs in flys-client.
Christian Lins <christian.lins@intevation.de>
parents: 1296
diff changeset
18 import de.intevation.flys.client.client.FLYSConstants;
787
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
19 import de.intevation.flys.client.shared.model.Data;
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
20 import de.intevation.flys.client.shared.model.DataItem;
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
21 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
22 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
23 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
24
4184
03de5c424f95 Fix warnings and minor TODOs in flys-client.
Christian Lins <christian.lins@intevation.de>
parents: 1296
diff changeset
25 import java.util.ArrayList;
03de5c424f95 Fix warnings and minor TODOs in flys-client.
Christian Lins <christian.lins@intevation.de>
parents: 1296
diff changeset
26 import java.util.List;
787
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
27
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 * @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
31 */
791
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
32 public class TextProvider
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
33 extends AbstractUIProvider
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
34 implements ItemChangedHandler
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
35 {
4184
03de5c424f95 Fix warnings and minor TODOs in flys-client.
Christian Lins <christian.lins@intevation.de>
parents: 1296
diff changeset
36 private static final long serialVersionUID = -6868303464989138497L;
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) {
794
40269a176cd2 Set default values in the BooleanPanel, TextProvider and AutoIntegerPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 791
diff changeset
50 Canvas form = createForm();
40269a176cd2 Set default values in the BooleanPanel, TextProvider and AutoIntegerPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 791
diff changeset
51
40269a176cd2 Set default values in the BooleanPanel, TextProvider and AutoIntegerPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 791
diff changeset
52 initDefaultValues(dataList);
40269a176cd2 Set default values in the BooleanPanel, TextProvider and AutoIntegerPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 791
diff changeset
53
40269a176cd2 Set default values in the BooleanPanel, TextProvider and AutoIntegerPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 791
diff changeset
54 return form;
787
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
55 }
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 protected Canvas createForm() {
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
59 return createForm(null);
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
60 }
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
61
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
62
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
63 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
64 form = new DynamicForm();
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
65 form.addItemChangedHandler(this);
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
66 form.setTitlePrefix("");
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
67 form.setTitleSuffix(": ");
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
68 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
69 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
70 form.setTitleWidth(getTitleWidth());
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
71 form.setWidth(getFormWidth());
787
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
72
791
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
73 DataSourceField item = createField();
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
74 item.setTitle(title);
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
75
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
76 Validator validator = getValidator();
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
77 if (validator != null) {
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
78 item.setValidators(validator);
787
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
79 }
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
80
791
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
81 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
82 source.setFields(item);
787
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
83
791
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
84 form.setDataSource(source);
787
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
85
791
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
86 return form;
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
87 }
787
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
88
791
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
89
794
40269a176cd2 Set default values in the BooleanPanel, TextProvider and AutoIntegerPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 791
diff changeset
90 protected void initDefaultValues(DataList dataList) {
40269a176cd2 Set default values in the BooleanPanel, TextProvider and AutoIntegerPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 791
diff changeset
91 Data data = dataList.get(0);
40269a176cd2 Set default values in the BooleanPanel, TextProvider and AutoIntegerPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 791
diff changeset
92 DataItem item = data.getDefault();
40269a176cd2 Set default values in the BooleanPanel, TextProvider and AutoIntegerPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 791
diff changeset
93
40269a176cd2 Set default values in the BooleanPanel, TextProvider and AutoIntegerPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 791
diff changeset
94 String value = item.getStringValue();
40269a176cd2 Set default values in the BooleanPanel, TextProvider and AutoIntegerPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 791
diff changeset
95
40269a176cd2 Set default values in the BooleanPanel, TextProvider and AutoIntegerPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 791
diff changeset
96 form.setValue(getFieldName(), value);
40269a176cd2 Set default values in the BooleanPanel, TextProvider and AutoIntegerPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 791
diff changeset
97 }
40269a176cd2 Set default values in the BooleanPanel, TextProvider and AutoIntegerPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 791
diff changeset
98
40269a176cd2 Set default values in the BooleanPanel, TextProvider and AutoIntegerPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 791
diff changeset
99
791
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
100 protected DataSourceField createField() {
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
101 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
102 }
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
1296
c087137a8584 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 794
diff changeset
105 /**
c087137a8584 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 794
diff changeset
106 * Get field name.
c087137a8584 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 794
diff changeset
107 * @return fields name (developer-centric).
c087137a8584 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 794
diff changeset
108 */
791
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
109 protected String getFieldName() {
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
110 return FIELD_NAME;
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
111 }
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
112
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
113
1296
c087137a8584 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 794
diff changeset
114 /**
c087137a8584 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 794
diff changeset
115 * Get field type.
c087137a8584 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 794
diff changeset
116 * @return fields type.
c087137a8584 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 794
diff changeset
117 */
791
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
118 protected FieldType getFieldType() {
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
119 return FieldType.TEXT;
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
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
122
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
123 protected Validator getValidator() {
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
124 return null;
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
125 }
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
126
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
127
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
128 protected int getFormWidth() {
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
129 return FORM_WIDTH;
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
130 }
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
131
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
132
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
133 protected int getTitleWidth() {
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
134 return TITLE_WIDTH;
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
135 }
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
136
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
137
1296
c087137a8584 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 794
diff changeset
138 /** @return null. */
791
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
139 protected String getDataName() {
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
140 return null;
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
141 }
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
142
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
143
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
144 protected String getValueAsString() {
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
145 return (String) form.getValue(getFieldName());
787
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
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
148
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
149 @Override
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
150 public Canvas createOld(DataList dataList) {
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
151 Data data = dataList.get(0);
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
152 DataItem[] items = data.getItems();
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
153
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
154 HLayout layout = new HLayout();
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
155 Label label = new Label(dataList.getLabel());
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
156 Label value = new Label(items[0].getLabel());
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
157
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
158 layout.setHeight(35);
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
159 layout.setWidth(400);
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
160 label.setWidth(200);
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
161
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
162 layout.addMember(label);
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
163 layout.addMember(value);
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
164 layout.addMember(getBackButton(dataList.getState()));
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
165
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
166 return layout;
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
167 }
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
168
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
169
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
170 @Override
791
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
171 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
172 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
173
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
174 if (!form.validate()) {
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
175 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
176 }
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
177
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
178 return errors;
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
179 }
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
180
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
181
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
182 @Override
787
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
183 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
184 String value = getValueAsString();
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
185 String name = getDataName();
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
186
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
187 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
188 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
189 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
190 }
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
191
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
192
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
193 @Override
9b1499a65aaa Finished the panel that allows integers and the string 'auto'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
194 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
195 form.validate();
787
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
196 }
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
197 }
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
198 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org