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

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

Introduction

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

Prototype

protected SubmitButton(com.google.gwt.dom.client.Element element) 

Source Link

Document

This constructor may be used by subclasses to explicitly use an existing element.

Usage

From source file:com.appspot.hommkmessage.client.view.ListView.java

License:Open Source License

private void addDeleteLink(final MessageMetadata messageMetadata, final Panel parent) {
    if (!messageMetadata.isAllowedToBeDeleted()) {
        return;/*from  w ww  .j av a  2  s .c  om*/
    }
    SubmitButton button = new SubmitButton(
            "<img src=\"images/cross_hand_drawn_linda_k_01_rotated.svg\" class=\"messageListEntryOptionIcon\" />");
    button.addStyleName("messageListEntryOptionButton");
    button.setTitle("Lschen");
    button.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            if (!Window.confirm("Nachricht wirklich lschen?")) {
                return;
            }
            messagesService.deleteMessage(messageMetadata.getId(), password, localStorage.getUserId(),
                    new AsyncCallback<Void>() {

                        @Override
                        public void onSuccess(Void result) {
                            parent.setVisible(false);
                        }

                        @Override
                        public void onFailure(Throwable caught) {
                            // if problems occur, add error message in the
                            // future

                        }
                    });
        }
    });
    parent.add(button);
}

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 a2 s.com*/

    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   w ww  . j  a  v  a2  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);//from  ww w .  j  ava  2 s  . 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:org.apache.hupa.client.mvp.LoginView.java

License:Apache License

@Inject
public LoginView(HupaConstants constants) {

    VerticalPanel mainContainer = new VerticalPanel();
    RndPanel rPanel = new RndPanel();
    FlexTable flexTable = new FlexTable();
    Panel buttonBar = new FlowPanel();
    submitButton = new SubmitButton(constants.loginButton());
    resetButton = new Button(constants.resetButton());
    submitButton.getElement().setClassName(HupaCSS.C_button);
    resetButton.getElement().setClassName(HupaCSS.C_button);
    submitButton.getElement().setClassName(resetButton.getElement().getClassName());
    loading = new Loading(constants.loading());

    mainContainer.setStyleName(HupaCSS.C_login_container);
    flexTable.addStyleName(HupaCSS.C_login_form);
    usernameTextBox.addStyleName(HupaCSS.C_login_box);
    passwordTextBox.addStyleName(HupaCSS.C_login_box);

    buttonBar.add(submitButton);//from   www .  j a v  a2s  .com
    buttonBar.add(resetButton);

    flexTable.setText(0, 0, constants.usernameLabel());
    flexTable.setWidget(0, 1, usernameTextBox);
    flexTable.setText(1, 0, constants.passwordLabel());
    flexTable.setWidget(1, 1, passwordTextBox);
    flexTable.getFlexCellFormatter().setColSpan(2, 0, 2);
    flexTable.setWidget(2, 0, buttonBar);

    rPanel.add(formPanel);
    formPanel.add(flexTable);
    mainContainer.add(rPanel);
    mainContainer.add(loading);
    initWidget(mainContainer);

    usernameTextBox.addKeyUpHandler(this);
    usernameTextBox.setFocus(true);
    passwordTextBox.addKeyUpHandler(this);

    loading.hide();

    // The user submits the form so as the browser detect it and displays
    // the save password dialog. Then we click on the hidden loginButton which
    // stores the presenter clickHandler.
    formPanel.addSubmitHandler(new FormPanel.SubmitHandler() {
        public void onSubmit(SubmitEvent event) {
            if (!usernameTextBox.getValue().trim().isEmpty() && !passwordTextBox.getValue().trim().isEmpty()) {
                loginButton.click();
            }
            //                event.cancel();
        }
    });
    // loginButton must be in the document to handle the click() method
    mainContainer.add(loginButton);
    loginButton.setVisible(false);
}

From source file:org.cloudcoder.app.client.view.BulkRegistrationPanel.java

License:Open Source License

/**
 * Constructor.//from w w w.  j a  va 2  s .c om
 */
public BulkRegistrationPanel(final CloudCoderPage page) {
    super(new FormPanel());

    FormPanel formPanel = (FormPanel) getPanel();
    formPanel.setWidth("100%");
    formPanel.setHeight("144px");

    formPanel.setEncoding(FormPanel.ENCODING_MULTIPART);
    formPanel.setMethod(FormPanel.METHOD_POST);
    formPanel.setAction(GWT.getModuleBaseURL() + "registerStudents");

    this.layoutPanel = new LayoutPanel();
    formPanel.add(layoutPanel);

    double y = 10.0;

    // Add widgets
    InlineHTML fileFormatMsg = new InlineHTML("File should be tab-delimited in format:<br>"
            + "<tt>username firstname lastname email password</tt>");
    y = addWidget(y, fileFormatMsg, "", new NoopFieldValidator(), 36.0);

    this.fileUpload = new FileUpload();
    fileUpload.setName("fileupload");
    y = addWidget(y, fileUpload, "Filename:", new NoopFieldValidator());

    this.submitButton = new SubmitButton("Register students");
    y = addWidget(y, submitButton, "", new NoopFieldValidator());

    this.courseId = new Hidden();
    courseId.setName("courseId");
    layoutPanel.add(courseId);

    formPanel.addSubmitHandler(new SubmitHandler() {
        @Override
        public void onSubmit(SubmitEvent event) {
            page.getSession().add(StatusMessage.pending("Uploading student data..."));
        }
    });
    formPanel.addSubmitCompleteHandler(new SubmitCompleteHandler() {
        @Override
        public void onSubmitComplete(SubmitCompleteEvent event) {
            String results = event.getResults();
            if (results == null) {
                page.getSession().add(StatusMessage.error("Error communicating with server"));
            } else {
                if (results.startsWith("Error: ")) {
                    results = results.substring("Error: ".length());
                    page.getSession().add(StatusMessage.error(results));
                } else {
                    page.getSession().add(StatusMessage.goodNews(results));
                    clear();
                }
            }
        }
    });
}