Example usage for com.google.gwt.user.client.ui PopupPanel setGlassStyleName

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

Introduction

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

Prototype

public void setGlassStyleName(String glassStyleName) 

Source Link

Document

Sets the style name to be used on the glass element.

Usage

From source file:de.uni_koeln.spinfo.maalr.webapp.ui.editor.client.entry.AdvancedEditor.java

License:Apache License

public static PopupPanel openEditor(final LexEntry entry, final LemmaVersion lv,
        final AsyncCallback<LexEntry> afterClose, final EditorConstants constants,
        final EditorMessages messages) {

    final PopupPanel popup = new PopupPanel(false, false);
    final AsyncCallback<LexEntry> callback = new AsyncCallback<LexEntry>() {

        @Override//from  ww  w  . ja  v  a2 s.  c  o m
        public void onFailure(Throwable caught) {
            afterClose.onFailure(caught);
        }

        @Override
        public void onSuccess(LexEntry result) {
            popup.hide();
            afterClose.onSuccess(result);
        }
    };
    popup.setStyleName("editor-modal");
    popup.setGlassEnabled(true);
    popup.setGlassStyleName("editor-modal-glass");
    final VerticalPanel content = new VerticalPanel();
    popup.add(content);
    popup.setPopupPosition(50, 50);
    popup.setPixelSize(Window.getClientWidth() - 100, Window.getClientHeight() - 100);
    final LemmaEditorWidget editorWidget = new LemmaEditorWidget(AsyncLemmaDescriptionLoader.getDescription(),
            UseCase.FIELDS_FOR_ADVANCED_EDITOR, true, 2, true, null);
    editorWidget.setData(lv);
    content.add(editorWidget);
    final boolean withComment = true;
    final boolean withEmail = true;
    Fieldset overlayPanel = new Fieldset();
    overlayPanel.getElement().getStyle().setMarginLeft(10, Unit.PX);
    overlayPanel.getElement().getStyle().setMarginRight(10, Unit.PX);
    overlayPanel.setStyleName("form-horizontal");
    content.add(overlayPanel);
    final ControlGroup left = new ControlGroup();
    final ControlGroup right = new ControlGroup();
    overlayPanel.add(left);
    overlayPanel.add(right);

    LocalizedStrings.afterLoad(new AsyncCallback<TranslationMap>() {

        @Override
        public void onFailure(Throwable caught) {
        }

        @Override
        public void onSuccess(final TranslationMap localizedStrings) {

            service.getOverlayTypes(true, new AsyncCallback<ArrayList<String>>() {

                @Override
                public void onFailure(Throwable caught) {
                }

                @Override
                public void onSuccess(ArrayList<String> result) {
                    if (result.size() == 0) {
                        return;
                    }
                    FlowPanel group = new FlowPanel();
                    langAOverlay = new ListBox(false);
                    langAOverlay.addItem(constants.none(), (String) null);
                    for (final String type : result) {
                        langAOverlay.addItem(type, type);
                    }
                    group.add(langAOverlay);
                    final Button edit = new Button(constants.edit());
                    langAOverlay.addChangeHandler(new ChangeHandler() {

                        @Override
                        public void onChange(ChangeEvent event) {
                            edit.setEnabled(langAOverlay.getSelectedIndex() != 0);
                        }
                    });

                    edit.getElement().getStyle().setMarginLeft(10, Unit.PX);
                    edit.addClickHandler(new ClickHandler() {

                        @Override
                        public void onClick(ClickEvent event) {
                            showOverlayEditor(lv, langAOverlay.getValue(), localizedStrings, constants,
                                    messages);
                        }
                    });
                    group.add(edit);
                    //                        left.add(new ControlLabel(messages.controlLabelOverlay(AsyncLemmaDescriptionLoader.getDescription().getLanguageName(true))));
                    left.add(new ControlLabel(messages.controlLabelOverlay()));
                    Controls controls = new Controls();
                    controls.add(group);
                    left.add(controls);
                    edit.setEnabled(false);
                    String overlay = lv.getEntryValue(LemmaVersion.OVERLAY_LANG1);
                    for (int i = 0; i < result.size(); i++) {
                        if (result.get(i).equals(overlay)) {
                            langAOverlay.setItemSelected(i + 1, true);
                            edit.setEnabled(true);
                            break;
                        }
                    }
                }
            });
            service.getOverlayTypes(false, new AsyncCallback<ArrayList<String>>() {

                @Override
                public void onFailure(Throwable caught) {
                }

                @Override
                public void onSuccess(ArrayList<String> result) {
                    if (result.size() == 0) {
                        return;
                    }
                    FlowPanel group = new FlowPanel();
                    langBOverlay = new ListBox(false);
                    langBOverlay.addItem(constants.none(), (String) null);
                    for (final String type : result) {
                        langBOverlay.addItem(type, type);
                    }
                    group.add(langBOverlay);
                    final Button edit = new Button(constants.edit());
                    langBOverlay.addChangeHandler(new ChangeHandler() {

                        @Override
                        public void onChange(ChangeEvent event) {
                            edit.setEnabled(langBOverlay.getSelectedIndex() != 0);
                        }
                    });
                    edit.getElement().getStyle().setMarginLeft(10, Unit.PX);
                    edit.addClickHandler(new ClickHandler() {

                        @Override
                        public void onClick(ClickEvent event) {
                            showOverlayEditor(lv, langBOverlay.getValue(), localizedStrings, constants,
                                    messages);
                        }
                    });
                    group.add(edit);
                    //                        right.add(new ControlLabel(messages.controlLabelOverlay(AsyncLemmaDescriptionLoader.getDescription().getLanguageName(false))));
                    right.add(new ControlLabel(messages.controlLabelOverlay()));
                    Controls controls = new Controls();
                    controls.add(group);
                    right.add(controls);
                    edit.setEnabled(false);
                    String overlay = lv.getEntryValue(LemmaVersion.OVERLAY_LANG2);
                    for (int i = 0; i < result.size(); i++) {
                        if (result.get(i).equals(overlay)) {
                            langBOverlay.setItemSelected(i + 1, true);
                            edit.setEnabled(true);
                            break;
                        }
                    }
                }
            });

            Fieldset set = null;
            if (withComment) {
                set = new Fieldset();
                ControlGroup commentGroup = new ControlGroup();
                commentGroup.add(new ControlLabel(localizedStrings.get("dialog.comment.header")));
                comment = new TextArea();
                comment.getElement().getStyle().setWidth(100, Unit.PCT);
                comment.getElement().getStyle().setProperty("resize", "none");
                comment.setVisibleLines(8);
                commentGroup.add(comment);
                set.add(commentGroup);
                comment.setText(lv.getEntryValue(LemmaVersion.COMMENT));
            }
            if (withEmail) {
                set = set == null ? new Fieldset() : set;
                ControlGroup group = new ControlGroup();
                group.add(new ControlLabel(localizedStrings.get("dialog.email.header")));
                HorizontalPanel hp = new HorizontalPanel();
                group.add(hp);
                email = new TextBox();
                email.getElement().getStyle().setWidth(350, Unit.PX);
                email.setText(lv.getEntryValue(LemmaVersion.EMAIL));
                hp.add(email);

                Button sendButton = new Button(constants.reply());
                sendButton.getElement().getStyle().setMarginLeft(10, Unit.PX);
                sendButton.addClickHandler(new ClickHandler() {

                    @Override
                    public void onClick(ClickEvent event) {
                        AsyncLemmaDescriptionLoader
                                .afterLemmaDescriptionLoaded(new AsyncCallback<LemmaDescription>() {

                                    @Override
                                    public void onFailure(Throwable caught) {
                                        // TODO Auto-generated method stub
                                    }

                                    @Override
                                    public void onSuccess(LemmaDescription ld) {
                                        String firstLanguageId = ld.getLanguage(true).getId();
                                        String secondLanguageId = ld.getLanguage(false).getId();
                                        String first = localizedStrings.get(firstLanguageId);
                                        String second = localizedStrings.get(secondLanguageId);
                                        String lemma1st = ld.toUnescapedString(lv, UseCase.RESULT_LIST, true);
                                        String lemma2nd = ld.toUnescapedString(lv, UseCase.RESULT_LIST, false);
                                        String german = first + "%20%3D%20" + lemma1st;
                                        String romansh = second + "%20%3D%20" + lemma2nd;
                                        String remartg = localizedStrings.get("mail.comment") + "%0A"
                                                + URL.encode(comment.getText());

                                        String subject = "?subject="
                                                + URL.encode(localizedStrings.get("mail.subject"));
                                        String body = "&body=" + german + "%0A" + romansh + "%0A%0A" + remartg;
                                        String cc = "";
                                        if (localizedStrings.get("mail.cc") != null) {
                                            cc = "&cc=" + localizedStrings.get("mail.cc");
                                        }
                                        Window.Location
                                                .assign("mailto:" + email.getText() + subject + cc + body);
                                    }
                                });

                    }
                });
                hp.add(sendButton);
                set.add(group);

            }
            if (set != null) {
                set.getElement().getStyle().setPaddingLeft(15, Unit.PC);
                set.getElement().getStyle().setPaddingRight(15, Unit.PC);
                HTML html = new HTML(new SafeHtmlBuilder().appendHtmlConstant("<hr/>").toSafeHtml());
                html.getElement().getStyle().setMarginLeft(20, Unit.PX);
                html.getElement().getStyle().setMarginRight(20, Unit.PX);
                content.add(html);
                content.add(set);
            }
        }
    });

    Button cancel = new Button(constants.cancel());
    cancel.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            popup.hide();
        }
    });
    Button reset = new Button(constants.reset());
    reset.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            editorWidget.setData(lv);
        }
    });
    Button ok = new Button(constants.ok());
    ok.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            if (entry == null) {
                LemmaVersion fromEditor = new LemmaVersion();
                fromEditor.getEntryValues().putAll(lv.getEntryValues());
                fromEditor.getMaalrValues().putAll(lv.getMaalrValues());
                transferSpecialValues(lv, fromEditor);
                editorWidget.updateFromEditor(fromEditor);
                if (editorWidget.isValid(true, true)) {
                    LexEntry entry = new LexEntry(fromEditor);
                    service.insert(entry, callback);
                }
            } else {
                LemmaVersion fromEditor = new LemmaVersion();
                fromEditor.getEntryValues().putAll(lv.getEntryValues());
                fromEditor.getMaalrValues().putAll(lv.getMaalrValues());
                transferSpecialValues(lv, fromEditor);
                editorWidget.updateFromEditor(fromEditor);
                if (editorWidget.isValid(true, true)) {
                    service.acceptAfterUpdate(entry, lv, fromEditor, callback);
                }
            }
            editorWidget.updateFromEditor(lv);
        }

        private void transferSpecialValues(final LemmaVersion lv, LemmaVersion fromEditor) {

            if (langAOverlay != null) {
                int index = langAOverlay.getSelectedIndex();
                String value = index <= 0 ? null : langAOverlay.getValue(index);
                fromEditor.setValue(LemmaVersion.OVERLAY_LANG1, value);
                lv.setValue(LemmaVersion.OVERLAY_LANG1, value);
            }
            if (langBOverlay != null) {
                int index = langBOverlay.getSelectedIndex();
                String value = index <= 0 ? null : langBOverlay.getValue(index);
                fromEditor.setValue(LemmaVersion.OVERLAY_LANG2, value);
                lv.setValue(LemmaVersion.OVERLAY_LANG2, value);
            }
            if (email != null) {
                fromEditor.setValue(LemmaVersion.EMAIL, email.getText());
                lv.setValue(LemmaVersion.EMAIL, email.getText());
            }
            if (comment != null) {
                fromEditor.setValue(LemmaVersion.COMMENT, comment.getText());
                lv.setValue(LemmaVersion.COMMENT, comment.getText());
            }
        }
    });
    ok.setType(ButtonType.PRIMARY);
    content.add(new ModalFooter(cancel, reset, ok));
    popup.show();
    final HandlerRegistration handler = Window.addResizeHandler(new ResizeHandler() {

        @Override
        public void onResize(ResizeEvent event) {
            popup.setSize(Window.getClientWidth() - 100 + "px", Window.getClientHeight() - 100 + "px");
        }
    });
    popup.addCloseHandler(new CloseHandler<PopupPanel>() {

        @Override
        public void onClose(CloseEvent<PopupPanel> event) {
            handler.removeHandler();
        }
    });
    return popup;
}

From source file:nl.strohalm.cyclos.mobile.client.ui.widgets.CustomDateBox.java

License:Open Source License

/**
 * Parses the current date box's value and shows that date in the date picker
 *//*from  w  w w  .j  a  v a2s.  c  o  m*/
public void display() {
    String text = getTextBox().getText().trim();
    Date current = getFormat().parse(this, text, false);
    if (current == null) {
        current = new Date();
    }
    getDatePicker().setCurrentMonth(current);
    PopupPanel popup = (PopupPanel) getDatePicker().getParent();
    popup.setGlassStyleName("mask");
    popup.setGlassEnabled(true);
    popup.center();
}