List of usage examples for com.google.gwt.user.client.ui PopupPanel setGlassStyleName
public void setGlassStyleName(String glassStyleName)
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(); }