Mercurial > dive4elements > river
comparison flys-client/src/main/java/de/intevation/flys/client/client/ui/DigitizePanel.java @ 2494:88b51e6e0334
Issue 657.
Added UI and service for shapefile upload.
flys-client/trunk@4294 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Wed, 25 Apr 2012 07:58:58 +0000 |
parents | bc06a671ef60 |
children | 145980c21700 |
comparison
equal
deleted
inserted
replaced
2493:f905c936ffff | 2494:88b51e6e0334 |
---|---|
1 package de.intevation.flys.client.client.ui; | 1 package de.intevation.flys.client.client.ui; |
2 | 2 |
3 import java.util.List; | 3 import java.util.List; |
4 import java.util.LinkedHashMap; | |
4 | 5 |
5 import com.google.gwt.core.client.GWT; | 6 import com.google.gwt.core.client.GWT; |
6 import com.google.gwt.user.client.rpc.AsyncCallback; | 7 import com.google.gwt.user.client.rpc.AsyncCallback; |
7 | 8 |
8 import com.smartgwt.client.util.SC; | 9 import com.smartgwt.client.util.SC; |
9 import com.smartgwt.client.widgets.Canvas; | 10 import com.smartgwt.client.widgets.Canvas; |
11 import com.smartgwt.client.widgets.Button; | |
12 import com.smartgwt.client.widgets.Label; | |
10 import com.smartgwt.client.widgets.events.ResizedEvent; | 13 import com.smartgwt.client.widgets.events.ResizedEvent; |
11 import com.smartgwt.client.widgets.events.ResizedHandler; | 14 import com.smartgwt.client.widgets.events.ResizedHandler; |
15 import com.smartgwt.client.widgets.events.ClickEvent; | |
16 import com.smartgwt.client.widgets.events.ClickHandler; | |
12 import com.smartgwt.client.widgets.tab.events.TabSelectedHandler; | 17 import com.smartgwt.client.widgets.tab.events.TabSelectedHandler; |
13 import com.smartgwt.client.widgets.tab.events.TabSelectedEvent; | 18 import com.smartgwt.client.widgets.tab.events.TabSelectedEvent; |
14 import com.smartgwt.client.widgets.events.VisibilityChangedHandler; | 19 import com.smartgwt.client.widgets.events.VisibilityChangedHandler; |
15 import com.smartgwt.client.widgets.events.VisibilityChangedEvent; | 20 import com.smartgwt.client.widgets.events.VisibilityChangedEvent; |
21 import com.smartgwt.client.widgets.layout.VLayout; | |
22 import com.smartgwt.client.widgets.form.DynamicForm; | |
23 import com.smartgwt.client.widgets.form.fields.UploadItem; | |
24 import com.smartgwt.client.widgets.form.fields.SelectItem; | |
25 import com.smartgwt.client.types.VerticalAlignment; | |
26 import com.smartgwt.client.widgets.HTMLPane; | |
27 import com.smartgwt.client.types.Encoding; | |
16 | 28 |
17 import org.gwtopenmaps.openlayers.client.Map; | 29 import org.gwtopenmaps.openlayers.client.Map; |
18 import org.gwtopenmaps.openlayers.client.feature.VectorFeature; | 30 import org.gwtopenmaps.openlayers.client.feature.VectorFeature; |
19 import org.gwtopenmaps.openlayers.client.format.GeoJSON; | 31 import org.gwtopenmaps.openlayers.client.format.GeoJSON; |
20 import org.gwtopenmaps.openlayers.client.layer.WMS; | 32 import org.gwtopenmaps.openlayers.client.layer.WMS; |
102 | 114 |
103 return selectBox; | 115 return selectBox; |
104 } | 116 } |
105 | 117 |
106 | 118 |
119 /** | |
120 * This method creates the content of the widget. | |
121 * | |
122 * @param data The {@link DataList} object. | |
123 * | |
124 * @return a combobox. | |
125 */ | |
126 protected Canvas createWidget(DataList data) { | |
127 GWT.log("DigitizePanel - createWidget()"); | |
128 | |
129 VLayout layout = new VLayout(); | |
130 layout.setAlign(VerticalAlignment.TOP); | |
131 layout.setHeight(25); | |
132 | |
133 LinkedHashMap initial = new LinkedHashMap(); | |
134 | |
135 form = new DynamicForm(); | |
136 | |
137 int size = data.size(); | |
138 | |
139 for (int i = 0; i < size; i++) { | |
140 Data d = data.get(i); | |
141 | |
142 Label label = new Label(d.getDescription()); | |
143 label.setValign(VerticalAlignment.TOP); | |
144 label.setHeight(20); | |
145 label.setWidth(400); | |
146 | |
147 SelectItem combobox = new SelectItem(d.getLabel()); | |
148 combobox.setWidth(250); | |
149 | |
150 LinkedHashMap<String, String> it = new LinkedHashMap<String, String>(); | |
151 | |
152 boolean defaultSet = false; | |
153 boolean first = true; | |
154 | |
155 DataItem def = d.getDefault(); | |
156 String defValue = def != null ? def.getStringValue() : null; | |
157 | |
158 if (defValue != null && defValue.length() > 0) { | |
159 initial.put(d.getLabel(), def.getStringValue()); | |
160 defaultSet = true; | |
161 } | |
162 | |
163 // I was here. | |
164 for (DataItem item: d.getItems()) { | |
165 if (!defaultSet && first) { | |
166 initial.put(d.getLabel(), item.getStringValue()); | |
167 first = false; | |
168 } | |
169 | |
170 it.put(item.getStringValue(), item.getLabel()); | |
171 } | |
172 | |
173 label.setWidth(50); | |
174 combobox.setValueMap(it); | |
175 combobox.setShowTitle(false); | |
176 form.setItems(combobox); | |
177 | |
178 HTMLPane frame = new HTMLPane(); | |
179 frame.setWidth("1px"); | |
180 frame.setHeight("1px"); | |
181 frame.setContents("<iframe id='uploadTarget' name='uploadTarget'></iframe>"); | |
182 | |
183 final DynamicForm uploadForm = new DynamicForm(); | |
184 uploadForm.setAction("flys/fileupload?uuid=" + artifact.getUuid()); | |
185 uploadForm.setTarget("uploadTarget"); | |
186 uploadForm.setEncoding(Encoding.MULTIPART); | |
187 Label uploadLabel = new Label(MSG.shape_file_upload()); | |
188 uploadLabel.setHeight(20); | |
189 UploadItem uploadItem = new UploadItem(); | |
190 uploadItem.setShowTitle(false); | |
191 uploadForm.setFields(uploadItem); | |
192 Button submit = new Button(MSG.upload_file()); | |
193 submit.addClickHandler(new ClickHandler() { | |
194 public void onClick(ClickEvent e) { | |
195 uploadForm.submitForm(); | |
196 } | |
197 }); | |
198 layout.addMember(frame); | |
199 layout.addMember(label); | |
200 layout.addMember(form); | |
201 layout.addMember(uploadLabel); | |
202 layout.addMember(uploadForm); | |
203 layout.addMember(submit); | |
204 } | |
205 | |
206 form.setValues(initial); | |
207 | |
208 layout.setAlign(VerticalAlignment.TOP); | |
209 | |
210 return layout; | |
211 } | |
212 | |
213 | |
107 @Override | 214 @Override |
108 protected Data[] getData() { | 215 protected Data[] getData() { |
109 Data[] data = super.getData(); | 216 Data[] data = super.getData(); |
110 Data[] total = new Data[2]; | 217 Data[] total = new Data[2]; |
111 | 218 |