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

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

Introduction

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

Prototype

public HandlerRegistration addSubmitHandler(SubmitHandler handler) 

Source Link

Document

Adds a SubmitEvent handler.

Usage

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 . ja  v  a2 s  . com

    // 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.mashery.examples.api.client.ActiveExample.java

License:Open Source License

public ActiveExample(final PopupMapWidget mapWidget) {
    FlowPanel panel = new FlowPanel();

    panel.add(new HTML("<h1>Search</h1>"));

    FormPanel form = new FormPanel();
    panel.add(form);// w ww.j  a  v a 2  s .c  om

    FlexTable entryGrid = new FlexTable();
    form.add(entryGrid);
    FlexTable.FlexCellFormatter formatter = (FlexCellFormatter) entryGrid.getCellFormatter();
    entryGrid.setWidget(0, 0, new Label("Keywords:"));
    formatter.setHorizontalAlignment(0, 0, HasHorizontalAlignment.ALIGN_RIGHT);

    final TextBox keywordsText = new TextBox();
    entryGrid.setWidget(0, 1, keywordsText);
    keywordsText.setWidth("200px");

    entryGrid.setWidget(1, 0, new Label("Location:"));
    formatter.setHorizontalAlignment(1, 0, HasHorizontalAlignment.ALIGN_RIGHT);

    final TextBox locationText = new TextBox();
    entryGrid.setWidget(1, 1, locationText);
    locationText.setWidth("200px");

    Anchor fromMapLink = new Anchor("<- from Map");
    final Geocoder geocoder = new Geocoder();
    fromMapLink.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            mapWidget.show();
            HasLatLng center = mapWidget.getMap().getCenter();
            GeocoderRequest request = new GeocoderRequest();
            request.setLatLng(center);
            geocoder.geocode(request, new GeocoderCallback() {
                @Override
                public void callback(List<HasGeocoderResult> responses, String status) {
                    if (responses != null) {
                        String postalCode = null;
                        String country = null;
                        RESULTS: for (HasGeocoderResult result : responses) {
                            if (result.getTypes().contains("postal_code")) {
                                for (HasAddressComponent addr : result.getAddressComponents()) {
                                    if (postalCode == null && addr.getTypes().contains("postal_code"))
                                        postalCode = addr.getLongName();

                                    if (country == null && addr.getTypes().contains("country"))
                                        country = addr.getLongName();

                                    if (postalCode != null && country != null)
                                        break RESULTS;
                                }
                            }
                        }

                        if (postalCode != null) {
                            if (country == null)
                                locationText.setText(postalCode);
                            else
                                locationText.setText(postalCode + ", " + country);
                        }
                    }
                }
            });
        }
    });

    entryGrid.setWidget(1, 2, fromMapLink);

    SubmitButton submitButton = new SubmitButton("Search");
    entryGrid.setWidget(2, 0, submitButton);
    formatter.setColSpan(2, 0, 3);
    formatter.setHorizontalAlignment(2, 0, HasHorizontalAlignment.ALIGN_RIGHT);

    final SearchResultsTable table = new SearchResultsTable(10);
    panel.add(table);
    table.setWidth("500px");

    form.addSubmitHandler(new FormPanel.SubmitHandler() {
        @Override
        public void onSubmit(SubmitEvent event) {
            String keywords = keywordsText.getValue().trim();
            String location = locationText.getValue().trim();
            table.loadData(keywords.length() == 0 ? null : keywords, location.length() == 0 ? null : location);
            event.cancel();
        }
    });

    infoPanel = new PopupPanel(true);
    infoPanel.setAutoHideOnHistoryEventsEnabled(true);
    infoGrid = new FlexTable();
    infoPanel.setWidget(infoGrid);
    FlowPanel linkPanel = new FlowPanel();
    infoGrid.setWidget(3, 0, linkPanel);

    Anchor mapLink = new Anchor("Map", "#");
    linkPanel.add(mapLink);
    mapLink.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            event.preventDefault();
            if (selectedResult == null)
                return;

            Meta meta = selectedResult.getMeta();
            if (meta == null) {
                Window.alert("No location available.");
                return;
            }

            MarkerOptions opt = new MarkerOptions();
            if (meta.getAssetName() != null)
                opt.setTitle(meta.getAssetName().trim());

            opt.setPosition(new LatLng(meta.getLatitude(), meta.getLongitude()));
            opt.setClickable(true);
            opt.setVisible(true);
            mapWidget.show(new Marker(opt));
        }
    });

    mapWidget.addAutoHidePartner(mapLink.getElement());

    linkPanel.add(new InlineHTML("&nbsp;|&nbsp;"));
    linkPanel.add(visitLink = new Anchor("Visit", "#"));

    ((FlexTable.FlexCellFormatter) infoGrid.getCellFormatter()).setColSpan(1, 0, 2);
    ((FlexTable.FlexCellFormatter) infoGrid.getCellFormatter()).setColSpan(2, 0, 2);
    ((FlexTable.FlexCellFormatter) infoGrid.getCellFormatter()).setColSpan(3, 0, 2);

    initWidget(new ScrollPanel(panel));
}

