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

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

Introduction

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

Prototype

public FormPanel() 

Source Link

Document

Creates a new FormPanel.

Usage

From source file:org.rebioma.client.maps.GeocoderControl.java

License:Apache License

public GeocoderControl(GeocoderRequestHandler requestHandler) {
    super();// ww w  . j a v  a 2s  .  c  om
    this.geocoderRequestHandler = requestHandler;
    this.geocoderRequest = GeocoderRequest.newInstance();
    this.geocoder = Geocoder.newInstance();
    final FormPanel form = new FormPanel();
    form.setAction("#");
    Panel formElements = new FlowPanel();
    addressBox.setVisibleLength(26);
    addressBox.selectAll();
    formElements.add(addressBox);
    submit = new Button("Find place");
    formElements.add(submit);

    submit.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            String address = getAddress();
            if (address == null || address.trim().length() == 0) {
                Window.alert("Please enter an address.");
                return;
            }
            form.submit();
        }
    });
    //      formElements.add(new HTML(" "));
    form.add(formElements);
    form.addSubmitHandler(new SubmitHandler() {
        public void onSubmit(SubmitEvent event) {
            lookupAddress(addressBox.getText());
            event.cancel();
        }
    });
    add(form);
}

From source file:org.rebioma.client.UploadView.java

License:Apache License

