comparison flys-client/src/main/java/org/dive4elements/river/client/client/ui/fixation/FixEventSelect.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/fixation/FixEventSelect.java@b296d435fc69
children 821a02bbfb4e
comparison
equal deleted inserted replaced
5833:a2bdc0f524e8 5834:f507086aa94b
1 package de.intevation.flys.client.client.ui.fixation;
2
3 import java.util.List;
4 import java.util.ArrayList;
5
6 import com.google.gwt.core.client.GWT;
7
8 import com.smartgwt.client.widgets.Canvas;
9 import com.smartgwt.client.widgets.Label;
10
11 import com.smartgwt.client.widgets.layout.HLayout;
12 import com.smartgwt.client.widgets.layout.VLayout;
13
14 import de.intevation.flys.client.client.FLYSConstants;
15
16 import de.intevation.flys.client.shared.model.Data;
17 import de.intevation.flys.client.shared.model.DataItem;
18 import de.intevation.flys.client.shared.model.DataList;
19 import de.intevation.flys.client.shared.model.IntDataItem;
20 import de.intevation.flys.client.shared.model.IntegerArrayData;
21 import de.intevation.flys.client.shared.model.FixingsOverviewInfo.FixEvent;
22
23 import de.intevation.flys.client.client.services.FixingsOverviewService;
24 import de.intevation.flys.client.client.services.FixingsOverviewServiceAsync;
25
26 /**
27 * This UIProvider lets you select events.
28 *
29 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a>
30 */
31 public class FixEventSelect
32 extends FixationPanel
33 {
34 /** The message class that provides i18n strings. */
35 protected FLYSConstants MESSAGES = GWT.create(FLYSConstants.class);
36
37 public static final int MAX_DISPLAYED_ITEMS = 5;
38
39 protected FixingsOverviewServiceAsync overviewService =
40 GWT.create(FixingsOverviewService.class);
41
42 protected List<String> events;
43
44 public FixEventSelect() {
45 htmlOverview = "";
46 events = new ArrayList<String>();
47 }
48
49 public Canvas createWidget(DataList data) {
50 instances.put(this.artifact.getUuid(), this);
51
52 VLayout layout = new VLayout();
53
54 Canvas title = new Label(MESSAGES.eventselect());
55 title.setHeight("25px");
56
57 layout.addMember(title);
58 return layout;
59 }
60
61 @Override
62 public Canvas createOld(DataList dataList) {
63 List<Data> list = dataList.getAll();
64
65 Data data = getData(list, "events");
66
67 VLayout dataLayout = new VLayout();
68 dataLayout.setWidth(130);
69
70 DataItem[] items = data.getItems();
71
72 if (items.length > MAX_DISPLAYED_ITEMS) {
73 for (int i = 0; i < MAX_DISPLAYED_ITEMS-2; ++i) {
74 Label l = new Label(items[i].getLabel());
75 l.setHeight(25);
76 dataLayout.addMember(l);
77 }
78 Label l = new Label("...");
79 l.setHeight(25);
80 dataLayout.addMember(l);
81 l = new Label(items[items.length-1].getLabel());
82 l.setHeight(25);
83 dataLayout.addMember(l);
84 }
85 else {
86 for (int i = 0; i < items.length; i++) {
87 Label l = new Label(items[i].getLabel());
88 l.setHeight(25);
89 dataLayout.addMember(l);
90 }
91 }
92
93 HLayout layout = new HLayout();
94 layout.setWidth("400px");
95
96 Label label = new Label(dataList.getLabel());
97 label.setWidth("200px");
98
99 Canvas back = getBackButton(dataList.getState());
100
101 layout.addMember(label);
102 layout.addMember(dataLayout);
103 layout.addMember(back);
104
105 return layout;
106 }
107
108
109 /**
110 * This method returns the selected data.
111 *
112 * @return the selected/inserted data.
113 */
114 public Data[] getData() {
115 List<Data> data = new ArrayList<Data>();
116
117 if (events.size() > 0) {
118 IntDataItem[] arr = new IntDataItem[events.size()];
119 for (int i = 0, E = events.size(); i < E; i++) {
120 try {
121 Integer v = new Integer(events.get(i));
122 arr[i] = new IntDataItem("id", "id", v.intValue());
123 }
124 catch (NumberFormatException nfe) {
125 return data.toArray(new Data[data.size()]);
126 }
127 }
128
129 IntegerArrayData iad =
130 new IntegerArrayData("events", "events", arr);
131
132 data.add(iad);
133 }
134
135 return data.toArray(new Data[data.size()]);
136 }
137
138
139 @Override
140 public void setValues(String cid, boolean checked) {
141 if (checked) {
142 events.add(cid);
143 }
144 else {
145 if (events.contains(cid)) {
146 events.remove(cid);
147 }
148 }
149 }
150
151
152 @Override
153 public boolean renderCheckboxes() {
154 return true;
155 }
156
157
158 public void success() {
159 for (FixEvent fe: fixInfo.getEvents()) {
160 events.add(fe.getCId());
161 }
162 }
163
164 public void dumpGWT(String cid) {
165 GWT.log("Setting values for cId: " + cid);
166 GWT.log("River: " + fixInfo.getRiver());
167 GWT.log("Date: " + fixInfo.getEventByCId(cid).getDate());
168 GWT.log("Name: " + fixInfo.getEventByCId(cid).getDescription());
169 }
170 }

http://dive4elements.wald.intevation.org