From source file:com.mashery.examples.api.client.HotwireExample.java

License:Open Source License

public HotwireExample(final PopupMapWidget mapWidget) {
    FlowPanel panel = new FlowPanel();

    panel.add(new HTML("<h1>Hotel Deals</h1>"));

    FormPanel form = new FormPanel();
    panel.add(form);/*from   ww w. ja va2  s. c o m*/

    FlexTable entryGrid = new FlexTable();
    form.add(entryGrid);
    FlexTable.FlexCellFormatter formatter = (FlexCellFormatter) entryGrid.getCellFormatter();
    entryGrid.setWidget(0, 0, new Label("Destination:"));
    formatter.setHorizontalAlignment(0, 0, HasHorizontalAlignment.ALIGN_RIGHT);

    FlowPanel destPanel = new FlowPanel();
    entryGrid.setWidget(0, 1, destPanel);
    formatter.setColSpan(0, 1, 5);

    final TextBox destText = new TextBox();
    destPanel.add(destText);
    destText.setWidth("220px");

    Anchor fromMapLink = new Anchor("<- from Map");
    fromMapLink.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            HasLatLng center = mapWidget.getMap().getCenter();
            destText.setText(center.getLatitude() + "," + center.getLongitude());
        }
    });

    destPanel.add(new InlineHTML("&nbsp;"));
    destPanel.add(fromMapLink);

    entryGrid.setWidget(1, 0, new Label("From:"));
    formatter.setHorizontalAlignment(1, 0, HasHorizontalAlignment.ALIGN_RIGHT);

    final TextBox startDateText = new TextBox();
    entryGrid.setWidget(1, 1, startDateText);
    startDateText.setWidth("100px");

    final PopupPanel startDatePanel = new PopupPanel(true);
    startDatePanel.setAutoHideOnHistoryEventsEnabled(true);

    final ToggleButton startDateButton = new ToggleButton(new Image("resources/img/date-picker.gif"));
    entryGrid.setWidget(1, 2, startDateButton);
    startDateButton.setPixelSize(16, 16);
    startDatePanel.addAutoHidePartner(startDateButton.getElement());
    startDateButton.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            startDatePanel.showRelativeTo(startDateButton);
        }
    });

    startDatePanel.addCloseHandler(new CloseHandler<PopupPanel>() {
        @Override
        public void onClose(CloseEvent<PopupPanel> event) {
            startDateButton.setDown(false);
        }
    });

    final DateTimeFormat dateFormat = DateTimeFormat.getFormat("MM/dd/yyyy");

    final DatePicker startDatePicker = new DatePicker();
    startDatePanel.setWidget(startDatePicker);
    startDatePicker.addValueChangeHandler(new ValueChangeHandler<Date>() {
        @Override
        public void onValueChange(ValueChangeEvent<Date> event) {
            startDateText.setText(dateFormat.format(event.getValue()));
            startDatePanel.hide();
        }
    });

    startDateText.addValueChangeHandler(new ValueChangeHandler<String>() {
        @Override
        public void onValueChange(ValueChangeEvent<String> event) {
            try {
                Date date = dateFormat.parse(event.getValue());
                startDatePicker.setValue(date);
            } catch (IllegalArgumentException e) {
                // ignore
            }
        }
    });

    Date date = new Date();
    startDatePicker.setValue(date, true);

    entryGrid.setWidget(1, 3, new Label("To:"));
    formatter.setHorizontalAlignment(1, 2, HasHorizontalAlignment.ALIGN_RIGHT);

    final TextBox endDateText = new TextBox();
    entryGrid.setWidget(1, 4, endDateText);
    endDateText.setWidth("100px");

    final PopupPanel endDatePanel = new PopupPanel(true);
    endDatePanel.setAutoHideOnHistoryEventsEnabled(true);

    final ToggleButton endDateButton = new ToggleButton(new Image("resources/img/date-picker.gif"));
    entryGrid.setWidget(1, 5, endDateButton);
    endDateButton.setPixelSize(16, 16);
    endDatePanel.addAutoHidePartner(endDateButton.getElement());
    endDateButton.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            endDatePanel.showRelativeTo(endDateButton);
        }
    });

    endDatePanel.addCloseHandler(new CloseHandler<PopupPanel>() {
        @Override
        public void onClose(CloseEvent<PopupPanel> event) {
            endDateButton.setDown(false);
        }
    });

    final DatePicker endDatePicker = new DatePicker();
    endDatePanel.setWidget(endDatePicker);
    endDatePicker.addValueChangeHandler(new ValueChangeHandler<Date>() {
        @Override
        public void onValueChange(ValueChangeEvent<Date> event) {
            endDateText.setText(dateFormat.format(event.getValue()));
            endDatePanel.hide();
        }
    });

    endDateText.addValueChangeHandler(new ValueChangeHandler<String>() {
        @Override
        public void onValueChange(ValueChangeEvent<String> event) {
            try {
                Date date = dateFormat.parse(event.getValue());
                endDatePicker.setValue(date);
            } catch (IllegalArgumentException e) {
                // ignore
            }
        }
    });

    date = CalendarUtil.copyDate(date);
    CalendarUtil.addDaysToDate(date, 1);
    endDatePicker.setValue(date, true);

    SubmitButton submitButton = new SubmitButton("Search");
    entryGrid.setWidget(2, 0, submitButton);
    formatter.setColSpan(2, 0, 6);
    formatter.setHorizontalAlignment(2, 0, HasHorizontalAlignment.ALIGN_RIGHT);

    final HotelDealsTable table = new HotelDealsTable(10);
    panel.add(table);
    table.setWidth("500px");

    form.addSubmitHandler(new FormPanel.SubmitHandler() {
        @Override
        public void onSubmit(SubmitEvent event) {
            String dest = destText.getValue().trim();
            String start = startDateText.getValue().trim();
            String end = endDateText.getValue().trim();
            table.loadData(dest.length() == 0 ? null : dest, start.length() == 0 ? null : start,
                    end.length() == 0 ? null : end);
            event.cancel();
        }
    });

    infoPanel = new PopupPanel(true);
    infoPanel.setAutoHideOnHistoryEventsEnabled(true);
    infoGrid = new FlexTable();
    infoPanel.setWidget(infoGrid);
    FlowPanel linkPanel = new FlowPanel();
    infoGrid.setWidget(3, 0, linkPanel);

    Anchor mapLink = new Anchor("Map", "#");
    linkPanel.add(mapLink);
    mapLink.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            event.preventDefault();
            if (selectedResult == null)
                return;

            MarkerOptions opt = new MarkerOptions();
            opt.setTitle(selectedResult.getHeadline());
            LatLng latLng = new LatLng(selectedResult.getNeighborhoodLatitude(),
                    selectedResult.getNeighborhoodLongitude());
            opt.setPosition(latLng);
            opt.setClickable(true);
            opt.setVisible(true);
            mapWidget.show(new Marker(opt));

        }
    });

    mapWidget.addAutoHidePartner(mapLink.getElement());

    linkPanel.add(new InlineHTML("&nbsp;|&nbsp;"));
    linkPanel.add(visitLink = new Anchor("Visit", "#"));

    initWidget(new ScrollPanel(panel));
}