private UploadView(View parent, UploadListener uListener) {
    super(parent, false);
    this.uploadListener = uListener;
    modelingBox.setName("modeling");
    final VerticalPanel uploadPanel = new VerticalPanel();
    uploadPanel.setStyleName("pupload");
    HorizontalPanel privateModelField = new HorizontalPanel();
    privateModelField.add(privateRadioButton);
    privateModelField.add(new HTML(" ("));
    privateModelField.add(modelingBox);//from  w  w  w  .java2  s  .c  om
    privateModelField.add(new HTML(")"));
    HorizontalPanel delimiterPanel = new HorizontalPanel();
    delimiterBox.addItem(constants.Comma(), ",");
    delimiterBox.addItem(constants.Semicolon(), ";");
    delimiterBox.setName("delimiter");
    delimiterPanel.setVerticalAlignment(HorizontalPanel.ALIGN_MIDDLE);
    delimiterPanel.add(delimiterBox);
    delimiterPanel.add(new HTML("  " + constants.CSVDelimiter()));

    fileUpload.setName("file_upload");
    //uploadForm.setAction(GWT.getModuleBaseURL() + "upload");
    //uploadForm.setEncoding(FormPanel.ENCODING_MULTIPART);
    //uploadForm.setMethod(FormPanel.METHOD_POST);
    //uploadPanel.add(fileUpload);
    uploadPanel.add(delimiterPanel);
    showEmailBox.setName("show_email");
    clearReviewCheckBox.setName("clear_review");
    clearReviewCheckBox.addValueChangeHandler(new ValueChangeHandler<Boolean>() {

        @Override
        public void onValueChange(ValueChangeEvent<Boolean> event) {
            if (event.getValue()) {
                MessageBox boxWarning = new MessageBox("Reset review state?", "");
                boxWarning.setPredefinedButtons(PredefinedButton.YES, PredefinedButton.CANCEL);
                boxWarning.setIcon(MessageBox.ICONS.warning());
                boxWarning.setWidth("415px");
                boxWarning.setMessage(
                        "You are resetting all the TRB's review on all occurrences. Would you like to continue?");
                boxWarning.addHideHandler(new HideHandler() {

                    @Override
                    public void onHide(HideEvent eventW) {
                        Dialog btnW = (Dialog) eventW.getSource();
                        if (!btnW.getHideButton().getText().equalsIgnoreCase("yes")) {
                            clearReviewCheckBox.setChecked(false);
                        }
                    }
                });

                boxWarning.show();
            }
        }
    });
    uploadPanel.add(clearReviewCheckBox);
    uploadPanel.add(showEmailBox);
    uploadPanel.add(privateModelField);
    uploadPanel.add(publicRadioButton);
    setClearReview(ApplicationView.getCurrentState() == ViewState.SUPERADMIN);
    UserQuery query = friendsTable.getQuery();
    query.setUsersCollaboratorsOnly(true);
    friendsTable.addCheckedListener(this);
    // TODO: fix resize
    // friendsTable.setSize("500px", "300px");
    friendsTable.resetTable();
    HorizontalPanel hp = new HorizontalPanel();
    hp.setSpacing(10);
    uploadPanel.add(hp);
    //HorizontalPanel buttonPanel = new HorizontalPanel();
    // buttonPanel.add(uploadButton);
    // buttonPanel.add(cancelButton);
    // buttonPanel.setSpacing(2);
    //uploadPanel.add(dataSharingAgreementLink);
    // uploadPanel.add(buttonPanel);
    hiddenSessionId.setValue(Cookies.getCookie(ApplicationView.SESSION_ID_NAME));
    uploadPanel.add(hiddenSessionId);
    uploadPanel.add(collaboratorsSharing);
    final VerticalPanel friendsPanel = new VerticalPanel();
    Label collaborator = new Label(constants.CollaboratorsOnUpload());
    collaborator.setStyleName("title1");
    friendsPanel.add(collaborator);
    friendsPanel.add(friendsTable);
    //HorizontalPanel friendUplodaHp = new HorizontalPanel();
    //friendUplodaHp.add(uploadPanel);
    //friendUplodaHp.add(friendsPanel);
    //friendUplodaHp.setSpacing(5);

    //uploadForm.setWidget(friendUplodaHp);
    /*mainSp.setWidget(uploadForm);
    initWidget(mainSp);*/

    final FlexTable grid = new FlexTable();
    grid.setStyleName("GWTUpld");
    final FormPanel form = new FormPanel() {
        public void add(Widget w) {
            grid.setWidget(grid.getRowCount(), 1, uploadPanel);
            grid.getFlexCellFormatter().setRowSpan(0, 2, 20);
            grid.setWidget(0, 2, new Label("   "));
            grid.getFlexCellFormatter().setStyleName(0, 2, "sep");
            grid.getFlexCellFormatter().setRowSpan(0, 3, 20);
            grid.setWidget(0, 3, friendsPanel);
            grid.setWidget(grid.getRowCount(), 1, dataSharingAgreementLink);
            grid.setWidget(grid.getRowCount(), 1, w);
            //grid.getFlexCellFormatter().setColSpan(grid.getRowCount()+1, 1, 2);
        }

        {
            super.add(grid);
        }
    };
    class MyFancyLookingSubmitButton extends Composite implements HasClickHandlers {
        DecoratorPanel widget = new DecoratorPanel();

        public MyFancyLookingSubmitButton() {
            Button widget = new Button(constants.AcceptDsaUpload());
            initWidget(widget);
        }

        public HandlerRegistration addClickHandler(ClickHandler handler) {
            return addDomHandler(handler, ClickEvent.getType());
        }

    }

    SingleUploader uploader = new SingleUploader(FileInputType.LABEL, new ModalUploadStatus(),
            new MyFancyLookingSubmitButton(), form);
    uploader.setServletPath("send.file");
    //mainSp.add(uploader);
    //grid.setText(5, 0, "Attachment:");
    mainSp.setWidget(uploader);
    uploader.getFileInput().setText(constants.chooseFileLabel());
    initWidget(mainSp);

    uploader.addOnFinishUploadHandler(new OnFinishUploaderHandler() {
        public void onFinish(IUploader uploader) {
            if (uploader.getStatus() == Status.SUCCESS) {
                Document doc = null;
                String displayMsg = null;
                try {
                    doc = XMLParser.parse(uploader.getServerResponse());
                    displayMsg = Utils.getXmlNodeValue(doc, "message");
                } catch (Exception e) {
                }

                //Window.alert("Server response: \n" + displayMsg);

                setUploadEnable(true);
                if (displayMsg != null) {
                    if (displayMsg.matches("<.+>.+<.+>")) {
                        displayMsg = displayMsg.substring(displayMsg.indexOf('>') + 1,
                                displayMsg.lastIndexOf('<'));
                    }
                    JSONObject serverMsg = JSONParser.parse(displayMsg).isObject();
                    if (serverMsg.get("onSuccess") != null) {
                        JSONValue successValue = serverMsg.get("onSuccess");
                        popupStatusMessage.showMessage(successValue);
                        popupStatusMessage.setWidth("300px");
                        //uploadForm.reset();
                    } else {
                        JSONObject error = serverMsg.get("onFailure").isObject();
                        String errorKey = error.keySet().iterator().next();
                        JSONValue jValue = error.get(errorKey);
                        if (errorKey.equals("No File")) {
                            Window.alert(constants.UploadFailedNoFile());
                        } else if (errorKey.equals("Invalid File")) {
                            Window.alert(constants.UploadFailedInvalidFile());
                        } else if (errorKey.equals("Missing Required Headers")) {
                            Window.alert(constants.MissingRequiredHeader() + jValue.isArray());
                        } else {
                            Window.alert(constants.UploadFailedException() + jValue.isString());
                        }
                    }
                }
                DataSwitch.get().clearCache(DataSwitch.OCCURRENCE_KEY);
                uploadListener.onUploadComplete();
                popupStatusMessage.checkAndResize();
                uploader.getFileInput().setText(constants.chooseFileLabel());
                uploader.getFileInput().setSize("200px", "auto");
                uploader.reset();
                form.reset();
            }
        }
    });

    initListeners();
    cancelButton.setEnabled(false);
    publicRadioButton.setValue(true);
    showEmailBox.setValue(true);

    // Adds upload form handlers
    //uploadForm.addSubmitHandler(new SubmitHandler() {

    /**
     * If the uploading file is empty display an error message and cancels the
     * submit event.
     * 
     * @see com.google.gwt.user.client.ui.FormPanel.SubmitHandler#onSubmit(com.google.gwt.user.client.ui.FormPanel.SubmitEvent)
     */
    /*public void onSubmit(SubmitEvent event) {
      if (fileUpload.getFilename().equals("")) {
     Window.alert(constants.FileCantBeEmpty());
     event.cancel();
      } else {
     uploadListener.onUploadStart();
     setUploadEnable(false);
      }
    }
            
    });*/

    //uploadForm.addSubmitCompleteHandler(new SubmitCompleteHandler() {
    /**
     * Notifies the user whether the upload was successful. Also clears the
     * DataSwitch cache since new records were uploaded.
     * 
     * @see com.google.gwt.user.client.ui.FormPanel.SubmitCompleteHandler#onSubmitComplete(com.google.gwt.user.client.ui.FormPanel.SubmitCompleteEvent)
     */
    /*public void onSubmitComplete(SubmitCompleteEvent event) {
        setUploadEnable(true);
        String displayMsg = event.getResults();
        // displayMsg =
        // "<something>{\"onFailure\": \"No file uploaded\"}</something>";
        if (displayMsg.matches("<.+>.+<.+>")) {
     displayMsg = displayMsg.substring(displayMsg.indexOf('>') + 1,
         displayMsg.lastIndexOf('<'));
        }
        JSONObject serverMsg = JSONParser.parse(displayMsg).isObject();
        if (serverMsg.get("onSuccess") != null) {
     JSONValue successValue = serverMsg.get("onSuccess");
     popupStatusMessage.showMessage(successValue);
     uploadForm.reset();
        } else {
     JSONObject error = serverMsg.get("onFailure").isObject();
     String errorKey = error.keySet().iterator().next();
     JSONValue jValue = error.get(errorKey);
     if (errorKey.equals("No File")) {
       Window.alert(constants.UploadFailedNoFile());
     } else if (errorKey.equals("Invalid File")) {
       Window.alert(constants.UploadFailedInvalidFile());
     } else if (errorKey.equals("Missing Required Headers")) {
       Window.alert(constants.MissingRequiredHeader() + jValue.isArray());
     } else {
       Window.alert(constants.UploadFailedException() + jValue.isString());
     }
        }
        DataSwitch.get().clearCache(DataSwitch.OCCURRENCE_KEY);
        uploadListener.onUploadComplete();
        popupStatusMessage.checkAndResize();
      }
    });*/

}

From source file:org.roda.wui.common.client.tools.RestUtils.java

public static <T extends IsIndexed> void requestCSVExport(Class<T> classToReturn, Filter filter, Sorter sorter,
        Sublist sublist, Facets facets, boolean onlyActive, boolean exportFacets, String filename) {
    // api/v1/index/findFORM?type=csv

    String url = RodaConstants.API_REST_V1_INDEX + "findFORM";
    FindRequest request = new FindRequest(classToReturn.getName(), filter, sorter, sublist, facets, onlyActive,
            exportFacets, filename);/* w  w w .  ja v a  2s . c o  m*/

    final FormPanel form = new FormPanel();
    form.setAction(URL.encode(url));
    form.setMethod(FormPanel.METHOD_POST);
    form.setEncoding(FormPanel.ENCODING_URLENCODED);
    FlowPanel layout = new FlowPanel();
    form.setWidget(layout);
    layout.add(new Hidden("findRequest", FIND_REQUEST_MAPPER.write(request)));
    layout.add(new Hidden("type", "csv"));

    form.setVisible(false);
    RootPanel.get().add(form);

    // using submit instead of submit completed because Chrome doesn't created
    // the other event
    form.addSubmitHandler(new SubmitHandler() {

        @Override
        public void onSubmit(SubmitEvent event) {

            Timer timer = new Timer() {

                @Override
                public void run() {
                    RootPanel.get().remove(form);
                }
            };

            // remove form 10 seconds in the future
            timer.schedule(10000);
        }
    });

    form.submit();
}

