Example usage for com.google.gwt.user.client.ui FormPanel addSubmitCompleteHandler

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

Introduction

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

Prototype

public HandlerRegistration addSubmitCompleteHandler(SubmitCompleteHandler handler) 

Source Link

Document

Adds a SubmitCompleteEvent handler.

Usage

From source file:com.edgenius.wiki.gwt.client.space.SpaceLogoForm.java

License:Open Source License

public SpaceLogoForm() {
    final FormPanel form = new FormPanel();
    form.setAction(GwtClientUtils.getBaseUrl() + "space/logo.do");
    form.setMethod(FormPanel.METHOD_POST);
    form.setEncoding(FormPanel.ENCODING_MULTIPART);
    form.addSubmitHandler(this);
    form.addSubmitCompleteHandler(this);

    VerticalPanel panel = new VerticalPanel();
    panel.add(message);/*ww  w.jav  a  2  s . c o m*/
    panel.add(spaceUname);
    HorizontalPanel h1 = new HorizontalPanel();
    Label uploadLabel = new Label(Msg.consts.logo());
    uploadLabel.setStyleName(Css.FORM_LABEL);
    FileUpload upload = new FileUpload();
    upload.setName("file");
    h1.add(uploadLabel);
    h1.add(upload);
    panel.add(h1);

    form.setWidget(panel);

    //
    Button update = new Button(Msg.consts.update());
    update.addClickHandler(new ClickHandler() {
        public void onClick(ClickEvent event) {
            form.submit();
        }
    });
    Button cancel = new Button(Msg.consts.cancel());
    cancel.addClickHandler(new ClickHandler() {
        public void onClick(ClickEvent event) {
            //return to link panel
            for (Iterator<SpaceUpdateListener> iter = listener.iterator(); iter.hasNext();) {
                iter.next().spaceUpdateCancelled();
            }
        }
    });

    ButtonBar btnBar = new ButtonBar();
    btnBar.add(update);
    btnBar.add(cancel);

    VerticalPanel main = new VerticalPanel();
    main.add(form);
    main.add(btnBar);
    setWidget(main);
}

From source file:com.eduworks.russel.ui.client.pagebuilder.screen.EditScreen.java

License:Apache License

/**
 * buildEmptyUploadTile0 Initiates a tile in the EditScreen to represent a file that is uploading
 * @param idPrefix String id assigned to the new tile
 *///from   www  .j av  a2 s  .  co  m
private void buildEmptyUploadTile0(final String idPrefix) {
    final FormPanel formPanel = (FormPanel) PageAssembler.elementToWidget("addFileForm", PageAssembler.FORM);
    final FileUpload fileUpload = (FileUpload) PageAssembler.elementToWidget("addFileData", PageAssembler.FILE);
    formPanel.setEncoding(FormPanel.ENCODING_MULTIPART);
    formPanel.setAction(RusselApi.getESBActionURL("addResource") + "?inline=true");
    FileHandler.pendingFileUploads++;
    final StatusRecord status = StatusHandler.createMessage(StatusHandler.getFileMessageBusy(""),
            StatusRecord.ALERT_BUSY);
    formPanel.addSubmitCompleteHandler(new SubmitCompleteHandler() {
        @Override
        public void onSubmitComplete(SubmitCompleteEvent event) {
            ESBPacket node = new ESBPacket(event.getResults());
            RUSSELFileRecord fr = new RUSSELFileRecord();
            fr.setGuid(node.getPayloadString());
            String filename = fileUpload.getFilename();
            final String justFileName = filename.substring(filename.lastIndexOf("\\") + 1);
            fr.setFilename(justFileName);
            if (DOM.getElementById(idPrefix + "-objectDescription") != null) {
                RootPanel.get(idPrefix + "-objectDescription").getElement().setInnerText("");
                fillTemplateDetails0(fr, idPrefix);
                DOM.getElementById(idPrefix + "-objectDetailButton").removeAttribute("hidden");
            }
            FileHandler.pendingFileUploads--;
            status.setState(StatusRecord.ALERT_SUCCESS);
            status.setMessage(StatusHandler.getFileMessageDone(justFileName));
            StatusHandler.alterMessage(status);
            //                                       if (justFileName.substring(justFileName.lastIndexOf(".")+1).equalsIgnoreCase("rpf"))
            //                                          ProjectRecord.updatePfmNodeId(fr);

            thumbIDs.put(idPrefix + "-object", fr);
            //checkIEAndPromptServerDisaggregation0(fr);
            refreshInformation0();
        }
    });
    formPanel.addSubmitHandler(new SubmitHandler() {
        @Override
        public void onSubmit(SubmitEvent event) {
            String fn = fileUpload.getFilename();
            String justFileName = fn.substring(fn.lastIndexOf("\\") + 1);
            PageAssembler.attachHandler(idPrefix + "-objectDetail", Event.ONCLICK, new EventCallback() {
                @Override
                public void onEvent(Event event) {
                    toggleSelection0(idPrefix + "-object");
                }
            });
            if (fn == "") {
                status.setState(StatusRecord.ALERT_WARNING);
                status.setMessage(StatusHandler.INVALID_FILENAME);
                StatusHandler.alterMessage(status);
                fileUpload.setName("data");
                DOM.getElementById(idPrefix + "-object").removeFromParent();
                FileHandler.pendingFileUploads--;
                event.cancel();
            } else {
                DOM.getElementById(idPrefix + "-objectDetailButton").setAttribute("hidden", "hidden");
                status.setMessage(StatusHandler.getFileMessageBusy(justFileName));
                StatusHandler.alterMessage(status);
                DOM.getElementById("addFileData").setAttribute("name", justFileName);
                DOM.getElementById("session").setAttribute("value",
                        "{ \"sessionid\":\"" + RusselApi.sessionId + "\" }");
                if (justFileName.indexOf(".") != -1 && justFileName.substring(justFileName.lastIndexOf(".") + 1)
                        .toLowerCase().equals("zip")) {
                    if (!Browser.isBadIE()) {
                        File file = BlobUtils.getFile("addFileData");
                        String filename = file.getName();
                        if (filename.substring(filename.lastIndexOf(".") + 1).equalsIgnoreCase("zip") && Window
                                .confirm("Do you wish to disaggregate the zip " + filename + " package?")) {
                            Zip.grabEntries(file, new AsyncCallback<Vector<ZipRecord>>() {
                                @Override
                                public void onFailure(Throwable caught) {
                                }

                                @Override
                                public void onSuccess(Vector<ZipRecord> zipRecords) {
                                    for (int x = 0; x < zipRecords.size(); x++) {
                                        FileHandler.pendingZipUploads.add(zipRecords.get(x));
                                    }
                                    doPendingUploads0();
                                }
                            });
                        }
                    }
                }
                RootPanel.get(idPrefix + "-objectDescription").add(new Image("images/orbit/loading.gif"));
                DOM.getElementById(idPrefix + "-objectTitle").setInnerText(justFileName);
                DOM.getElementById(idPrefix + "-objectDescription").setAttribute("style", "text-align:center");
            }
        }
    });
    formPanel.submit();
    refreshInformation0();
}

