Mercurial > dive4elements > river
comparison gwt-client/src/main/java/org/dive4elements/river/client/client/ui/fixation/FixEventSelect.java @ 5838:5aa05a7a34b7
Rename modules to more fitting names.
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Thu, 25 Apr 2013 15:23:37 +0200 |
parents | flys-client/src/main/java/org/dive4elements/river/client/client/ui/fixation/FixEventSelect.java@821a02bbfb4e |
children | 172338b1407f |
comparison
equal
deleted
inserted
replaced
5837:d9901a08d0a6 | 5838:5aa05a7a34b7 |
---|---|
1 package org.dive4elements.river.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 org.dive4elements.river.client.client.FLYSConstants; | |
15 | |
16 import org.dive4elements.river.client.shared.model.Data; | |
17 import org.dive4elements.river.client.shared.model.DataItem; | |
18 import org.dive4elements.river.client.shared.model.DataList; | |
19 import org.dive4elements.river.client.shared.model.IntDataItem; | |
20 import org.dive4elements.river.client.shared.model.IntegerArrayData; | |
21 import org.dive4elements.river.client.shared.model.FixingsOverviewInfo.FixEvent; | |
22 | |
23 import org.dive4elements.river.client.client.services.FixingsOverviewService; | |
24 import org.dive4elements.river.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 } |