Class Overlay

  • All Implemented Interfaces:
    com.google.gwt.event.logical.shared.CloseHandler<com.google.gwt.user.client.ui.PopupPanel>, com.google.gwt.event.logical.shared.HasAttachHandlers, com.google.gwt.event.logical.shared.HasCloseHandlers<com.google.gwt.user.client.ui.PopupPanel>, com.google.gwt.event.shared.EventHandler, com.google.gwt.event.shared.HasHandlers, com.google.gwt.user.client.EventListener, com.google.gwt.user.client.EventPreview, com.google.gwt.user.client.ui.AcceptsOneWidget, com.google.gwt.user.client.ui.HasAnimation, com.google.gwt.user.client.ui.HasOneWidget, com.google.gwt.user.client.ui.HasVisibility, com.google.gwt.user.client.ui.HasWidgets, com.google.gwt.user.client.ui.HasWidgets.ForIsWidget, com.google.gwt.user.client.ui.IsWidget, com.google.gwt.user.client.ui.SourcesPopupEvents, Iterable<com.google.gwt.user.client.ui.Widget>
    Direct Known Subclasses:
    VOverlay

    public class Overlay
    extends com.google.gwt.user.client.ui.PopupPanel
    implements com.google.gwt.event.logical.shared.CloseHandler<com.google.gwt.user.client.ui.PopupPanel>
    Overlay widget extending the PopupPanel. Overlay is used to float elements on top of other elements temporarily.

    Note: This class should always be constructed with GWT.create(Class).

    Shadow

    The separate shadow element underneath the main overlay element is deprecated, and should not be used for new overlay components. CSS box-shadow should be used instead of a separate shadow element. Remember to include any vendor-prefixed versions to support all browsers that you need to. To cover all possible browsers that Vaadin 7 supports, add -webkit-box-shadow and the standard box-shadow properties.

    For IE8, which doesn't support CSS box-shadow, you can use the proprietary DropShadow filter. It doesn't provide the exact same features as box-shadow, but it is suitable for graceful degradation. Other options are to use a border or a pseudo-element underneath the overlay which mimics a shadow, or any combination of these.

    Read more about the DropShadow filter from Microsoft Developer Network

    Since:
    7.6.1
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  Overlay.PositionAndSize  
      protected class  Overlay.ResizeAnimation  
      • Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.PopupPanel

        com.google.gwt.user.client.ui.PopupPanel.AnimationType, com.google.gwt.user.client.ui.PopupPanel.PositionCallback
      • Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.UIObject

        com.google.gwt.user.client.ui.UIObject.DebugIdImpl, com.google.gwt.user.client.ui.UIObject.DebugIdImplEnabled
      • Nested classes/interfaces inherited from interface com.google.gwt.user.client.ui.HasWidgets

        com.google.gwt.user.client.ui.HasWidgets.ForIsWidget
    • Constructor Summary

      Constructors 
      Constructor Description
      Overlay()  
      Overlay​(boolean autoHide)  
      Overlay​(boolean autoHide, boolean modal)  
      Overlay​(boolean autoHide, boolean modal, boolean showShadow)
      Deprecated.
      See main JavaDoc for Overlay.
    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      void center()  
      com.google.gwt.user.client.Element getOverlayContainer()
      Gets the 'overlay container' element.
      com.google.gwt.user.client.ui.Widget getOwner()
      Get owner (Widget that made this Overlay, not the layout parent) of Overlay
      void hide()  
      void hide​(boolean autoClosed)  
      void hide​(boolean autoClosed, boolean animateIn, boolean animateOut)
      Hides the popup and detaches it from the page.
      boolean isFitInWindow()
      Checks whether the overlay should be moved or shrunk to fit inside the window.
      protected boolean isShadowEnabled()
      Deprecated.
      See main JavaDoc for Overlay
      protected boolean isShimElementEnabled()  
      protected boolean isSinkShadowEvents()
      Deprecated.
      See main JavaDoc for Overlay
      protected boolean needsShimElement()
      Returns true if we should add a shim iframe below the overlay to deal with zindex issues with PDFs and applets.
      protected void onAttach()  
      void onClose​(com.google.gwt.event.logical.shared.CloseEvent<com.google.gwt.user.client.ui.PopupPanel> event)  
      protected void onDetach()  
      void positionOrSizeUpdated()
      Extending classes should always call this method after they change the size of overlay without using normal 'setWidth(String)' and 'setHeight(String)' methods (if not calling super.setWidth/Height).
      void setFitInWindow​(boolean fitInWindow)
      Sets whether the overlay should be moved or shrunk to fit inside the window.
      void setHeight​(String height)  
      void setOwner​(com.google.gwt.user.client.ui.Widget owner)
      Set owner (Widget that made this Overlay, not the layout parent) of Overlay
      void setPopupPosition​(int left, int top)  
      protected void setShadowEnabled​(boolean enabled)
      Deprecated.
      See main JavaDoc for Overlay
      protected void setShadowStyle​(String style)
      Deprecated.
      See main JavaDoc for Overlay
      protected void setSinkShadowEvents​(boolean sinkShadowEvents)
      Deprecated.
      See main JavaDoc for Overlay
      void setVisible​(boolean visible)  
      void setWidth​(String width)  
      protected void setZIndex​(int zIndex)
      Set the z-index (visual stack position) for this overlay.
      void show()  
      void sinkEvents​(int eventBitsToAdd)  
      protected void updateShadowSizeAndPosition()
      Deprecated.
      protected boolean useShadowDiv()
      Deprecated.
      See main JavaDoc for Overlay
      • Methods inherited from class com.google.gwt.user.client.ui.PopupPanel

        addAutoHidePartner, addCloseHandler, addPopupListener, getAnimationType, getContainerElement, getGlassElement, getGlassStyleName, getOffsetHeight, getOffsetWidth, getPopupLeft, getPopupTop, getStyleElement, getTitle, isAnimationEnabled, isAutoHideEnabled, isAutoHideOnHistoryEventsEnabled, isGlassEnabled, isModal, isPreviewingAllNativeEvents, isShowing, isVisible, onEventPreview, onKeyDownPreview, onKeyPressPreview, onKeyUpPreview, onPreviewNativeEvent, onUnload, removeAutoHidePartner, removePopupListener, setAnimationEnabled, setAnimationType, setAutoHideEnabled, setAutoHideOnHistoryEventsEnabled, setGlassEnabled, setGlassStyleName, setModal, setPopupPositionAndShow, setPreviewingAllNativeEvents, setTitle, setWidget, showRelativeTo
      • Methods inherited from class com.google.gwt.user.client.ui.SimplePanel

        add, getWidget, iterator, remove, setWidget
      • Methods inherited from class com.google.gwt.user.client.ui.Panel

        add, adopt, clear, doAttachChildren, doDetachChildren, orphan, remove
      • Methods inherited from class com.google.gwt.user.client.ui.Widget

        addAttachHandler, addBitlessDomHandler, addDomHandler, addHandler, asWidget, asWidgetOrNull, createHandlerManager, delegateEvent, fireEvent, getHandlerCount, getLayoutData, getParent, isAttached, isOrWasAttached, onBrowserEvent, onLoad, removeFromParent, setLayoutData, unsinkEvents
      • Methods inherited from class com.google.gwt.user.client.ui.UIObject

        addStyleDependentName, addStyleName, ensureDebugId, ensureDebugId, ensureDebugId, getAbsoluteLeft, getAbsoluteTop, getElement, getStyleName, getStyleName, getStylePrimaryName, getStylePrimaryName, isVisible, onEnsureDebugId, removeStyleDependentName, removeStyleName, resolvePotentialElement, setElement, setElement, setPixelSize, setSize, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setVisible, sinkBitlessEvent, toString
      • Methods inherited from interface com.google.gwt.event.shared.HasHandlers

        fireEvent
    • Field Detail

      • Z_INDEX

        public static int Z_INDEX
      • CLASSNAME_SHADOW

        @Deprecated
        public static final String CLASSNAME_SHADOW
        Deprecated.
        See main JavaDoc for Overlay
        Shadow element style. If an extending class wishes to use a different style of shadow, it can use setShadowStyle(String) to give the shadow element a new style name.
        See Also:
        Constant Field Values
      • ADDITIONAL_CLASSNAME_ANIMATE_IN

        public static final String ADDITIONAL_CLASSNAME_ANIMATE_IN
        Since:
        7.3
        See Also:
        Constant Field Values
      • ADDITIONAL_CLASSNAME_ANIMATE_OUT

        public static final String ADDITIONAL_CLASSNAME_ANIMATE_OUT
        Since:
        7.3
        See Also:
        Constant Field Values
      • current

        protected static Overlay current
    • Constructor Detail

      • Overlay

        public Overlay()
      • Overlay

        public Overlay​(boolean autoHide)
      • Overlay

        public Overlay​(boolean autoHide,
                       boolean modal)
      • Overlay

        @Deprecated
        public Overlay​(boolean autoHide,
                       boolean modal,
                       boolean showShadow)
        Deprecated.
        See main JavaDoc for Overlay. Use the other constructors without the showShadow parameter.
    • Method Detail

      • onAttach

        protected void onAttach()
        Overrides:
        onAttach in class com.google.gwt.user.client.ui.Widget
      • useShadowDiv

        @Deprecated
        protected boolean useShadowDiv()
        Deprecated.
        See main JavaDoc for Overlay
        Return true if a separate shadow div should be used. Since Vaadin 7.3, shadows are implemented with CSS box-shadow. Thus, a shadow div is only used for IE8 by default.
        Returns:
        true to use a shadow div
        Since:
        7.3
      • setShadowEnabled

        @Deprecated
        protected void setShadowEnabled​(boolean enabled)
        Deprecated.
        See main JavaDoc for Overlay
        Method to control whether DOM elements for shadow are added. With this method subclasses can control displaying of shadow also after the constructor.
        Parameters:
        enabled - true if shadow should be displayed
      • isShadowEnabled

        @Deprecated
        protected boolean isShadowEnabled()
        Deprecated.
        See main JavaDoc for Overlay
      • isShimElementEnabled

        protected boolean isShimElementEnabled()
      • setZIndex

        protected void setZIndex​(int zIndex)
        Set the z-index (visual stack position) for this overlay.
        Parameters:
        zIndex - The new z-index
      • setPopupPosition

        public void setPopupPosition​(int left,
                                     int top)
        Overrides:
        setPopupPosition in class com.google.gwt.user.client.ui.PopupPanel
      • show

        public void show()
        Overrides:
        show in class com.google.gwt.user.client.ui.PopupPanel
      • onDetach

        protected void onDetach()
        Overrides:
        onDetach in class com.google.gwt.user.client.ui.Widget
      • setVisible

        public void setVisible​(boolean visible)
        Specified by:
        setVisible in interface com.google.gwt.user.client.ui.HasVisibility
        Overrides:
        setVisible in class com.google.gwt.user.client.ui.PopupPanel
      • setWidth

        public void setWidth​(String width)
        Overrides:
        setWidth in class com.google.gwt.user.client.ui.PopupPanel
      • setHeight

        public void setHeight​(String height)
        Overrides:
        setHeight in class com.google.gwt.user.client.ui.PopupPanel
      • setShadowStyle

        @Deprecated
        protected void setShadowStyle​(String style)
        Deprecated.
        See main JavaDoc for Overlay
        Sets the shadow style for this overlay. Will override any previous style for the shadow. The default style name is defined by CLASSNAME_SHADOW. The given style will be prefixed with CLASSNAME_SHADOW.
        Parameters:
        style - The new style name for the shadow element. Will be prefixed by CLASSNAME_SHADOW, e.g. style=='foobar' -> actual style name=='v-shadow-foobar'.
      • positionOrSizeUpdated

        public void positionOrSizeUpdated()
        Extending classes should always call this method after they change the size of overlay without using normal 'setWidth(String)' and 'setHeight(String)' methods (if not calling super.setWidth/Height).
      • needsShimElement

        protected boolean needsShimElement()
        Returns true if we should add a shim iframe below the overlay to deal with zindex issues with PDFs and applets. Can be overriden to disable shim iframes if they are not needed.
        Returns:
        true if a shim iframe should be added, false otherwise
      • onClose

        public void onClose​(com.google.gwt.event.logical.shared.CloseEvent<com.google.gwt.user.client.ui.PopupPanel> event)
        Specified by:
        onClose in interface com.google.gwt.event.logical.shared.CloseHandler<com.google.gwt.user.client.ui.PopupPanel>
      • sinkEvents

        public void sinkEvents​(int eventBitsToAdd)
        Overrides:
        sinkEvents in class com.google.gwt.user.client.ui.Widget
      • setSinkShadowEvents

        @Deprecated
        protected void setSinkShadowEvents​(boolean sinkShadowEvents)
        Deprecated.
        See main JavaDoc for Overlay
        Enables or disables sinking the events of the shadow to the same onBrowserEvent as events to the actual overlay goes. Please note, that if you enable this, you can't assume that e.g. event.getEventTarget returns an element inside the DOM structure of the overlay
        Parameters:
        sinkShadowEvents -
      • isSinkShadowEvents

        @Deprecated
        protected boolean isSinkShadowEvents()
        Deprecated.
        See main JavaDoc for Overlay
      • getOwner

        public com.google.gwt.user.client.ui.Widget getOwner()
        Get owner (Widget that made this Overlay, not the layout parent) of Overlay
        Returns:
        Owner (creator) or null if not defined
      • setOwner

        public void setOwner​(com.google.gwt.user.client.ui.Widget owner)
        Set owner (Widget that made this Overlay, not the layout parent) of Overlay
        Parameters:
        owner - Owner (creator) of Overlay
      • getOverlayContainer

        public com.google.gwt.user.client.Element getOverlayContainer()
        Gets the 'overlay container' element.
        Returns:
        the overlay container element
      • center

        public void center()
        Overrides:
        center in class com.google.gwt.user.client.ui.PopupPanel
      • hide

        public void hide()
        Overrides:
        hide in class com.google.gwt.user.client.ui.PopupPanel
      • hide

        public void hide​(boolean autoClosed)
        Overrides:
        hide in class com.google.gwt.user.client.ui.PopupPanel
      • hide

        public void hide​(boolean autoClosed,
                         boolean animateIn,
                         boolean animateOut)
        Hides the popup and detaches it from the page. This has no effect if it is not currently showing. Animation-in, animation-out can be enable/disabled for different use cases.
        Parameters:
        autoClosed - the value that will be passed to CloseHandler.onClose(CloseEvent) when the popup is closed
        animateIn - enable/disable animate-in animation
        animateOut - enable/disable animate-out animation
        Since:
        7.3.7
        See Also:
        PopupPanel.hide(boolean)
      • setFitInWindow

        public void setFitInWindow​(boolean fitInWindow)
        Sets whether the overlay should be moved or shrunk to fit inside the window.

        When this is false, the default PopupPanel behavior is used, which tries to position the popup primarly below and to the right of a reference UIObject and, if there is not enough space, above or to the left.

        When this is true, the popup will be moved up/left in case it does not fit on either side. If the popup is larger than the window, it will be shrunk to fit and assume that scrolling e.g. using overflow:auto, is taken care of by the overlay user.

        Parameters:
        fitInWindow - true to ensure that no part of the popup is outside the visible view, false to use the default PopupPanel behavior
        Since:
        7.6.6
      • isFitInWindow

        public boolean isFitInWindow()
        Checks whether the overlay should be moved or shrunk to fit inside the window.
        Returns:
        true if the popup will be moved and/or shrunk to fit inside the window, false otherwise
        Since:
        7.6.6
        See Also:
        setFitInWindow(boolean)