From source file:org.rstudio.core.client.widget.HtmlFormModalDialog.java

License:Open Source License

public HtmlFormModalDialog(String title, final String progressMessage, String actionURL,
        final OperationWithInput<T> operation) {
    super(new FormPanel());
    setText(title);//w w  w. java 2s  .  com

    final FormPanel formPanel = (FormPanel) getContainerPanel();
    formPanel.getElement().getStyle().setProperty("margin", "0px");
    formPanel.getElement().getStyle().setProperty("padding", "0px");
    formPanel.setAction(actionURL);
    setFormPanelEncodingAndMethod(formPanel);

    final ProgressIndicator progressIndicator = addProgressIndicator();

    ThemedButton okButton = new ThemedButton("OK", new ClickHandler() {
        public void onClick(ClickEvent event) {
            try {
                formPanel.submit();
            } catch (final JavaScriptException e) {
                Scheduler.get().scheduleDeferred(new ScheduledCommand() {
                    public void execute() {
                        if ("Access is denied.".equals(StringUtil.notNull(e.getDescription()).trim())) {
                            progressIndicator.onError("Please use a complete file path.");
                        } else {
                            Debug.log(e.toString());
                            progressIndicator.onError(e.getDescription());
                        }
                    }
                });
            } catch (final Exception e) {
                Scheduler.get().scheduleDeferred(new ScheduledCommand() {
                    public void execute() {
                        Debug.log(e.toString());
                        progressIndicator.onError(e.getMessage());
                    }
                });
            }
        }
    });
    addOkButton(okButton);
    addCancelButton();

    formPanel.addSubmitHandler(new SubmitHandler() {
        public void onSubmit(SubmitEvent event) {
            if (validate()) {
                progressIndicator.onProgress(progressMessage);
            } else {
                event.cancel();
            }
        }
    });

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

            String resultsText = event.getResults();
            if (resultsText != null) {
                try {
                    T results = parseResults(resultsText);
                    progressIndicator.onCompleted();
                    operation.execute(results);
                } catch (Exception e) {
                    progressIndicator.onError(e.getMessage());
                }
            } else {
                progressIndicator.onError("Unexpected empty response from server");
            }
        }
    });
}

From source file:org.rstudio.studio.client.server.remote.RemoteServerAuth.java

License:Open Source License

