Mercurial > dive4elements > river
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 } |