From source file:com.google.gwt.examples.FormPanelExample.java

License:Apache License

public void onModuleLoad() {
    // Create a FormPanel and point it at a service.
    final FormPanel form = new FormPanel();
    form.setAction("/myFormHandler");

    // Because we're going to add a FileUpload widget, we'll need to set the
    // form to use the POST method, and multipart MIME encoding.
    form.setEncoding(FormPanel.ENCODING_MULTIPART);
    form.setMethod(FormPanel.METHOD_POST);

    // Create a panel to hold all of the form widgets.
    VerticalPanel panel = new VerticalPanel();
    form.setWidget(panel);/*from  w w  w .j a  v a  2  s  .  co  m*/

    // Create a TextBox, giving it a name so that it will be submitted.
    final TextBox tb = new TextBox();
    tb.setName("textBoxFormElement");
    panel.add(tb);

    // Create a ListBox, giving it a name and some values to be associated with
    // its options.
    ListBox lb = new ListBox();
    lb.setName("listBoxFormElement");
    lb.addItem("foo", "fooValue");
    lb.addItem("bar", "barValue");
    lb.addItem("baz", "bazValue");
    panel.add(lb);

    // Create a FileUpload widget.
    FileUpload upload = new FileUpload();
    upload.setName("uploadFormElement");
    panel.add(upload);

    // Add a 'submit' button.
    panel.add(new Button("Submit", new ClickHandler() {
        public void onClick(ClickEvent event) {
            form.submit();
        }
    }));

    // Add an event handler to the form.
    form.addSubmitHandler(new FormPanel.SubmitHandler() {
        public void onSubmit(SubmitEvent event) {
            // This event is fired just before the form is submitted. We can take
            // this opportunity to perform validation.
            if (tb.getText().length() == 0) {
                Window.alert("The text box must not be empty");
                event.cancel();
            }
        }
    });
    form.addSubmitCompleteHandler(new FormPanel.SubmitCompleteHandler() {
        public void onSubmitComplete(SubmitCompleteEvent event) {
            // When the form submission is successfully completed, this event is
            // fired. Assuming the service returned a response of type text/html,
            // we can get the result text here (see the FormPanel documentation for
            // further explanation).
            Window.alert(event.getResults());
        }
    });

    RootPanel.get().add(form);
}

From source file:com.ponysdk.core.terminal.ui.PTFileUpload.java

License:Apache License

@Override
protected FormPanel createUIObject() {
    fileUpload = new FileUpload();

    fileUploadId = DOM.createUniqueId();
    fileUpload.getElement().setPropertyString("id", fileUploadId);
    fileUpload.setName("file");

    final FormPanel formPanel = new FormPanel();
    formPanel.setEncoding(FormPanel.ENCODING_MULTIPART);
    formPanel.setMethod(FormPanel.METHOD_POST);

    container = new FlowPanel();
    container.add(fileUpload);//from ww w  .  ja va2 s . c om
    formPanel.setWidget(container);

    formPanel.addSubmitCompleteHandler(event -> {
        final PTInstruction instruction = new PTInstruction(objectID);
        instruction.put(ClientToServerModel.HANDLER_SUBMIT_COMPLETE);
        uiBuilder.sendDataToServer(uiObject, instruction);
    });

    return formPanel;
}

From source file:com.qualogy.qafe.gwt.client.component.QPagingScrollTableOperation.java

License:Apache License

/**
 * Constructor.//from  w w w.j a  va2  s .c o  m
 *
 * @param table
 *            the table being affected
 * @param images
 *            the images to use
 */
