Example usage for com.google.gwt.user.client.ui FileUpload FileUpload

List of usage examples for com.google.gwt.user.client.ui FileUpload FileUpload

Introduction

In this page you can find the example usage for com.google.gwt.user.client.ui FileUpload FileUpload.

Prototype

public FileUpload() 

Source Link

Document

Constructs a new file upload widget.

Usage

From source file:com.google.gwt.sample.showcase.client.content.widgets.CwFileUpload.java

License:Apache License

/**
 * Initialize this example./* w  ww  .j a  va2 s  .c  o m*/
 */
@ShowcaseSource
@Override
public Widget onInitialize() {
    // Create a vertical panel to align the content
    VerticalPanel vPanel = new VerticalPanel();

    // Add a label
    vPanel.add(new HTML(constants.cwFileUploadSelectFile()));

    // Add a file upload widget
    final FileUpload fileUpload = new FileUpload();
    fileUpload.ensureDebugId("cwFileUpload");
    vPanel.add(fileUpload);

    // Add a button to upload the file
    Button uploadButton = new Button(constants.cwFileUploadButton());
    uploadButton.addClickHandler(new ClickHandler() {
        public void onClick(ClickEvent event) {
            String filename = fileUpload.getFilename();
            if (filename.length() == 0) {
                Window.alert(constants.cwFileUploadNoFileError());
            } else {
                Window.alert(constants.cwFileUploadSuccessful());
            }
        }
    });
    vPanel.add(new HTML("<br>"));
    vPanel.add(uploadButton);

    // Return the layout panel
    return vPanel;
}

From source file:com.google.gwt.sample.userwatcher.client.FileUploaderWidget_v2.java

public void draw() {

    fileUpload = new FileUpload();
    pUpload.add(fileUpload);

    Element e = fileUpload.getElement();

    observeImageData(this, e);
}

From source file:com.google.livingstories.client.contentmanager.ImportManager.java

License:Apache License

private Widget createFileUploadForm() {
    fileUploadForm = new FormPanel();
    fileUploadForm.setAction("/import");
    fileUploadForm.setEncoding(FormPanel.ENCODING_MULTIPART);
    fileUploadForm.setMethod(FormPanel.METHOD_POST);

    VerticalPanel fileUploadPanel = new VerticalPanel();
    fileUploadForm.setWidget(fileUploadPanel);

    FileUpload upload = new FileUpload();
    upload.setName("data");
    fileUploadPanel.add(upload);/*from   w  ww .ja  va  2s  . com*/

    CheckBox override = new CheckBox(
            "Check this box if the previous import attempt resulted in " + "an error.");
    override.setName("override");
    override.setFormValue("true");
    fileUploadPanel.add(override);

    Button submit = new Button("Submit");
    submit.addClickHandler(new ClickHandler() {
        public void onClick(ClickEvent e) {
            fileUploadForm.submit();
            statusLabel.setHTML("Uploading...");
            progress = 0;
        }
    });
    fileUploadPanel.add(submit);

    fileUploadForm.addSubmitCompleteHandler(new SubmitCompleteHandler() {
        @Override
        public void onSubmitComplete(SubmitCompleteEvent e) {
            processResult(e.getResults());
        }
    });
    return fileUploadForm;
}

From source file:com.GTDF.client.GWT_Transxchange2GoogleTransit.java

License:Apache License