From source file:com.mashery.examples.api.client.QuovaExample.java

License:Open Source License

public QuovaExample(final PopupMapWidget mapWidget) {
    FlowPanel panel = new FlowPanel();

    panel.add(new HTML("<h1>IP Info</h1>"));

    FormPanel entryForm = new FormPanel();
    panel.add(entryForm);//  w  ww. java 2s .  co  m

    Grid entryPanel = new Grid(1, 3);
    entryForm.setWidget(entryPanel);

    entryPanel.setWidget(0, 0, new Label("IP Address:"));
    entryPanel.getCellFormatter().setAlignment(0, 0, HasHorizontalAlignment.ALIGN_RIGHT,
            HasVerticalAlignment.ALIGN_MIDDLE);

    addressText = new TextBox();
    entryPanel.setWidget(0, 1, addressText);
    addressText.setWidth("150px");
    entryPanel.getCellFormatter().setVerticalAlignment(0, 1, HasVerticalAlignment.ALIGN_MIDDLE);

    submitButton = new SubmitButton("Look Up");
    entryPanel.setWidget(0, 2, submitButton);
    entryPanel.getCellFormatter().setAlignment(0, 0, HasHorizontalAlignment.ALIGN_LEFT,
            HasVerticalAlignment.ALIGN_MIDDLE);

    final IPInfoServiceAsync ipInfoSvc = GWT.create(IPInfoService.class);
    entryForm.addSubmitHandler(new FormPanel.SubmitHandler() {
        @Override
        public void onSubmit(SubmitEvent event) {
            addressText.setReadOnly(true);
            submitButton.setEnabled(false);

            String value = addressText.getText().trim();
            lookupIPInfo(ipInfoSvc, value.length() == 0 ? null : value);
            event.cancel();
        }
    });

    panel.add(new HTML("<em>Note: Leave blank to use your auto-detected IP address.</em>"));
    panel.add(new HTML());

    generalTable = new FlexTable();
    panel.add(generalTable);

    FlexTable.FlexCellFormatter formatter = (FlexCellFormatter) generalTable.getCellFormatter();
    int row = -1;
    formatter.setWidth(0, 0, "160px");
    generalTable.setText(++row, 0, "IP Address:");
    generalTable.setText(row, 1, "");
    formatter.setHorizontalAlignment(row, 0, HasHorizontalAlignment.ALIGN_RIGHT);
    generalTable.setText(++row, 0, "IP Type:");
    generalTable.setText(row, 1, "");
    formatter.setHorizontalAlignment(row, 0, HasHorizontalAlignment.ALIGN_RIGHT);
    generalTable.setText(++row, 0, "Anonymizer Status:");
    generalTable.setText(row, 1, "");
    formatter.setHorizontalAlignment(row, 0, HasHorizontalAlignment.ALIGN_RIGHT);

    for (int i = 0, n = generalTable.getRowCount(); i < n; ++i)
        formatter.getElement(i, 0).getStyle().setFontWeight(FontWeight.BOLD);

    DisclosurePanel networkPanel = new DisclosurePanel("Network");
    panel.add(networkPanel);
    networkPanel.setAnimationEnabled(true);

    networkTable = new FlexTable();
    networkPanel.setContent(networkTable);

    formatter = (FlexCellFormatter) networkTable.getCellFormatter();
    row = -1;
    formatter.setWidth(0, 0, "144px");
    networkTable.setText(++row, 0, "Organization:");
    networkTable.setText(row, 1, "");
    formatter.setHorizontalAlignment(row, 0, HasHorizontalAlignment.ALIGN_RIGHT);
    networkTable.setText(++row, 0, "Carrier:");
    networkTable.setText(row, 1, "");
    formatter.setHorizontalAlignment(row, 0, HasHorizontalAlignment.ALIGN_RIGHT);
    networkTable.setText(++row, 0, "ASN:");
    networkTable.setText(row, 1, "");
    formatter.setHorizontalAlignment(row, 0, HasHorizontalAlignment.ALIGN_RIGHT);
    networkTable.setText(++row, 0, "Connection Type:");
    networkTable.setText(row, 1, "");
    formatter.setHorizontalAlignment(row, 0, HasHorizontalAlignment.ALIGN_RIGHT);
    networkTable.setText(++row, 0, "Line Speed:");
    networkTable.setText(row, 1, "");
    formatter.setHorizontalAlignment(row, 0, HasHorizontalAlignment.ALIGN_RIGHT);
    networkTable.setText(++row, 0, "IP Routing Type:");
    networkTable.setText(row, 1, "");
    formatter.setHorizontalAlignment(row, 0, HasHorizontalAlignment.ALIGN_RIGHT);
    networkTable.setText(++row, 0, "Domain:");
    networkTable.setText(row, 1, "");
    formatter.setHorizontalAlignment(row, 0, HasHorizontalAlignment.ALIGN_RIGHT);

    for (int i = 0, n = networkTable.getRowCount(); i < n; ++i)
        formatter.getElement(i, 0).getStyle().setFontWeight(FontWeight.BOLD);

    locationPanel = new DisclosurePanel("Location");
    panel.add(locationPanel);
    locationPanel.setAnimationEnabled(true);

    locationTable = new FlexTable();
    locationPanel.setContent(locationTable);

    formatter = (FlexCellFormatter) locationTable.getCellFormatter();
    row = -1;
    formatter.setWidth(0, 0, "144px");
    locationTable.setText(++row, 0, "Continent:");
    locationTable.setText(row, 1, "");
    formatter.setHorizontalAlignment(row, 0, HasHorizontalAlignment.ALIGN_RIGHT);
    locationTable.setText(++row, 0, "Country:");
    locationTable.setText(row, 1, "");
    formatter.setHorizontalAlignment(row, 0, HasHorizontalAlignment.ALIGN_RIGHT);
    locationTable.setText(++row, 0, "Region:");
    locationTable.setText(row, 1, "");
    formatter.setHorizontalAlignment(row, 0, HasHorizontalAlignment.ALIGN_RIGHT);
    locationTable.setText(++row, 0, "State:");
    locationTable.setText(row, 1, "");
    formatter.setHorizontalAlignment(row, 0, HasHorizontalAlignment.ALIGN_RIGHT);
    locationTable.setText(++row, 0, "DMA:");
    locationTable.setText(row, 1, "");
    formatter.setHorizontalAlignment(row, 0, HasHorizontalAlignment.ALIGN_RIGHT);
    locationTable.setText(++row, 0, "MSA:");
    locationTable.setText(row, 1, "");
    formatter.setHorizontalAlignment(row, 0, HasHorizontalAlignment.ALIGN_RIGHT);
    locationTable.setText(++row, 0, "City:");
    locationTable.setText(row, 1, "");
    formatter.setHorizontalAlignment(row, 0, HasHorizontalAlignment.ALIGN_RIGHT);
    locationTable.setText(++row, 0, "Postal Code:");
    locationTable.setText(row, 1, "");
    formatter.setHorizontalAlignment(row, 0, HasHorizontalAlignment.ALIGN_RIGHT);
    locationTable.setText(++row, 0, "Time Zone:");
    locationTable.setText(row, 1, "");
    formatter.setHorizontalAlignment(row, 0, HasHorizontalAlignment.ALIGN_RIGHT);
    locationTable.setText(++row, 0, "Area Code:");
    locationTable.setText(row, 1, "");
    formatter.setHorizontalAlignment(row, 0, HasHorizontalAlignment.ALIGN_RIGHT);
    locationTable.setText(++row, 0, "Latitude:");
    locationTable.setText(row, 1, "");
    formatter.setHorizontalAlignment(row, 0, HasHorizontalAlignment.ALIGN_RIGHT);
    locationTable.setText(++row, 0, "Longitude:");
    locationTable.setText(row, 1, "");
    formatter.setHorizontalAlignment(row, 0, HasHorizontalAlignment.ALIGN_RIGHT);

    for (int i = 0, n = locationTable.getRowCount(); i < n; ++i)
        formatter.getElement(i, 0).getStyle().setFontWeight(FontWeight.BOLD);

    mapButton = new Button("Locate on Map", new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            MarkerOptions opt = new MarkerOptions();
            opt.setTitle(result.getIpAddress());
            opt.setPosition(new LatLng(result.getLatitude(), result.getLongitude()));
            opt.setClickable(true);
            opt.setVisible(true);
            mapWidget.show(new Marker(opt));
        }
    });

    mapButton.setEnabled(false);
    locationTable.setWidget(++row, 0, mapButton);
    formatter.setColSpan(row, 0, 2);
    //      formatter.setHorizontalAlignment(row, 0, HasHorizontalAlignment.ALIGN_RIGHT);

    initWidget(new ScrollPanel(panel));
}

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

