comparison flys-client/src/main/java/org/dive4elements/river/client/client/ui/UserRGDProvider.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/UserRGDProvider.java@7fa94b793cbe
children 821a02bbfb4e
comparison
equal deleted inserted replaced
5833:a2bdc0f524e8 5834:f507086aa94b
1 package de.intevation.flys.client.client.ui;
2
3 import java.util.List;
4
5 import com.google.gwt.core.client.GWT;
6 import com.smartgwt.client.types.Encoding;
7 import com.smartgwt.client.types.VerticalAlignment;
8 import com.smartgwt.client.widgets.Button;
9 import com.smartgwt.client.widgets.Canvas;
10 import com.smartgwt.client.widgets.HTMLPane;
11 import com.smartgwt.client.widgets.Label;
12 import com.smartgwt.client.widgets.events.ClickEvent;
13 import com.smartgwt.client.widgets.events.ClickHandler;
14 import com.smartgwt.client.widgets.form.DynamicForm;
15 import com.smartgwt.client.widgets.form.fields.UploadItem;
16 import com.smartgwt.client.widgets.layout.VLayout;
17
18 import de.intevation.flys.client.shared.model.Data;
19 import de.intevation.flys.client.shared.model.DataItem;
20 import de.intevation.flys.client.shared.model.DataList;
21 import de.intevation.flys.client.shared.model.DefaultData;
22 import de.intevation.flys.client.shared.model.DefaultDataItem;
23
24
25 public class UserRGDProvider
26 extends SelectProvider
27 {
28
29 private HTMLPane uploadTargetFrame;
30 private String uploadFile;
31
32 public UserRGDProvider() {
33 uploadTargetFrame = new HTMLPane();
34 }
35
36 @Override
37 public Canvas create(DataList list) {
38 List<Data> data = list.getAll();
39
40 //Canvas selectBox = super.create(clone);
41 Canvas widget = createWidget(list);
42
43 return widget;
44 }
45
46
47 /**
48 * This method creates the content of the widget.
49 *
50 * @param data The {@link DataList} object.
51 *
52 * @return a combobox.
53 */
54 @Override
55 protected Canvas createWidget(DataList data) {
56 GWT.log("DigitizePanel - createWidget()");
57
58 VLayout layout = new VLayout();
59 layout.setAlign(VerticalAlignment.TOP);
60 layout.setHeight(25);
61
62 int size = data.size();
63
64 for (int i = 0; i < size; i++) {
65 Data d = data.get(i);
66
67 Label label = new Label(d.getDescription());
68 label.setValign(VerticalAlignment.TOP);
69 label.setHeight(20);
70 label.setWidth(400);
71
72 uploadTargetFrame.setWidth("200px");
73 uploadTargetFrame.setHeight("50px");
74 uploadTargetFrame.setContents(
75 "<iframe id='uploadTarget' name='uploadTarget' scrolling='no' width=200 height=50 style='border: 0px'></iframe>");
76 uploadTargetFrame.setBorder("0px");
77 uploadTargetFrame.setScrollbarSize(0);
78
79 final DynamicForm uploadForm = new DynamicForm();
80 uploadForm.setAction("flys/fileupload?uuid=" + artifact.getUuid());
81 uploadForm.setTarget("uploadTarget");
82 uploadForm.setEncoding(Encoding.MULTIPART);
83 Label uploadLabel = new Label(MSG.shape_file_upload());
84 uploadLabel.setHeight(20);
85 final UploadItem uploadItem = new UploadItem();
86 uploadItem.setShowTitle(false);
87 uploadForm.setFields(uploadItem);
88 Button submit = new Button(MSG.upload_file());
89 submit.addClickHandler(new ClickHandler() {
90 @Override
91 public void onClick(ClickEvent e) {
92 uploadFile = uploadItem.getValueAsString();
93 uploadForm.submitForm();
94 }
95 });
96
97 layout.addMember(label);
98 layout.addMember(form);
99 layout.addMember(uploadLabel);
100 layout.addMember(uploadForm);
101 layout.addMember(submit);
102 layout.addMember(getNextButton());
103
104 layout.setMembersMargin(10);
105 layout.addMember(uploadTargetFrame);
106 }
107
108 layout.setAlign(VerticalAlignment.TOP);
109
110 return layout;
111 }
112
113 @Override
114 protected Data[] getData() {
115 Data[] total = new Data[1];
116
117 if (uploadFile != null && uploadFile.length() > 0) {
118 DataItem item = new DefaultDataItem(
119 "uesk.user-rgd", "uesk.user-rgd", uploadFile);
120 total[0] = new DefaultData(
121 "uesk.user-rgd", null, null, new DataItem[] { item });
122 }
123 else {
124 // Happens when OpenLayers is missing
125 DataItem item = new DefaultDataItem(
126 "uesk.user-rgd", "uesk.user-rgd", MSG.notselected());
127 total[0] = new DefaultData(
128 "uesk.user-rgd", null, null, new DataItem[] { item });
129 }
130
131 return total;
132 }
133 }

http://dive4elements.wald.intevation.org