Class ContextMenuItem

All Implemented Interfaces:
IsEditor<LeafValueEditor<String>>, ClickHandler, ContextMenuHandler, HasAllDragAndDropHandlers, HasAllGestureHandlers, HasAllMouseHandlers, HasAllTouchHandlers, HasClickHandlers, HasDoubleClickHandlers, HasDragEndHandlers, HasDragEnterHandlers, HasDragHandlers, HasDragLeaveHandlers, HasDragOverHandlers, HasDragStartHandlers, HasDropHandlers, HasGestureChangeHandlers, HasGestureEndHandlers, HasGestureStartHandlers, HasMouseDownHandlers, HasMouseMoveHandlers, HasMouseOutHandlers, HasMouseOverHandlers, HasMouseUpHandlers, HasMouseWheelHandlers, HasTouchCancelHandlers, HasTouchEndHandlers, HasTouchMoveHandlers, HasTouchStartHandlers, MouseOutHandler, MouseOverHandler, HasAttachHandlers, EventHandler, HasHandlers, HasDirection, HasDirectionEstimator, EventListener, HasAutoHorizontalAlignment, HasDirectionalText, HasEnabled, HasHorizontalAlignment, HasText, HasVisibility, HasWordWrap, IsWidget, SourcesClickEvents, SourcesMouseEvents
Direct Known Subclasses:
ContextMenuCheckBoxItem

public class ContextMenuItem extends Label implements HasEnabled, MouseOverHandler, MouseOutHandler, ClickHandler, ContextMenuHandler
Component of the context menu extension to GWT's user interface.

Represents a menu item in the context menu. The context menu item may either execute a command when selected or control the visibility of a submenu.

CSS Style Rules

.gwt-ContextMenuItem
the context menu item element.
.gwt-ContextMenuItem-disabled
if the context menu item is disabled.
.submenu
if the context menu item controls a submenu.
Author:
Christoph Hauert
See Also:
  • Field Details

    • cmd

      Command that gets executed when selecting this menu item and null if this menu item controls a submenu.
    • childMenu

      private ContextMenu childMenu
      Reference to submenu if this menu item controls one and null otherwise.
    • isEnabled

      private boolean isEnabled
      Flag to indicate whether menu item is enabled.
  • Constructor Details

    • ContextMenuItem

      public ContextMenuItem(String name, Scheduler.ScheduledCommand cmd)
      Create a new context menu item with the title name and triggers the command cmd when selected.
      Parameters:
      name - title of context menu item
      cmd - command to execute when selected
    • ContextMenuItem

      public ContextMenuItem(String name, ContextMenu child)
      Create a new context menu item with the title name that controls the submenu child. For CSS styling, context menu items that control a submenu have the class submenu added.
      Parameters:
      name - title of context menu item
      child - submenu to control
  • Method Details

    • action

      public void action()
      Entry method when context menu item is selected. Nothing happens if the context menu item is disabled. If it controls a submenu then the submenu is opened or closed, respectively. Finally, if a command is assigned then the command is executed.
    • _open

      private void _open()
      Open submenu.
    • open

      public boolean open()
      Open submenu if context menu item is enabled and controls a submenu with autoOpen set to true.
      Returns:
      true if submenu has been opened and false otherwise
    • close

      public void close()
      Set timer to close submenu, if there is one, otherwise close this context menu without delay.
    • closeNow

      protected void closeNow()
      Close submenu without delay.
    • setEnabled

      public void setEnabled(boolean enabled)
      Specified by:
      setEnabled in interface HasEnabled
    • isEnabled

      public boolean isEnabled()
      Specified by:
      isEnabled in interface HasEnabled
    • hasSubmenu

      public boolean hasSubmenu()
      Check if context menu item controls a submenu.
      Returns:
      true if menu item has a submenu
    • onMouseOut

      public void onMouseOut(MouseOutEvent event)

      Close submenu, if context menu item controls one, and if the submenu has autoClose set to true, unless pointer now hovers over submenu.

      Specified by:
      onMouseOut in interface MouseOutHandler
    • onMouseOver

      public void onMouseOver(MouseOverEvent event)

      Open submenu, if context menu item controls one, and if the submenu has autoOpen set to true. Otherwise do nothing.

      Specified by:
      onMouseOver in interface MouseOverHandler
    • onClick

      public void onClick(ClickEvent event)

      Context menu item selected. Execute associated action or toggle visibility of submenu autoOpen and autoClose are false.

      Specified by:
      onClick in interface ClickHandler
      See Also:
    • onContextMenu

      public void onContextMenu(ContextMenuEvent event)

      Suppress default context menu.

      Specified by:
      onContextMenu in interface ContextMenuHandler