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