Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Here is the code I have working if anyone is curious.</p> <pre><code> public class DialogBoxPresenter implements Presenter { public interface Display { Label getDialogText(); Button getAffirmativeButton(); Button getCancelButton(); Widget asWidget(); public void center(); public void hide(); public void setHeader(String text); } private Display display; private String header; private String dialogText; private String cancelButtonText; private String affirmativeButtonText; private ConfirmDialogCallback confirmCallback; private AlertDialogCallback alertCallback; protected DialogBoxPresenter() { } public DialogBoxPresenter(Display display, String header, String dialogText, String cancelButtonText, String affirmativeButtonText, ConfirmDialogCallback callback) { this.display = display; this.header = header; this.dialogText = dialogText; this.cancelButtonText = cancelButtonText; this.affirmativeButtonText = affirmativeButtonText; this.confirmCallback = callback; bind(); } public DialogBoxPresenter(Display display, String header, String dialogText, String affirmativeButtonText, AlertDialogCallback callback) { this.display = display; this.header = header; this.dialogText = dialogText; this.affirmativeButtonText = affirmativeButtonText; this.alertCallback = callback; this.display.getCancelButton().setVisible(false); bind(); } private void bind() { this.display.getDialogText().setText(dialogText); this.display.getAffirmativeButton().setText(affirmativeButtonText); this.display.getCancelButton().setText(cancelButtonText); this.display.setHeader(header); addClickHandlers(); } private void addClickHandlers() { this.display.getAffirmativeButton().addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { doAffirmative(); } }); this.display.getCancelButton().addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { doCancel(); } }); } private void doAffirmative() { if (confirmCallback != null) { confirmCallback.onAffirmative(); } else { alertCallback.onAffirmative(); } display.hide(); } private void doCancel() { confirmCallback.onCancel(); display.hide(); } public void init() { display.center(); } @Override public void go(HasWidgets container) { container.clear(); container.add(display.asWidget()); } } public class DialogBoxView extends DialogBox implements DialogBoxPresenter.Display { private Label dialogText; private Button affirmativeButton; private Button cancelButton; private VerticalPanel container; public DialogBoxView() { //init items dialogText = new Label(); affirmativeButton = new Button(); cancelButton = new Button(); container = new VerticalPanel(); setGlassEnabled(true); setAnimationEnabled(true); setModal(false); init(); } private void init() { //add items container.add(dialogText); HorizontalPanel hp = new HorizontalPanel(); hp.add(affirmativeButton); hp.add(cancelButton); container.add(hp); this.add(container); } @Override public Widget asWidget() { return this; } @Override public Label getDialogText() { return dialogText; } @Override public Button getAffirmativeButton() { return affirmativeButton; } @Override public Button getCancelButton() { return cancelButton; } @Override public void setHeader(String text) { this.setText(text); } } public class DialogBoxWidget implements LensooConstant { private static DialogBoxView view = null; private static DialogBoxPresenter presenter = null; public static DialogBoxPresenter confirm(String header, String dialogText, String cancelButtonText, String affirmativeButtonText, ConfirmDialogCallback callback) { view = new DialogBoxView(); presenter = new DialogBoxPresenter(view, header, dialogText, cancelButtonText, affirmativeButtonText, callback); presenter.init(); return presenter; } public static DialogBoxPresenter confirm(String header, String dialogText, ConfirmDialogCallback callback) { return DialogBoxWidget.confirm(header, dialogText, constants.cancelButton(), constants.okButton(), callback); } public static DialogBoxPresenter alert(String header, String dialogText, String affirmativeButtonText, AlertDialogCallback callback) { view = new DialogBoxView(); presenter = new DialogBoxPresenter(view, header, dialogText, affirmativeButtonText, callback); presenter.init(); return presenter; } public static DialogBoxPresenter alert(String header, String dialogText, AlertDialogCallback callback) { return DialogBoxWidget.alert(header, dialogText, constants.okButton(), callback); } protected DialogBoxWidget() { } } public interface AlertDialogCallback { void onAffirmative(); } public interface ConfirmDialogCallback { void onAffirmative(); void onCancel(); } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload