com.smartgwt.client.widgets.menu
Class MenuItem

java.lang.Object
  extended by com.smartgwt.client.core.JsObject
      extended by com.smartgwt.client.core.DataClass
          extended by com.smartgwt.client.core.RefDataClass
              extended by com.smartgwt.client.data.Record
                  extended by com.smartgwt.client.widgets.grid.ListGridRecord
                      extended by com.smartgwt.client.widgets.menu.MenuItem
All Implemented Interfaces:
HasHandlers, HasClickHandlers
Direct Known Subclasses:
MenuItemSeparator

public class MenuItem
extends ListGridRecord
implements HasClickHandlers

Menu items are specified are object literals, not class instances. For example, when developing in JavaScript, a typical initialization block for a Menu would look like this:

 Menu.create({
     data: [
  
 {title: "item1", click: "alert(1)"},
         {title: "item2"}
     ]
 });
 
And in XML:
 <Menu>
    <data>
        <MenuItem title="item1" click="alert(1)"/>
       
 <MenuItem title="item2"/>
    </data>
 </Menu>
 


Field Summary
 
Fields inherited from class com.smartgwt.client.core.JsObject
jsObj
 
Constructor Summary
MenuItem()
           
MenuItem(JavaScriptObject jsObj)
           
MenuItem(String title)
           
MenuItem(String title, String icon)
           
MenuItem(String title, String icon, String keyTitle)
           
 
Method Summary
 HandlerRegistration addClickHandler(ClickHandler handler)
          Add a click handler.
 Boolean checkIf(Canvas target, Menu menu, MenuItem item)
          Contains the condition that will check or uncheck the curent menuItem.
 Boolean enableIf(Canvas target, Menu menu, MenuItem item)
          Contains the condition that will enable or disable the curent menuItem.
 Boolean getCanSelectParent()
          A MenuItem that has a submenu normally cannot be selected, instead clicking or hitting Enter while keyboard focus is on the item shows the submenu.
 Boolean getChecked()
          If true, this item displays a standard checkmark image to the left of its title.
 Boolean getEnabled()
          Affects the visual style and interactivity of the menu item.
 String getIcon()
          The base filename for this item's custom icon.
 int getIconHeight()
          The height applied to this item's icon.
 int getIconWidth()
          The width applied to this item's icon.
 Boolean getIsSeparator()
          When set to true, this menu item shows a horizontal separator instead of the title text.
 String getKeyTitle()
          A string to display in the shortcut-key column for this item.
static MenuItem getOrCreateRef(JavaScriptObject jsObj)
           
 Menu getSubmenu()
          A reference to another menu, to display as a submenu when the mouse cursor hovers over this menu item.
 String getTitle()
          The text displayed for the menu item
 void setCanSelectParent(Boolean canSelectParent)
          A MenuItem that has a submenu normally cannot be selected, instead clicking or hitting Enter while keyboard focus is on the item shows the submenu.
 void setChecked(Boolean checked)
          If true, this item displays a standard checkmark image to the left of its title.
 void setCheckIfCondition(MenuItemIfFunction checkIf)
          Contains the condition that will check or uncheck the curent menuItem.
 void setDynamicIconFunction(MenuItemStringFunction handler)
          Contains the condition that will change the curent items' icon when met.
 void setDynamicTitleFunction(MenuItemStringFunction handler)
          Contains the condition that will change the curent items' title when met.
 void setEnabled(Boolean enabled)
          Affects the visual style and interactivity of the menu item.
 void setEnableIfCondition(MenuItemIfFunction enableIf)
          Contains the condition that will enable or disable the curent menuItem.
 void setIcon(String icon)
          The base filename for this item's custom icon.
 void setIconHeight(int iconHeight)
          The height applied to this item's icon.
 void setIconWidth(int iconWidth)
          The width applied to this item's icon.
 void setIsSeparator(Boolean isSeparator)
          When set to true, this menu item shows a horizontal separator instead of the title text.
 void setKeys(KeyIdentifier... keys)
          Shortcut key(s) to fire the menu item action.
 void setKeyTitle(String keyTitle)
          A string to display in the shortcut-key column for this item.
 void setSubmenu(Menu submenu)
          A reference to another menu, to display as a submenu when the mouse cursor hovers over this menu item.
 void setTitle(String title)
          The text displayed for the menu item
 
Methods inherited from class com.smartgwt.client.widgets.grid.ListGridRecord
get_baseStyle, getCanAcceptDrop, getCanDrag, getCanExpand, getCustomStyle, getDetailDS, getIncludeInSummary, getIsGridSummary, getIsGroupSummary, getLinkText, getSingleCellValue, set_baseStyle, setCanAcceptDrop, setCanDrag, setCanExpand, setCustomStyle, setDetailDS, setIncludeInSummary, setIsGridSummary, setIsGroupSummary, setLinkText, setSingleCellValue
 
