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

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

Introduction

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

Prototype

protected Button(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.google.gerrit.client.changes.CommentedChangeActionDialog.java

License:Apache License

public CommentedChangeActionDialog(final PatchSet.Id psi, final AsyncCallback<ChangeDetail> callback,
        final String dialogTitle, final String dialogHeading, final String buttonSend,
        final String buttonCancel, final String dialogStyle, final String messageStyle,
        final String defaultMessage) {
    super(/* auto hide */false, /* modal */true);
    setGlassEnabled(true);//  www . jav  a 2  s . c o  m

    psid = psi;
    this.callback = callback;
    addStyleName(dialogStyle);
    setText(dialogTitle);

    panel = new FlowPanel();
    add(panel);

    panel.add(new SmallHeading(dialogHeading));

    final FlowPanel mwrap = new FlowPanel();
    mwrap.setStyleName(messageStyle);
    panel.add(mwrap);

    message = new NpTextArea();
    message.setCharacterWidth(60);
    message.setVisibleLines(10);
    message.setText(defaultMessage);
    DOM.setElementPropertyBoolean(message.getElement(), "spellcheck", true);
    mwrap.add(message);

    final FlowPanel buttonPanel = new FlowPanel();
    panel.add(buttonPanel);
    sendButton = new Button(buttonSend);
    sendButton.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(final ClickEvent event) {
            sendButton.setEnabled(false);
            cancelButton.setEnabled(false);
            onSend();
        }
    });
    buttonPanel.add(sendButton);

    cancelButton = new Button(buttonCancel);
    DOM.setStyleAttribute(cancelButton.getElement(), "marginLeft", "300px");
    cancelButton.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(final ClickEvent event) {
            buttonClicked = true;
            if (callback != null) {
                callback.onFailure(null);
            }
            hide();
        }
    });
    buttonPanel.add(cancelButton);

    addCloseHandler(this);
}

From source file:com.google.gerrit.client.changes.PatchSetComplexDisclosurePanel.java

License:Apache License

private void populateActions(final PatchSetDetail detail) {
    final boolean isOpen = changeDetail.getChange().getStatus().isOpen();

    if (isOpen && changeDetail.canSubmit()) {
        final Button b = new Button(Util.M.submitPatchSet(detail.getPatchSet().getPatchSetId()));
        if (Gerrit.getConfig().testChangeMerge()) {
            b.setEnabled(changeDetail.getChange().isMergeable());
        }//from ww w . ja  va  2s  . c  om

        b.addClickHandler(new ClickHandler() {
            @Override
            public void onClick(final ClickEvent event) {
                b.setEnabled(false);
                ChangeApi.submit(patchSet.getId().getParentKey().get(), patchSet.getRevision().get(),
                        new GerritCallback<SubmitInfo>() {
                            public void onSuccess(SubmitInfo result) {
                                redisplay();
                            }

                            public void onFailure(Throwable err) {
                                if (SubmitFailureDialog.isConflict(err)) {
                                    new SubmitFailureDialog(err.getMessage()).center();
                                    redisplay();
                                } else {
                                    b.setEnabled(true);
                                    super.onFailure(err);
                                }
                            }

                            private void redisplay() {
                                Gerrit.display(PageLinks.toChange(patchSet.getId().getParentKey()),
                                        new ChangeScreen(patchSet.getId().getParentKey()));
                            }
                        });
            }
        });
        actionsPanel.add(b);
    }

    if (changeDetail.canRevert()) {
        final Button b = new Button(Util.C.buttonRevertChangeBegin());
        b.addClickHandler(new ClickHandler() {
            @Override
            public void onClick(final ClickEvent event) {
                b.setEnabled(false);
                new ActionDialog(b, true, Util.C.revertChangeTitle(), Util.C.headingRevertMessage()) {
                    {
                        sendButton.setText(Util.C.buttonRevertChangeSend());
                        message.setText(Util.M.revertChangeDefaultMessage(detail.getInfo().getSubject(),
                                detail.getPatchSet().getRevision().get()));
                    }

                    @Override
                    public void onSend() {
                        ChangeApi.revert(changeDetail.getChange().getChangeId(), getMessageText(),
                                new GerritCallback<ChangeInfo>() {
                                    @Override
                                    public void onSuccess(ChangeInfo result) {
                                        sent = true;
                                        Gerrit.display(PageLinks.toChange(new Change.Id(result._number())));
                                        hide();
                                    }

                                    @Override
                                    public void onFailure(Throwable caught) {
                                        enableButtons(true);
                                        super.onFailure(caught);
                                    }
                                });
                    }
                }.center();
            }
        });
        actionsPanel.add(b);
    }

    if (changeDetail.canCherryPick()) {
        final Button b = new Button(Util.C.buttonCherryPickChangeBegin());
        b.addClickHandler(new ClickHandler() {
            @Override
            public void onClick(final ClickEvent event) {
                b.setEnabled(false);
                new CherryPickDialog(b, changeDetail.getChange().getProject()) {
                    {
                        sendButton.setText(Util.C.buttonCherryPickChangeSend());
                        message.setText(
                                Util.M.cherryPickedChangeDefaultMessage(detail.getInfo().getMessage().trim(),
                                        detail.getPatchSet().getRevision().get()));
                    }

                    @Override
                    public void onSend() {
                        ChangeApi.cherrypick(changeDetail.getChange().getChangeId(),
                                patchSet.getRevision().get(), getDestinationBranch(), getMessageText(),
                                new GerritCallback<ChangeInfo>() {
                                    @Override
                                    public void onSuccess(ChangeInfo result) {
                                        sent = true;
                                        Gerrit.display(PageLinks.toChange(new Change.Id(result._number())));
                                        hide();
                                    }

                                    @Override
                                    public void onFailure(Throwable caught) {
                                        enableButtons(true);
                                        super.onFailure(caught);
                                    }
                                });
                    }
                }.center();
            }
        });
        actionsPanel.add(b);
    }

    if (changeDetail.canAbandon()) {
        final Button b = new Button(Util.C.buttonAbandonChangeBegin());
        b.addClickHandler(new ClickHandler() {
            @Override
            public void onClick(final ClickEvent event) {
                b.setEnabled(false);
                new ActionDialog(b, false, Util.C.abandonChangeTitle(), Util.C.headingAbandonMessage()) {
                    {
                        sendButton.setText(Util.C.buttonAbandonChangeSend());
                    }

                    @Override
                    public void onSend() {
                        // TODO: once the other users of ActionDialog have converted to
                        // REST APIs, we can use createCallback() rather than providing
                        // them directly.
                        ChangeApi.abandon(changeDetail.getChange().getChangeId(), getMessageText(),
                                new GerritCallback<ChangeInfo>() {
                                    @Override
                                    public void onSuccess(ChangeInfo result) {
                                        sent = true;
                                        Gerrit.display(PageLinks.toChange(new Change.Id(result._number())));
                                        hide();
                                    }

                                    @Override
                                    public void onFailure(Throwable caught) {
                                        enableButtons(true);
                                        super.onFailure(caught);
                                    }
                                });
                    }
                }.center();
            }
        });
        actionsPanel.add(b);
    }

    if (changeDetail.getChange().getStatus() == Change.Status.DRAFT && changeDetail.canDeleteDraft()) {
        final Button b = new Button(Util.C.buttonDeleteDraftChange());
        b.addClickHandler(new ClickHandler() {
            @Override
            public void onClick(final ClickEvent event) {
                b.setEnabled(false);
                Util.MANAGE_SVC.deleteDraftChange(patchSet.getId(), new GerritCallback<VoidResult>() {
                    public void onSuccess(VoidResult result) {
                        Gerrit.display(PageLinks.MINE);
                    }

                    @Override
                    public void onFailure(Throwable caught) {
                        b.setEnabled(true);
                        super.onFailure(caught);
                    }
                });
            }
        });
        actionsPanel.add(b);
    }

    if (changeDetail.canRestore()) {
        final Button b = new Button(Util.C.buttonRestoreChangeBegin());
        b.addClickHandler(new ClickHandler() {
            @Override
            public void onClick(final ClickEvent event) {
                b.setEnabled(false);
                new ActionDialog(b, false, Util.C.restoreChangeTitle(), Util.C.headingRestoreMessage()) {
                    {
                        sendButton.setText(Util.C.buttonRestoreChangeSend());
                    }

                    @Override
                    public void onSend() {
                        ChangeApi.restore(changeDetail.getChange().getChangeId(), getMessageText(),
                                new GerritCallback<ChangeInfo>() {
                                    @Override
                                    public void onSuccess(ChangeInfo result) {
                                        sent = true;
                                        Gerrit.display(PageLinks.toChange(new Change.Id(result._number())));
                                        hide();
                                    }

                                    @Override
                                    public void onFailure(Throwable caught) {
                                        enableButtons(true);
                                        super.onFailure(caught);
                                    }
                                });
                    }
                }.center();
            }
        });
        actionsPanel.add(b);
    }

    if (changeDetail.canRebase()) {
        final Button b = new Button(Util.C.buttonRebaseChange());
        b.addClickHandler(new ClickHandler() {
            @Override
            public void onClick(final ClickEvent event) {
                b.setEnabled(false);
                Util.MANAGE_SVC.rebaseChange(patchSet.getId(), new ChangeDetailCache.GerritWidgetCallback(b));
            }
        });
        actionsPanel.add(b);
    }
}