License:Apache License

/**
 * Constructor.//from ww w.j av  a 2 s  .  c  om
 *
 * @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);/*from   w w w.  ja v a2  s .co  m*/

    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.mgwt.client.activities.searchbox.SearchBoxViewGwtImpl.java

License:Apache License

public SearchBoxViewGwtImpl() {

    FormPanel formPanel = new FormPanel("");
    formPanel.addSubmitHandler(new SubmitHandler() {

        @Override/*from  w ww .j ava  2s . c om*/
        public void onSubmit(SubmitEvent event) {
            event.cancel();

        }
    });
    MSearchBox searchBox = new MSearchBox();
    formPanel.setWidget(searchBox);
    scrollPanel.setWidget(formPanel);
}

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 .  j a v a2s  .  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);
}

From source file:edu.iastate.airl.semtus.client.SEMTUSWEBAPP.java

License:Open Source License

public FormPanel upload() {

    final FormPanel form = new FormPanel();
    form.setAction(GWT.getModuleBaseURL() + "upload");

    // 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.
    HorizontalPanel panel = new HorizontalPanel();
    form.setWidget(panel);/*from w  w  w .ja  va 2  s.  c om*/

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

    panel.add(new HTML("&nbsp;&nbsp;"));

    // Add a 'submit' button.
    panel.add(new Button("Upload", new ClickHandler() {

        public void onClick(ClickEvent event) {

            String filename = upload.getFilename();

            if (filename.length() == 0) {

                Window.alert("No File Specified");

            } else {

                form.submit();
            }
        }
    }));

    panel.add(new HTML("&nbsp;"));

    // Add a 'Done' button.
    panel.add(new Button("Done", new ClickHandler() {
        public void onClick(ClickEvent event) {

            uploadBox.hide();
            tabPanel.selectTab(0);
        }
    }));

    // Add an event handler to the form.
    form.addSubmitHandler(new FormPanel.SubmitHandler() {
        public void onSubmit(SubmitEvent event) {
        }
    });

    form.addSubmitCompleteHandler(new FormPanel.SubmitCompleteHandler() {
        public void onSubmitComplete(SubmitCompleteEvent event) {

            // Check if there's been an error in upload
            if (event.getResults() == null) {

                Window.alert(
                        "Ontology Upload Failed. Please give us feedback [sushain.pandit@gmail.com] explaining the parameters of upload (filesize, format, etc) and we'll try to get it resolved asap.");

            } else if (event.getResults().toLowerCase().contains("file already exists")) { // if it's already present on
                // server, then we're just
                // fine.

                Window.alert(
                        "You just uploaded this ontology. Please proceed to the workspace for text input. Thanks !");

            } else if (event.getResults().toLowerCase().contains("error")
                    || event.getResults().toLowerCase().contains("not available")) { // o'wise flag an error

                Window.alert(
                        "Ontology Upload Failed. Please give us feedback [sushain.pandit@gmail.com] explaining the parameters of upload (filesize, format, etc) and we'll try to get it resolved asap.");

            } else {

                Window.alert(event.getResults());
                Window.alert("Ontology Upload Successful");
            }
        }
    });

    return form;
}