public void updateCredentials(final ServerRequestCallback<Integer> requestCallback) {
    // safely cleanup any previously active update credentials forms
    safeCleanupPreviousUpdateCredentials();

    // create a hidden form panel to submit the update credentials to
    // (we do this so GWT manages the trickiness associated with 
    // managing and reading the contents of a hidden iframe) 
    final FormPanel updateCredentialsForm = new FormPanel();
    updateCredentialsForm.setMethod(FormPanel.METHOD_GET);
    updateCredentialsForm.setEncoding(FormPanel.ENCODING_URLENCODED);

    // form url/* w ww  .j a v a  2  s. co  m*/
    String url = remoteServer_.getApplicationURL("auth-update-credentials");
    updateCredentialsForm.setAction(url);

    // request log entry (fake up a json rpc method call to conform
    // to the data format expected by RequestLog
    String requestId = Integer.toString(Random.nextInt());
    String requestData = createRequestData();
    final RequestLogEntry logEntry = RequestLog.log(requestId, requestData);

    // form submit complete handler
    updateCredentialsForm.addSubmitCompleteHandler(new SubmitCompleteHandler() {

        public void onSubmitComplete(SubmitCompleteEvent event) {
            // parse the results
            String results = event.getResults();
            RpcResponse response = RpcResponse.parse(event.getResults());
            if (response != null) {
                logEntry.logResponse(ResponseType.Normal, results);

                // check for error
                RpcError rpcError = response.getError();
                if (rpcError != null) {
                    if (rpcError.getCode() == RpcError.METHOD_NOT_FOUND) {
                        requestCallback.onResponseReceived(new Integer(CREDENTIALS_UPDATE_UNSUPPORTED));
                    } else {
                        requestCallback.onError(new RemoteServerError(rpcError));
                    }
                } else // must be a valid response
                {
                    Bool authenticated = response.getResult();
                    if (authenticated.getValue()) {
                        requestCallback.onResponseReceived(new Integer(CREDENTIALS_UPDATE_SUCCESS));
                    } else {
                        requestCallback.onResponseReceived(new Integer(CREDENTIALS_UPDATE_FAILURE));
                    }
                }
            } else // error parsing results
            {
                logEntry.logResponse(ResponseType.Error, results);

                // form message
                String msg = "Error parsing results: " + (results != null ? results : "(null)");

                // we don't expect this so debug log to flag our attention
                Debug.log("UPDATE CREDENTIALS: " + msg);

                // return the error
                RpcError rpcError = RpcError.create(RpcError.PARSE_ERROR, msg);
                requestCallback.onError(new RemoteServerError(rpcError));
            }

            // remove the hidden form (from both last-ditch list and DOM)
            previousUpdateCredentialsForms_.remove(updateCredentialsForm);
            Scheduler.get().scheduleDeferred(new ScheduledCommand() {
                public void execute() {
                    RootPanel.get().remove(updateCredentialsForm);
                }
            });
        }
    });

    // add the (hidden) form panel to the document and last ditch list
    RootPanel.get().add(updateCredentialsForm, -1000, -1000);
    previousUpdateCredentialsForms_.add(updateCredentialsForm);

    // submit the form
    updateCredentialsForm.submit();
}

From source file:org.spiffyui.client.login.LoginPanel.java

License:Apache License

/**
 * Create a new LoginPanel./*from  w  w w . j av  a  2  s .  co m*/
 * @param title  title of the login panel
 * @param helper string helper for getting strings used in login panel
 */