From source file:com.google.gerrit.client.changes.PatchSetComplexDisclosurePanel.java

License:Apache License

private void populateCommands(final PatchSetDetail detail) {
    for (final UiCommandDetail cmd : detail.getCommands()) {
        final Button b = new Button(cmd.label);
        b.setEnabled(cmd.enabled);//  w ww .j  av  a 2s .  c o  m
        b.setTitle(cmd.title);
        b.addClickHandler(new ClickHandler() {
            @Override
            public void onClick(final ClickEvent event) {
                if (cmd.confirmationMessage != null && !cmd.confirmationMessage.isEmpty()) {
                    ConfirmationDialog confirmationDialog = new ConfirmationDialog(cmd.title,
                            new SafeHtmlBuilder().append(cmd.confirmationMessage), new ConfirmationCallback() {
                                @Override
                                public void onOk() {
                                    postProcessCommand(cmd, b);
                                }
                            });
                    confirmationDialog.center();
                } else {
                    postProcessCommand(cmd, b);
                }
            }

            private void postProcessCommand(final UiCommandDetail cmd, final Button b) {
                b.setEnabled(false);
                AsyncCallback<NativeString> cb = new AsyncCallback<NativeString>() {
                    @Override
                    public void onFailure(Throwable caught) {
                        b.setEnabled(true);
                        new ErrorDialog(caught).center();
                    }

                    @Override
                    public void onSuccess(NativeString msg) {
                        b.setEnabled(true);
                        if (msg != null && !msg.asString().isEmpty()) {
                            Window.alert(msg.asString());
                        }
                    }
                };
                RestApi api = ChangeApi.revision(patchSet.getId()).view(cmd.id);
                if ("PUT".equalsIgnoreCase(cmd.method)) {
                    api.put(JavaScriptObject.createObject(), cb);
                } else if ("DELETE".equalsIgnoreCase(cmd.method)) {
                    api.delete(cb);
                } else {
                    api.post(JavaScriptObject.createObject(), cb);
                }
            }
        });
        actionsPanel.add(b);
    }
}

From source file:com.google.gerrit.client.changes.PatchSetComplexDisclosurePanel.java

License:Apache License

private void populateReviewAction() {
    final Button b = new Button(Util.C.buttonReview());
    b.addClickHandler(new ClickHandler() {
        @Override/*from  w w  w  .j  a  v a2  s . co m*/
        public void onClick(final ClickEvent event) {
            Gerrit.display(Dispatcher.toPublish(patchSet.getId()));
        }
    });
    actionsPanel.add(b);
}

