comparison flys-client/src/main/java/org/dive4elements/river/client/client/ui/AutoIntegerPanel.java @ 5834:f507086aa94b

Repaired internal references.
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 25 Apr 2013 12:31:32 +0200
parents flys-client/src/main/java/de/intevation/flys/client/client/ui/AutoIntegerPanel.java@360e22afb98b
children 821a02bbfb4e
comparison
equal deleted inserted replaced
5833:a2bdc0f524e8 5834:f507086aa94b
1 package de.intevation.flys.client.client.ui;
2
3 import com.google.gwt.core.client.GWT;
4
5 import com.smartgwt.client.widgets.Canvas;
6 import com.smartgwt.client.widgets.Label;
7 import com.smartgwt.client.widgets.form.validator.CustomValidator;
8 import com.smartgwt.client.widgets.form.validator.Validator;
9 import com.smartgwt.client.widgets.layout.VLayout;
10
11 import de.intevation.flys.client.client.FLYSConstants;
12 import de.intevation.flys.client.shared.model.Data;
13 import de.intevation.flys.client.shared.model.DataList;
14
15
16 /**
17 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
18 */
19 public class AutoIntegerPanel extends TextProvider {
20
21 private static final long serialVersionUID = -6525461829035465820L;
22
23 public static final String FIELD_NAME = "integer_field";
24
25 public static final String FIELD_DEFAULT_VALUE = "auto";
26
27
28 protected static FLYSConstants MSG = GWT.create(FLYSConstants.class);
29
30 protected String dataName;
31
32
33 @Override
34 public Canvas create(DataList dataList) {
35 Data data = dataList.get(0);
36 this.dataName = data.getLabel();
37
38 Canvas label = new Label(data.getDescription());
39 Canvas form = createForm(getTitle());
40 Canvas submit = getNextButton();
41
42 VLayout layout = new VLayout();
43 layout.setHeight(35);
44 label.setHeight(35);
45
46 layout.addMember(label);
47 layout.addMember(form);
48 layout.addMember(submit);
49 layout.setMembersMargin(10);
50
51 initDefaultValues(dataList);
52
53 return layout;
54 }
55
56
57 @Override
58 protected void initDefaultValues(DataList dataList) {
59 super.initDefaultValues(dataList);
60
61 String def = getValueAsString();
62
63 if (def == null || def.length() == 0) {
64 form.setValue(getFieldName(), FIELD_DEFAULT_VALUE);
65 }
66 }
67
68
69 protected String getTitle() {
70 return MSG.uesk_profile_distance();
71 }
72
73
74 @Override
75 protected String getDataName() {
76 return dataName;
77 }
78
79
80 @Override
81 protected String getValueAsString() {
82 String v = (String) form.getValue(getFieldName());
83 return v.toLowerCase();
84 }
85
86
87 @Override
88 protected Validator getValidator() {
89 Validator v = new AutoIntegerValidator();
90 v.setValidateOnChange(false);
91
92 return v;
93 }
94
95
96 public class AutoIntegerValidator extends CustomValidator {
97 @Override
98 protected boolean condition(Object value) {
99 String v = (String) value;
100
101 if (v == null || v.length() == 0) {
102 return false;
103 }
104
105 if (v.trim().equalsIgnoreCase("auto")) {
106 return true;
107 }
108
109 try {
110 Integer.parseInt(v);
111 return true;
112 }
113 catch (NumberFormatException nfe) {
114 return false;
115 }
116 }
117 }
118 }
119 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org