List of usage examples for com.google.gwt.user.client.ui PopupPanel addCloseHandler
public HandlerRegistration addCloseHandler(CloseHandler<PopupPanel> handler)
From source file:com.bearsoft.gwt.ui.containers.Toolbar.java
public Toolbar() { super();/*from ww w.j a v a 2s . c om*/ getElement().addClassName("toolbar"); chevron.getElement().addClassName("toolbar-chevron"); content.setHgap(0); content.getElement().addClassName("toolbar-content"); getElement().getStyle().setPosition(Style.Position.RELATIVE); content.getElement().getStyle().setPosition(Style.Position.ABSOLUTE); content.getElement().getStyle().setHeight(100, Style.Unit.PCT); content.getElement().getStyle().setDisplay(Style.Display.INLINE_BLOCK); content.getElement().getStyle().setOverflow(Style.Overflow.HIDDEN); chevron.getElement().getStyle().setPosition(Style.Position.ABSOLUTE); chevron.getElement().getStyle().setHeight(100, Style.Unit.PCT); setWidget(content); getElement().appendChild(chevron.getElement()); chevron.addDomHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { final Map<Widget, String> lefts = new HashMap<>(); final Map<Widget, String> rights = new HashMap<>(); final Map<Widget, String> widths = new HashMap<>(); final Map<Widget, String> positions = new HashMap<>(); final Map<Widget, String> margins = new HashMap<>(); final VerticalPanel vp = new VerticalPanel(); vp.getElement().addClassName("toolbar-chevron-menu"); Widget[] widgets = new Widget[content.getWidgetCount()]; for (int i = 0; i < widgets.length; i++) { widgets[i] = content.getWidget(i); } for (int i = 0; i < widgets.length; i++) { Widget iw = widgets[i]; int rightMost = iw.getElement().getOffsetLeft() + iw.getElement().getOffsetWidth(); int bottomMost = iw.getElement().getOffsetTop() + iw.getElement().getOffsetHeight(); int parentWidth = iw.getElement().getParentElement().getOffsetWidth(); int parentHeight = iw.getElement().getParentElement().getOffsetHeight(); if (rightMost <= 0 || iw.getElement().getOffsetLeft() >= parentWidth || bottomMost <= 0 || iw.getElement().getOffsetTop() >= parentHeight) { lefts.put(iw, iw.getElement().getStyle().getLeft()); rights.put(iw, iw.getElement().getStyle().getRight()); widths.put(iw, iw.getElement().getStyle().getWidth()); positions.put(iw, iw.getElement().getStyle().getPosition()); margins.put(iw, iw.getElement().getStyle().getMarginLeft()); SimplePanel sp = new SimplePanel(); sp.getElement().addClassName("toolbar-chevron-menu-item"); sp.getElement().getStyle().setPadding(0, Style.Unit.PX); sp.getElement().getStyle().setBorderWidth(0, Style.Unit.PX); sp.getElement().getStyle().setPosition(Style.Position.RELATIVE); sp.setWidget(iw); vp.add(sp); } } if (vp.getWidgetCount() > 0) { PopupPanel pp = new PopupPanel(true); pp.getElement().getStyle().setPadding(0, Style.Unit.PX); pp.setWidget(vp); pp.setAnimationEnabled(false); pp.addCloseHandler(new CloseHandler<PopupPanel>() { @Override public void onClose(CloseEvent<PopupPanel> event) { Widget[] widgets = new Widget[vp.getWidgetCount()]; for (int i = 0; i < widgets.length; i++) { widgets[i] = vp.getWidget(i); } for (int i = 0; i < widgets.length; i++) { Widget w = widgets[i]; assert w instanceof SimplePanel; Widget iw = ((SimplePanel) w).getWidget(); String oldLeft = lefts.remove(iw); if (oldLeft != null && !oldLeft.isEmpty()) { iw.getElement().getStyle().setProperty("left", oldLeft); } else { iw.getElement().getStyle().clearLeft(); } String oldRight = rights.remove(iw); if (oldRight != null && !oldRight.isEmpty()) { iw.getElement().getStyle().setProperty("right", oldRight); } else { iw.getElement().getStyle().clearRight(); } String oldPosition = positions.remove(iw); if (oldPosition != null && !oldPosition.isEmpty()) { iw.getElement().getStyle().setProperty("position", oldPosition); } else { iw.getElement().getStyle().clearPosition(); } String oldWidth = widths.remove(iw); if (oldWidth != null && !oldWidth.isEmpty()) { iw.getElement().getStyle().setProperty("width", oldWidth); } else { iw.getElement().getStyle().clearWidth(); } String oldMargin = margins.remove(iw); if (oldMargin != null && !oldMargin.isEmpty()) { iw.getElement().getStyle().setProperty("marginLeft", oldMargin); } else { iw.getElement().getStyle().clearMarginLeft(); } content.add(iw); } content.onResize(); } }); pp.showRelativeTo(chevron); Scheduler.get().scheduleDeferred(new ScheduledCommand() { @Override public void execute() { for (int i = 0; i < vp.getWidgetCount(); i++) { Widget w = vp.getWidget(i); assert w instanceof SimplePanel; SimplePanel sp = (SimplePanel) w; Widget iw = sp.getWidget(); int width = sp.getElement().getOffsetWidth(); int height = iw.getElement().getOffsetHeight(); sp.getElement().getStyle().setWidth(width, Style.Unit.PX); sp.getElement().getStyle().setHeight(height, Style.Unit.PX); iw.getElement().getStyle().setPosition(Style.Position.ABSOLUTE); iw.getElement().getStyle().setLeft(0, Style.Unit.PX); iw.getElement().getStyle().setRight(0, Style.Unit.PX); iw.getElement().getStyle().clearWidth(); iw.getElement().getStyle().clearMarginLeft(); //if (iw instanceof FocusWidget) { iw.getElement().getStyle().clearRight(); iw.getElement().getStyle().setWidth(100, Style.Unit.PCT); com.bearsoft.gwt.ui.CommonResources.INSTANCE.commons().ensureInjected(); iw.getElement().addClassName( com.bearsoft.gwt.ui.CommonResources.INSTANCE.commons().borderSized()); //} if (iw instanceof RequiresResize) { ((RequiresResize) iw).onResize(); } } } }); } } }, ClickEvent.getType()); getElement().<XElement>cast().addResizingTransitionEnd(this); }
From source file:com.google.gerrit.client.api.PopupHelper.java
License:Apache License
void show() { final PopupPanel p = new PopupPanel(true); p.setStyleName(Resources.I.style().popup()); p.addAutoHidePartner(activatingButton.getElement()); p.addCloseHandler(new CloseHandler<PopupPanel>() { @Override//from w ww.j a v a 2s. co m public void onClose(CloseEvent<PopupPanel> event) { activatingButton.unlink(); if (popup == p) { popup = null; } } }); p.add(panel); p.showRelativeTo(activatingButton); GlobalKey.dialog(p); popup = p; }
From source file:com.google.gerrit.client.change.ActionMessageBox.java
License:Apache License
void show() { if (popup != null) { popup.hide();//from ww w .j a va 2s.c om popup = null; return; } final PopupPanel p = new PopupPanel(true); p.setStyleName(style.popup()); p.addAutoHidePartner(activatingButton.getElement()); p.addCloseHandler(new CloseHandler<PopupPanel>() { @Override public void onClose(CloseEvent<PopupPanel> event) { if (popup == p) { popup = null; } } }); p.add(this); p.showRelativeTo(activatingButton); GlobalKey.dialog(p); message.setFocus(true); popup = p; }
From source file:com.google.gerrit.client.change.AddFileAction.java
License:Apache License
public void onEdit() { if (popup != null) { popup.hide();/*from ww w. j a va 2 s . c o m*/ return; } files.unregisterKeys(); if (addBox == null) { addBox = new AddFileBox(changeId, revision, files); } addBox.clearPath(); final PopupPanel p = new PopupPanel(true); p.setStyleName(style.replyBox()); p.addAutoHidePartner(addButton.getElement()); p.addCloseHandler(new CloseHandler<PopupPanel>() { @Override public void onClose(CloseEvent<PopupPanel> event) { if (popup == p) { popup = null; } } }); p.add(addBox); p.showRelativeTo(addButton); GlobalKey.dialog(p); addBox.setFocus(true); popup = p; }
From source file:com.google.gerrit.client.change.DeleteFileAction.java
License:Apache License
void onDelete() { if (popup != null) { popup.hide();// ww w . j a v a 2s.c om return; } if (deleteBox == null) { deleteBox = new DeleteFileBox(changeId, revision); } deleteBox.clearPath(); final PopupPanel p = new PopupPanel(true); p.setStyleName(style.replyBox()); p.addAutoHidePartner(deleteButton.getElement()); p.addCloseHandler(new CloseHandler<PopupPanel>() { @Override public void onClose(CloseEvent<PopupPanel> event) { if (popup == p) { popup = null; } } }); p.add(deleteBox); p.showRelativeTo(deleteButton); GlobalKey.dialog(p); deleteBox.setFocus(true); popup = p; }
From source file:com.google.gerrit.client.change.RenameFileAction.java
License:Apache License
void onRename() { if (popup != null) { popup.hide();/* www. j a va 2s.c o m*/ return; } if (renameBox == null) { renameBox = new RenameFileBox(changeId, revision); } renameBox.clearPath(); final PopupPanel p = new PopupPanel(true); p.setStyleName(style.replyBox()); p.addAutoHidePartner(renameButton.getElement()); p.addCloseHandler(new CloseHandler<PopupPanel>() { @Override public void onClose(CloseEvent<PopupPanel> event) { if (popup == p) { popup = null; } } }); p.add(renameBox); p.showRelativeTo(renameButton); GlobalKey.dialog(p); renameBox.setFocus(true); popup = p; }
From source file:com.google.gerrit.client.change.ReplyAction.java
License:Apache License
void onReply(MessageInfo msg) { if (popup != null) { popup.hide();//from www . j av a 2 s .c o m return; } if (replyBox == null) { replyBox = new ReplyBox(clp, psId, revision, allLabels, permittedLabels); allLabels = null; permittedLabels = null; } if (msg != null) { replyBox.replyTo(msg); } final PopupPanel p = new PopupPanel(true, false); p.setStyleName(style.replyBox()); p.addAutoHidePartner(replyButton.getElement()); p.addAutoHidePartner(quickApproveButton.getElement()); p.addCloseHandler(new CloseHandler<PopupPanel>() { @Override public void onClose(CloseEvent<PopupPanel> event) { if (popup == p) { popup = null; if (hasDraftComments || replyBox.hasMessage()) { replyButton.setStyleName(style.highlight()); } } } }); p.add(replyBox); Window.scrollTo(0, 0); replyButton.removeStyleName(style.highlight()); p.showRelativeTo(replyButton); GlobalKey.dialog(p); popup = p; }
From source file:com.google.gerrit.client.change.RightSidePopdownAction.java
License:Apache License
void show() { if (popup != null) { button.removeStyleName(style.selected()); popup.hide();// w ww . j ava 2 s . c o m return; } final PopupPanel p = new PopupPanel(true) { @Override public void setPopupPosition(int left, int top) { top -= Document.get().getBodyOffsetTop(); int w = Window.getScrollLeft() + Window.getClientWidth(); int r = relativeTo.getAbsoluteLeft() + relativeTo.getOffsetWidth(); int right = w - r; Style style = getElement().getStyle(); style.clearProperty("left"); style.setPropertyPx("right", right); style.setPropertyPx("top", top); } }; p.setStyleName(style.replyBox()); p.addAutoHidePartner(button.getElement()); p.addCloseHandler(new CloseHandler<PopupPanel>() { @Override public void onClose(CloseEvent<PopupPanel> event) { if (popup == p) { button.removeStyleName(style.selected()); popup = null; } } }); p.add(getWidget()); p.showRelativeTo(relativeTo); GlobalKey.dialog(p); button.addStyleName(style.selected()); popup = p; }
From source file:com.google.gwt.sample.stockwatcher.client.Menu.java
public void setPopupParam(PopupPanel popup, final VerticalPanel vpanel) { popup.addStyleName("gwt-PopUpPanel"); popup.setAnimationEnabled(true);// w w w.j av a 2 s . co m popup.setAnimationType(AnimationType.ROLL_DOWN); popup.setAutoHideEnabled(true); popup.getElement().getStyle().setBorderWidth(0, Unit.PX); popup.getElement().getStyle().setBackgroundColor("black"); popup.hide(); popup.addCloseHandler(new CloseHandler<PopupPanel>() { @Override public void onClose(CloseEvent<PopupPanel> event) { vpanel.getElement().getStyle().setBackgroundColor("#000000"); } }); }
From source file:com.googlesource.gerrit.plugins.cookbook.client.PopDownButton.java
License:Apache License
private void show() { if (popup != null) { getElement().getStyle().clearFontWeight(); popup.hide();// w w w .j a v a 2 s .com return; } final Widget relativeTo = getParent(); final PopupPanel p = new PopupPanel(true) { @Override public void setPopupPosition(int left, int top) { top -= Document.get().getBodyOffsetTop(); int w = Window.getScrollLeft() + Window.getClientWidth(); int r = relativeTo.getAbsoluteLeft() + relativeTo.getOffsetWidth(); int right = w - r; Style style = getElement().getStyle(); style.clearProperty("left"); style.setPropertyPx("right", right); style.setPropertyPx("top", top); } }; Style popupStyle = p.getElement().getStyle(); popupStyle.setBorderWidth(0, Unit.PX); popupStyle.setBackgroundColor("#EEEEEE"); p.addAutoHidePartner(getElement()); p.addCloseHandler(new CloseHandler<PopupPanel>() { @Override public void onClose(CloseEvent<PopupPanel> event) { if (popup == p) { getElement().getStyle().clearFontWeight(); popup = null; } } }); p.add(widget); p.showRelativeTo(relativeTo); GlobalKey.dialog(p); getElement().getStyle().setFontWeight(FontWeight.BOLD); popup = p; }