From source file:com.google.gerrit.client.changes.PatchSetComplexDisclosurePanel.java

License:Apache License

private void populatePublishAction() {
    final Button b = new Button(Util.C.buttonPublishPatchSet());
    b.addClickHandler(new ClickHandler() {
        @Override//from  w w w  . j  av  a  2 s.  c  om
        public void onClick(final ClickEvent event) {
            b.setEnabled(false);
            Util.MANAGE_SVC.publish(patchSet.getId(), new ChangeDetailCache.GerritWidgetCallback(b));
        }
    });
    actionsPanel.add(b);
}

From source file:com.google.gerrit.client.changes.PatchSetComplexDisclosurePanel.java

License:Apache License

private void populateDeleteDraftPatchSetAction() {
    final Button b = new Button(Util.C.buttonDeleteDraftPatchSet());
    b.addClickHandler(new ClickHandler() {
        @Override/*w  w  w  .j ava  2 s.co m*/
        public void onClick(final ClickEvent event) {
            b.setEnabled(false);
            PatchUtil.DETAIL_SVC.deleteDraftPatchSet(patchSet.getId(),
                    new ChangeDetailCache.GerritWidgetCallback(b) {
                        public void onSuccess(final ChangeDetail result) {
                            if (result != null) {
                                detailCache.set(result);
                            } else {
                                Gerrit.display(PageLinks.MINE);
                            }
                        }
                    });
        }
    });
    actionsPanel.add(b);
}

From source file:com.google.gerrit.client.changes.PublishCommentScreen.java

License:Apache License

@Override
protected void onInitUI() {
    super.onInitUI();
    addStyleName(Gerrit.RESOURCES.css().publishCommentsScreen());

    approvalButtons = new ArrayList<ValueRadioButton>();
    descBlock = new ChangeDescriptionBlock(null);
    add(descBlock);/* w w w .j a v  a  2  s . com*/

    approvals = new ApprovalTable();
    add(approvals);

    final FormPanel form = new FormPanel();
    final FlowPanel body = new FlowPanel();
    form.setWidget(body);
    form.addSubmitHandler(new FormPanel.SubmitHandler() {
        @Override
        public void onSubmit(final SubmitEvent event) {
            event.cancel();
        }
    });
    add(form);

    approvalPanel = new FlowPanel();
    body.add(approvalPanel);
    initMessage(body);

    draftsPanel = new FlowPanel();
    body.add(draftsPanel);

    final FlowPanel buttonRow = new FlowPanel();
    buttonRow.setStyleName(Gerrit.RESOURCES.css().patchSetActions());
    body.add(buttonRow);

    send = new Button(Util.C.buttonPublishCommentsSend());
    send.addClickHandler(this);
    buttonRow.add(send);

    submit = new Button(Util.C.buttonPublishSubmitSend());
    submit.addClickHandler(this);
    buttonRow.add(submit);

    cancel = new Button(Util.C.buttonPublishCommentsCancel());
    cancel.addClickHandler(this);
    buttonRow.add(cancel);
}

From source file:com.google.gerrit.client.changes.PublishTopicCommentScreen.java

License:Apache License

@Override
protected void onInitUI() {
    super.onInitUI();
    addStyleName(Gerrit.RESOURCES.css().publishCommentsScreen());

    approvalButtons = new ArrayList<ValueRadioButton>();

    descBlock = new TopicDescriptionBlock();
    add(descBlock);/*from w  ww . ja v a  2s  .c o  m*/

    final FormPanel form = new FormPanel();
    final FlowPanel body = new FlowPanel();
    form.setWidget(body);
    form.addSubmitHandler(new FormPanel.SubmitHandler() {
        @Override
        public void onSubmit(final SubmitEvent event) {
            event.cancel();
        }
    });
    add(form);

    approvalPanel = new FlowPanel();
    body.add(approvalPanel);
    initMessage(body);

    draftsPanel = new FlowPanel();
    body.add(draftsPanel);

    final FlowPanel buttonRow = new FlowPanel();
    buttonRow.setStyleName(Gerrit.RESOURCES.css().patchSetActions());
    body.add(buttonRow);

    send = new Button(Util.C.buttonPublishCommentsSend());
    send.addClickHandler(this);
    buttonRow.add(send);

    submit = new Button(Util.C.buttonPublishSubmitSend());
    submit.addClickHandler(this);
    buttonRow.add(submit);

    cancel = new Button(Util.C.buttonPublishCommentsCancel());
    cancel.addClickHandler(this);
    buttonRow.add(cancel);
}