// CHECKSTYLE.OFF: CyclomaticComplexity
public QPagingScrollTableOperation(final QPagingScrollTable table, ScrollTableOperationImages images) {
    this.table = table;
    if (this.table instanceof QPagingScrollTable) {
        ((QPagingScrollTable) this.table).setScrollTableOperations(this);
    }

    // Create the main widget
    HorizontalPanel hPanel = new HorizontalPanel();
    initWidget(hPanel);
    hPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE);
    setStyleName(DEFAULT_STYLENAME);

    // Create the paging image buttons
    createPageButtons(images);

    // Create the error label
    errorLabel = new HTML();
    errorLabel.setStylePrimaryName("errorMessage");

    // Add the widgets to the panel
    hPanel.add(createSpacer());
    if (hasAddControl(table)) {
        hPanel.add(addImage);
        hPanel.add(createSpacer());
    }
    if (hasDeleteControl(table)) {
        hPanel.add(deleteImage);
        hPanel.add(createSpacer());
    }

    if (isEditableDatagrid(table) || hasDeleteControl(table) || hasAddControl(table)) {
        if (saveDatagrid(table)) {
            hPanel.add(saveImage);
            hPanel.add(createSpacer());
        }
        if (refreshDatagrid(table)) {
            hPanel.add(refreshImage);
            hPanel.add(createSpacer());
        }
        if (cancelDatagrid(table)) {
            hPanel.add(cancelImage);
            hPanel.add(createSpacer());
        }
    }

    hPanel.add(errorLabel);

    if (table.getSource().getImportEnabled() != null && table.getSource().getImportEnabled().booleanValue()) {
        final DisclosurePanel importPanel = new DisclosurePanel("Upload data");
        hPanel.add(importPanel);
        final FormPanel formPanel = new FormPanel();

        formPanel.setAction(GWT.getModuleBaseURL() + "/rpc.datagridupload");
        formPanel.setEncoding(FormPanel.ENCODING_MULTIPART);
        formPanel.setMethod(FormPanel.METHOD_POST);

        FileUpload fileUploadComponent = new FileUpload();
        fileUploadComponent.setName("uploadElement");

        Button uploadButtonComponent = new Button("Upload");
        uploadButtonComponent.addClickHandler(new ClickHandler() {
            public void onClick(ClickEvent event) {
                formPanel.submit();
            }
        });

        CheckBox isFirstLineHeader = new CheckBox("Is first row header ?");
        isFirstLineHeader.setName("isFirstLineHeader");
        isFirstLineHeader.setTitle(
                "Check wheter or not the first line of the uploaded file is a header/column definition");
        HorizontalPanel hp = new HorizontalPanel();

        Label label = new Label("Delimeter");
        final TextBox delimiter = new TextBox();
        delimiter.setValue(",");
        delimiter.setTitle("Insert the delimeter (can be any value, as long it's length 1)");
        delimiter.setName("delimiter");
        delimiter.setWidth("15px");
        hp.setSpacing(10);
        hp.add(label);
        hp.add(delimiter);

        Grid gridPanel = new Grid(2, 4);
        gridPanel.setWidget(0, 0, fileUploadComponent);
        gridPanel.setWidget(0, 1, uploadButtonComponent);
        gridPanel.setWidget(1, 0, isFirstLineHeader);
        gridPanel.setWidget(1, 1, hp);

        formPanel.add(gridPanel);

        formPanel.addSubmitHandler(new FormPanel.SubmitHandler() {

            public void onSubmit(SubmitEvent event) {
                // This event is fired just before the form is submitted. We can
                // take
                // this opportunity to perform validation.
                if (delimiter.getText().length() == 0 || delimiter.getText().length() > 1) {
                    ClientApplicationContext.getInstance().log("Ooops...Delimeter invalid",
                            "Make sure there is valid delimeter value.One character only (current value ='"
                                    + delimiter.getText() + "'",
                            true);
                    event.cancel();
                }
            }

        });

        formPanel.addSubmitCompleteHandler(new SubmitCompleteHandler() {

            public void onSubmitComplete(SubmitCompleteEvent event) {
                String uuId = event.getResults();
                if (uuId != null && uuId.indexOf("=") > 0) {
                    uuId = uuId.substring(uuId.indexOf("=") + 1);
                    processData(uuId);
                    importPanel.setOpen(false);
                } else {
                    ClientApplicationContext.getInstance().log("Upload failed", event.getResults(), true);
                }
            }
        });
        importPanel.add(formPanel);
    }

    if (table.getSource() != null && table.getSource().getExport() != null
            && table.getSource().getExport().booleanValue()) {

        createExportLabelsAndImages();

        final DisclosurePanel exportPanel = new DisclosurePanel("Export");
        String[] labels = getExportLabels(table.getSource().getExportFormats());
        Image[] exportImages = getExportImages(labels);

        FlexTable gridExportPanel = new FlexTable();
        hPanel.add(exportPanel);
        exportPanel.add(gridExportPanel);
        final Frame frame = new Frame();
        frame.setHeight("0");
        frame.setWidth("0");
        frame.setVisible(false);
        final String moduleRelativeURL = GWT.getModuleBaseURL() + "/rpc.export";
        gridExportPanel.setWidget(0, 0, frame);

        final CheckBox generateColumnHeaderBox = new CheckBox("Generate Column Header");
        gridExportPanel.getFlexCellFormatter().setColSpan(1, 1, 7);
        gridExportPanel.setWidget(2, 1, generateColumnHeaderBox);
        gridExportPanel.getFlexCellFormatter().setColSpan(2, 1, 6);

        for (int i = 0; i < labels.length; i++) {

            exportImages[i].setStylePrimaryName("datagridexportlabel");
            exportImages[i].setTitle(labels[i]);
            gridExportPanel.setWidget(0, i + 1, exportImages[i]);

            exportImages[i].addClickHandler(new ClickHandler() {

                public void onClick(ClickEvent event) {
                    if (event.getSource() instanceof Image) {
                        Image image = (Image) (event.getSource());
                        final String exportCode = image.getTitle();
                        RPCServiceAsync service = MainFactoryActions.createService();
                        AsyncCallback<?> callback = new AsyncCallback<Object>() {
                            public void onSuccess(Object result) {
                                String uuid = (String) result;
                                // set frame
                                frame.setUrl(moduleRelativeURL + "?uuid=" + uuid);
                                ClientApplicationContext.getInstance().setBusy(false);
                            }

                            public void onFailure(Throwable caught) {

                                ClientApplicationContext.getInstance().log("Export failed",
                                        "Export failed for " + exportCode + " ", true, true, caught);
                                ClientApplicationContext.getInstance().setBusy(false);
                                FunctionsExecutor.setProcessedBuiltIn(true);
                            }
                        };
                        List<DataContainerGVO> dList = new ArrayList<DataContainerGVO>();
                        // following loop is to maintain the order of rows while exporting.
                        for (int i = 0; i < (table.getAbsoluteLastRowIndex() + 1); i++) {
                            dList.add(table.getRowValue(i));
                        }
                        service.prepareForExport(dList, exportCode, null,
                                generateColumnHeaderBox.getValue().booleanValue(), callback);
                    }
                }
            });
        }
    }
}

From source file:com.qualogy.qafe.gwt.client.factory.MainFactory.java

License:Apache License