protected LoginPanel(String title, LoginStringHelper helper) {
    m_helper = helper;

    m_glassPanel = new SimplePanel();

    if (RootPanel.get("loginPanel") != null) {
        RootPanel.get("loginPanel").add(m_glassPanel);
    } else {
        throw new IllegalStateException(
                "Unable to locate the loginPanel element.  You must import spiffyui.min.js before using the LoginPanel.");
    }

    m_glassPanel.setVisible(false);
    m_glassPanel.getElement().setId("login_glass_pane");

    SimplePanel dialog = new SimplePanel();
    dialog.getElement().setId("login_form_panel");

    m_fp = new FormPanel();
    m_fp.getElement().setId("login_form");
    dialog.setWidget(m_fp);

    String html = "<div id=\"loginHeaderContainer\">" + "<div id=\"loginHeaderleft\">"
            + "<div id=\"loginHeaderlogo\"> </div>" + "<span class=\"headertitle\">"
            + m_helper.getString(LoginStrings.PRODUCT_NAME) + "</span>" + "</div>" + "</div>"
            + "<div class=\"login_content\">" + "<div style=\"display: block;\" id=\"contentDetail\">"
            + "<div id=\"login_titlediv\" class=\"logintitle\"><span id=\"login_titlespan\">" + title
            + "</span></div>" + "<div id=\"loginDetailsId\" class=\"loginDetail\">"
            + "<div id=\"loginmessage\"></div>" + "<div id=\"loginFieldsContainer\" style=\"display: block;\">"
            + "<div id=\"login_username_row\">" + "<label>" + m_helper.getString(LoginStrings.USERNAME)
            + "</label>" + "<div id=\"login_username\"></div>" + "</div>" + "<div id=\"login_password_row\">"
            + "<label>" + m_helper.getString(LoginStrings.PASSWORD) + "</label>"
            + "<div id=\"login_password\"></div>" + "</div>" + "<div id=\"gwtsubmit\"></div>" + "</div>"
            + "<div id=\"loginconfig\"></div>" + "</div>" + "</div>" + "</div>";

    // Create a panel to hold all of the form widgets.
    m_panel = new HTMLPanel(html);

    m_fp.setWidget(m_panel);

    m_message = new HTML();
    m_panel.add(m_message, "loginmessage");

    //username
    m_username = new TextBox();
    m_username.setName("login_panel_user");
    m_username.addKeyUpHandler(this);
    m_username.getElement().setId("login_username_txt");
    m_panel.add(m_username, "login_username");

    // password
    m_pwd = new PasswordTextBox();
    m_pwd.setName("login_panel_pwd");
    m_pwd.addKeyUpHandler(this);
    m_pwd.getElement().setId("login_password_txt");
    m_panel.add(m_pwd, "login_password");

    // login button
    m_submit = new Button(m_helper.getString(LoginStrings.LOGIN), new ClickHandler() {
        public void onClick(ClickEvent event) {
            event.preventDefault();
            doRequest();
        }
    });

    m_submit.getElement().setId("login_submit_button");
    m_panel.add(m_submit, "gwtsubmit");

    m_logout = new Anchor(m_helper.getString(LoginStrings.LOGOUT));
    m_logout.getElement().setId("loging_logout_link");
    m_logout.addClickHandler(new ClickHandler() {
        public void onClick(ClickEvent event) {
            event.preventDefault();
            /*
             * At this point we are already logged out, so we
             * just need to reload the window.
             */
            JSUtil.reload();
        }
    });
    m_logout.setVisible(false);
    m_panel.add(m_logout, "gwtsubmit");

    m_loading = new SmallLoadingIndicator();
    m_loading.setVisible(false);
    m_panel.add(m_loading, "gwtsubmit");

    RootPanel.get("loginPanel").add(m_fp);
    initWidget(dialog);

    enableButton();
}

From source file:org.utgenome.gwt.utgb.client.track.lib.NavigatorTrack.java

License:Apache License

public NavigatorTrack() {
    super("NavigatorTrack");
    panel.setStyleName("toolbox");
    panel.setWidth("100%");

    speciesBox.addChangeHandler(new PropertyChangeHandler(UTGBProperty.SPECIES, speciesBox));
    revisionBox.addChangeHandler(new PropertyChangeHandler(UTGBProperty.REVISION, revisionBox));
    regionBox.addKeyUpHandler(new SequenceRangeChangeListner());
    targetBox.addKeyUpHandler(new KeyUpHandler() {
        public void onKeyUp(KeyUpEvent e) {
            int keyCode = e.getNativeKeyCode();
            if (keyCode == KeyCodes.KEY_ENTER || keyCode == KeyCodes.KEY_TAB) {
                getTrackGroup().getPropertyWriter().setProperty(UTGBProperty.TARGET, targetBox.getText());
            }//from   w  w w .  j  a  v  a2s. com
        }
    });
    targetBox.setWidth("100px");
    // value selectors
    hp.setVerticalAlignment(HorizontalPanel.ALIGN_MIDDLE);
    hp.add(new FormLabel("Species"));
    hp.add(speciesBox);
    hp.add(new FormLabel("Ref."));
    hp.add(revisionBox);
    hp.add(new FormLabel("Chr."));
    hp.add(targetBox);
    // window locator
    regionBox.setWidth("160px");

    hp2.setVerticalAlignment(HorizontalPanel.ALIGN_MIDDLE);
    hp2.add(new FormLabel("Region"));
    hp2.add(regionBox);

    Button strandSwitch = new Button("reverse");
    Style.margin(strandSwitch, Style.LEFT, 2);
    Style.border(strandSwitch, 2, Style.BORDER_OUTSET, "white");
    strandSwitch.addClickHandler(new ClickHandler() {
        public void onClick(ClickEvent e) {
            isPlusStrand = !isPlusStrand;
            TrackWindow window = getTrackGroup().getTrackWindow();
            if (isPlusStrand) {
                getTrackGroup().setTrackWindowLocation(window.getEndOnGenome(), window.getStartOnGenome());
            } else {
                getTrackGroup().setTrackWindowLocation(window.getEndOnGenome(), window.getStartOnGenome());
            }
        }
    });
    // TODO reverse button
    //hp2.add(strandSwitch);
    hp2.add(new ScrollButtonSet());
    // save view
    final FormPanel saveViewForm = new FormPanel();
    saveViewForm.setAction(GWT.getModuleBaseURL() + "utgb-core/EchoBackView");
    saveViewForm.setEncoding(FormPanel.ENCODING_URLENCODED);
    saveViewForm.setMethod(FormPanel.METHOD_POST);
    final Hidden viewData = new Hidden("view");
    final Hidden time = new Hidden("time");
    final Button saveButton = new Button("save view");
    HorizontalPanel formLayout = new HorizontalPanel();
    formLayout.setVerticalAlignment(HorizontalPanel.ALIGN_MIDDLE);
    viewData.setVisible(false);
    formLayout.add(viewData);
    formLayout.add(time);
    formLayout.add(saveButton);
    saveButton.addClickHandler(new ClickHandler() {
        public void onClick(ClickEvent e) {
            XMLWriter xmlWriter = new XMLWriter();
            getTrackGroup().toXML(xmlWriter);
            String view = xmlWriter.toString();
            viewData.setValue(view);
            // send the time stamp
            Date today = new Date();
            time.setValue(Long.toString(today.getTime()));
            saveViewForm.submit();
        }
    });
    saveViewForm.add(formLayout);
    DOM.setStyleAttribute(saveViewForm.getElement(), "margin", "0");
    hp.add(saveViewForm);
    Button loadButton = new Button("load view");
    loadButton.addClickHandler(new ClickHandler() {
        public void onClick(ClickEvent e) {
            getTrackGroup().insertTrack(new ViewLoaderTrack(), getTrackGroup().getTrackIndex(_self) + 1);
        }
    });
    hp.add(loadButton);

}