From source file:com.google.gerrit.client.changes.RestoreChangeDialog.java

License:Apache License

public RestoreChangeDialog(final PatchSet.Id psi, final AsyncCallback<ChangeDetail> callback) {
    super(/* auto hide */false, /* modal */true);
    setGlassEnabled(true);//from   w  w w.ja va  2s.  c om

    psid = psi;
    this.callback = callback;
    addStyleName(Gerrit.RESOURCES.css().abandonChangeDialog());
    setText(Util.C.restoreChangeTitle());

    panel = new FlowPanel();
    add(panel);

    panel.add(new SmallHeading(Util.C.headingRestoreMessage()));

    final FlowPanel mwrap = new FlowPanel();
    mwrap.setStyleName(Gerrit.RESOURCES.css().abandonMessage());
    panel.add(mwrap);

    message = new NpTextArea();
    message.setCharacterWidth(60);
    message.setVisibleLines(10);
    DOM.setElementPropertyBoolean(message.getElement(), "spellcheck", true);
    mwrap.add(message);

    final FlowPanel buttonPanel = new FlowPanel();
    panel.add(buttonPanel);

    sendButton = new Button(Util.C.buttonRestoreChangeSend());
    sendButton.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(final ClickEvent event) {
            sendButton.setEnabled(false);
            Util.MANAGE_SVC.restoreChange(psid, message.getText().trim(), new GerritCallback<ChangeDetail>() {
                @Override
                public void onSuccess(ChangeDetail result) {
                    buttonClicked = true;
                    if (callback != null) {
                        callback.onSuccess(result);
                    }
                    hide();
                }

                @Override
                public void onFailure(Throwable caught) {
                    sendButton.setEnabled(true);
                    super.onFailure(caught);
                }
            });
        }
    });
    buttonPanel.add(sendButton);

    cancelButton = new Button(Util.C.buttonRestoreChangeCancel());
    DOM.setStyleAttribute(cancelButton.getElement(), "marginLeft", "300px");
    cancelButton.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(final ClickEvent event) {
            buttonClicked = true;
            if (callback != null) {
                callback.onFailure(null);
            }
            hide();
        }
    });
    buttonPanel.add(cancelButton);

    addCloseHandler(this);
}

From source file:com.google.gerrit.client.SearchPanel.java

License:Apache License

SearchPanel() {
    final FlowPanel body = new FlowPanel();
    initWidget(body);//from   w  w w . j  av a2  s .c  o m
    setStyleName(Gerrit.RESOURCES.css().searchPanel());

    searchBox = new HintTextBox();
    final MySuggestionDisplay suggestionDisplay = new MySuggestionDisplay();
    searchBox.addKeyPressHandler(new KeyPressHandler() {
        @Override
        public void onKeyPress(final KeyPressEvent event) {
            if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ENTER) {
                if (!suggestionDisplay.isSuggestionSelected) {
                    doSearch();
                }
            }
        }
    });

    final SuggestBox suggestBox = new SuggestBox(new SearchSuggestOracle(), searchBox, suggestionDisplay);
    searchBox.setStyleName("gwt-TextBox");
    searchBox.setVisibleLength(70);
    searchBox.setHintText(Gerrit.C.searchHint());

    final Button searchButton = new Button(Gerrit.C.searchButton());
    searchButton.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            doSearch();
        }
    });

    body.add(suggestBox);
    body.add(searchButton);
}