public static void createTryMeWindow(String subwindow) {

    final WindowPanel w = new WindowPanel("Try me!");

    w.setResizable(true);//w  ww.  ja va  2 s. c om

    w.setAnimationEnabled(true);
    w.setSize("800px", "500px");

    VerticalPanel verticalPanel = new VerticalPanel();
    final ScrollLayoutPanel vp = new ScrollLayoutPanel();
    vp.setAlwaysShowScrollBars(false);
    vp.setWidth("800px");
    vp.setHeight("500px");
    w.setWidget(verticalPanel);
    // vp.setSpacing(5);
    // vp.setWidth("100%");
    final TabPanel tabPanel = new TabPanel();
    tabPanel.setAnimationEnabled(true);
    tabPanel.setWidth("580px");
    tabPanel.setHeight("500px");

    DockPanel dockPanel = new DockPanel();
    dockPanel.setWidth("580px");
    dockPanel.setHeight("500px");
    tabPanel.add(dockPanel, "Insert code!");
    final TextArea textArea = new TextArea();
    textArea.setVisibleLines(30);
    textArea.setHeight("auto");
    textArea.setWidth("580px");
    DOM.setElementAttribute(textArea.getElement(), "font-size", "10pt");

    dockPanel.add(textArea, DockPanel.CENTER);
    final MenuBar menu = new MenuBar();
    MenuBar renderMenu = new MenuBar(true);
    w.addResizeHandler(new ResizeHandler() {

        public void onResize(ResizeEvent event) {
            int height = event.getHeight();
            int width = event.getWidth();

            if (w.getWidget() != null) {
                w.setHeight((height) + "px");
                w.setWidth((width) + "px");
                vp.setHeight((height - 20) + "px");
                vp.setWidth((width - 20) + "px");
                tabPanel.setHeight((height - 20) + "px");
                tabPanel.setWidth((width - 20) + "px");
                menu.setWidth((width) + "px");
                textArea.setWidth((width - 20) + "px");
            }

        }
    });

    MenuItem gwtMenuItem = new MenuItem("GWT output", new Command() {

        public void execute() {
            String xml = textArea.getText();
            if (xml == null || xml.length() == 0) {
                MessageBox.error("Try me:Error", "There is no input");
            } else {
                MainFactoryActions.processUIXml(xml);
            }

        }
    });
    MenuItem flexMenuItem = new MenuItem("Flex output", new Command() {

        public void execute() {
            String xml = textArea.getText();
            if (xml == null || xml.length() == 0) {
                MessageBox.error("Try me:Error", "There is no input");
            } else {
                MainFactoryActions.processUIXmlFlex(xml);
            }

        }
    });

    renderMenu.addItem(gwtMenuItem);
    renderMenu.addItem(flexMenuItem);

    MenuBar codeMenu = new MenuBar(true);

    MenuItem clearXmlInput = new MenuItem("Clear", new Command() {

        public void execute() {
            textArea.setText("");

        }
    });

    MenuItem createHeaderButton = new MenuItem("Create Header", new Command() {

        public void execute() {
            final String headerText = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> \n"
                    + "<application-mapping xmlns=\"http://qafe.com/schema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://qafe.com/schema http://www.qafe.com/schema/2.2/application-mapping.xsd\"> \n"
                    + "  <!-- PLEASE ENTER YOUR CODE HERE --> \n" + "</application-mapping> \n";

            textArea.setText(headerText);

        }
    });

    MenuItem createSampleAppButton = new MenuItem("Create Sample Application", new Command() {

        public void execute() {
            final String sampleText = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> \n"
                    + "<application-mapping xmlns=\"http://qafe.com/schema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://qafe.com/schema http://www.qafe.com/schema/2.2/application-mapping.xsd\"> \n"
                    + "<presentation-tier>\n" + "  <view>\n"
                    + "    <window id=\"window1\" displayname=\"Hello World\" width=\"200\" height=\"200\">\n"
                    + "      <rootpanel id=\"myRootPanel\">   \n" + "        <verticallayout>\n\n"
                    + "          <!-- PLEASE ENTER HERE YOUR CODE -->\n\n"
                    + "          <label id=\"mylabel\" displayname=\"Hello World\" />\n\n"
                    + "        </verticallayout>\n" + "      </rootpanel>\n" + "    </window>\n" + " </view>\n"
                    + "</presentation-tier>\n" +

                    "</application-mapping> \n";

            textArea.setText(sampleText);

        }
    });

    codeMenu.addItem(clearXmlInput);
    codeMenu.addItem(createHeaderButton);
    codeMenu.addItem(createSampleAppButton);

    menu.addItem("Render", renderMenu);
    menu.addItem("Code", codeMenu);

    if (menu != null) {
        verticalPanel.add(menu);
    }
    verticalPanel.add(vp);

    // w.setWidget(tabPanel);

    /*
     * FMB Upload
     */
    final FormPanel fmbForm = new FormPanel();
    fmbForm.setAction(GWT.getModuleBaseURL() + "/rpc.fmbupload");

    // Because we're going to add a FileUpload widget, we'll need to set the
    // form to use the POST method, and multipart MIME encoding.
    fmbForm.setEncoding(FormPanel.ENCODING_MULTIPART);
    fmbForm.setMethod(FormPanel.METHOD_POST);
    // Create a panel to hold all of the form widgets.
    VerticalPanel panelFmbUpload = new VerticalPanel();
    panelFmbUpload.setWidth("580px");
    panelFmbUpload.setHeight("500px");
    // panelFmbUpload.setHeight("100%");

    final FileUpload fmbFile = new FileUpload();
    final TextBox emailBox = new TextBox();
    final TextBox phoneBox = new TextBox();
    fmbFile.setName("fmbUploadElement");

    // Add an event handler to the form.
    fmbForm.addSubmitCompleteHandler(new FormPanel.SubmitCompleteHandler() {

        public void onSubmitComplete(SubmitCompleteEvent event) {

            if (event.getResults() != null) {
                if (event.getResults().startsWith("Conversion failed")) {
                    ClientApplicationContext.getInstance().log("Conversion failed",
                            "The file doesn't seem to be a valid Oracle Forms file. If you still want it to be converted for demo purpose, you can also send it to info@qafe.com",
                            true);

                } else if (event.getResults().startsWith("UUID")) {

                    String[] split = event.getResults().split("=");
                    if (split.length == 2) {
                        String uuid = split[1];
                        MainFactoryActions.processUIByUUID(uuid, textArea);
                        MainFactoryActions.notify("FMB uploaded with filename [" + fmbFile.getFilename() + "]",
                                "The message was sent by " + emailBox.getText() + " with optional phonenr: "
                                        + phoneBox.getText());
                        tabPanel.selectTab(0);
                    }
                } else {
                    // firefox workaround
                    String[] split = event.getResults().split("=");
                    if (split.length == 2) {
                        String uuid = split[1];

                        uuid = uuid.replaceAll("</pre>", "");
                        MainFactoryActions.processUIByUUID(uuid, textArea);
                        MainFactoryActions.notify("FMB uploaded with filename [" + fmbFile.getFilename() + "]",
                                "The message was sent by " + emailBox.getText() + " with optional phonenr: "
                                        + phoneBox.getText());
                        tabPanel.selectTab(0);
                    } else {
                        ClientApplicationContext.getInstance().log(event.getResults());
                    }
                }

            } else {
                ClientApplicationContext.getInstance().log(
                        "The Forms Conversion process could not handle this file. Please check the file.",
                        "Check whether or not this file is an FMB (not an FMX)", true);
            }
        }
    });

    FlexTable tempFmbPanel = new FlexTable();
    tempFmbPanel.setWidget(0, 1, fmbFile);
    tempFmbPanel.setWidget(0, 0, new Label("Input for FMB"));

    tempFmbPanel.setWidget(1, 0, new HTML(
            "<p>Note: the FMB you are uploading is only for <span style=\"color:red;\">demo</span> purpose.</p>"
                    + "<p>FMB's can have external dependencies like <span style=\"color:red;\">PLL, OLB's, images</span>,etc. Since they are <span style=\"color:red;\">not</span> included in the upload, the output might not appear correct.</p>"
                    + "<p>For a more detailed conversion of your FMB's please contact us at <span style=\"color:red;\">info@qafe.com </span></p> <p/>"
                    + "<p>Please fill in the information below, so that we can contact you for more information</p> "));
    tempFmbPanel.getFlexCellFormatter().setColSpan(1, 0, 2);

    tempFmbPanel.setWidget(2, 0, new Label("E-mail: (required)"));

    emailBox.setName("fmbEmail");
    emailBox.addBlurHandler(new BlurHandler() {

        public void onBlur(BlurEvent event) {
            String textValue = ((TextBoxBase) event.getSource()).getText();
            if (textValue != null) {
                if (textValue.replaceFirst(TextFieldGVO.REGEXP_TYPE_EMAIL_VALUE, "").length() > 0) {
                    ClientApplicationContext.getInstance().log("Email validation error",
                            TextFieldGVO.TYPE_EMAIL_DEFAULT_MESSAGE, true);
                }
            }

        }
    });
    tempFmbPanel.setWidget(2, 1, emailBox);

    tempFmbPanel.setWidget(3, 0, new Label("Phonenr:"));

    phoneBox.setName("fmbPhone");
    phoneBox.addBlurHandler(new BlurHandler() {

        public void onBlur(BlurEvent event) {

        }
    });
    tempFmbPanel.setWidget(3, 1, phoneBox);

    fmbForm.add(tempFmbPanel);

    panelFmbUpload.add(fmbForm);
    // Add a 'submit' button.
    panelFmbUpload.add(new Button("Generate", new ClickHandler() {

        public void onClick(ClickEvent event) {
            fmbForm.submit();

        }
    }));
    // Add an event handler to the form.
    fmbForm.addSubmitHandler(new FormPanel.SubmitHandler() {
        public void onSubmit(SubmitEvent event) {
            // This event is fired just before the form is submitted. We can take
            // this opportunity to perform validation.
            if (emailBox.getText().length() == 0) {
                ClientApplicationContext.getInstance().log("Email validation error",
                        "Please fill in your email address", true);
                event.cancel();
            } else if (fmbFile.getFilename() == null || fmbFile.getFilename().length() == 0) {
                ClientApplicationContext.getInstance().log("Uploaded file validation error",
                        "There is no file selected. Please select one to continue", true);
                event.cancel();
            }
        }
    });

    tabPanel.add(panelFmbUpload, "Forms Conversion");

    vp.add(tabPanel);
    w.center();
    if (QAFEKeywordsGVO.SYSTEM_MENUITEM_TRYME_FORMS.equals(subwindow)) {
        tabPanel.selectTab(1);

    } else {
        tabPanel.selectTab(0);
    }
}