public void onModuleLoad() {

    String wikiUserName = readUsername();

    //Service Start
    final TextBox textBoxServiceStartGz = new TextBox();

    TabPanel tabs = new TabPanel();
    tabs.setStyleName(".gwt-TabBar");

    tabs.setWidth("100%");
    tabs.setHeight("100%");

    //-------------------------EDJ ----------------
    DockPanel dock = new DockPanel();
    dock.setSize("663px", "220px");
    dock.setStyleName("gwt-TabBar");
    VerticalPanel TransformWindow = new VerticalPanel();
    TransformWindow.setStyleName("weather-input-panel");

    //Agency URL/*from   w  w w  . j  av a  2  s.c o m*/
    HorizontalPanel AgencyURL = new HorizontalPanel();
    Label url_lbl = new Label("Agency URL:");
    url_lbl.setWidth("90");
    final TextBox textBoxUrl = new TextBox();
    textBoxUrl.setText("http://www.agency.org");
    textBoxUrl.setVisibleLength(40);
    AgencyURL.add(url_lbl);
    AgencyURL.add(textBoxUrl);
    //-----------

    //Route Type
    HorizontalPanel RType = new HorizontalPanel();
    Label rt_lbl = new Label("Route Type:");
    rt_lbl.setWidth("90");
    final ListBox listBoxDefaultRouteType = new ListBox();
    listBoxDefaultRouteType.setVisibleItemCount(1);
    listBoxDefaultRouteType.addItem("Tram");
    listBoxDefaultRouteType.addItem("Subway");
    listBoxDefaultRouteType.addItem("Rail");
    listBoxDefaultRouteType.addItem("Bus");
    listBoxDefaultRouteType.addItem("Ferry");
    listBoxDefaultRouteType.addItem("Cable car");
    listBoxDefaultRouteType.addItem("Gondola");
    listBoxDefaultRouteType.addItem("Funicular");
    listBoxDefaultRouteType.setSelectedIndex(0);
    RType.add(rt_lbl);
    RType.add(listBoxDefaultRouteType);
    //-----------

    //Time Zone
    VerticalPanel TZ = new VerticalPanel();
    Label tz_lbl = new Label("Time Zone:");
    tz_lbl.setWidth("90");

    HorizontalPanel Continent = new HorizontalPanel();
    Label continent_lbl = new Label("Continent:");
    continent_lbl.setWidth("90");
    final ListBox listBoxTimezoneP = new ListBox();
    listBoxTimezoneP.addItem("Africa");
    listBoxTimezoneP.addItem("America");
    listBoxTimezoneP.addItem("Antarctica");
    listBoxTimezoneP.addItem("Artic");
    listBoxTimezoneP.addItem("Asia");
    listBoxTimezoneP.addItem("Atlantic");
    listBoxTimezoneP.addItem("Australia");
    listBoxTimezoneP.addItem("Europe");
    listBoxTimezoneP.addItem("Indian");
    listBoxTimezoneP.addItem("Pacific");
    listBoxTimezoneP.setVisibleItemCount(1);
    listBoxTimezoneP.setSelectedIndex(0);

    Continent.add(continent_lbl);
    Continent.add(listBoxTimezoneP);

    HorizontalPanel Region = new HorizontalPanel();
    Label region_lbl = new Label("Region:");
    region_lbl.setWidth("90");
    final ListBox listBoxTimezoneS = new ListBox();
    switchTimezone(listBoxTimezoneS, 0);
    Region.add(region_lbl);
    Region.add(listBoxTimezoneS);

    TZ.add(tz_lbl);
    TZ.add(Continent);
    TZ.add(Region);
    //-----------

    Button dialogButton = new Button("Show Dialog", new ClickListener() {
        public void onClick(Widget sender) {
            //EDJ
            DialogBox dlg = new MyDialog();
            int left = 120;
            int top = 300;
            dlg.setPopupPosition(left, top);
            dlg.show();
        }
    });

    final Label labelOutdir = new Label(); // Displays wikiuser
    final Label labelResultGz = new Label();
    final Label labelResult = new Label();
    final Label labelResultUser = new Label();

    final FormPanel uploadFormGz = new FormPanel();
    uploadFormGz.setAction(GWT.getModuleBaseURL() + "upload");
    uploadFormGz.setEncoding(FormPanel.ENCODING_MULTIPART);
    uploadFormGz.setMethod(FormPanel.METHOD_POST);
    //Upload
    final HorizontalPanel uploadPanelGz = new HorizontalPanel();
    Label upload_lbl = new Label("Upload File:");
    upload_lbl.setWidth("90");
    uploadPanelGz.add(upload_lbl);
    //uploadPanelGz.add(upload_tb);
    //uploadPanelGz.add(upload_btn);
    //--------------

    // Add hidden widget to pass user name to FileUploadServlet for verification against wiki user table
    final Hidden hwGz = new Hidden("username", wikiUserName);
    uploadPanelGz.add(hwGz);

    // Add hidden widget to pass service start to FileUploadServlet
    final Hidden ssGz = new Hidden("prefix");
    uploadPanelGz.add(ssGz);

    final FileUpload uploadGz = new FileUpload();
    uploadGz.setName("uploadFormElement");
    uploadPanelGz.add(uploadGz);

    //final VerticalPanel uploadPanelGz = new VerticalPanel();
    uploadFormGz.setWidget(uploadPanelGz);

    /*
     * Add Transxchange2GoogleTransit file upload
     */
    final FormPanel uploadForm = new FormPanel();
    uploadForm.setAction(GWT.getModuleBaseURL() + "upload");
    uploadForm.setEncoding(FormPanel.ENCODING_MULTIPART);
    uploadForm.setMethod(FormPanel.METHOD_POST);
    final VerticalPanel uploadPanel = new VerticalPanel();
    uploadForm.setWidget(uploadPanel);

    // Add hidden widget to pass user name to FileUploadServlet for verification against wiki user table
    final Hidden hw = new Hidden("username", wikiUserName);
    uploadPanel.add(hw);

    final FileUpload upload = new FileUpload();
    upload.setName("uploadFormElement");
    uploadPanel.add(upload);

    /*
    * Verify user and enable action buttons if user exists
    */
    WikiUserServiceAsync wikiUserService = (WikiUserServiceAsync) GWT.create(WikiUserService.class);

    ServiceDefTarget endpoint = (ServiceDefTarget) wikiUserService;
    String moduleRelativeURL = GWT.getModuleBaseURL() + "WikiUser";
    endpoint.setServiceEntryPoint(moduleRelativeURL);

    AsyncCallback callback = new AsyncCallback() {
        public void onSuccess(Object result) {
            Button buttonGz = new Button("Upload", new ClickListener() {
                public void onClick(Widget sender) {
                    // Extract service start and pass as prefix
                    String serviceStart = textBoxServiceStartGz.getText();
                    ssGz.setValue(serviceStart);
                    // Upload selected infile to server
                    uploadFormGz.submit();

                    //EDJ
                    DialogBox dlg = new MyDialog();
                    int left = 120;
                    int top = 300;
                    dlg.setPopupPosition(left, top);
                    dlg.show();
                }
            });
            Button button = new Button("Transform", new ClickListener() {
                public void onClick(Widget sender) {
                    // Upload selected infile to server
                    uploadForm.submit();
                }
            });

            if (result != "LOGGED") {
                button.setEnabled(false);
                buttonGz.setEnabled(false);
                labelResultUser.setText((String) result);
            }
            uploadPanel.add(button);
            uploadPanelGz.add(buttonGz);
        }

        public void onFailure(Throwable caught) {
            try {
                throw caught;
            } catch (InvocationException e) {
                labelResult.setText("InvocationException: " + e.getMessage());
            } catch (Throwable e) {
                labelResult.setText("callback failed: " + e.getMessage());
            }
        }
    };
    wikiUserService.wikiUserVerify(wikiUserName, callback);

    /*
     * Upload google_transit.zip file
     */
    uploadFormGz.addFormHandler(new FormHandler() {
        public void onSubmitComplete(FormSubmitCompleteEvent event) {

            labelResultGz.setText((String) event.getResults());

        }

        public void onSubmit(FormSubmitEvent event) {
            // Upload infile to server
            String inFilename = uploadGz.getFilename();
            if (inFilename.length() == 0) {
                Window.alert("Infile required");
                return;
            }
        }
    });

    /*
     * Upload TransXChange file and call Transxchange2GoogleTransit servlet when "transform" button is pushed
     */
    uploadForm.addFormHandler(new FormHandler() {
        public void onSubmitComplete(FormSubmitCompleteEvent event) {

            labelResult.setText((String) event.getResults());

            // Start transformation
            String parseArgs = upload.getFilename();
            parseArgs = parseArgs + " " + textBoxUrl.getText();
            parseArgs = parseArgs + " " + listBoxTimezoneP.getItemText(listBoxTimezoneP.getSelectedIndex());
            String helpString = listBoxTimezoneS.getItemText(listBoxTimezoneS.getSelectedIndex());
            parseArgs = parseArgs + "/" + helpString.substring(0, helpString.indexOf(' '));
            parseArgs = parseArgs + " " + listBoxDefaultRouteType.getSelectedIndex();
            parseArgs = parseArgs + " " + labelOutdir.getText();

            // call server through GWT asynchronous RPC
            Transxchange2GoogleTransitServiceAsync transxchange2GoogleTransitService = (Transxchange2GoogleTransitServiceAsync) GWT
                    .create(Transxchange2GoogleTransitService.class);

            ServiceDefTarget endpoint = (ServiceDefTarget) transxchange2GoogleTransitService;
            String moduleRelativeURL = GWT.getModuleBaseURL() + "GTDF";
            endpoint.setServiceEntryPoint(moduleRelativeURL);

            AsyncCallback callback = new AsyncCallback() {
                public void onSuccess(Object result) {
                    labelResult.setText((String) result);
                }

                public void onFailure(Throwable caught) {
                    try {
                        throw caught;
                    } catch (InvocationException e) {
                        labelResult.setText("InvocationException: " + e.getMessage());
                    } catch (Throwable e) {
                        labelResult.setText("callback failed: " + e.getMessage());
                    }
                }
            };
            transxchange2GoogleTransitService.transxchange2GoogleTransit_transform(parseArgs, callback);
        }

        public void onSubmit(FormSubmitEvent event) {
            // Upload infile to server
            String inFilename = upload.getFilename();
            if (inFilename.length() == 0) {
                Window.alert("Infile required");
                return;
            }
        }
    });

    /*
     * Add UI elements
     *       Better practice (for future reference): use CSS
     */
    TransformWindow.add(AgencyURL);
    TransformWindow.add(RType);
    TransformWindow.add(TZ);
    TransformWindow.add(uploadPanelGz);
    TransformWindow.add(uploadPanel);
    TransformWindow.add(dialogButton);
    tabs.add(TransformWindow, "TransXChange");
    //tabs.add(TZ, "Transformation2");
    tabs.selectTab(0);
    dock.add(tabs, DockPanel.CENTER);
    RootPanel.get("tab_area").add(dock);

    /*
    RootPanel.get("gz_servicestart").add(textBoxServiceStartGz);    
     RootPanel.get("gz_infile").add(uploadFormGz);    
    RootPanel.get("url").add(textBoxUrl);
    RootPanel.get("timezoneP").add(listBoxTimezoneP);
    RootPanel.get("timezoneS").add(listBoxTimezoneS);
    RootPanel.get("defaultroutetype").add(listBoxDefaultRouteType);
    RootPanel.get("outdir").add(labelOutdir);
    labelOutdir.setText(wikiUserName);
    RootPanel.get("user_result").add(labelResultUser);
    RootPanel.get("gz_result").add(labelResultGz);
    RootPanel.get("result").add(labelResult);
     RootPanel.get("infile").add(uploadForm);    */

    // Primary time zone (Africa, Europe, ...) selected
    listBoxTimezoneP.addChangeListener(new ChangeListener() {
        public void onChange(Widget sender) {
            switchTimezone(listBoxTimezoneS, listBoxTimezoneP.getSelectedIndex());
        }
    });

    //----------------------------------------------------------------------------------------------
    //----------------------------------------EDJ---------------------------------------------------

}

From source file:com.gwtmodel.table.view.ewidget.gwt.FileChooser.java

License:Apache License

FileChooser(final IVField v, IFormFieldProperties pr) {
    super(v, pr, true);
    this.fEdit = new FileUpload();
    this.fEdit.setName(getHtmlName());
    initWidget(this.fEdit);
}

From source file:com.ikon.frontend.client.widget.filebrowser.FileBrowser.java

License:Open Source License

