com.extjs.gxt.ui.client.widget.menu
Class MenuItem

java.lang.Object
  extended by com.google.gwt.user.client.ui.UIObject
      extended by com.google.gwt.user.client.ui.Widget
          extended by com.extjs.gxt.ui.client.widget.Component
              extended by com.extjs.gxt.ui.client.widget.menu.Item
                  extended by com.extjs.gxt.ui.client.widget.menu.MenuItem
All Implemented Interfaces:
Observable, IconSupport, com.google.gwt.event.logical.shared.HasAttachHandlers, com.google.gwt.event.shared.HasHandlers, com.google.gwt.user.client.EventListener, com.google.gwt.user.client.ui.IsWidget
Direct Known Subclasses:
CheckMenuItem

public class MenuItem
extends Item
implements IconSupport

A base class for all menu items that require menu-related functionality (like sub-menus) and are not static display items. Item extends the base functionality of Item by adding menu-specific activation and click handling.


Nested Class Summary
 
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
 
Field Summary
protected  com.google.gwt.user.client.ui.AbstractImagePrototype icon
           
protected  java.lang.String itemStyle
           
protected  Menu subMenu
           
protected  java.lang.String text
           
protected  com.google.gwt.user.client.ui.Widget widget
           
 
Fields inherited from class com.extjs.gxt.ui.client.widget.menu.Item
canActivate, hideOnClick, parentMenu
 
Fields inherited from class com.extjs.gxt.ui.client.widget.Component
afterRender, attachables, baseStyle, disabled, disabledStyle, disableTextSelection, dummy, focusable, hidden, mask, maskMessage, maskMessageStyleName, monitorWindowResize, rendered, resizeHandler, setElementRender, stateId, swallowEvents, toolTip, windowResizeDelay, windowResizeTask
 
Fields inherited from class com.google.gwt.user.client.ui.UIObject
DEBUG_ID_PREFIX
 
Constructor Summary
MenuItem()
          Creates a new item.
MenuItem(java.lang.String text)
          Creates a new item with the given text.
MenuItem(java.lang.String text, com.google.gwt.user.client.ui.AbstractImagePrototype icon)
          Creates a new item.
MenuItem(java.lang.String text, com.google.gwt.user.client.ui.AbstractImagePrototype icon, SelectionListener<? extends MenuEvent> listener)
          Creates a new item.
MenuItem(java.lang.String text, SelectionListener<? extends MenuEvent> listener)
          Creates a new item.
 
Method Summary
protected  void activate(boolean autoExpand)
           
protected  void afterRender()
          Called after the component has been rendered and is attached for the first time.
protected  void deactivate()
           
protected  void doAttachChildren()
           
protected  void doDetachChildren()
           
 void expandMenu()
          Expands the item's sub menu.
protected  void expandMenu(boolean autoActivate)
           
 com.google.gwt.user.client.ui.AbstractImagePrototype getIcon()
          Returns the item's icon style.
 Menu getSubMenu()
          Returns the item's sub menu.
 java.lang.String getText()
          Returns the item's text.
 com.google.gwt.user.client.ui.Widget getWidget()
          Returns the item's widget.
protected  void onDisable()
           
protected  void onEnable()
           
protected  void onRender(com.google.gwt.user.client.Element target, int index)
          Subclasses must override and ensure setElement is called for lazy rendered components.
 void setIcon(com.google.gwt.user.client.ui.AbstractImagePrototype icon)
          Sets the item's icon style.
 void setIconStyle(java.lang.String icon)
          Sets the icon style.
 void setSubMenu(Menu menu)
          Sets the item's sub menu.
 void setText(java.lang.String text)
          Sets the item's text.
 void setWidget(com.google.gwt.user.client.ui.Widget widget)
          Sets the item's widget.
protected  boolean shouldDeactivate(ComponentEvent ce)
           
 
Methods inherited from class com.extjs.gxt.ui.client.widget.menu.Item
addSelectionListener, getActiveStyle, getHideOnClick, getParentMenu, handleClick, isCanActivate, onClick, onEscape, removeSelectionListener, setActiveStyle, setCanActivate, setHideOnClick
 
Methods inherited from class com.extjs.gxt.ui.client.widget.Component
addAttachable, addListener, addPlugin, addStyleName, addStyleOnOver, addWidgetListener, applyState, assertAfterRender, assertPreRender, beforeRender, blur, clearState, createComponentEvent, createObservable, createStyles, disable, disableContextMenu, disableEvents, disableTextSelection, el, enable, enableEvents, fireEvent, fireEvent, fireEvent, fly, focus, frame, getAriaSupport, getBaseStyle, getBorders, getContextMenu, getData, getElement, getFocusEl, getFocusSupport, getHideMode, getId, getItemId, getListeners, getModel, getObservable, getPlugins, getState, getStateId, getTabIndex, getTitle, getToolTip, getWindowResizeDelay, hasListeners, hasListeners, hide, hideToolTip, initState, isDisabledEvents, isDisableTextSelection, isEnabled, isMasked, isMonitorWindowResize, isRendered, isStateful, isVisible, isVisible, mask, mask, mask, notifyHide, notifyShow, onAttach, onBrowserEvent, onComponentEvent, onDetach, onDetachHelper, onEnsureDebugId, onHide, onHideContextMenu, onLoad, onRightClick, onShow, onShowContextMenu, onWindowResize, previewEvent, recalculate, removeAllListeners, removeAttachagle, removeFromParent, removeListener, removeStyleName, removeStyleOnOver, removeSwallow, removeToolTip, removeWidgetListener, render, render, repaint, saveState, setAriaRole, setAriaState, setAriaSupport, setBorders, setContextMenu, setData, setEl, setElement, setElement, setEnabled, setFiresEvents, setHeight, setHideMode, setId, setIntStyleAttribute, setItemId, setModel, setMonitorWindowResize, setParent, setPixelSize, setSize, setStateful, setStateId, setStyleAttribute, setStyleName, setTabIndex, setTitle, setToolTip, setToolTip, setVisible, setWidth, setWindowResizeDelay, setZIndex, show, sinkEvents, swallowEvent, swallowEvent, toString, unframe, unmask
 
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, onUnload, setLayoutData
 
