## org.gnu.gtk
Class MenuShell

    java.lang.Object
      org.gnu.glib.Struct
          org.gnu.glib.GObject
              org.gnu.gtk.GtkObject
                  org.gnu.gtk.Widget
                      org.gnu.gtk.Container
                          org.gnu.gtk.MenuShell

Direct Known Subclasses:
  Menu, MenuBar

public abstract class MenuShell
extends Container

The MenuShell class is an abstract base class used to derive the Menu and MenuBar subclasses.

A MenuShell is a container of MenuItem objects arranged in a list which can be navigated, selected, and activated by the user to perform application functions. A MenuItem can have a submenu associated with it, allowing for nested hierarchical menus.

Method Summary
`void` `activateItem(MenuItem menuItem, boolean forceDeactivate)` Activates the MenuItem within the MenuShell.
`void` `append(MenuItem child)` Append a new MenuItem to the end of the MenuShell's item list.
`void` `cancel()` Cancels the selection within the menu shell.
`void` `deactivate()` Deactivates the MenuShell.
`void` `deselect()` Deselects the currently selected item from the MenuShell.
`boolean` `getTakeFocus()`
`static Type` `getType()` Retrieve the runtime type used by the GLib library.
`void` `insert(MenuItem child, int position)` Adds a new MenuItem to the MenuShell's item list at the requested position.
`void` `prepend(MenuItem child)` Adds a new MenuItem to the beginning of the MenuShell's item list.
`void` `selectFirst(boolean searchSensitive)` Select the first visible or selectable child of the menu shell.
`void` `selectItem(MenuItem menuItem)` Selects the MenuItem from the MenuShell.
`void` `setTakeFocus(boolean takeFocus)`

Methods inherited from class org.gnu.gtk.Container
`add, addListener, getBorderWidth, getChildren, getEventListenerClass, getEventType, getResizeMode, remove, removeListener, resizeChildren, setBorderWidth, setResizeMode`

Methods inherited from class org.gnu.gtk.Widget

`activate, addAccelerator, addEvents, addListener, addListener, addListener, addListener, addListener, addListener, addListener, addListener, addListener, addListener, addListener, canActivateAccel, createContext, createLayout, draw, drawArea, drawArea, finish, getAccessible, getColormap, getContext, getData, getDisplay, getDragData, getExtensionEvents, getModifierStyle, getName, getParent, getParentWindow, getPointer, getRootWindow, getScreen, getSensitive, getStyle, getToplevel, getWidget, getWindow, grabDefault, grabFocus, hasFocus, hasScreen, hide, hideAll, highlight, highlight, intersect, isAncestor, makeWidget, modifyStyle, popColormap, pushColormap, realize, removeAccelerator, removeListener, removeListener, removeListener, removeListener, removeListener, removeListener, removeListener, removeListener, removeListener, removeListener, removeListener, reparent, setBackgroundColor, setBaseColor, setColormap, setDoubleBuffered, setDragDestination, setDragIcon, setDragIconPixbuf, setDragIconStock, setDragSource, setEvents, setExtensionEvents, setFont, setForegroundColor, setMinimumSize, setName, setNoDragDestination, setNoDragSource, setSensitive, setTextColor, shapeCombineMask, show, showAll, unHighlight, unHighlight`

Methods inherited from class org.gnu.gtk.GtkObject
`destroy, sink`

Methods inherited from class org.gnu.glib.GObject

`addEventHandler, addEventHandler, addEventHandler, addEventHandler, addEventHandler, addEventHandler, addListener, collect, freezeNotify, getBooleanProperty, getData, getDoubleProperty, getFloatProperty, getGObjectFromHandle, getIntProperty, getJavaObjectProperty, getLongProperty, getPixbufProperty, getProperty, getStringProperty, hasProperty, notify, removeEventHandler, removeListener, setBooleanProperty, setData, setDoubleProperty, setFloatProperty, setIntProperty, setJavaObjectProperty, setLongProperty, setPixbufProperty, setProperty, setStringProperty, thawNotify`

Methods inherited from class org.gnu.glib.Struct
`equals, getHandle, getNullHandle, hashCode`

Methods inherited from class java.lang.Object
`getClass, notify, notifyAll, toString, wait, wait, wait`

Method Detail

### append

    public void append(MenuItem child)

  Append a new MenuItem to the end of the MenuShell's item list.

  Parameters:
    `child` - The MenuItem to add

### prepend

    public void prepend(MenuItem child)

  Adds a new MenuItem to the beginning of the MenuShell's item list.

  Parameters:
    `child` - The MenuItem to add.

### insert

    public void insert(MenuItem child,
                       int position)

  Adds a new MenuItem to the MenuShell's item list at the requested position.

  Parameters:
    `child` - The MenuItem to add.
    `position` - The position in the item list where `child` is added. Positions are zero based.

### deactivate

    public void deactivate()

  Deactivates the MenuShell. Typically this results in the MenuShell being erased from the screen.

### selectItem

    public void selectItem(MenuItem menuItem)

  Selects the MenuItem from the MenuShell.

  Parameters:
    `menuItem` - The MenuItem to select.

### deselect

    public void deselect()

  Deselects the currently selected item from the MenuShell.

### activateItem

    public void activateItem(MenuItem menuItem,
                             boolean forceDeactivate)

  Activates the MenuItem within the MenuShell.

  Parameters:
    `menuItem` - The MenuItem to activate.
    `forceDeactivate` - If `true`, force the deactivation of the MenuShell after the MenuItem is activated.

### selectFirst

    public void selectFirst(boolean searchSensitive)

  Select the first visible or selectable child of the menu shell. It won't select tearoff items unless the only item is a tearoff item.

  Parameters:
    `searchSensitive` - If TRUE, search for the first selectable menu item, otherwise select nothing if the first item isn't sensitive. This should be FALSE if the menu is being popped up initially.

### cancel

    public void cancel()

  Cancels the selection within the menu shell.

### getTakeFocus

    public boolean getTakeFocus()

### setTakeFocus

    public void setTakeFocus(boolean takeFocus)

### getType

    public static Type getType()

  Retrieve the runtime type used by the GLib library.