From source file:com.qualogy.qafe.gwt.client.ui.renderer.FileUploadRenderer.java

License:Apache License

public UIObject render(ComponentGVO component, String uuid, String parent, String context) {
    HorizontalPanel uiObject = null;/*  ww w.  ja v a 2 s. com*/
    final String finalParent = parent;
    if (component != null) {
        if (component instanceof FileUploadGVO) {
            if (component.getMenu() != null) {
                final ComponentGVO finalComponentGVO = component;
                final String finalUuid = uuid;
                uiObject = new HorizontalPanel() {
                    @Override
                    public void onBrowserEvent(Event event) {
                        if (event.getTypeInt() == Event.ONCONTEXTMENU) {
                            DOM.eventPreventDefault(event);
                            applyContextMenu(event, finalComponentGVO, finalUuid, finalParent);
                        }
                        super.onBrowserEvent(event);
                    }

                    @Override
                    protected void setElement(Element elem) {
                        super.setElement(elem);
                        sinkEvents(Event.ONCONTEXTMENU);
                    }
                };
            } else {
                uiObject = new HorizontalPanel();
            }
            final FormPanel formPanel = new FormPanel();
            formPanel.setAction(GWT.getModuleBaseURL() + "/rpc.upload");
            formPanel.setEncoding(FormPanel.ENCODING_MULTIPART);
            formPanel.setMethod(FormPanel.METHOD_POST);

            final Button uploadButtonComponent = new Button("Upload");
            uploadButtonComponent.addClickHandler(new ClickHandler() {
                public void onClick(ClickEvent event) {
                    formPanel.submit();
                }
            });

            final FileUpload fileUploadComponent = new FileUpload();
            fileUploadComponent.setName("uploadElement");
            fileUploadComponent.addChangeHandler(new ChangeHandler() {
                public void onChange(ChangeEvent event) {
                    String filename = fileUploadComponent.getFilename();
                    boolean enabled = (filename != null) && (filename.length() > 0);
                    uploadButtonComponent.setEnabled(enabled);
                }
            });

            Hidden appId = new Hidden();
            final String appID = ClientApplicationContext.getInstance().getWindowSession();
            appId.setName("APPUUID=" + appID);

            Hidden windowId = new Hidden();
            windowId.setName("WINDOWID=" + parent);

            Grid gridPanel = new Grid(2, 4);
            gridPanel.setWidget(0, 0, fileUploadComponent);
            gridPanel.setWidget(0, 1, uploadButtonComponent);
            gridPanel.setWidget(0, 2, appId);
            gridPanel.setWidget(0, 3, windowId);
            formPanel.add(gridPanel);

            RendererHelper.fillIn(component, formPanel, uuid, parent, context);
            formPanel.addSubmitCompleteHandler(new SubmitCompleteHandler() {

                public void onSubmitComplete(SubmitCompleteEvent event) {
                    String uuId = event.getResults();
                    boolean success = false;
                    if (uuId != null && uuId.indexOf("=") > 0) {
                        uuId = uuId.substring(uuId.indexOf("=") + 1);
                        success = true;
                    }
                    if (formPanel instanceof HasWidgets) {
                        HasWidgets hasWidgets = (HasWidgets) formPanel;
                        Iterator<Widget> itr = hasWidgets.iterator();
                        while (itr.hasNext()) {
                            Widget widget = itr.next();
                            if (widget instanceof Grid) {
                                Grid gridPanel = (Grid) widget;
                                final FileUpload fileUpload = (FileUpload) gridPanel.getWidget(0, 0);
                                final Button uploadButton = (Button) gridPanel.getWidget(0, 1);
                                if (success) {
                                    fileUpload.setVisible(false);
                                    uploadButton.setVisible(false);
                                    String fileName = event.getResults().substring(0,
                                            event.getResults().indexOf("#"));
                                    final String viewUrl = GWT.getModuleBaseURL() + "/rpc.view?APPUUID=" + appID
                                            + "&WINDOWID=" + finalParent + "&VIEW=" + uuId;
                                    final Label fileNameLabel = new Label(fileName);
                                    DOM.setStyleAttribute(fileNameLabel.getElement(), "textDecoration",
                                            "underline");
                                    DOM.setStyleAttribute(fileNameLabel.getElement(), "cursor", "hand");
                                    fileNameLabel.addClickHandler(new ClickHandler() {
                                        public void onClick(ClickEvent event) {
                                            Window.open(viewUrl, "UploadedFile", null);
                                        }
                                    });
                                    fileNameLabel.setVisible(true);

                                    final Label clearLabel = new Label("Clear");
                                    clearLabel.setVisible(true);
                                    final String finalUuId = uuId;

                                    DOM.setStyleAttribute(clearLabel.getElement(), "textDecoration",
                                            "underline");
                                    DOM.setStyleAttribute(clearLabel.getElement(), "cursor", "hand");

                                    clearLabel.addClickHandler(new ClickHandler() {
                                        public void onClick(ClickEvent event) {
                                            MainFactoryActions.removeUploadedFile(appID, finalParent,
                                                    finalUuId);
                                            DOM.setElementAttribute(fileUpload.getElement(), "fu-uuid", "");
                                            fileNameLabel.setVisible(false);
                                            clearLabel.setVisible(false);
                                            fileUpload.setVisible(true);
                                            uploadButton.setVisible(true);
                                            init(fileUpload, uploadButton);
                                        }
                                    });
                                    gridPanel.setWidget(1, 0, fileNameLabel);
                                    gridPanel.setWidget(1, 1, clearLabel);

                                    DOM.setElementAttribute(fileUpload.getElement(), "fu-uuid", uuId);
                                    CallbackHandler.createCallBack(formPanel, "onfinish", null, null);
                                } else {
                                    Hyperlink fileNameLabel = (Hyperlink) gridPanel.getWidget(1, 0);
                                    fileNameLabel.setText("Uploading unsuccessfull.");
                                    fileNameLabel.setVisible(true);
                                }
                            }
                        }
                    }
                }
            });
            uiObject.add(formPanel);

            init(fileUploadComponent, uploadButtonComponent);
        }
    }
    return uiObject;
}