Methods inherited from class com.smartgwt.client.data.Record
convertToRecordArray, getAttributeAsRecordArray, getAttributeAsRecordList
 
Methods inherited from class com.smartgwt.client.core.RefDataClass
getRef, getRef
 
Methods inherited from class com.smartgwt.client.core.DataClass
doAddHandler, fireEvent, getAttribute, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDouble, getAttributeAsFloat, getAttributeAsInt, getAttributeAsIntArray, getAttributeAsJavaScriptObject, getAttributeAsMap, getAttributeAsObject, getAttributeAsString, getAttributeAsStringArray, getAttributes, getHandlerCount, getJsObj, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute
 
Methods inherited from class com.smartgwt.client.core.JsObject
isCreated, setJsObj
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.google.gwt.event.shared.HasHandlers
fireEvent
 

Constructor Detail

MenuItem

public MenuItem()

MenuItem

public MenuItem(JavaScriptObject jsObj)

MenuItem

public MenuItem(String title)

MenuItem

public MenuItem(String title,
                String icon)

MenuItem

public MenuItem(String title,
                String icon,
                String keyTitle)
Method Detail

getOrCreateRef

public static MenuItem getOrCreateRef(JavaScriptObject jsObj)

setTitle

public void setTitle(String title)
The text displayed for the menu item

Parameters:
title - title Default value is null

getTitle

public String getTitle()
The text displayed for the menu item

Returns:
String

setSubmenu

public void setSubmenu(Menu submenu)
A reference to another menu, to display as a submenu when the mouse cursor hovers over this menu item.

Parameters:
submenu - submenu Default value is null

getSubmenu

public Menu getSubmenu()
A reference to another menu, to display as a submenu when the mouse cursor hovers over this menu item.

Returns:
Menu

setCanSelectParent

public void setCanSelectParent(Boolean canSelectParent)
A MenuItem that has a submenu normally cannot be selected, instead clicking or hitting Enter while keyboard focus is on the item shows the submenu. Setting canSelectParent:true allows a menu item with a submenu to be selected directly.

Parameters:
canSelectParent - canSelectParent Default value is null

getCanSelectParent

public Boolean getCanSelectParent()
A MenuItem that has a submenu normally cannot be selected, instead clicking or hitting Enter while keyboard focus is on the item shows the submenu. Setting canSelectParent:true allows a menu item with a submenu to be selected directly.

Returns:
Boolean

setIsSeparator

public void setIsSeparator(Boolean isSeparator)
When set to true, this menu item shows a horizontal separator instead of the title text. Typically specified as the only property of a menu item, since the separator will not respond to mouse events.

Overrides:
setIsSeparator in class ListGridRecord
Parameters:
isSeparator - isSeparator Default value is false

getIsSeparator

public Boolean getIsSeparator()
When set to true, this menu item shows a horizontal separator instead of the title text. Typically specified as the only property of a menu item, since the separator will not respond to mouse events.

Overrides:
getIsSeparator in class ListGridRecord
Returns:
Boolean

setEnabled

public void setEnabled(Boolean enabled)
Affects the visual style and interactivity of the menu item. If set to false, the menu item will not respond to mouse rollovers or clicks.

If you need to set this state dynamically, use enableIf(com.smartgwt.client.widgets.Canvas, com.smartgwt.client.widgets.menu.Menu, com.smartgwt.client.widgets.menu.MenuItem) instead.

Overrides:
setEnabled in class ListGridRecord
Parameters:
enabled - enabled Default value is true

getEnabled

public Boolean getEnabled()
Affects the visual style and interactivity of the menu item. If set to false, the menu item will not respond to mouse rollovers or clicks.

If you need to set this state dynamically, use enableIf(com.smartgwt.client.widgets.Canvas, com.smartgwt.client.widgets.menu.Menu, com.smartgwt.client.widgets.menu.MenuItem) instead.

Overrides:
getEnabled in class ListGridRecord
Returns:
Boolean

setChecked

public void setChecked(Boolean checked)
If true, this item displays a standard checkmark image to the left of its title. You can set the checkmark image URL by setting checkmarkImage.

If you need to set this state dynamically, use checkIf(com.smartgwt.client.widgets.Canvas, com.smartgwt.client.widgets.menu.Menu, com.smartgwt.client.widgets.menu.MenuItem) instead.

Parameters:
checked - checked Default value is null

getChecked

public Boolean getChecked()
If true, this item displays a standard checkmark image to the left of its title. You can set the checkmark image URL by setting checkmarkImage.

If you need to set this state dynamically, use checkIf(com.smartgwt.client.widgets.Canvas, com.smartgwt.client.widgets.menu.Menu, com.smartgwt.client.widgets.menu.MenuItem) instead.

