annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/BooleanPanel.java @ 787:4e0b73b7113b

Added new UI providers. flys-client/trunk@2284 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Tue, 05 Jul 2011 17:28:04 +0000
parents
children 696e3404e991
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
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
5 import com.smartgwt.client.widgets.Canvas;
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
6 import com.smartgwt.client.widgets.Label;
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
7 import com.smartgwt.client.widgets.form.DynamicForm;
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
8 import com.smartgwt.client.widgets.form.fields.CheckboxItem;
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
9 import com.smartgwt.client.widgets.layout.HLayout;
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10 import com.smartgwt.client.widgets.layout.VLayout;
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
11
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
12 import de.intevation.flys.client.shared.model.Data;
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
13 import de.intevation.flys.client.shared.model.DataItem;
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
14 import de.intevation.flys.client.shared.model.DataList;
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
15 import de.intevation.flys.client.shared.model.DefaultData;
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
16 import de.intevation.flys.client.shared.model.DefaultDataItem;
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
17
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
18
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
19 /**
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
20 * @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
21 */
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
22 public class BooleanPanel extends AbstractUIProvider {
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
23
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
24 public static final String FIELD_NAME = "boolean_field";
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
25
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
26 protected DynamicForm form;
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 protected String dataName;
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 @Override
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
32 public Canvas create(DataList dataList) {
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
33 Data data = dataList.get(0);
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
34 DataItem[] items = data.getItems();
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
35
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
36 this.dataName = data.getLabel();
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
38 VLayout layout = new VLayout();
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
39 Label label = new Label(data.getDescription());
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
40
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
41 layout.setMembersMargin(10);
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
42 layout.setHeight(35);
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
43 label.setHeight(35);
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 layout.addMember(label);
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
46 layout.addMember(createForm(items[0].getLabel()));
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
47 layout.addMember(getNextButton());
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
48
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
49 return layout;
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
50 }
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 protected Canvas createForm() {
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
54 return createForm(null);
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(String title) {
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
59 HLayout layout = new HLayout();
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
60 layout.setMembersMargin(10);
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 if (title != null && title.length() > 0) {
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
63 Label label = new Label(title);
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
64 label.setHeight(25);
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
65 layout.addMember(label);
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
66 }
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
67
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
68 form = new DynamicForm();
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
69 layout.addMember(form);
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
70
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
71 CheckboxItem item = new CheckboxItem(FIELD_NAME);
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
72 item.setShowTitle(false);
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
73 item.setShowLabel(false);
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
74
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
75 form.setFields(item);
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
76
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
77 return layout;
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
78 }
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
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
81 @Override
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
82 public Canvas createOld(DataList dataList) {
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
83 Data data = dataList.get(0);
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
84 DataItem[] items = data.getItems();
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
85
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
86 HLayout layout = new HLayout();
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
87 Label label = new Label(dataList.getLabel());
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
88 Label value = new Label(items[0].getLabel());
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
89
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
90 layout.setHeight(35);
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
91 layout.setWidth(400);
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
92 label.setWidth(200);
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
93
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
94 layout.addMember(label);
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
95 layout.addMember(value);
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
96 layout.addMember(getBackButton(dataList.getState()));
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
97
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
98 return layout;
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
99 }
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
100
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
101
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
102 @Override
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
103 protected Data[] getData() {
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
104 GWT.log("+++ RETURN DATA FOR STATE: " + dataName + " +++");
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
105 String value = "TODO:FIND VALUE";
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
106 DataItem item = new DefaultDataItem(dataName, dataName, value);
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
107 return new Data[] { new DefaultData(
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
108 dataName, null, null, new DataItem[] { item }) };
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
109 }
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
110 }
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
111 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org