From source file:com.qualogy.qafe.gwt.client.ui.renderer.RendererHelper.java

License:Apache License

public static void processEvents(ComponentGVO vo, UIObject ui, EventListenerGVO event,
        List<com.qualogy.qafe.gwt.client.vo.ui.event.InputVariableGVO> inputVariables, String appId) {
    if (ui != null) {
        String nonHandledEventName = null;
        String nonHandledEventMessage = null;
        if (event instanceof OnEnterEventListenerGVO) {
            if (ui instanceof HasAllKeyHandlers) {
                HasAllKeyHandlers hasAllKeyHandlers = (HasAllKeyHandlers) ui;
                hasAllKeyHandlers.addKeyDownHandler(EventFactory.createOnEnterListener(event, inputVariables));
            } else {
                nonHandledEventName = QAMLConstants.EVENT_ONENTER;
            }/*from  w w  w . ja v a 2  s  .  c  o m*/
        }
        if (event instanceof OnFocusEventListenerGVO) {
            if (ui instanceof HasFocusHandlers) {
                HasFocusHandlers hasFocusHandlers = (HasFocusHandlers) ui;
                hasFocusHandlers.addFocusHandler(EventFactory.createFocusListener(event, inputVariables));
            } else {
                nonHandledEventName = QAMLConstants.EVENT_ONFOCUS;
            }
        }
        if (event instanceof OnExitEventListenerGVO) {
            if (ui instanceof HasBlurHandlers) {
                HasBlurHandlers hasBlurHandlers = (HasBlurHandlers) ui;
                hasBlurHandlers.addBlurHandler(EventFactory.createOnExitListener(event, inputVariables));
            } else {
                nonHandledEventName = QAMLConstants.EVENT_ONEXIT;
            }
        }
        if (event instanceof ClickEventListenerGVO) {
            if (ui instanceof HasClickHandlers) {
                ui.addStyleName("qafe_hand");
                HasClickHandlers hasClickHandlers = (HasClickHandlers) ui;
                hasClickHandlers.addClickHandler(EventFactory.createClickListener(event, inputVariables));
            } else if (ui instanceof MenuItem) {
                MenuItem menuItem = (MenuItem) ui;
                menuItem.setCommand(EventFactory.createCommandListener(menuItem, event, inputVariables));
                ui.addStyleName("qafe_hand");
            } else if (ui instanceof AreaWidget) {
                AreaWidget area = (AreaWidget) ui;
                area.setCommand(EventFactory.createCommandListener(area, event, inputVariables));
                ui.addStyleName("qafe_hand");
            } else if (ui instanceof TabPanel) {
                TabPanel tabPanel = (TabPanel) ui;
                String eventComponentId = event.getEventComponentId();
                String[] components = eventComponentId.split("\\.");
                if (components.length == 1) {
                    tabPanel.addSelectionHandler(
                            EventFactory.createTabPanelListener(tabPanel, event, inputVariables));
                    ui.addStyleName("qafe_hand");
                }
            } else {
                nonHandledEventName = QAMLConstants.EVENT_ONCLICK;
            }
        }
        if (event instanceof DoubleClickEventListenerGVO) {
            if (ui instanceof HasDoubleClickHandlers) {
                //ui.addStyleName("qafe_hand");
                HasDoubleClickHandlers hasDoubleClickHandlers = (HasDoubleClickHandlers) ui;
                hasDoubleClickHandlers
                        .addDoubleClickHandler(EventFactory.createDoubleClickListener(event, inputVariables));
            } else {
                nonHandledEventName = QAMLConstants.EVENT_ONDBLCLICK;
            }
        }
        if (event instanceof OnChangeEventListenerGVO) {
            if (ui instanceof QSuggestBox) {
                QSuggestBox suggestionBox = (QSuggestBox) ui;
                suggestionBox.addKeyUpHandler(
                        EventFactory.createSuggestionOnKeyUpHandler(suggestionBox, event, inputVariables));
            } else if (ui instanceof QDatePicker && ui instanceof HasValueChangeHandlers) {
                HasValueChangeHandlers hasValueChangeHandlers = (HasValueChangeHandlers) ui;
                hasValueChangeHandlers.addValueChangeHandler(
                        (EventFactory.createOnValueChangeHandler(event, inputVariables)));
            } else if (ui instanceof HasDataChangeHandlers) {
                HasDataChangeHandlers hasDataChangeHandlers = (HasDataChangeHandlers) ui;
                hasDataChangeHandlers
                        .addDataChangeHandler((EventFactory.createOnDataChangeHandler(event, inputVariables)));
            } else if (ui instanceof HasChangeHandlers) {
                HasChangeHandlers hasChangeHandlers = (HasChangeHandlers) ui;
                hasChangeHandlers
                        .addChangeHandler((EventFactory.createOnChangeListener(event, inputVariables)));
            } else if (ui instanceof SourcesChangeEvents) {
                SourcesChangeEvents sourcesChangeEvents = (SourcesChangeEvents) ui;
                sourcesChangeEvents
                        .addChangeListener(EventFactory.createLegacyOnChangeListener(event, inputVariables));
            } else {
                nonHandledEventName = QAMLConstants.EVENT_ONCHANGE;
            }
        }
        if (event instanceof OnMouseEnterEventListenerGVO) {
            if (ui instanceof HasAllMouseHandlers) {
                HasAllMouseHandlers hasAllMouseHandlers = (HasAllMouseHandlers) ui;
                hasAllMouseHandlers
                        .addMouseOverHandler(EventFactory.createOnMouseEnterListener(event, inputVariables));
            } else {
                nonHandledEventName = QAMLConstants.EVENT_ONMOUSE_ENTER;
            }
        }
        if (event instanceof OnMouseExitEventListenerGVO) {
            if (ui instanceof HasAllMouseHandlers) {
                HasAllMouseHandlers hasAllMouseHandlers = (HasAllMouseHandlers) ui;
                hasAllMouseHandlers
                        .addMouseOutHandler(EventFactory.createOnMouseExitListener(event, inputVariables));
            } else {
                nonHandledEventName = QAMLConstants.EVENT_ONMOUSE_EXIT;
            }
        }
        if (event instanceof OnMouseMoveEventListenerGVO) {
            if (ui instanceof HasAllMouseHandlers) {
                HasAllMouseHandlers hasAllMouseHandlers = (HasAllMouseHandlers) ui;
                hasAllMouseHandlers
                        .addMouseMoveHandler(EventFactory.createOnMouseMoveListener(event, inputVariables));
            } else {
                nonHandledEventName = QAMLConstants.EVENT_ONMOUSE_MOVE;
            }
        }
        if (event instanceof OnMouseUpEventListenerGVO) {
            if (ui instanceof HasAllMouseHandlers) {
                HasAllMouseHandlers hasAllMouseHandlers = (HasAllMouseHandlers) ui;
                hasAllMouseHandlers
                        .addMouseUpHandler(EventFactory.createOnMouseUpListener(event, inputVariables));
            } else {
                nonHandledEventName = QAMLConstants.EVENT_ONMOUSE_UP;
            }
        }
        if (event instanceof OnMouseDownEventListenerGVO) {
            if (ui instanceof HasAllMouseHandlers) {
                HasAllMouseHandlers hasAllMouseHandlers = (HasAllMouseHandlers) ui;
                hasAllMouseHandlers
                        .addMouseDownHandler(EventFactory.createOnMouseDownListener(event, inputVariables));
            } else {
                nonHandledEventName = QAMLConstants.EVENT_ONMOUSE_DOWN;
            }
        }
        if (event instanceof OnKeyPressEventListenerGVO) {
            if (ui instanceof HasAllKeyHandlers) {
                HasAllKeyHandlers hasAllKeyHandlers = (HasAllKeyHandlers) ui;
                hasAllKeyHandlers
                        .addKeyPressHandler(EventFactory.createOnKeyPressListener(event, inputVariables));
            } else {
                nonHandledEventName = QAMLConstants.EVENT_ONKEYPRESS;
            }
        }
        if (event instanceof OnKeyDownEventListenerGVO) {
            if (ui instanceof HasAllKeyHandlers) {
                HasAllKeyHandlers hasAllKeyHandlers = (HasAllKeyHandlers) ui;
                hasAllKeyHandlers
                        .addKeyDownHandler(EventFactory.createOnKeyDownListener(event, inputVariables));
            } else if (ui instanceof HasNativeKeyHandlers) {
                HasNativeKeyHandlers hasNativeKeyHandlers = (HasNativeKeyHandlers) ui;
                hasNativeKeyHandlers.addNativeKeyDownHandler(
                        EventFactory.createOnNativeKeyDownListener(event, inputVariables));
            } else {
                nonHandledEventName = QAMLConstants.EVENT_ONKEYDOWN;
            }
        }
        if (event instanceof OnKeyUpEventListenerGVO) {
            if (ui instanceof HasAllKeyHandlers) {
                HasAllKeyHandlers hasAllKeyHandlers = (HasAllKeyHandlers) ui;
                hasAllKeyHandlers.addKeyUpHandler(EventFactory.createOnKeyUpListener(event, inputVariables));
            } else if (ui instanceof HasNativeKeyHandlers) {
                HasNativeKeyHandlers hasNativeKeyHandlers = (HasNativeKeyHandlers) ui;
                hasNativeKeyHandlers
                        .addNativeKeyUpHandler(EventFactory.createOnNativeKeyUpListener(event, inputVariables));
            } else {
                nonHandledEventName = QAMLConstants.EVENT_ONKEYUP;
            }
        }
        if (event instanceof OnLoadEventListenerGVO) {
            if (!(vo instanceof WindowGVO)) {
                nonHandledEventName = QAMLConstants.EVENT_ONLOAD;
                nonHandledEventMessage = "Support on Window only.";
            }
        }
        if (event instanceof OnUnLoadEventListenerGVO) {
            if (!(vo instanceof WindowGVO)) {
                nonHandledEventName = QAMLConstants.EVENT_ONUNLOAD;
                nonHandledEventMessage = "Support on Window only.";
            }
        }
        if (event instanceof OnFinishEventListenerGVO) {
            if (ui instanceof FormPanel) {
                FormPanel formPanel = (FormPanel) ui;
                formPanel.addSubmitCompleteHandler(
                        EventFactory.createSubmitCompleteHandler(ui, event, inputVariables));
            } else {
                nonHandledEventName = QAMLConstants.EVENT_ONFINISH;
            }
        }
        if (event instanceof OnTimerEventListenerGVO) {
            //check a timer is already scheduled for this event- this happens when there are multiple component reference mentioned in that event
            if (!ClientApplicationContext.getInstance().isTimerScheduledForEvent(appId, vo.getWindow(),
                    event.getEventId())) {
                OnTimerHandler timerHandler = new OnTimerHandler();
                timerHandler.processOnTimer(ui, vo, appId, event, inputVariables);
            } else {
                nonHandledEventName = QAMLConstants.EVENT_ONTIMER;
                nonHandledEventMessage = "Timer is already scheduled.";
            }
        }
        if (nonHandledEventName != null) {
            if (nonHandledEventMessage == null) {
                nonHandledEventMessage = "";
            }
            ClientApplicationContext.getInstance()
                    .log("The component [" + DOM.getElementAttribute(ui.getElement(), "id") + "] for event ["
                            + event.getEventId() + "] does not support " + nonHandledEventName + " listener. "
                            + nonHandledEventMessage, null);
        }
    }
}

