diff 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
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/flys-client/src/main/java/org/dive4elements/river/client/client/ui/UserRGDProvider.java	Thu Apr 25 12:31:32 2013 +0200
@@ -0,0 +1,133 @@
+package de.intevation.flys.client.client.ui;
+
+import java.util.List;
+
+import com.google.gwt.core.client.GWT;
+import com.smartgwt.client.types.Encoding;
+import com.smartgwt.client.types.VerticalAlignment;
+import com.smartgwt.client.widgets.Button;
+import com.smartgwt.client.widgets.Canvas;
+import com.smartgwt.client.widgets.HTMLPane;
+import com.smartgwt.client.widgets.Label;
+import com.smartgwt.client.widgets.events.ClickEvent;
+import com.smartgwt.client.widgets.events.ClickHandler;
+import com.smartgwt.client.widgets.form.DynamicForm;
+import com.smartgwt.client.widgets.form.fields.UploadItem;
+import com.smartgwt.client.widgets.layout.VLayout;
+
+import de.intevation.flys.client.shared.model.Data;
+import de.intevation.flys.client.shared.model.DataItem;
+import de.intevation.flys.client.shared.model.DataList;
+import de.intevation.flys.client.shared.model.DefaultData;
+import de.intevation.flys.client.shared.model.DefaultDataItem;
+
+
+public class UserRGDProvider
+extends SelectProvider
+{
+
+    private HTMLPane uploadTargetFrame;
+    private String uploadFile;
+
+    public UserRGDProvider() {
+        uploadTargetFrame = new HTMLPane();
+    }
+
+    @Override
+    public Canvas create(DataList list) {
+        List<Data> data = list.getAll();
+
+        //Canvas selectBox = super.create(clone);
+        Canvas widget = createWidget(list);
+
+        return widget;
+    }
+
+
+    /**
+     * This method creates the content of the widget.
+     *
+     * @param data The {@link DataList} object.
+     *
+     * @return a combobox.
+     */
+    @Override
+    protected Canvas createWidget(DataList data) {
+        GWT.log("DigitizePanel - createWidget()");
+
+        VLayout layout   = new VLayout();
+        layout.setAlign(VerticalAlignment.TOP);
+        layout.setHeight(25);
+
+        int size = data.size();
+
+        for (int i = 0; i < size; i++) {
+            Data d = data.get(i);
+
+            Label label = new Label(d.getDescription());
+            label.setValign(VerticalAlignment.TOP);
+            label.setHeight(20);
+            label.setWidth(400);
+
+            uploadTargetFrame.setWidth("200px");
+            uploadTargetFrame.setHeight("50px");
+            uploadTargetFrame.setContents(
+                    "<iframe id='uploadTarget' name='uploadTarget' scrolling='no' width=200 height=50 style='border: 0px'></iframe>");
+            uploadTargetFrame.setBorder("0px");
+            uploadTargetFrame.setScrollbarSize(0);
+
+            final DynamicForm uploadForm = new DynamicForm();
+            uploadForm.setAction("flys/fileupload?uuid=" + artifact.getUuid());
+            uploadForm.setTarget("uploadTarget");
+            uploadForm.setEncoding(Encoding.MULTIPART);
+            Label uploadLabel = new Label(MSG.shape_file_upload());
+            uploadLabel.setHeight(20);
+            final UploadItem uploadItem = new UploadItem();
+            uploadItem.setShowTitle(false);
+            uploadForm.setFields(uploadItem);
+            Button submit = new Button(MSG.upload_file());
+            submit.addClickHandler(new ClickHandler() {
+                @Override
+                public void onClick(ClickEvent e) {
+                    uploadFile = uploadItem.getValueAsString();
+                    uploadForm.submitForm();
+                }
+            });
+
+            layout.addMember(label);
+            layout.addMember(form);
+            layout.addMember(uploadLabel);
+            layout.addMember(uploadForm);
+            layout.addMember(submit);
+            layout.addMember(getNextButton());
+
+            layout.setMembersMargin(10);
+            layout.addMember(uploadTargetFrame);
+        }
+
+        layout.setAlign(VerticalAlignment.TOP);
+
+        return layout;
+    }
+
+    @Override
+    protected Data[] getData() {
+        Data[] total = new Data[1];
+
+        if (uploadFile != null && uploadFile.length() > 0) {
+            DataItem item = new DefaultDataItem(
+                "uesk.user-rgd", "uesk.user-rgd", uploadFile);
+            total[0] = new DefaultData(
+                "uesk.user-rgd", null, null, new DataItem[] { item });
+        }
+        else {
+            // Happens when OpenLayers is missing
+            DataItem item = new DefaultDataItem(
+                "uesk.user-rgd", "uesk.user-rgd", MSG.notselected());
+            total[0] = new DefaultData(
+                "uesk.user-rgd", null, null, new DataItem[] { item });
+        }
+
+        return total;
+    }
+}

http://dive4elements.wald.intevation.org