/**
 * Execute checkin//from w w  w . j  a v a 2  s  .c  o  m
 */
public void checkin() {
    if (table.isDocumentSelected() && table.getDocument() != null) {
        FileToUpload fileToUpload = new FileToUpload();
        fileToUpload.setFileUpload(new FileUpload());
        fileToUpload.setPath(Main.get().mainPanel.desktop.browser.fileBrowser.getPath());
        fileToUpload.setAction(UIFileUploadConstants.ACTION_UPDATE);
        fileToUpload.setEnableAddButton(false);
        fileToUpload.setEnableImport(false);
        Main.get().fileUpload.addPendingFileToUpload(fileToUpload);

    }
}

From source file:com.ikon.frontend.client.widget.form.FormManager.java

License:Open Source License

/**
 * drawFormElement/*from w  ww  .  j  av  a2  s  . c  o  m*/
 */
private void drawFormElement(int row, final GWTFormElement gwtFormElement, boolean readOnly,
        boolean searchView) {
    final String propertyName = gwtFormElement.getName();

    if (gwtFormElement instanceof GWTButton) {
        final GWTButton gWTButton = (GWTButton) gwtFormElement;

        if (submitForm != null) {
            submitForm.setVisible(false); // Always set form hidden because there's new buttons
        }

        Button transButton = new Button(gWTButton.getLabel());
        String style = Character.toUpperCase(gWTButton.getStyle().charAt(0))
                + gWTButton.getStyle().substring(1);
        transButton.setStyleName("okm-" + style + "Button");
        HTML space = new HTML("&nbsp;");
        submitButtonPanel.add(transButton);
        submitButtonPanel.add(space);
        submitButtonPanel.setCellWidth(space, "5px");

        // Setting submit button
        transButton.addClickHandler(new ClickHandler() {
            @Override
            public void onClick(ClickEvent event) {
                if (gWTButton.getConfirmation() != null && !gWTButton.getConfirmation().equals("")) {
                    Main.get().confirmPopup.setConfirm(ConfirmPopup.CONFIRM_WORKFLOW_ACTION);
                    Main.get().confirmPopup.setConfirmationText(gWTButton.getConfirmation());
                    ValidationButton validationButton = new ValidationButton(gWTButton, singleton);
                    Main.get().confirmPopup.setValue(validationButton);
                    Main.get().confirmPopup.center();
                } else {
                    if (gWTButton.isValidate()) {
                        if (validationProcessor.validate()) {
                            if (gWTButton.getTransition().equals("")) {
                                workflow.setTaskInstanceValues(taskInstance.getId(), null);
                            } else {
                                workflow.setTaskInstanceValues(taskInstance.getId(), gWTButton.getTransition());
                            }
                            disableAllButtonList();
                        }
                    } else {
                        if (gWTButton.getTransition().equals("")) {
                            workflow.setTaskInstanceValues(taskInstance.getId(), null);
                        } else {
                            workflow.setTaskInstanceValues(taskInstance.getId(), gWTButton.getTransition());
                        }
                        disableAllButtonList();
                    }
                }
            }
        });

        // Adding button to control list
        if (!buttonControlList.contains(transButton)) {
            buttonControlList.add(transButton);
        }
    } else if (gwtFormElement instanceof GWTTextArea) {
        HorizontalPanel hPanel = new HorizontalPanel();
        TextArea textArea = new TextArea();
        textArea.setEnabled((!readOnly && !((GWTTextArea) gwtFormElement).isReadonly()) || isSearchView); // read only
        hPanel.add(textArea);
        textArea.setStyleName("okm-TextArea");
        textArea.setText(((GWTTextArea) gwtFormElement).getValue());
        textArea.setSize(gwtFormElement.getWidth(), gwtFormElement.getHeight());
        HTML text = new HTML(); // Create a widget for this property
        text.setHTML(((GWTTextArea) gwtFormElement).getValue().replaceAll("\n", "<br>"));
        hWidgetProperties.put(propertyName, hPanel);
        table.setHTML(row, 0, "<b>" + gwtFormElement.getLabel() + "</b>");
        table.setWidget(row, 1, text);
        table.getCellFormatter().setVerticalAlignment(row, 0, VerticalPanel.ALIGN_TOP);
        table.getCellFormatter().setWidth(row, 1, "100%");

        if (searchView) {
            final Image removeImage = new Image(OKMBundleResources.INSTANCE.deleteIcon());
            removeImage.addClickHandler(new ClickHandler() {
                @Override
                public void onClick(ClickEvent event) {
                    for (int row = 0; row < table.getRowCount(); row++) {
                        if (table.getWidget(row, 2).equals(removeImage)) {
                            table.removeRow(row);
                            break;
                        }
                    }

                    hWidgetProperties.remove(propertyName);
                    hPropertyParams.remove(propertyName);
                    formElementList.remove(gwtFormElement);
                    search.propertyRemoved();
                }
            });

            removeImage.addStyleName("okm-Hyperlink");
            table.setWidget(row, 2, removeImage);
            table.getCellFormatter().setVerticalAlignment(row, 2, HasAlignment.ALIGN_TOP);

            if (search != null) {
                textArea.addKeyUpHandler(new KeyUpHandler() {
                    @Override
                    public void onKeyUp(KeyUpEvent event) {
                        search.metadataValueChanged();
                    }
                });
            }

            setRowWordWarp(row, 3, true);
        } else {
            setRowWordWarp(row, 2, true);
        }
    } else if (gwtFormElement instanceof GWTInput) {
        final HorizontalPanel hPanel = new HorizontalPanel();
        final TextBox textBox = new TextBox(); // Create a widget for this property
        textBox.setEnabled((!readOnly && !((GWTInput) gwtFormElement).isReadonly()) || isSearchView); // read only
        hPanel.add(textBox);
        String value = "";

        if (((GWTInput) gwtFormElement).getType().equals(GWTInput.TYPE_TEXT)
                || ((GWTInput) gwtFormElement).getType().equals(GWTInput.TYPE_LINK)
                || ((GWTInput) gwtFormElement).getType().equals(GWTInput.TYPE_FOLDER)) {
            textBox.setText(((GWTInput) gwtFormElement).getValue());
            value = ((GWTInput) gwtFormElement).getValue();
        } else if (((GWTInput) gwtFormElement).getType().equals(GWTInput.TYPE_DATE)) {
            if (((GWTInput) gwtFormElement).getDate() != null) {
                DateTimeFormat dtf = DateTimeFormat.getFormat(Main.i18n("general.day.pattern"));
                textBox.setText(dtf.format(((GWTInput) gwtFormElement).getDate()));
                value = dtf.format(((GWTInput) gwtFormElement).getDate());
            }
        }

        textBox.setWidth(gwtFormElement.getWidth());
        textBox.setStyleName("okm-Input");
        hWidgetProperties.put(propertyName, hPanel);
        table.setHTML(row, 0, "<b>" + gwtFormElement.getLabel() + "</b>");
        table.setHTML(row, 1, value);

        if (((GWTInput) gwtFormElement).getType().equals(GWTInput.TYPE_DATE)) {
            final PopupPanel calendarPopup = new PopupPanel(true);
            final CalendarWidget calendar = new CalendarWidget();

            calendar.addChangeHandler(new ChangeHandler() {
                @Override
                public void onChange(ChangeEvent event) {
                    calendarPopup.hide();
                    DateTimeFormat dtf = DateTimeFormat.getFormat(Main.i18n("general.day.pattern"));
                    textBox.setText(dtf.format(calendar.getDate()));
                    ((GWTInput) gwtFormElement).setDate(calendar.getDate());

                    if (search != null) {
                        search.metadataValueChanged();
                    }
                }
            });

            calendarPopup.add(calendar);
            final Image calendarIcon = new Image(OKMBundleResources.INSTANCE.calendar());

            if (readOnly || ((GWTInput) gwtFormElement).isReadonly()) { // read only
                calendarIcon.setResource(OKMBundleResources.INSTANCE.calendarDisabled());
            } else {
                calendarIcon.addClickHandler(new ClickHandler() {
                    @Override
                    public void onClick(ClickEvent event) {
                        calendarPopup.setPopupPosition(calendarIcon.getAbsoluteLeft(),
                                calendarIcon.getAbsoluteTop() - 2);
                        if (calendar.getDate() != null) {
                            calendar.setNow((Date) calendar.getDate().clone());
                        } else {
                            calendar.setNow(null);
                        }
                        calendarPopup.show();
                    }
                });
            }

            calendarIcon.setStyleName("okm-Hyperlink");
            hPanel.add(Util.hSpace("5"));
            hPanel.add(calendarIcon);
            textBox.setEnabled(false);
        } else if (((GWTInput) gwtFormElement).getType().equals(GWTInput.TYPE_LINK)) {
            if (!value.equals("")) {
                HorizontalPanel hLinkPanel = new HorizontalPanel();
                Anchor anchor = new Anchor(value, true);
                final String url = value;

                anchor.addClickHandler(new ClickHandler() {
                    @Override
                    public void onClick(ClickEvent event) {
                        Window.open(url, url, "");
                    }
                });

                anchor.setStyleName("okm-Hyperlink");
                String containerName = ((GWTInput) gwtFormElement).getName() + "ContainerName";
                hLinkPanel.add(new HTML("<div id=\"" + containerName + "\"></div>\n"));
                HTML space = new HTML("");
                hLinkPanel.add(space);
                hLinkPanel.add(anchor);
                hLinkPanel.setCellWidth(space, "5px");
                table.setWidget(row, 1, hLinkPanel);
                Util.createLinkClipboardButton(url, containerName);
            } else {
                table.setHTML(row, 1, "");
            }
        } else if (((GWTInput) gwtFormElement).getType().equals(GWTInput.TYPE_FOLDER)) {
            if (!value.equals("")) {
                Anchor anchor = new Anchor();
                final GWTFolder folder = ((GWTInput) gwtFormElement).getFolder();

                // remove first ocurrence
                String path = value.substring(value.indexOf("/", 1) + 1);

                // Looks if must change icon on parent if now has no childs and properties with user security
                // atention
                if (folder.isHasChildren()) {
                    anchor.setHTML(Util.imageItemHTML("img/menuitem_childs.gif", path, "top"));
                } else {
                    anchor.setHTML(Util.imageItemHTML("img/menuitem_empty.gif", path, "top"));
                }

                anchor.addClickHandler(new ClickHandler() {
                    @Override
                    public void onClick(ClickEvent arg0) {
                        CommonUI.openPath(folder.getPath(), null);
                    }
                });

                anchor.setStyleName("okm-KeyMap-ImageHover");
                table.setWidget(row, 1, anchor);
            } else {
                table.setHTML(row, 1, "");
            }

            Image pathExplorer = new Image(OKMBundleResources.INSTANCE.folderExplorer());
            pathExplorer.addClickHandler(new ClickHandler() {
                @Override
                public void onClick(ClickEvent event) {
                    // when any changes is done is fired search.metadataValueChanged();
                    folderSelectPopup.show(textBox, search);
                }
            });

            pathExplorer.setStyleName("okm-KeyMap-ImageHover");
            hPanel.add(Util.hSpace("5"));
            hPanel.add(pathExplorer);
            hPanel.setCellVerticalAlignment(pathExplorer, HasAlignment.ALIGN_MIDDLE);
            pathExplorer.setVisible((!readOnly && !((GWTInput) gwtFormElement).isReadonly()) || isSearchView); // read only
            textBox.setEnabled(false);
        }

        table.getCellFormatter().setVerticalAlignment(row, 0, VerticalPanel.ALIGN_TOP);
        table.getCellFormatter().setWidth(row, 1, "100%");

        if (searchView) {
            // Second date input
            if (((GWTInput) gwtFormElement).getType().equals(GWTInput.TYPE_DATE)) {
                final TextBox textBoxTo = new TextBox();
                textBoxTo.setWidth(gwtFormElement.getWidth());
                textBoxTo.setStyleName("okm-Input");
                hPanel.add(new HTML("&nbsp;&harr;&nbsp;"));
                hPanel.add(textBoxTo);

                if (((GWTInput) gwtFormElement).getDateTo() != null) {
                    DateTimeFormat dtf = DateTimeFormat.getFormat(Main.i18n("general.day.pattern"));
                    textBoxTo.setText(dtf.format(((GWTInput) gwtFormElement).getDateTo()));
                }

                final PopupPanel calendarPopup = new PopupPanel(true);
                final CalendarWidget calendar = new CalendarWidget();
                calendar.addChangeHandler(new ChangeHandler() {
                    @Override
                    public void onChange(ChangeEvent event) {
                        calendarPopup.hide();
                        DateTimeFormat dtf = DateTimeFormat.getFormat(Main.i18n("general.day.pattern"));
                        textBoxTo.setText(dtf.format(calendar.getDate()));
                        ((GWTInput) gwtFormElement).setDateTo(calendar.getDate());

                        if (search != null) {
                            search.metadataValueChanged();
                        }
                    }
                });

                calendarPopup.add(calendar);
                final Image calendarIcon = new Image(OKMBundleResources.INSTANCE.calendar());
                calendarIcon.addClickHandler(new ClickHandler() {
                    @Override
                    public void onClick(ClickEvent event) {
                        calendarPopup.setPopupPosition(calendarIcon.getAbsoluteLeft(),
                                calendarIcon.getAbsoluteTop() - 2);
                        calendarPopup.show();
                    }
                });

                calendarIcon.setStyleName("okm-Hyperlink");
                hPanel.add(Util.hSpace("5"));
                hPanel.add(calendarIcon);
                textBoxTo.setEnabled(false);

                // Clean
                final Image cleanIcon = new Image(OKMBundleResources.INSTANCE.cleanIcon());
                cleanIcon.addClickHandler(new ClickHandler() {
                    @Override
                    public void onClick(ClickEvent event) {
                        TextBox textBox = (TextBox) hPanel.getWidget(0);
                        textBox.setText("");
                        textBoxTo.setText("");
                        ((GWTInput) gwtFormElement).setDate(null);
                        ((GWTInput) gwtFormElement).setDateTo(null);
                    }
                });
                cleanIcon.setStyleName("okm-Hyperlink");
                hPanel.add(Util.hSpace("5"));
                hPanel.add(cleanIcon);
            }

            // Delete
            final Image removeImage = new Image(OKMBundleResources.INSTANCE.deleteIcon());
            removeImage.addClickHandler(new ClickHandler() {
                @Override
                public void onClick(ClickEvent event) {
                    for (int row = 0; row < table.getRowCount(); row++) {
                        if (table.getWidget(row, 2).equals(removeImage)) {
                            table.removeRow(row);
                            break;
                        }
                    }

                    hWidgetProperties.remove(propertyName);
                    hPropertyParams.remove(propertyName);
                    formElementList.remove(gwtFormElement);
                    search.propertyRemoved();
                }
            });
            removeImage.addStyleName("okm-Hyperlink");
            table.setWidget(row, 2, removeImage);
            table.getCellFormatter().setVerticalAlignment(row, 2, HasAlignment.ALIGN_TOP);

            if (search != null) {
                textBox.addKeyUpHandler(new KeyUpHandler() {
                    @Override
                    public void onKeyUp(KeyUpEvent event) {
                        search.metadataValueChanged();
                    }
                });
            }

            setRowWordWarp(row, 3, true);
        } else {
            // Clean icon ( case is not readonly )
            final Image cleanIcon = new Image(OKMBundleResources.INSTANCE.cleanIcon());
            cleanIcon.addClickHandler(new ClickHandler() {
                @Override
                public void onClick(ClickEvent event) {
                    TextBox textBox = (TextBox) hPanel.getWidget(0);
                    textBox.setText("");
                    ((GWTInput) gwtFormElement).setDate(null);
                    ((GWTInput) gwtFormElement).setFolder(new GWTFolder());
                }
            });
            cleanIcon.setStyleName("okm-Hyperlink");
            hPanel.add(Util.hSpace("5"));
            hPanel.add(cleanIcon);
            cleanIcon.setVisible((!readOnly && !((GWTInput) gwtFormElement).isReadonly())); // read only

            setRowWordWarp(row, 2, true);
        }

    } else if (gwtFormElement instanceof GWTSuggestBox) {
        HorizontalPanel hPanel = new HorizontalPanel();
        final GWTSuggestBox suggestBox = (GWTSuggestBox) gwtFormElement;
        final TextBox textBox = new TextBox(); // Create a widget for this property
        textBox.setWidth(gwtFormElement.getWidth());
        textBox.setStyleName("okm-Input");
        textBox.setReadOnly(true);
        textBox.setEnabled((!readOnly && !suggestBox.isReadonly()) || isSearchView); // read only 
        final HTML hiddenKey = new HTML("");
        hiddenKey.setVisible(false);

        if (suggestBox.getValue() != null) {
            hiddenKey.setHTML(suggestBox.getValue());
        }

        hPanel.add(textBox);
        hPanel.add(hiddenKey);
        final HTML value = new HTML("");
        table.setHTML(row, 0, "<b>" + gwtFormElement.getLabel() + "</b>");
        table.setWidget(row, 1, value);
        table.getCellFormatter().setVerticalAlignment(row, 0, VerticalPanel.ALIGN_TOP);
        table.getCellFormatter().setWidth(row, 1, "100%");

        if (textBox.isEnabled()) {
            final Image databaseRecordImage = new Image(OKMBundleResources.INSTANCE.databaseRecord());
            databaseRecordImage.addClickHandler(new ClickHandler() {
                @Override
                public void onClick(ClickEvent event) {
                    List<String> tables = new ArrayList<String>();
                    if (suggestBox.getTable() != null) {
                        tables.add(suggestBox.getTable());
                    }

                    DatabaseRecord databaseRecord = new DatabaseRecord(hiddenKey, textBox);
                    // when any changes is done is fired search.metadataValueChanged();
                    DatabaseRecordSelectPopup drsPopup = new DatabaseRecordSelectPopup(suggestBox,
                            databaseRecord, search);
                    drsPopup.setWidth("300");
                    drsPopup.setHeight("220");
                    drsPopup.setStyleName("okm-Popup");
                    drsPopup.setPopupPosition(databaseRecordImage.getAbsoluteLeft(),
                            databaseRecordImage.getAbsoluteTop() - 2);
                    drsPopup.show();
                }
            });
            databaseRecordImage.setStyleName("okm-Hyperlink");
            hPanel.add(new HTML("&nbsp;"));
            hPanel.add(databaseRecordImage);
        }

        hWidgetProperties.put(propertyName, hPanel);
        if (!suggestBox.getValue().equals("")) {
            textBox.setValue(suggestBox.getText());
            value.setHTML(suggestBox.getText());
            hiddenKey.setHTML(suggestBox.getValue());

            /*List<String> tables = new ArrayList<String>();
                    
            if (suggestBox.getTable() != null) {
               tables.add(suggestBox.getTable());
            }
                    
            String formatedQuery = MessageFormat.format(suggestBox.getValueQuery(), suggestBox.getValue());
            keyValueService.getKeyValues(tables, formatedQuery, new AsyncCallback<List<GWTKeyValue>>() {
               @Override
               public void onSuccess(List<GWTKeyValue> result) {
                  if (!result.isEmpty()) {
             GWTKeyValue keyValue = result.get(0);
             textBox.setValue(keyValue.getValue());
             value.setHTML(keyValue.getValue());
             hiddenKey.setHTML(keyValue.getKey());
                  }
               }
                       
               @Override
               public void onFailure(Throwable caught) {
                  Main.get().showError("getKeyValues", caught);
               }
            }); */
        }

        if (searchView) {
            final Image removeImage = new Image(OKMBundleResources.INSTANCE.deleteIcon());
            removeImage.addClickHandler(new ClickHandler() {
                @Override
                public void onClick(ClickEvent event) {
                    for (int row = 0; row < table.getRowCount(); row++) {
                        if (table.getWidget(row, 2).equals(removeImage)) {
                            table.removeRow(row);
                            break;
                        }
                    }

                    hWidgetProperties.remove(propertyName);
                    hPropertyParams.remove(propertyName);
                    formElementList.remove(gwtFormElement);
                    search.propertyRemoved();
                }
            });
            removeImage.addStyleName("okm-Hyperlink");
            table.setWidget(row, 2, removeImage);
            table.getCellFormatter().setVerticalAlignment(row, 2, HasAlignment.ALIGN_TOP);
            textBox.addKeyUpHandler(
                    Main.get().mainPanel.search.searchBrowser.searchIn.searchControl.keyUpHandler);
            setRowWordWarp(row, 3, true);
        } else {
            setRowWordWarp(row, 2, true);
        }
    } else if (gwtFormElement instanceof GWTCheckBox) {
        CheckBox checkBox = new CheckBox();
        checkBox.setEnabled((!readOnly && !((GWTCheckBox) gwtFormElement).isReadonly()) || isSearchView); // read only
        checkBox.setValue(((GWTCheckBox) gwtFormElement).getValue());
        hWidgetProperties.put(propertyName, checkBox);
        table.setHTML(row, 0, "<b>" + gwtFormElement.getLabel() + "</b>");

        if (checkBox.getValue()) {
            table.setWidget(row, 1, new Image(OKMBundleResources.INSTANCE.yes()));
        } else {
            table.setWidget(row, 1, new Image(OKMBundleResources.INSTANCE.no()));
        }

        table.getCellFormatter().setVerticalAlignment(row, 0, VerticalPanel.ALIGN_TOP);
        table.getCellFormatter().setWidth(row, 1, "100%");

        if (searchView) {
            final Image removeImage = new Image(OKMBundleResources.INSTANCE.deleteIcon());
            removeImage.addClickHandler(new ClickHandler() {
                @Override
                public void onClick(ClickEvent event) {
                    for (int row = 0; row < table.getRowCount(); row++) {
                        if (table.getWidget(row, 2).equals(removeImage)) {
                            table.removeRow(row);
                            break;
                        }
                    }

                    hWidgetProperties.remove(propertyName);
                    hPropertyParams.remove(propertyName);
                    formElementList.remove(gwtFormElement);
                    search.propertyRemoved();
                }
            });
            removeImage.addStyleName("okm-Hyperlink");
            table.setWidget(row, 2, removeImage);
            table.getCellFormatter().setVerticalAlignment(row, 2, HasAlignment.ALIGN_TOP);

            if (search != null) {
                checkBox.addClickHandler(new ClickHandler() {
                    @Override
                    public void onClick(ClickEvent event) {
                        search.metadataValueChanged();
                    }
                });
            }

            setRowWordWarp(row, 3, true);
        } else {
            setRowWordWarp(row, 2, true);
        }
    } else if (gwtFormElement instanceof GWTSelect) {
        final GWTSelect gwtSelect = (GWTSelect) gwtFormElement;

        if (!gwtSelect.getOptionsData().equals("")
                && workflowVarMap.keySet().contains(gwtSelect.getOptionsData())) {
            gwtSelect.setOptions(getOptionsFromVariable(workflowVarMap.get(gwtSelect.getOptionsData())));
        }

        if (gwtSelect.getType().equals(GWTSelect.TYPE_SIMPLE)) {
            String selectedLabel = "";
            HorizontalPanel hPanel = new HorizontalPanel();
            ListBox listBox = new ListBox();
            listBox.setEnabled((!readOnly && !gwtSelect.isReadonly()) || isSearchView); // read only
            hPanel.add(listBox);
            listBox.setStyleName("okm-Select");
            listBox.addItem("", ""); // Always we set and empty value

            for (GWTOption option : gwtSelect.getOptions()) {
                listBox.addItem(option.getLabel(), option.getValue());
                if (option.isSelected()) {
                    listBox.setItemSelected(listBox.getItemCount() - 1, true);
                    selectedLabel = option.getLabel();
                }
            }

            hWidgetProperties.put(propertyName, hPanel);

            table.setHTML(row, 0, "<b>" + gwtFormElement.getLabel() + "</b>");
            table.setHTML(row, 1, selectedLabel);
            table.getCellFormatter().setWidth(row, 1, "100%");

            if (searchView) {
                final Image removeImage = new Image(OKMBundleResources.INSTANCE.deleteIcon());
                removeImage.addClickHandler(new ClickHandler() {
                    @Override
                    public void onClick(ClickEvent event) {
                        for (int row = 0; row < table.getRowCount(); row++) {
                            if (table.getWidget(row, 2).equals(removeImage)) {
                                table.removeRow(row);
                                break;
                            }
                        }

                        hWidgetProperties.remove(propertyName);
                        hPropertyParams.remove(propertyName);
                        formElementList.remove(gwtFormElement);
                        search.propertyRemoved();
                    }
                });
                removeImage.addStyleName("okm-Hyperlink");
                table.setWidget(row, 2, removeImage);
                table.getCellFormatter().setVerticalAlignment(row, 2, HasAlignment.ALIGN_TOP);

                if (search != null) {
                    listBox.addChangeHandler(new ChangeHandler() {
                        @Override
                        public void onChange(ChangeEvent event) {
                            search.metadataValueChanged();
                        }
                    });
                }

                setRowWordWarp(row, 3, true);
            } else {
                setRowWordWarp(row, 2, true);
            }

        } else if (gwtSelect.getType().equals(GWTSelect.TYPE_MULTIPLE)) {
            final HorizontalPanel hPanel = new HorizontalPanel();
            ListBox listMulti = new ListBox();
            listMulti.setEnabled((!readOnly && !gwtSelect.isReadonly()) || isSearchView); // read only
            listMulti.setStyleName("okm-Select");
            listMulti.addItem("", ""); // Always we set and empty value

            // Table for values
            FlexTable tableMulti = new FlexTable();

            Button addButton = new Button(Main.i18n("button.add"), new ClickHandler() {
                @Override
                public void onClick(ClickEvent event) {
                    HorizontalPanel hPanel = (HorizontalPanel) hWidgetProperties.get(propertyName);
                    FlexTable tableMulti = (FlexTable) hPanel.getWidget(0);
                    ListBox listMulti = (ListBox) hPanel.getWidget(2);
                    Button addButton = (Button) hPanel.getWidget(4);

                    if (listMulti.getSelectedIndex() > 0) {
                        final HTML htmlValue = new HTML(listMulti.getValue(listMulti.getSelectedIndex()));
                        int rowTableMulti = tableMulti.getRowCount();
                        Image removeImage = new Image(OKMBundleResources.INSTANCE.deleteIcon());

                        removeImage.addClickHandler(new ClickHandler() {
                            @Override
                            public void onClick(ClickEvent event) {
                                Widget sender = (Widget) event.getSource();
                                HorizontalPanel hPanel = (HorizontalPanel) hWidgetProperties.get(propertyName);
                                FlexTable tableMulti = (FlexTable) hPanel.getWidget(0);
                                ListBox listMulti = (ListBox) hPanel.getWidget(2);
                                Button addButton = (Button) hPanel.getWidget(4);
                                String value = htmlValue.getText();
                                String optionLabel = "";

                                for (Iterator<GWTOption> itOptions = gwtSelect.getOptions()
                                        .iterator(); itOptions.hasNext();) {
                                    GWTOption option = itOptions.next();
                                    if (option.getValue().equals(htmlValue.getText())) {
                                        optionLabel = option.getLabel();
                                        break;
                                    }
                                }

                                listMulti.addItem(optionLabel, value);
                                listMulti.setVisible(true);
                                addButton.setVisible(true);

                                // Looking for row to delete
                                for (int i = 0; i < tableMulti.getRowCount(); i++) {
                                    if (tableMulti.getWidget(i, 1).equals(sender)) {
                                        tableMulti.removeRow(i);
                                    }
                                }

                                if (search != null) {
                                    search.metadataValueChanged();
                                }
                            }
                        });
                        removeImage.setStyleName("okm-Hyperlink");

                        tableMulti.setWidget(rowTableMulti, 0, htmlValue);
                        tableMulti.setWidget(rowTableMulti, 1, removeImage);
                        tableMulti.setHTML(rowTableMulti, 2,
                                listMulti.getItemText(listMulti.getSelectedIndex()));

                        setRowWordWarp(tableMulti, rowTableMulti, 2, true);
                        listMulti.removeItem(listMulti.getSelectedIndex());
                        htmlValue.setVisible(false);

                        if (listMulti.getItemCount() <= 1) {
                            listMulti.setVisible(false);
                            addButton.setVisible(false);
                        }

                        if (search != null) {
                            search.metadataValueChanged();
                        }
                    }
                }
            });

            addButton.setEnabled((!readOnly && !gwtSelect.isReadonly()) || isSearchView); // read only
            addButton.setStyleName("okm-AddButton");

            hPanel.add(tableMulti);
            hPanel.add(new HTML("&nbsp;"));
            hPanel.add(listMulti);
            hPanel.add(new HTML("&nbsp;"));
            hPanel.add(addButton);
            hPanel.setVisible(true);
            listMulti.setVisible(false);
            addButton.setVisible(false);
            hPanel.setCellVerticalAlignment(tableMulti, VerticalPanel.ALIGN_TOP);
            hPanel.setCellVerticalAlignment(listMulti, VerticalPanel.ALIGN_TOP);
            hPanel.setCellVerticalAlignment(addButton, VerticalPanel.ALIGN_TOP);
            hPanel.setHeight("100%");

            table.setHTML(row, 0, "<b>" + gwtFormElement.getLabel() + "</b>");
            table.setWidget(row, 1, hPanel);
            table.getCellFormatter().setVerticalAlignment(row, 0, VerticalPanel.ALIGN_TOP);
            table.getCellFormatter().setVerticalAlignment(row, 1, VerticalPanel.ALIGN_TOP);
            table.getCellFormatter().setWidth(row, 1, "100%");

            for (Iterator<GWTOption> itData = gwtSelect.getOptions().iterator(); itData.hasNext();) {
                final GWTOption option = itData.next();

                // Looks if there's some selected value
                if (option.isSelected()) {
                    int rowTableMulti = tableMulti.getRowCount();
                    HTML htmlValue = new HTML(option.getValue());

                    Image removeImage = new Image(OKMBundleResources.INSTANCE.deleteIcon()); // read only for this element goes at edit() logic
                    removeImage.addClickHandler(new ClickHandler() {
                        @Override
                        public void onClick(ClickEvent event) {
                            Widget sender = (Widget) event.getSource();
                            HorizontalPanel hPanel = (HorizontalPanel) hWidgetProperties.get(propertyName);
                            FlexTable tableMulti = (FlexTable) hPanel.getWidget(0);
                            ListBox listMulti = (ListBox) hPanel.getWidget(2);
                            Button addButton = (Button) hPanel.getWidget(4);

                            listMulti.addItem(option.getLabel(), option.getValue());
                            listMulti.setVisible(true);
                            addButton.setVisible(true);

                            // Looking for row to delete
                            for (int i = 0; i < tableMulti.getRowCount(); i++) {
                                if (tableMulti.getWidget(i, 1).equals(sender)) {
                                    tableMulti.removeRow(i);
                                }
                            }

                            if (search != null) {
                                search.metadataValueChanged();
                            }
                        }
                    });
                    removeImage.setStyleName("okm-Hyperlink");

                    tableMulti.setWidget(rowTableMulti, 0, htmlValue);
                    tableMulti.setWidget(rowTableMulti, 1, removeImage);
                    tableMulti.setHTML(rowTableMulti, 2, option.getLabel());
                    setRowWordWarp(tableMulti, rowTableMulti, 2, true);
                    htmlValue.setVisible(false);
                    removeImage.setVisible(false);
                } else {
                    listMulti.addItem(option.getLabel(), option.getValue());
                }
            }

            // Save panel
            hWidgetProperties.put(propertyName, hPanel);

            if (searchView) {
                final Image removeImage = new Image(OKMBundleResources.INSTANCE.deleteIcon());
                removeImage.addClickHandler(new ClickHandler() {
                    @Override
                    public void onClick(ClickEvent event) {
                        for (int row = 0; row < table.getRowCount(); row++) {
                            if (table.getWidget(row, 2).equals(removeImage)) {
                                table.removeRow(row);
                                break;
                            }
                        }

                        hWidgetProperties.remove(propertyName);
                        hPropertyParams.remove(propertyName);
                        formElementList.remove(gwtFormElement);
                        search.propertyRemoved();
                    }
                });
                removeImage.addStyleName("okm-Hyperlink");
                table.setWidget(row, 2, removeImage);
                table.getCellFormatter().setVerticalAlignment(row, 2, HasAlignment.ALIGN_TOP);

                // not implemented
                // textBox.addKeyUpHandler(Main.get().mainPanel.search.searchBrowser.searchIn.searchControl.keyUpHandler);
                setRowWordWarp(row, 3, true);
            } else {
                setRowWordWarp(row, 2, true);
            }
        }
    } else if (gwtFormElement instanceof GWTUpload) {
        final GWTUpload upload = (GWTUpload) gwtFormElement;
        HorizontalPanel hPanel = new HorizontalPanel();
        FileUpload fileUpload = new FileUpload();
        fileUpload.setStyleName("okm-Input");
        fileUpload.getElement().setAttribute("size", "" + upload.getWidth());
        final Anchor documentLink = new Anchor();

        // Setting document link by uuid
        if (upload.getDocumentUuid() != null && !upload.getDocumentUuid().equals("")) {
            repositoryService.getPathByUUID(upload.getDocumentUuid(), new AsyncCallback<String>() {
                @Override
                public void onSuccess(String result) {
                    documentService.get(result, new AsyncCallback<GWTDocument>() {
                        @Override
                        public void onSuccess(GWTDocument result) {
                            final String docPath = result.getPath();
                            documentLink.setText(result.getName());
                            documentLink.addClickHandler(new ClickHandler() {
                                @Override
                                public void onClick(ClickEvent event) {
                                    String path = docPath.substring(0, docPath.lastIndexOf("/"));
                                    CommonUI.openPath(path, docPath);
                                }
                            });
                        }

                        @Override
                        public void onFailure(Throwable caught) {
                            Main.get().showError("getDocument", caught);
                        }
                    });
                }

                @Override
                public void onFailure(Throwable caught) {
                    Main.get().showError("getPathByUUID", caught);
                }
            });
        }

        documentLink.setStyleName("okm-Hyperlink");
        hPanel.add(documentLink);
        hPanel.add(fileUpload);
        hWidgetProperties.put(propertyName, hPanel);
        table.setHTML(row, 0, "<b>" + gwtFormElement.getLabel() + "</b>");
        table.setWidget(row, 1, new HTML(""));
        table.getCellFormatter().setVerticalAlignment(row, 0, VerticalPanel.ALIGN_TOP);
        table.getCellFormatter().setWidth(row, 1, "100%");
        setRowWordWarp(row, 2, true);

        // If folderPath is null must initialize value
        if (upload.getFolderPath() == null || upload.getFolderPath().equals("")
                && upload.getFolderUuid() != null && !upload.getFolderUuid().equals("")) {
            repositoryService.getPathByUUID(upload.getFolderUuid(), new AsyncCallback<String>() {
                @Override
                public void onSuccess(String result) {
                    upload.setFolderPath(result);
                }

                @Override
                public void onFailure(Throwable caught) {
                    Main.get().showError("getPathByUUID", caught);
                }
            });
        }
    } else if (gwtFormElement instanceof GWTText) {
        HorizontalPanel hPanel = new HorizontalPanel();
        HTML title = new HTML("&nbsp;" + ((GWTText) gwtFormElement).getLabel() + "&nbsp;");
        title.setStyleName("okm-NoWrap");
        hPanel.add(Util.hSpace("10"));
        hPanel.add(title);
        hPanel.setCellWidth(title, ((GWTText) gwtFormElement).getWidth());
        hWidgetProperties.put(propertyName, hPanel);
        table.setWidget(row, 0, hPanel);
        table.getFlexCellFormatter().setColSpan(row, 0, 2);
    } else if (gwtFormElement instanceof GWTSeparator) {
        HorizontalPanel hPanel = new HorizontalPanel();
        Image horizontalLine = new Image("img/transparent_pixel.gif");
        horizontalLine.setStyleName("okm-TopPanel-Line-Border");
        horizontalLine.setSize("10", "2px");
        Image horizontalLine2 = new Image("img/transparent_pixel.gif");
        horizontalLine2.setStyleName("okm-TopPanel-Line-Border");
        horizontalLine2.setSize("100%", "2px");
        HTML title = new HTML("&nbsp;" + ((GWTSeparator) gwtFormElement).getLabel() + "&nbsp;");
        title.setStyleName("okm-NoWrap");
        hPanel.add(horizontalLine);
        hPanel.add(title);
        hPanel.add(horizontalLine2);
        hPanel.setCellVerticalAlignment(horizontalLine, HasAlignment.ALIGN_MIDDLE);
        hPanel.setCellVerticalAlignment(horizontalLine2, HasAlignment.ALIGN_MIDDLE);
        hPanel.setCellWidth(horizontalLine2, ((GWTSeparator) gwtFormElement).getWidth());
        hWidgetProperties.put(propertyName, hPanel);
        table.setWidget(row, 0, hPanel);
        table.getFlexCellFormatter().setColSpan(row, 0, 2);
    } else if (gwtFormElement instanceof GWTDownload) {
        HorizontalPanel hPanel = new HorizontalPanel();
        hWidgetProperties.put(propertyName, hPanel);
        table.setWidget(row, 0, hPanel);
        table.getFlexCellFormatter().setColSpan(row, 0, 2);
        GWTDownload download = (GWTDownload) gwtFormElement;
        FlexTable downloadTable = new FlexTable();
        HTML description = new HTML("<b>" + gwtFormElement.getLabel() + "</b>");
        downloadTable.setWidget(0, 0, description);
        downloadTable.getFlexCellFormatter().setColSpan(0, 0, 2);

        for (final GWTNode node : download.getNodes()) {
            int downloadTableRow = downloadTable.getRowCount();
            final Anchor anchor = new Anchor("<b>" + node.getLabel() + "</b>", true);

            if (!node.getUuid().equals("")) {
                repositoryService.getPathByUUID(node.getUuid(), new AsyncCallback<String>() {
                    @Override
                    public void onSuccess(String result) {
                        folderService.isValid(result, new AsyncCallback<Boolean>() {
                            @Override
                            public void onSuccess(Boolean result) {
                                final boolean isFolder = result;
                                anchor.addClickHandler(new ClickHandler() {
                                    @Override
                                    public void onClick(ClickEvent event) {
                                        if (isFolder) {
                                            Util.downloadFileByUUID(node.getUuid(), "export");
                                        } else {
                                            Util.downloadFileByUUID(node.getUuid(), "");
                                        }
                                    }
                                });
                            }

                            @Override
                            public void onFailure(Throwable caught) {
                                Main.get().showError("getPathByUUID", caught);
                            }
                        });
                    }

                    @Override
                    public void onFailure(Throwable caught) {
                        Main.get().showError("getPathByUUID", caught);
                    }
                });
            } else if (!node.getPath().equals("")) {
                repositoryService.getUUIDByPath(node.getPath(), new AsyncCallback<String>() {
                    @Override
                    public void onSuccess(String result) {
                        final String uuid = result;
                        folderService.isValid(node.getPath(), new AsyncCallback<Boolean>() {
                            @Override
                            public void onSuccess(Boolean result) {
                                final boolean isFolder = result;
                                anchor.addClickHandler(new ClickHandler() {
                                    @Override
                                    public void onClick(ClickEvent event) {
                                        if (isFolder) {
                                            Util.downloadFileByUUID(uuid, "export");
                                        } else {
                                            Util.downloadFileByUUID(uuid, "");
                                        }
                                    }
                                });
                            }

                            @Override
                            public void onFailure(Throwable caught) {
                                Main.get().showError("getPathByUUID", caught);
                            }
                        });
                    }

                    @Override
                    public void onFailure(Throwable caught) {
                        Main.get().showError("getUUIDByPath", caught);
                    }
                });
            }

            anchor.setStyleName("okm-Hyperlink");
            downloadTable.setWidget(downloadTableRow, 0, new HTML("&nbsp;&nbsp;&nbsp;"));
            downloadTable.setWidget(downloadTableRow, 1, anchor);
        }

        hPanel.add(downloadTable);
    } else if (gwtFormElement instanceof GWTPrint) {
        HorizontalPanel hPanel = new HorizontalPanel();
        hWidgetProperties.put(propertyName, hPanel);
        table.setWidget(row, 0, hPanel);
        table.getFlexCellFormatter().setColSpan(row, 0, 2);
        GWTPrint print = (GWTPrint) gwtFormElement;
        FlexTable printTable = new FlexTable();
        HTML description = new HTML("<b>" + gwtFormElement.getLabel() + "</b>");
        printTable.setWidget(0, 0, description);
        printTable.getFlexCellFormatter().setColSpan(0, 0, 2);

        for (final GWTNode node : print.getNodes()) {
            int downloadTableRow = printTable.getRowCount();
            final Button downloadButton = new Button(Main.i18n("button.print"));

            if (!node.getUuid().equals("")) {
                downloadButton.addClickHandler(new ClickHandler() {
                    @Override
                    public void onClick(ClickEvent event) {
                        Window.alert("Not available");
                    }
                });
            } else if (!node.getPath().equals("")) {
                repositoryService.getUUIDByPath(node.getPath(), new AsyncCallback<String>() {
                    @Override
                    public void onSuccess(String result) {
                        //final String uuid = result;
                        downloadButton.addClickHandler(new ClickHandler() {
                            @Override
                            public void onClick(ClickEvent event) {
                                Window.alert("Not available");
                            }
                        });
                    }

                    @Override
                    public void onFailure(Throwable caught) {
                        Main.get().showError("getUUIDByPath", caught);
                    }
                });
            }

            downloadButton.setStyleName("okm-DownloadButton");
            printTable.setWidget(downloadTableRow, 0,
                    new HTML("&nbsp;&nbsp;&nbsp;" + node.getLabel() + "&nbsp;&nbsp;"));
            printTable.setWidget(downloadTableRow, 1, downloadButton);
        }

        hPanel.add(printTable);
    }
}