From source file:org.utgenome.gwt.utgb.client.track.lib.ViewLoaderTrack.java

License:Apache License

public ViewLoaderTrack() {
    super("View Loader");
    // load view via HTTP
    HorizontalPanel hp = new HorizontalPanel();
    hp.setVerticalAlignment(HorizontalPanel.ALIGN_MIDDLE);
    hp.add(new FormLabel("View Silk URL: "));
    urlBox.setWidth("400px");
    urlBox.addKeyPressHandler(new KeyPressHandler() {
        public void onKeyPress(KeyPressEvent e) {
            if (e.getCharCode() == KeyCodes.KEY_ENTER) {
                downloadView(urlBox.getText());
            }//  w w w. ja  va2s  . c o m
        }
    });
    Button loadButton = new Button("load");
    loadButton.addClickHandler(new ClickHandler() {
        public void onClick(ClickEvent e) {
            downloadView(urlBox.getText());
        }
    });
    hp.add(urlBox);
    hp.add(loadButton);
    // load view from a file
    final FormPanel fileUploadForm = new FormPanel();
    fileUploadForm.setAction(GWT.getModuleBaseURL() + "utgb-core/loadview");
    fileUploadForm.setEncoding(FormPanel.ENCODING_MULTIPART);
    fileUploadForm.setMethod(FormPanel.METHOD_POST);
    HorizontalPanel formButtonPanel = new HorizontalPanel();
    FileUpload fileBox = new FileUpload();
    fileBox.setName("file");
    fileBox.setWidth("300px");
    Button uploadButton = new Button("submit");
    uploadButton.addClickHandler(new ClickHandler() {

        public void onClick(ClickEvent e) {
            fileUploadForm.submit();
        }
    });
    formButtonPanel.add(new FormLabel("View Silk File:"));
    formButtonPanel.add(fileBox);
    formButtonPanel.add(uploadButton);
    fileUploadForm.add(formButtonPanel);
    DOM.setStyleAttribute(fileUploadForm.getElement(), "margin", "0");
    fileUploadForm.addSubmitCompleteHandler(new SubmitCompleteHandler() {
        public void onSubmitComplete(SubmitCompleteEvent e) {

            getFrame().setNowLoading();
            String viewXML = extractEmbeddedSilkInComment(e.getResults());
            setViewSilk(viewXML);
        }
    });
    // set panes
    panel.setStyleName("toolbox");
    panel.add(hp);
    panel.add(fileUploadForm);
}