From source file:com.qualogy.qafe.mgwt.client.ui.renderer.FileUploadRenderer.java

License:Apache License

public UIObject render(ComponentGVO component, String owner, String uuid, String parent, String context,
        AbstractActivity activity) {//  w  w  w. j  a  va 2  s .  c o  m
    HorizontalPanel uiObject = null;
    final String finalParent = parent;
    if (component != null) {
        if (component instanceof FileUploadGVO) {
            if (component.getMenu() != null) {
                final ComponentGVO finalComponentGVO = component;
                final String finalUuid = uuid;
                uiObject = new HorizontalPanel() {
                    @Override
                    public void onBrowserEvent(Event event) {
                        if (event.getTypeInt() == Event.ONCONTEXTMENU) {
                            DOM.eventPreventDefault(event);
                            applyContextMenu(event, finalComponentGVO, finalUuid, finalParent);
                        }
                        super.onBrowserEvent(event);
                    }

                    @Override
                    protected void setElement(Element elem) {
                        super.setElement(elem);
                        sinkEvents(Event.ONCONTEXTMENU);
                    }
                };
            } else {
                uiObject = new HorizontalPanel();
            }
            final FormPanel formPanel = new FormPanel();
            formPanel.setAction(GWT.getModuleBaseURL() + "/rpc.upload");
            formPanel.setEncoding(FormPanel.ENCODING_MULTIPART);
            formPanel.setMethod(FormPanel.METHOD_POST);

            FileUpload fileUploadComponent = new FileUpload();
            fileUploadComponent.setName("uploadElement");

            Button uploadButtonComponent = new Button("Upload");
            uploadButtonComponent.addClickHandler(new ClickHandler() {
                public void onClick(ClickEvent event) {
                    formPanel.submit();
                }
            });

            Hidden appId = new Hidden();
            appId.setName("APPUUID=" + uuid);
            final String appID = uuid;

            Hidden windowId = new Hidden();
            windowId.setName("WINDOWID=" + parent);

            Grid gridPanel = new Grid(2, 4);
            gridPanel.setWidget(0, 0, fileUploadComponent);
            gridPanel.setWidget(0, 1, uploadButtonComponent);
            gridPanel.setWidget(0, 2, appId);
            gridPanel.setWidget(0, 3, windowId);
            formPanel.add(gridPanel);

            RendererHelper.fillIn(component, formPanel, uuid, parent, context);
            formPanel.addSubmitCompleteHandler(new SubmitCompleteHandler() {

                public void onSubmitComplete(SubmitCompleteEvent event) {
                    String uuId = event.getResults();
                    boolean success = false;
                    if (uuId != null && uuId.indexOf("=") > 0) {
                        uuId = uuId.substring(uuId.indexOf("=") + 1);
                        success = true;
                    }
                    if (formPanel instanceof HasWidgets) {
                        HasWidgets hasWidgets = (HasWidgets) formPanel;
                        Iterator<Widget> itr = hasWidgets.iterator();
                        while (itr.hasNext()) {
                            Widget widget = itr.next();
                            if (widget instanceof Grid) {
                                Grid gridPanel = (Grid) widget;
                                final FileUpload fileUpload = (FileUpload) gridPanel.getWidget(0, 0);
                                final Button uploadButton = (Button) gridPanel.getWidget(0, 1);
                                if (success) {
                                    fileUpload.setVisible(false);
                                    uploadButton.setVisible(false);
                                    String fileName = event.getResults().substring(0,
                                            event.getResults().indexOf("#"));
                                    final String viewUrl = GWT.getModuleBaseURL() + "/rpc.view?APPUUID=" + appID
                                            + "&WINDOWID=" + finalParent + "&VIEW=" + uuId;
                                    final Label fileNameLabel = new Label(fileName);
                                    DOM.setStyleAttribute(fileNameLabel.getElement(), "textDecoration",
                                            "underline");
                                    DOM.setStyleAttribute(fileNameLabel.getElement(), "cursor", "hand");
                                    fileNameLabel.addClickHandler(new ClickHandler() {
                                        public void onClick(ClickEvent event) {
                                            Window.open(viewUrl, "UploadedFile", null);
                                        }
                                    });
                                    fileNameLabel.setVisible(true);

                                    final Label removeLabel = new Label("Remove");
                                    removeLabel.setVisible(true);
                                    final String finalUuId = uuId;

                                    DOM.setStyleAttribute(removeLabel.getElement(), "textDecoration",
                                            "underline");
                                    DOM.setStyleAttribute(removeLabel.getElement(), "cursor", "hand");

                                    removeLabel.addClickHandler(new ClickHandler() {
                                        public void onClick(ClickEvent event) {
                                            MainFactoryActions.removeUploadedFile(appID, finalParent,
                                                    finalUuId);
                                            DOM.setElementAttribute(fileUpload.getElement(), "fu-uuid", "");
                                            fileNameLabel.setVisible(false);
                                            removeLabel.setVisible(false);
                                            fileUpload.setVisible(true);
                                            uploadButton.setVisible(true);
                                        }
                                    });
                                    gridPanel.setWidget(1, 0, fileNameLabel);
                                    gridPanel.setWidget(1, 1, removeLabel);

                                    DOM.setElementAttribute(fileUpload.getElement(), "fu-uuid", uuId);
                                    CallbackHandler.createCallBack(formPanel, "onfinish", null, null);
                                } else {
                                    Hyperlink fileNameLabel = (Hyperlink) gridPanel.getWidget(1, 0);
                                    fileNameLabel.setText("Uploading unsuccessfull.");
                                    fileNameLabel.setVisible(true);
                                }
                            }
                        }
                    }
                }
            });
            uiObject.add(formPanel);
        }
    }
    return uiObject;
}

