com.smartgwt.client.widgets.menu

## Class MenuButton

- java.lang.Object
- - com.google.gwt.user.client.ui.UIObject
  - - com.google.gwt.user.client.ui.Widget
    - - com.smartgwt.client.widgets.BaseWidget
      - - com.smartgwt.client.widgets.Canvas
        - - com.smartgwt.client.widgets.StatefulCanvas
          - - com.smartgwt.client.widgets.Button
            - - com.smartgwt.client.widgets.menu.MenuButton

- All Implemented Interfaces:
    HasAttachHandlers, HasHandlers, EventListener, HasVisibility, IsWidget, LogicalStructure, HasClickHandlers, HasDoubleClickHandlers, HasDragMoveHandlers, HasDragRepositionMoveHandlers, HasDragRepositionStartHandlers, HasDragRepositionStopHandlers, HasDragResizeMoveHandlers, HasDragResizeStartHandlers, HasDragResizeStopHandlers, HasDragStartHandlers, HasDragStopHandlers, HasDropHandlers, HasDropMoveHandlers, HasDropOutHandlers, HasDropOverHandlers, HasFocusChangedHandlers, HasHoverHandlers, HasHoverHiddenHandlers, HasIconClickHandlers, HasKeyDownHandlers, HasKeyPressHandlers, HasMouseDownHandlers, HasMouseMoveHandlers, HasMouseOutHandlers, HasMouseOverHandlers, HasMouseStillDownHandlers, HasMouseUpHandlers, HasMouseWheelHandlers, HasMovedHandlers, HasParentMovedHandlers, HasResizedHandlers, HasRightMouseDownHandlers, HasScrolledHandlers, HasShowContextMenuHandlers, HasTitleHoverHandlers, HasVisibilityChangedHandlers
  Direct Known Subclasses:
    TreeMenuButton

      public class MenuButton
      extends Button

  Simple subclass of button associated with a menu widget (gets shown below the button).

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.UIObject

      `UIObject.DebugIdImpl, UIObject.DebugIdImplEnabled`

  - ### Field Summary

    - ### Fields inherited from class com.smartgwt.client.widgets.BaseWidget

      `config, configOnly, factoryCreated, factoryProperties, id, nativeObject, scClassName`

    - ### Fields inherited from class com.google.gwt.user.client.ui.UIObject

      `DEBUG_ID_PREFIX`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `MenuButton()`
    `MenuButton(JavaScriptObject jsObj)`
    `MenuButton(java.lang.String title)`
    `MenuButton(java.lang.String title, Menu menu)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static void` | `changeAutoChildDefaults(java.lang.String autoChildName, Canvas defaults)` Changes the defaults for Canvas AutoChildren named `autoChildName`.
    `static void` | `changeAutoChildDefaults(java.lang.String autoChildName, FormItem defaults)` Changes the defaults for FormItem AutoChildren named `autoChildName`.
    `protected JavaScriptObject` | `create()`
    `java.lang.Boolean` | `getAutoDestroyMenu()` If this menuButton is `destroyed`, should it also destroy its `menu`?
    `java.lang.String` | `getEditProxyConstructor()` Default class used to construct the `EditProxy` for this component when the component is `first placed into edit mode`.
    `java.lang.Boolean` | `getHiliteAccessKey()` If this MenuButton has a specified `accessKey`, underline it in the title of the button by default
    `com.smartgwt.logicalstructure.core.LogicalStructureObject` | `getLogicalStructure()` Getter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
    `Menu` | `getMenu()` The menu to show.
    `java.lang.String` | `getMenuAnimationEffect()` Allows you to specify an animation effect to apply to the menu when it is being shown.
    `java.lang.String` | `getMenuButtonImage()` Image for menu button indicating that the button expands a menu.
    `java.lang.String` | `getMenuButtonImageUp()` Image for menu button indicating that the button expands a menu.
    `static MenuButton` | `getOrCreateRef(JavaScriptObject jsObj)`
    `int` | `getRollOverMenuHideDelay()` When `showMenuOnRollOver` is true, this is the delay in milliseconds before the menu is automatically hidden following mouseOut.
    `java.lang.Boolean` | `getShowMenuBelow()` The menu drops down below the menu button.
    `java.lang.Boolean` | `getShowMenuButtonImage()` Show menu button image (up / down arrowhead) for this menu button.
    `java.lang.Boolean` | `getShowMenuOnRollOver()` When set to true, show the menu automatically when the mouse moves over the button.
    `java.lang.String` | `getTitle()` Default title for the button.
    `void` | `setAutoDestroyMenu(java.lang.Boolean autoDestroyMenu)` If this menuButton is `destroyed`, should it also destroy its `menu`?
    `static void` | `setDefaultProperties(MenuButton menuButtonProperties)` Class level method to set the default properties of this class.
    `void` | `setEditProxyConstructor(java.lang.String editProxyConstructor)` Default class used to construct the `EditProxy` for this component when the component is `first placed into edit mode`.
    `void` | `setHiliteAccessKey(java.lang.Boolean hiliteAccessKey)` If this MenuButton has a specified `accessKey`, underline it in the title of the button by default
    `com.smartgwt.logicalstructure.core.LogicalStructureObject` | `setLogicalStructure(com.smartgwt.logicalstructure.widgets.menu.MenuButtonLogicalStructure s)` Setter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
    `void` | `setMenu(Menu menu)` The menu to show.
    `void` | `setMenuAnimationEffect(java.lang.String menuAnimationEffect)` Allows you to specify an animation effect to apply to the menu when it is being shown.
    `void` | `setMenuButtonImage(java.lang.String menuButtonImage)` Image for menu button indicating that the button expands a menu.
    `void` | `setMenuButtonImageUp(java.lang.String menuButtonImageUp)` Image for menu button indicating that the button expands a menu.
    `void` | `setRollOverMenuHideDelay(int rollOverMenuHideDelay)` When `showMenuOnRollOver` is true, this is the delay in milliseconds before the menu is automatically hidden following mouseOut.
    `void` | `setShowMenuBelow(java.lang.Boolean showMenuBelow)` The menu drops down below the menu button.
    `void` | `setShowMenuButtonImage(java.lang.Boolean showMenuButtonImage)` Show menu button image (up / down arrowhead) for this menu button.
    `void` | `setShowMenuOnRollOver(java.lang.Boolean showMenuOnRollOver)` When set to true, show the menu automatically when the mouse moves over the button.
    `void` | `setTitle(java.lang.String title)` Default title for the button.
    `void` | `showMenu()` Programmaticly forces this MenuButton to show it's menu.

    - ### Methods inherited from class com.smartgwt.client.widgets.Button

      `action, addIconClickHandler, addTitleHoverHandler, addToRadioGroup, deselect, getActionType, getAlign, getAutoFit, getBaseStyle, getDisabledIconCursor, getIcon, getIconAlign, getIconCursor, getIconHeight, getIconOrientation, getIconSize, getIconStyle, getIconWidth, getRadioGroup, getSelected, getShowClippedTitleOnHover, getShowDisabled, getShowDisabledIcon, getShowDown, getShowDownIcon, getShowFocused, getShowFocusedIcon, getShowRollOver, getShowRollOverIcon, getShowSelectedIcon, getState, getValign, getWrap, isSelected, removeFromRadioGroup, removeFromRadioGroup, select, setActionType, setAlign, setAutoFit, setBaseStyle, setDefaultProperties, setDisabledIconCursor, setIcon, setIconAlign, setIconCursor, setIconHeight, setIconOrientation, setIconSize, setIconStyle, setIconWidth, setLogicalStructure, setRadioGroup, setSelected, setShowClippedTitleOnHover, setShowDisabled, setShowDisabledIcon, setShowDown, setShowDownIcon, setShowFocused, setShowFocusedIcon, setShowRollOver, setShowRollOverIcon, setShowSelectedIcon, setState, setTitleHoverFormatter, setValign, setWrap, titleClipped, titleHoverHTML`

    - ### Methods inherited from class com.smartgwt.client.widgets.StatefulCanvas

      `getIgnoreRTL, getOverCanvas, getOverCanvasConstructor, getRedrawOnStateChange, getShowFocusedAsOver, getShowOverCanvas, getShowRTLIcon, getStateSuffix, setDefaultProperties, setIgnoreRTL, setLogicalStructure, setOverCanvasConstructor, setRedrawOnStateChange, setShowFocusedAsOver, setShowOverCanvas, setShowRTLIcon, setTitleStyle`

    - ### Methods inherited from class com.smartgwt.client.widgets.Canvas

      `addChild, addChild, addChild, addChild, addChild, addClickHandler, addDoubleClickHandler, addDragMoveHandler, addDragRepositionMoveHandler, addDragRepositionStartHandler, addDragRepositionStopHandler, addDragResizeMoveHandler, addDragResizeStartHandler, addDragResizeStopHandler, addDragStartHandler, addDragStopHandler, addDropHandler, addDropMoveHandler, addDropOutHandler, addDropOverHandler, addFocusChangedHandler, addHoverHandler, addHoverHiddenHandler, addKeyDownHandler, addKeyPressHandler, addMouseDownHandler, addMouseMoveHandler, addMouseOutHandler, addMouseOverHandler, addMouseStillDownHandler, addMouseUpHandler, addMouseWheelHandler, addMovedHandler, addParentMovedHandler, addPeer, addPeer, addPeer, addPeer, addResizedHandler, addRightMouseDownHandler, addScrolledHandler, addShowContextMenuHandler, addStyleName, addVisibilityChangedHandler, adjustForContent, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateHide, animateHide, animateHide, animateMove, animateMove, animateMove, animateMove, animateRect, animateRect, animateRect, animateRect, animateResize, animateResize, animateResize, animateResize, animateScroll, animateScroll, animateScroll, animateScroll, animateScroll, animateScroll, animateShow, animateShow, animateShow, animateShow, animateShow, animateShow, asSGWTComponent, blur, bringToFront, clear, clickMaskUp, clickMaskUp, contains, contains, containsEvent, containsFocus, containsPoint, containsPoint, deparent, depeer, disable, enable, encloses, focus, focusInNextTabElement, focusInPreviousTabElement, getAbsoluteLeft, getAbsoluteTop, getAccessKey, getAlwaysShowScrollbars, getAnimateAcceleration, getAnimateFadeTime, getAnimateHideAcceleration, getAnimateHideTime, getAnimateMoveAcceleration, getAnimateMoveTime, getAnimateRectAcceleration, getAnimateRectTime, getAnimateResizeAcceleration, getAnimateResizeTime, getAnimateScrollAcceleration, getAnimateScrollTime, getAnimateShowAcceleration, getAnimateShowEffect, getAnimateShowTime, getAnimateTime, getAppImgDir, getAriaRole, getAutoDraw, getAutoMaskComponents, getAutoShowParent, getBackgroundColor, getBackgroundImage, getBackgroundPosition, getBackgroundRepeat, getBorder, getBottom, getById, getByJSObject, getByLocalId, getCanAcceptDrop, getCanDrag, getCanDragReposition, getCanDragResize, getCanDragScroll, getCanDrop, getCanDropBefore, getCanFocus, getCanHover, getCanSelectText, getCanvasAutoChild, getCanvasItem, getChildren, getChildrenSnapResizeToGrid, getChildrenSnapToGrid, getClassName, getComponentMask, getComponentMaskDefaults, getContentElement, getContents, getContextMenu, getCursor, getDataPath, getDefaultHeight, getDefaultWidth, getDestroyed, getDestroying, getDisabled, getDisabledCursor, getDisableTouchScrollingForDrag, getDoubleClickDelay, getDragAppearance, getDragIntersectStyle, getDragMaskType, getDragOpacity, getDragRepositionAppearance, getDragRepositionCursor, getDragResizeAppearance, getDragScrollDelay, getDragStartDistance, getDragTarget, getDragType, getDropTypes, getDropTypesAsString, getDynamicContents, getEdgeBackgroundColor, getEdgeCenterBackgroundColor, getEdgeImage, getEdgeMarginSize, getEdgeOffset, getEdgeOpacity, getEdgeShowCenter, getEdgeSize, getEditNode, getEditProxy, getElement, getElement, getEventEdge, getEventEdge, getExtraSpace, getFacetId, getFormItemAutoChild, getFullDataPath, getGroupBorderCSS, getGroupLabelBackgroundColor, getGroupLabelStyleName, getGroupTitle, getHeight, getHeightAsString, getHideUsingDisplayNone, getHoverAlign, getHoverAutoDestroy, getHoverComponent, getHoverDelay, getHoverHeight, getHoverHTML, getHoverMoveWithMouse, getHoverOpacity, getHoverStyle, getHoverVAlign, getHoverWidth, getHoverWrap, getHSnapOrigin, getHSnapOrigin, getHSnapPosition, getHSnapPosition, getHtmlElement, getHtmlPosition, getImage, getImgURL, getImgURL, getInnerContentHeight, getInnerContentWidth, getInnerHeight, getInnerWidth, getIsGroup, getKeepInParentRect, getLayoutAlign, getLeavePageSpace, getLeft, getLeftAsString, getLocateChildrenBy, getLocateChildrenType, getLocatePeersBy, getLocatePeersType, getMargin, getMasterCanvas, getMasterElement, getMatchElement, getMaxHeight, getMaxWidth, getMenuConstructor, getMinHeight, getMinNonEdgeSize, getMinWidth, getMomentumScrollMinSpeed, getMouseStillDownDelay, getMouseStillDownInitialDelay, getNextZIndex, getNoDoubleClicks, getOffsetHeight, getOffsetWidth, getOffsetX, getOffsetY, getOpacity, getOuterElement, getOverflow, getPadding, getPageBottom, getPageLeft, getPageRect, getPageRight, getPageTop, getParentCanvas, getParentElement, getPeers, getPercentBox, getPercentSource, getPosition, getPrefix, getPrintChildrenAbsolutelyPositioned, getPrintHTML, getPrintHTML, getPrompt, getProportionalResizeModifiers, getProportionalResizing, getRect, getRedrawOnResize, getResizeBarTarget, getResizeFrom, getRight, getScrollbarSize, getScrollBottom, getScrollHeight, getScrollLeft, getScrollRight, getScrollTop, getScrollWidth, getShadowDepth, getShadowImage, getShadowOffset, getShadowSoftness, getShouldPrint, getShowCustomScrollbars, getShowDragShadow, getShowEdges, getShowHover, getShowHoverComponents, getShowResizeBar, getShowShadow, getShowSnapGrid, getShrinkElementOnHide, getSkinImgDir, getSnapAxis, getSnapEdge, getSnapHDirection, getSnapHGap, getSnapOffsetLeft, getSnapOffsetTop, getSnapOnDrop, getSnapResizeToGrid, getSnapTo, getSnapToGrid, getSnapVDirection, getSnapVGap, getStyleName, getTabIndex, getTestInstance, getTooltip, getTop, getTopAsString, getTopElement, getUseBackMask, getUseDragMask, getUseNativeDrag, getUseOpacityFilter, getUseTouchScrolling, getValuesManager, getViewportHeight, getViewportWidth, getVisibility, getVisibleHeight, getVisibleWidth, getVSnapOrigin, getVSnapOrigin, getVSnapPosition, getVSnapPosition, getWidth, getWidthAsString, getZIndex, getZIndex, handleHover, hide, hideClickMask, hideClickMask, hideComponentMask, hideContextMenu, imgHTML, imgHTML, imgHTML, intersects, isDirty, isDisabled, isDrawn, isFocused, isVisible, keyUp, layoutChildren, linkHTML, linkHTML, linkHTML, linkHTML, linkHTML, linkHTML, markForDestroy, markForRedraw, markForRedraw, moveAbove, moveBelow, moveBy, moveTo, onAttach, onDetach, onInit, parentResized, printComponents, redraw, redraw, removeChild, removeChild, removePeer, removePeer, resizeBy, resizeTo, resizeTo, scrollBy, scrollByPercent, scrollTo, scrollTo, scrollTo, scrollToBottom, scrollToLeft, scrollToPercent, scrollToRight, scrollToTop, sendToBack, setAccessKey, setAllowExternalFilters, setAlwaysShowScrollbars, setAnimateAcceleration, setAnimateFadeTime, setAnimateHideAcceleration, setAnimateHideTime, setAnimateMoveAcceleration, setAnimateMoveTime, setAnimateRectAcceleration, setAnimateRectTime, setAnimateResizeAcceleration, setAnimateResizeTime, setAnimateScrollAcceleration, setAnimateScrollTime, setAnimateShowAcceleration, setAnimateShowEffect, setAnimateShowTime, setAnimateTime, setAppImgDir, setAriaRole, setAriaState, setAutoChildConstructor, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildVisibility, setAutoDraw, setAutoHeight, setAutoMaskComponents, setAutoShowParent, setAutoWidth, setBackgroundColor, setBackgroundImage, setBackgroundPosition, setBackgroundRepeat, setBorder, setBottom, setCanAcceptDrop, setCanDrag, setCanDragReposition, setCanDragResize, setCanDragScroll, setCanDrop, setCanDropBefore, setCanFocus, setCanHover, setCanSelectText, setChildren, setChildrenSnapResizeToGrid, setChildrenSnapToGrid, setComponentMaskDefaults, setContents, setContextMenu, setCursor, setDataPath, setDefaultHeight, setDefaultPageSpace, setDefaultProperties, setDefaultWidth, setDisabled, setDisabledCursor, setDisableTouchScrollingForDrag, setDoubleClickDelay, setDragAppearance, setDragIntersectStyle, setDragMaskType, setDragOpacity, setDragRepositionAppearance, setDragRepositionCursor, setDragResizeAppearance, setDragScrollDelay, setDragStartDistance, setDragTarget, setDragType, setDropTypes, setDropTypes, setDynamicContents, setEdgeBackgroundColor, setEdgeCenterBackgroundColor, setEdgeImage, setEdgeMarginSize, setEdgeOffset, setEdgeOpacity, setEdgeShowCenter, setEdgeSize, setEditMode, setEditMode, setEditMode, setElement, setExtraSpace, setFacetId, setGroupBorderCSS, setGroupLabelBackgroundColor, setGroupLabelStyleName, setGroupTitle, setHeight, setHeight, setHeight, setHeight100, setHideUsingDisplayNone, setHoverAlign, setHoverAutoDestroy, setHoverDelay, setHoverHeight, setHoverMoveWithMouse, setHoverOpacity, setHoverStyle, setHoverVAlign, setHoverWidth, setHoverWrap, setHtmlElement, setHtmlPosition, setImage, setImage, setInitHandler, setIsGroup, setKeepInParentRect, setKeepInParentRect, setKeepInParentRect, setLayoutAlign, setLayoutAlign, setLeavePageSpace, setLeft, setLeft, setLocateChildrenBy, setLocateChildrenType, setLocatePeersBy, setLocatePeersType, setLogicalStructure, setMargin, setMatchElement, setMaxHeight, setMaxWidth, setMenuConstructor, setMinHeight, setMinNonEdgeSize, setMinWidth, setMomentumScrollMinSpeed, setMouseStillDownDelay, setMouseStillDownInitialDelay, setNeverUseFilters, setNoDoubleClicks, setOpacity, setOverflow, setPadding, setPageLeft, setPageTop, setParentCanvas, setParentElement, setPeers, setPercentBox, setPercentSource, setPosition, setPrefix, setPrintChildrenAbsolutelyPositioned, setPrompt, setProportionalResizeModifiers, setProportionalResizing, setRect, setRect, setRedrawOnResize, setResizeBarTarget, setResizeFrom, setResizeFrom, setRight, setScrollbarConstructor, setScrollbarSize, setShadowDepth, setShadowImage, setShadowOffset, setShadowSoftness, setShouldPrint, setShowCustomScrollbars, setShowDragShadow, setShowEdges, setShowHover, setShowHoverComponents, setShowResizeBar, setShowShadow, setShowSnapGrid, setShrinkElementOnHide, setSkinImgDir, setSmoothFade, setSnapAxis, setSnapEdge, setSnapHDirection, setSnapHGap, setSnapOffsetLeft, setSnapOffsetTop, setSnapOnDrop, setSnapResizeToGrid, setSnapTo, setSnapToGrid, setSnapVDirection, setSnapVGap, setStyleName, setTabIndex, setTooltip, setTop, setTop, setUseBackMask, setUseDragMask, setUseNativeDrag, setUseOpacityFilter, setUseTouchScrolling, setValuesManager, setVisibility, setVisible, setWidth, setWidth, setWidth, setWidth100, setZIndex, shouldDragScroll, show, showClickMask, showComponentMask, showComponentMask, showNextTo, showNextTo, showNextTo, showNextTo, showPrintPreview, showPrintPreview, showPrintPreview, showPrintPreview, showRecursively, updateEditNode, updateHover, updateHover, updateShadow, visibleAtPoint, willAcceptDrop`

    - ### Methods inherited from class com.smartgwt.client.widgets.BaseWidget

      `addDrawHandler, applyFactoryProperties, destroy, doAddHandler, doInit, doOnRender, draw, equals, error, errorIfNotCreated, getAttribute, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDateArray, getAttributeAsDouble, getAttributeAsElement, getAttributeAsFloat, getAttributeAsFloatArray, getAttributeAsInt, getAttributeAsIntArray, getAttributeAsJavaScriptObject, getAttributeAsMap, getAttributeAsRecord, getAttributeAsString, getAttributeAsStringArray, getConfig, getDOM, getHandlerCount, getID, getInnerHTML, getJsObj, getOrCreateJsObj, getRef, getScClassName, hasAutoAssignedID, hashCode, initNativeObject, internalSetID, internalSetID, isConfigOnly, isCreated, isFactoryCreated, onBind, onDestroy, onDraw, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setConfig, setConfigOnly, setDragTracker, setFactoryCreated, setID, setJavaScriptObject, setLogicalStructure, setNullProperty, setPosition, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setScClassName, toString`

    - ### Methods inherited from class com.google.gwt.user.client.ui.Widget

      `addAttachHandler, addBitlessDomHandler, addDomHandler, addHandler, asWidget, asWidgetOrNull, createHandlerManager, delegateEvent, doAttachChildren, doDetachChildren, fireEvent, getLayoutData, getParent, isAttached, isOrWasAttached, onBrowserEvent, onLoad, onUnload, removeFromParent, setLayoutData, sinkEvents`

    - ### Methods inherited from class com.google.gwt.user.client.ui.UIObject

      `addStyleDependentName, ensureDebugId, ensureDebugId, ensureDebugId, getStyleElement, getStyleName, getStylePrimaryName, getStylePrimaryName, isVisible, onEnsureDebugId, removeStyleDependentName, removeStyleName, resolvePotentialElement, setElement, setPixelSize, setSize, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setVisible, sinkBitlessEvent, unsinkEvents`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface com.google.gwt.event.shared.HasHandlers

      `fireEvent`