Returns:
Boolean

setIcon

public void setIcon(String icon)
The base filename for this item's custom icon. If both this property and checked are both specified, only icon specified by this property will be displayed. The path to the loaded skin directory and the skinImgDir are prepended to this filename to form the full URL.

If you need to set this state dynamically, use com.smartgwt.client.widgets.menu.MenuItem#dynamicIcon instead.

Parameters:
icon - icon Default value is null

getIcon

public String getIcon()
The base filename for this item's custom icon. If both this property and checked are both specified, only icon specified by this property will be displayed. The path to the loaded skin directory and the skinImgDir are prepended to this filename to form the full URL.

If you need to set this state dynamically, use com.smartgwt.client.widgets.menu.MenuItem#dynamicIcon instead.

Returns:
String

setIconWidth

public void setIconWidth(int iconWidth)
The width applied to this item's icon. The default of 16 can be changed for all MenuItems by overriding iconWidth.

Parameters:
iconWidth - iconWidth Default value is 16

getIconWidth

public int getIconWidth()
The width applied to this item's icon. The default of 16 can be changed for all MenuItems by overriding iconWidth.

Returns:
int

setIconHeight

public void setIconHeight(int iconHeight)
The height applied to this item's icon. The default of 16 can be changed for all MenuItems by overriding iconHeight.

Parameters:
iconHeight - iconHeight Default value is 16

getIconHeight

public int getIconHeight()
The height applied to this item's icon. The default of 16 can be changed for all MenuItems by overriding iconHeight.

Returns:
int

setKeyTitle

public void setKeyTitle(String keyTitle)
A string to display in the shortcut-key column for this item. If not specified, the first KeyName value in keys will be used by default.

Parameters:
keyTitle - keyTitle Default value is see below

getKeyTitle

public String getKeyTitle()
A string to display in the shortcut-key column for this item. If not specified, the first KeyName value in keys will be used by default.

Returns:
String

enableIf

public Boolean enableIf(Canvas target,
                        Menu menu,
                        MenuItem item)
Contains the condition that will enable or disable the curent menuItem. The handler must be specified as a function or string of script. Return false to disable the menuItem or true to enable it

If you don't need to set this state dynamically, use enabled instead.

May be defined as a 'stringMethod'.

Parameters:
target - 'target' attribute for the top level menu.
menu - Menu contains the reference to the menu that contains the current item
item - contains the reference to the current item
Returns:
Return true to show a checkmark by this menu item

checkIf

public Boolean checkIf(Canvas target,
                       Menu menu,
                       MenuItem item)
Contains the condition that will check or uncheck the curent menuItem. The handler must be specified as a function or string of script. Return false to uncheck the menuItem or true to check it

If you don't need to set this state dynamically, use checked instead.

May be defined as a 'stringMethod'.

Parameters:
target - 'target' attribute for the top level menu.
menu - Menu contains the reference to the menu that contains the current item
item - contains the reference to the current item
Returns:
Return true to show a checkmark by this menu item

addClickHandler

public HandlerRegistration addClickHandler(ClickHandler handler)
Add a click handler.

Executed when this menu item is clicked by the user. The click handler must be specified as a function or string of script. Return false to suppress the Menu.addItemClickHandler(com.smartgwt.client.widgets.menu.events.ItemClickHandler) handler if specified.

Specified by:
addClickHandler in interface HasClickHandlers
Parameters:
handler - the click handler
Returns:
HandlerRegistration used to remove this handler

setKeys

public void setKeys(KeyIdentifier... keys)
Shortcut key(s) to fire the menu item action. Each key can be defined as a KeyIdentifier. To apply multiple shortcut keys to this item, set this property to an array of such key identifiers.

Parameters:
keys - keys Default value is null

setEnableIfCondition

public void setEnableIfCondition(MenuItemIfFunction enableIf)
Contains the condition that will enable or disable the curent menuItem. The handler must be specified as a function or string of script. Return false to disable the menuItem or true to enable it

If you don't need to set this state dynamically, use enabled instead.


setCheckIfCondition

public void setCheckIfCondition(MenuItemIfFunction checkIf)
Contains the condition that will check or uncheck the curent menuItem. The handler must be specified as a function or string of script. Return false to uncheck the menuItem or true to check it

If you don't need to set this state dynamically, use checked instead.


setDynamicTitleFunction

public void setDynamicTitleFunction(MenuItemStringFunction handler)
Contains the condition that will change the curent items' title when met. The handler must be specified as a function or string of script.

If you don't need to set this state dynamically, use title instead.


setDynamicIconFunction

public void setDynamicIconFunction(MenuItemStringFunction handler)
Contains the condition that will change the curent items' icon when met. The handler must be specified as a function or string of script.

If you don't need to set this state dynamically, use icon instead.