From source file:es.upm.fi.dia.oeg.map4rdf.client.presenter.ShapeFilesPresenter.java

License:Open Source License

@Override
protected void onBind() {
    final FormPanel form = getDisplay().getFormUpload();

    getDisplay().getSubmitUrlButton().addClickHandler(new ClickHandler() {
        @Override//from w  w  w  .j  a  v  a2 s.  c  om
        public void onClick(ClickEvent event) {
            form.setEncoding(FormPanel.ENCODING_URLENCODED);
            form.submit();
        }
    });

    getDisplay().getSubmitUploadButton().addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            // The form needs to be multipart for the section that uploads
            // the zip file.
            form.setEncoding(FormPanel.ENCODING_MULTIPART);
            form.submit();
        }
    });

    form.addSubmitHandler(new FormPanel.SubmitHandler() {
        @Override
        public void onSubmit(SubmitEvent event) {
            // TODO(jonathangsc): Check if any action here is desired to
            // notify the user.
            // Window.alert("Submitting!");
        }
    });

    form.addSubmitCompleteHandler(new FormPanel.SubmitCompleteHandler() {
        @Override
        public void onSubmitComplete(SubmitCompleteEvent event) {
            String message = event.getResults().split(">")[1].split("<")[0];
            String fileName = "";
            if (message.contains("successfully")) {
                fileName = message.split(": ")[1];
                eventBus.fireEvent(new ShapeFilesChangedEvent(fileName));
            } else {
                // In case the upload / download is not successful,
                // the error message should be displayed to the user.
                Window.alert(message);
            }
        }
    });
}