From source file:de.uni_koeln.spinfo.maalr.webapp.ui.admin.client.general.dbsettings.ImportDialog.java

License:Apache License

public void buildWidget(VerticalPanel parent) {
    parent.add(new Label("Select a database dump which will replace all currently stored entries. "
            + "Note that this operation cannot be undone."));
    final FormPanel form = new FormPanel();
    form.setEncoding(FormPanel.ENCODING_MULTIPART);
    form.setMethod(FormPanel.METHOD_POST);
    form.setAction("../admin/importDB");
    final FileUpload fu = new FileUpload();
    fu.setName("file");
    fu.getElement().getStyle().setMarginTop(20, Unit.PX);
    fu.getElement().getStyle().setMarginBottom(20, Unit.PX);
    VerticalPanel panel = new VerticalPanel();
    form.add(panel);//from w w  w . ja v  a 2s . c  o m
    panel.setWidth("100%");
    panel.add(fu);
    final ProgressBar progress = new ProgressBar(Style.ANIMATED);
    progress.setVisible(false);
    progress.setPercent(100);
    panel.add(progress);
    final Button submit = new Button("Submit");
    final Button cancel = new Button("Cancel");
    submit.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            progress.setVisible(true);
            submit.setEnabled(false);
            cancel.setEnabled(false);
            form.submit();
        }
    });
    cancel.setType(ButtonType.PRIMARY);
    cancel.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            hide();
        }
    });
    form.addSubmitHandler(new SubmitHandler() {
        public void onSubmit(SubmitEvent event) {
            if (!"".equalsIgnoreCase(fu.getFilename())) {
                progress.setVisible(true);
            } else {
                event.cancel(); // cancel the event
                hide();
            }
        }
    });

    form.addSubmitCompleteHandler(new FormPanel.SubmitCompleteHandler() {
        public void onSubmitComplete(SubmitCompleteEvent event) {
            hide();
        }
    });
    parent.add(form);
    ModalFooter footer = new ModalFooter(submit, cancel);
    add(footer);
}