- - ### Constructor Detail

    - #### MenuButton

          public MenuButton()

    - #### MenuButton

          public MenuButton(JavaScriptObject jsObj)

    - #### MenuButton

          public MenuButton(java.lang.String title)

    - #### MenuButton

          public MenuButton(java.lang.String title,
                    Menu menu)

  - ### Method Detail

    - #### getOrCreateRef

          public static MenuButton getOrCreateRef(JavaScriptObject jsObj)

    - #### changeAutoChildDefaults

          public static void changeAutoChildDefaults(java.lang.String autoChildName,
                                     Canvas defaults)

      Changes the defaults for Canvas AutoChildren named `autoChildName`.
      Parameters:
        `autoChildName` - name of an AutoChild to customize the defaults for.
        `defaults` - Canvas defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties.
      See Also:
        `AutoChildUsage`

    - #### changeAutoChildDefaults

          public static void changeAutoChildDefaults(java.lang.String autoChildName,
                                     FormItem defaults)

      Changes the defaults for FormItem AutoChildren named `autoChildName`.
      Parameters:
        `autoChildName` - name of an AutoChild to customize the defaults for.
        `defaults` - FormItem defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties.
      See Also:
        `AutoChildUsage`

    - #### create

          protected JavaScriptObject create()

      Overrides:
        `create` in class `Button`

    - #### setAutoDestroyMenu

          public void setAutoDestroyMenu(java.lang.Boolean autoDestroyMenu)

      If this menuButton is `destroyed`, should it also destroy its `menu`?
      Parameters:
        `autoDestroyMenu` - Default value is true

    - #### getAutoDestroyMenu

          public java.lang.Boolean getAutoDestroyMenu()

      If this menuButton is `destroyed`, should it also destroy its `menu`?
      Returns:
        Boolean

    - #### setEditProxyConstructor

          public void setEditProxyConstructor(java.lang.String editProxyConstructor)
                                       throws java.lang.IllegalStateException

      Default class used to construct the `EditProxy` for this component when the component is `first placed into edit mode`.
      Overrides:
        `setEditProxyConstructor` in class `StatefulCanvas`
      Parameters:
        `editProxyConstructor` - See `SCClassName` . Default value is "MenuEditEditProxy"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getEditProxyConstructor

          public java.lang.String getEditProxyConstructor()

      Default class used to construct the `EditProxy` for this component when the component is `first placed into edit mode`.
      Overrides:
        `getEditProxyConstructor` in class `StatefulCanvas`
      Returns:
        See `SCClassName`

    - #### setHiliteAccessKey

          public void setHiliteAccessKey(java.lang.Boolean hiliteAccessKey)
                                  throws java.lang.IllegalStateException

      If this MenuButton has a specified `accessKey`, underline it in the title of the button by default
      Overrides:
        `setHiliteAccessKey` in class `Button`
      Parameters:
        `hiliteAccessKey` - Default value is true
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getHiliteAccessKey

          public java.lang.Boolean getHiliteAccessKey()

      If this MenuButton has a specified `accessKey`, underline it in the title of the button by default
      Overrides:
        `getHiliteAccessKey` in class `Button`
      Returns:
        Boolean

    - #### setMenu

          public void setMenu(Menu menu)

      The menu to show.

      For a menu button with no menu (menu: null) the up/down arrow image can be suppressed by setting `showMenuButtonImage`: `false`.

      Parameters:
        `menu` - Default value is null

    - #### getMenu

          public Menu getMenu()

      The menu to show.

      For a menu button with no menu (menu: null) the up/down arrow image can be suppressed by setting `showMenuButtonImage`: `false`.

      Returns:
        Menu

    - #### setMenuAnimationEffect

          public void setMenuAnimationEffect(java.lang.String menuAnimationEffect)

      Allows you to specify an animation effect to apply to the menu when it is being shown. Valid options are "none" (no animation), "fade", "slide" and "wipe". If unspecified falls through to `menu.showAnimationEffect`

      Note : This is an advanced setting

      Parameters:
        `menuAnimationEffect` - Default value is null

    - #### getMenuAnimationEffect

          public java.lang.String getMenuAnimationEffect()

      Allows you to specify an animation effect to apply to the menu when it is being shown. Valid options are "none" (no animation), "fade", "slide" and "wipe". If unspecified falls through to `menu.showAnimationEffect`
      Returns:
        String

    - #### setMenuButtonImage

          public void setMenuButtonImage(java.lang.String menuButtonImage)
                                  throws java.lang.IllegalStateException

      Image for menu button indicating that the button expands a menu. This image is shown for menus expanding down from the button. Menu direction is controlled by `showMenuBelow`.

      Note : This is an advanced setting

      Parameters:
        `menuButtonImage` - See `SCImgURL` . Default value is "[SKIN]menu_button.gif"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `setMenuButtonImageUp(java.lang.String)`

    - #### getMenuButtonImage

          public java.lang.String getMenuButtonImage()

      Image for menu button indicating that the button expands a menu. This image is shown for menus expanding down from the button. Menu direction is controlled by `showMenuBelow`.
      Returns:
        See `SCImgURL`
      See Also:
        `getMenuButtonImageUp()`

    - #### setMenuButtonImageUp

          public void setMenuButtonImageUp(java.lang.String menuButtonImageUp)
                                    throws java.lang.IllegalStateException

      Image for menu button indicating that the button expands a menu. This image is shown for menus expanding up from the button. Menu direction is controlled by `showMenuBelow`.

      Note : This is an advanced setting

      Parameters:
        `menuButtonImageUp` - See `SCImgURL` . Default value is "[SKIN]menu_button_up.gif"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `setMenuButtonImage(java.lang.String)`

    - #### getMenuButtonImageUp

          public java.lang.String getMenuButtonImageUp()

      Image for menu button indicating that the button expands a menu. This image is shown for menus expanding up from the button. Menu direction is controlled by `showMenuBelow`.
      Returns:
        See `SCImgURL`
      See Also:
        `getMenuButtonImage()`

    - #### setRollOverMenuHideDelay

          public void setRollOverMenuHideDelay(int rollOverMenuHideDelay)
                                        throws java.lang.IllegalStateException

      When `showMenuOnRollOver` is true, this is the delay in milliseconds before the menu is automatically hidden following mouseOut.

      Note : This is an advanced setting

      Parameters:
        `rollOverMenuHideDelay` - Default value is 200
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `Appearance overview and related methods`

    - #### getRollOverMenuHideDelay

          public int getRollOverMenuHideDelay()

      When `showMenuOnRollOver` is true, this is the delay in milliseconds before the menu is automatically hidden following mouseOut.
      Returns:
        int
      See Also:
        `Appearance overview and related methods`

    - #### setShowMenuBelow

          public void setShowMenuBelow(java.lang.Boolean showMenuBelow)

      The menu drops down below the menu button. Set to false if the menu should appear above the menu button.
      If this method is called after the component has been drawn/initialized: Setter for the 'showMenuButtonBelow' property - determines whether the menu will be shown above or below the menubutton.
      Parameters:
        `showMenuBelow` - True if the menu should be shown below the menubutton.. Default value is true

    - #### getShowMenuBelow

          public java.lang.Boolean getShowMenuBelow()

      The menu drops down below the menu button. Set to false if the menu should appear above the menu button.
      Returns:
        Boolean

    - #### setShowMenuButtonImage

          public void setShowMenuButtonImage(java.lang.Boolean showMenuButtonImage)
                                      throws java.lang.IllegalStateException

      Show menu button image (up / down arrowhead) for this menu button.
      If this method is called after the component has been drawn/initialized: Setter for the 'showMenuButtonImage' property - shows/hides the menu button image at runtime.
      Parameters:
        `showMenuButtonImage` - Should the image be shown. Default value is true
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getShowMenuButtonImage

          public java.lang.Boolean getShowMenuButtonImage()

      Show menu button image (up / down arrowhead) for this menu button.
      Returns:
        Boolean

    - #### setShowMenuOnRollOver

          public void setShowMenuOnRollOver(java.lang.Boolean showMenuOnRollOver)
                                     throws java.lang.IllegalStateException

      When set to true, show the menu automatically when the mouse moves over the button.

      Note : This is an advanced setting

      Parameters:
        `showMenuOnRollOver` - Default value is false
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `Appearance overview and related methods`

    - #### getShowMenuOnRollOver

          public java.lang.Boolean getShowMenuOnRollOver()

      When set to true, show the menu automatically when the mouse moves over the button.
      Returns:
        Boolean
      See Also:
        `Appearance overview and related methods`

    - #### setTitle

          public void setTitle(java.lang.String title)

      Default title for the button.
      Overrides:
        `setTitle` in class `Button`
      Parameters:
        `title` - Default value is "Show Menu"
      See Also:
        `Basics overview and related methods`, States Example

    - #### getTitle

          public java.lang.String getTitle()

      Default title for the button.
      Overrides:
        `getTitle` in class `Button`
      Returns:
        String
      See Also:
        `Basics overview and related methods`, States Example

    - #### showMenu

          public void showMenu()

      Programmaticly forces this MenuButton to show it's menu.

    - #### setDefaultProperties

          public static void setDefaultProperties(MenuButton menuButtonProperties)

      Class level method to set the default properties of this class. If set, then all existing and subsequently created instances of this class will automatically have default properties corresponding to the properties set on the SmartGWT class instance passed to this function before its underlying SmartClient JS object was created. This is a powerful feature that eliminates the need for users to create a separate hierarchy of subclasses that only alter the default properties of this class. Can also be used for skinning / styling purposes.

      Note: This method is intended for setting default attributes only and will affect all instances of the underlying class (including those automatically generated in JavaScript). This method should not be used to apply standard EventHandlers or override methods for a class - use a custom subclass instead. Calling this method after instances have been created can result in undefined behavior, since it bypasses any setters and a class instance may have already examined a particular property and not be expecting any changes through this route.

      Parameters:
        `menuButtonProperties` - properties that should be used as new defaults when instances of this class are created

    - #### setLogicalStructure

          public com.smartgwt.logicalstructure.core.LogicalStructureObject setLogicalStructure(com.smartgwt.logicalstructure.widgets.menu.MenuButtonLogicalStructure s)

      Setter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.

    - #### getLogicalStructure

          public com.smartgwt.logicalstructure.core.LogicalStructureObject getLogicalStructure()

      Getter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
      Specified by:
        `getLogicalStructure` in interface `LogicalStructure`
      Overrides:
        `getLogicalStructure` in class `Button`