From source file:com.ikon.frontend.client.widget.toolbar.ToolBar.java

License:Open Source License

/**
 * Execute adds documents/*from w w  w.ja  va  2  s.  c  o m*/
 */
public void executeAddDocument() {
    FileToUpload fileToUpload = new FileToUpload();
    fileToUpload.setFileUpload(new FileUpload());
    fileToUpload.setPath((String) Main.get().activeFolderTree.getActualPath());
    fileToUpload.setAction(UIFileUploadConstants.ACTION_INSERT);
    Main.get().fileUpload.addPendingFileToUpload(fileToUpload);
    fireEvent(HasToolBarEvent.EXECUTE_ADD_DOCUMENT);
}

From source file:com.ikon.frontend.client.widget.upload.FileUploadPopup.java

License:Open Source License

/**
 * File upload/*from w w w . jav a  2 s  . c  om*/
 */
public FileUploadPopup() {
    super(false, false); // Modal = true indicates popup is centered
    ffUpload = new FancyFileUpload();
    vPanel = new VerticalPanel();
    vButtonPanel = new HorizontalPanel();

    closeButton = new Button(Main.i18n("fileupload.button.close"), new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            executeClose();
        }
    });
    addButton = new Button(Main.i18n("fileupload.button.add.other.file"), new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            addButton.setVisible(false); // Add new file button must be unvisible after clicking
            sendButton.setVisible(true);
            FileToUpload fileToUpload = new FileToUpload();
            fileToUpload.setFileUpload(new FileUpload());
            fileToUpload.setPath((String) Main.get().activeFolderTree.getActualPath());
            fileToUpload.setAction(UIFileUploadConstants.ACTION_INSERT);
            addPendingFileToUpload(fileToUpload);
        }
    });
    addButton.setVisible(false);

    sendButton = new Button();
    sendButton.setText(Main.i18n("fileupload.button.send"));

    // Set up a click listener on the proceed check box
    sendButton.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            executeSend();
        }
    });

    vPanel.setWidth("415px");
    vPanel.setHeight("100px");

    vPanel.add(new HTML("<br/>"));
    vPanel.add(ffUpload);

    ffUpload.addChangeHandler(new ChangeHandler() {
        @Override
        public void onChange(ChangeEvent event) {
            if (ffUpload.getUploadState() == FancyFileUpload.PENDING_STATE
                    || ffUpload.getUploadState() == FancyFileUpload.UPLOADING_STATE) {
                //                  if (ffUpload.isPendingFileToUpload()) {
                //                     addButton.setVisible(false);
                //                     sendButton.setVisible(true);
                //                  }
            } else if (ffUpload.getUploadState() == FancyFileUpload.EMPTY_STATE
                    || ffUpload.getUploadState() == FancyFileUpload.FAILED_STATE
                    || ffUpload.getUploadState() == FancyFileUpload.UPLOADED_STATE) {
                if (ffUpload.getUploadState() != FancyFileUpload.EMPTY_STATE && enableAddButton) {
                    //                     if (ffUpload.getUploadState() == FancyFileUpload.UPLOADED_STATE) {
                    //                        //boolean visible = !ffUpload.isWizard();
                    //                        //closeButton.setVisible(visible);
                    //                        //sendButton.setVisible(false);
                    //                          //addButton.setVisible(visible);
                    //                     } else {
                    //                        addButton.setVisible(true);
                    //                        sendButton.setVisible(false);
                    //                     }
                } else {
                    // on failed or empty state
                    if (ffUpload.getAction() == UIFileUploadConstants.ACTION_UPDATE
                            && (ffUpload.getUploadState() != FancyFileUpload.EMPTY_STATE
                                    && ffUpload.getUploadState() != FancyFileUpload.FAILED_STATE)) {
                        sendButton.setVisible(false); // checkin case
                    }
                }
            }
        }
    });

    vButtonPanel.add(closeButton);
    vButtonPanel.add(new HTML("&nbsp;&nbsp;"));
    vButtonPanel.add(addButton);
    vButtonPanel.add(new HTML("&nbsp;&nbsp;"));
    vButtonPanel.add(sendButton);

    vPanel.add(vButtonPanel);
    vPanel.add(new HTML("<br/>"));

    vPanel.setCellHorizontalAlignment(ffUpload, VerticalPanel.ALIGN_CENTER);
    vPanel.setCellHorizontalAlignment(vButtonPanel, VerticalPanel.ALIGN_CENTER);

    closeButton.setStyleName("okm-NoButton");
    addButton.setStyleName("okm-AddButton");
    sendButton.setStyleName("okm-AddButton");

    setWidget(vPanel);
}

From source file:com.openkm.frontend.client.widget.filebrowser.FileBrowser.java

License:Open Source License

/**
 * Execute checkin/*from  ww  w. ja v a  2s . c  o  m*/
 */
public void checkin() {
    if (table.isDocumentSelected() && table.getDocument() != null) {
        FileToUpload fileToUpload = new FileToUpload();
        fileToUpload.setFileUpload(new FileUpload());
        fileToUpload.setPath(Main.get().mainPanel.desktop.browser.fileBrowser.getPath());
        fileToUpload.setAction(UIFileUploadConstants.ACTION_UPDATE);
        fileToUpload.setEnableAddButton(false);
        fileToUpload.setEnableImport(false);
        Main.get().fileUpload.addPendingFileToUpload(fileToUpload);
    }
}