Methods inherited from class com.google.gwt.user.client.ui.UIObject
addStyleDependentName, ensureDebugId, ensureDebugId, ensureDebugId, getAbsoluteLeft, getAbsoluteTop, getOffsetHeight, getOffsetWidth, getStyleElement, getStyleName, getStyleName, getStylePrimaryName, getStylePrimaryName, isVisible, removeStyleDependentName, setElement, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setVisible, sinkBitlessEvent, unsinkEvents
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

subMenu

protected Menu subMenu

itemStyle

protected java.lang.String itemStyle

icon

protected com.google.gwt.user.client.ui.AbstractImagePrototype icon

text

protected java.lang.String text

widget

protected com.google.gwt.user.client.ui.Widget widget
Constructor Detail

MenuItem

public MenuItem()
Creates a new item.


MenuItem

public MenuItem(java.lang.String text)
Creates a new item with the given text.

Parameters:
text - the item's text

MenuItem

public MenuItem(java.lang.String text,
                com.google.gwt.user.client.ui.AbstractImagePrototype icon)
Creates a new item.

Parameters:
text - the item's text
icon - the item's icon

MenuItem

public MenuItem(java.lang.String text,
                com.google.gwt.user.client.ui.AbstractImagePrototype icon,
                SelectionListener<? extends MenuEvent> listener)
Creates a new item.

Parameters:
text - the item's text
icon - the item's icon
listener - the selection listener

MenuItem

public MenuItem(java.lang.String text,
                SelectionListener<? extends MenuEvent> listener)
Creates a new item.

Parameters:
text - the item text
listener - the selection listener
Method Detail

expandMenu

public void expandMenu()
Expands the item's sub menu.


getIcon

public com.google.gwt.user.client.ui.AbstractImagePrototype getIcon()
Returns the item's icon style.

Specified by:
getIcon in interface IconSupport
Returns:
the icon style

getSubMenu

public Menu getSubMenu()
Returns the item's sub menu.

Returns:
the sub menu

getText

public java.lang.String getText()
Returns the item's text.

Returns:
the text

getWidget

public com.google.gwt.user.client.ui.Widget getWidget()
Returns the item's widget.

Returns:
the widget

setIcon

public void setIcon(com.google.gwt.user.client.ui.AbstractImagePrototype icon)
Sets the item's icon style. The style name should match a CSS style that specifies a background image using the following format:
 <code>
 .my-icon {
    background: url(images/icons/my-icon.png) no-repeat center left !important;
 }
 </code>
 

Specified by:
setIcon in interface IconSupport
Parameters:
icon - the icon

setIconStyle

public void setIconStyle(java.lang.String icon)
Description copied from interface: IconSupport
Sets the icon style.

Specified by:
setIconStyle in interface IconSupport
Parameters:
icon - a CSS style name

setSubMenu

public void setSubMenu(Menu menu)
Sets the item's sub menu.

Parameters:
menu - the sub menu

setText

public void setText(java.lang.String text)
Sets the item's text.

Parameters:
text - the text

setWidget

public void setWidget(com.google.gwt.user.client.ui.Widget widget)
Sets the item's widget.

Parameters:
widget - the widget

activate

protected void activate(boolean autoExpand)
Overrides:
activate in class Item

afterRender

protected void afterRender()
Description copied from class: Component
Called after the component has been rendered and is attached for the first time. At this time, the component will be part of the DOM which is required when retrieving location and offsets.

Overrides:
afterRender in class Component

deactivate

protected void deactivate()
Overrides:
deactivate in class Item

doAttachChildren

protected void doAttachChildren()
Overrides:
doAttachChildren in class Component

doDetachChildren

protected void doDetachChildren()
Overrides:
doDetachChildren in class Component

expandMenu

protected void expandMenu(boolean autoActivate)
Overrides:
expandMenu in class Item

onDisable

protected void onDisable()
Overrides:
onDisable in class Item

onEnable

protected void onEnable()
Overrides:
onEnable in class Item

onRender

protected void onRender(com.google.gwt.user.client.Element target,
                        int index)
Description copied from class: Component
Subclasses must override and ensure setElement is called for lazy rendered components.

Overrides:
onRender in class Component
Parameters:
target - the target element
index - the insert location

shouldDeactivate

protected boolean shouldDeactivate(ComponentEvent ce)
Overrides:
shouldDeactivate in class Item