Class MenuItemBase<C extends ContextMenuBase<C,​I,​S>,​I extends MenuItemBase<C,​I,​S>,​S extends SubMenuBase<C,​I,​S>>

    • Constructor Detail

      • MenuItemBase

        public MenuItemBase​(C contextMenu)
        Default constructor
        Parameters:
        contextMenu - the context menu to which this item belongs to
    • Method Detail

      • getContextMenu

        public C getContextMenu()
        Gets the context menu component that this item belongs to.
        Returns:
        the context-menu component
      • getSubMenu

        public S getSubMenu()
        Gets the sub menu API for this menu item. Adding content to the returned sub menu makes this component a parent item which opens the sub menu overlay. When the sub menu has no content, it won't be rendered.
        Returns:
        the sub menu that can be opened via this item
      • isParentItem

        public boolean isParentItem()
        Gets whether this item has a sub menu attached to it or not.
        Returns:
        true if this component has a sub menu with content inside it, false otherwise
        See Also:
        getSubMenu()
      • setCheckable

        public void setCheckable​(boolean checkable)
        Sets the checkable state of this menu item. A checkable item toggles a checkmark icon when clicked. Changes in the checked state can be handled in the item's click handler with isChecked().

        Setting a checked item un-checkable also makes it un-checked.

        Parameters:
        checkable - true to enable toggling the checked-state of this menu item by clicking, false to disable it.
        Throws:
        IllegalStateException - if setting a parent item checkable
      • isCheckable

        public boolean isCheckable()
        Gets whether this item toggles a checkmark icon when clicked.
        Returns:
        the checkable state of the item
        See Also:
        setCheckable(boolean)
      • setChecked

        public void setChecked​(boolean checked)
        Sets the checked state of this item. A checked item displays a checkmark icon next to it. The checked state is also toggled by clicking the item.

        Note that the item needs to be explicitly set as checkable via setCheckable(boolean) in order to check it.

        Parameters:
        checked - true to check this item, false to un-check it
        Throws:
        IllegalStateException - if trying to check the item when it's checkable
      • isChecked

        public boolean isChecked()
        Gets the checked state of this item. The item can be checked and un-checked with setChecked(boolean) or by clicking it when it is checkable. A checked item displays a checkmark icon inside it.
        Returns:
        true if the item is checked, false otherwise
        See Also:
        setCheckable(boolean), setChecked(boolean)
      • addThemeNames

        public void addThemeNames​(String... themeNames)
        Adds one or more theme names to this item. Multiple theme names can be specified by using multiple parameters.
        Parameters:
        themeNames - the theme name or theme names to be added to the item
      • removeThemeNames

        public void removeThemeNames​(String... themeNames)
        Removes one or more theme names from this item. Multiple theme names can be specified by using multiple parameters.
        Parameters:
        themeNames - the theme name or theme names to be removed from the item
      • hasThemeName

        public boolean hasThemeName​(String themeName)
        Checks if the item has the given theme name.
        Parameters:
        themeName - the theme name to check for
        Returns:
        true if the item has the given theme name, false otherwise
      • createSubMenu

        protected abstract S createSubMenu()
      • executeJsWhenAttached

        protected void executeJsWhenAttached​(String expression,
                                             Serializable... parameters)