<Type Name="MenuShell" FullName="Gtk.MenuShell">
  <TypeSignature Language="C#" Maintainer="Hector Gomez M" Value="public class MenuShell : Gtk.Container" />
  <AssemblyInfo>
    <AssemblyName>gtk-sharp</AssemblyName>
    <AssemblyPublicKey>
    </AssemblyPublicKey>
    <AssemblyVersion>2.12.0.0</AssemblyVersion>
  </AssemblyInfo>
  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
  <Docs>
    <summary>A GtkMenuShell is the abstract base class used to derive the GtkMenu and GtkMenuBar subclasses.</summary>
    <remarks>
      <para>
      A <see cref="T:Gtk.MenuShell" /> is a container of <see cref="T:Gtk.MenuItem" /> objects arranged in a list which can be navigated, selected, and activated by the user to perform application functions. A <see cref="T:Gtk.MenuItem" /> can have a submenu associated with it, allowing for nested hierarchical menus.
     </para>
    </remarks>
  </Docs>
  <Base>
    <BaseTypeName>Gtk.Container</BaseTypeName>
  </Base>
  <Interfaces>
  </Interfaces>
  <Members>
    <Member MemberName="Prepend">
      <MemberSignature Language="C#" Value="public void Prepend (Gtk.Widget child);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="child" Type="Gtk.Widget" />
      </Parameters>
      <Docs>
        <summary>Adds a new <see cref="T:Gtk.MenuItem" /> to the beginning of the menu shell's item list.</summary>
        <param name="child">The <see cref="T:Gtk.MenuItem" /> to add.</param>
        <remarks>Activates the menu item within the menu shell.
         <para>
          Adds a new <see cref="T:Gtk.MenuItem" /> to the beginning of the menu shell's item list.
         </para></remarks>
      </Docs>
    </Member>
    <Member MemberName="Deactivate">
      <MemberSignature Language="C#" Value="public void Deactivate ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Deactivates the menu shell.</summary>
        <remarks>
          <para>
          Typically this results in the menu shell being erased from the screen.
         </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="ActivateItem">
      <MemberSignature Language="C#" Value="public void ActivateItem (Gtk.Widget menu_item, bool force_deactivate);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="menu_item" Type="Gtk.Widget" />
        <Parameter Name="force_deactivate" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <summary>Activates the menu item within the menu shell.</summary>
        <param name="menu_item">The <see cref="T:Gtk.MenuItem" /> to activate.</param>
        <param name="force_deactivate">If <see langword="true" />, force the deactivation of the menu shell after the menu item is activated.</param>
        <remarks>
          <para>
          Activates the menu item within the menu shell.
         </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="Insert">
      <MemberSignature Language="C#" Value="public void Insert (Gtk.Widget child, int position);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="child" Type="Gtk.Widget" />
        <Parameter Name="position" Type="System.Int32" />
      </Parameters>
      <Docs>
        <summary>Adds a new <see cref="T:Gtk.MenuItem" /> to the menu shell's item list at the position indicated by <paramref name="position" />.</summary>
        <param name="child">The <see cref="T:Gtk.MenuItem" /> to add.</param>
        <param name="position">The position in the item list where <paramref name="child" /> is added. Positions are numbered from 0 to n-1.</param>
        <remarks>
          <para>
          Adds a new <see cref="T:Gtk.MenuItem" /> to the menu shell's item list at the position indicated by position.
         </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="Deselect">
      <MemberSignature Language="C#" Value="public void Deselect ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Deselects the currently selected item from the menu shell, if any.</summary>
        <remarks>
          <para>
          Deselects the currently selected item from the menu shell, if any.
         </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="Append">
      <MemberSignature Language="C#" Value="public void Append (Gtk.Widget child);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="child" Type="Gtk.Widget" />
      </Parameters>
      <Docs>
        <summary>Adds a new <see cref="T:Gtk.MenuItem" /> to the end of the menu shell's item list.</summary>
        <param name="child">The <see cref="T:Gtk.MenuItem" /> to add.</param>
        <remarks>
          <para>
          Adds a new <see cref="T:Gtk.MenuItem" /> to the end of the menu shell's item list.
         </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="SelectItem">
      <MemberSignature Language="C#" Value="public void SelectItem (Gtk.Widget menu_item);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="menu_item" Type="Gtk.Widget" />
      </Parameters>
      <Docs>
        <summary>Selects the menu item from the menu shell.</summary>
        <param name="menu_item">The <see cref="T:Gtk.MenuItem" /> to select.</param>
        <remarks>
          <para>
         Selects the menu item from the menu shell.
         </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public MenuShell (IntPtr raw);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="raw" Type="System.IntPtr" />
      </Parameters>
      <Docs>
        <summary>Internal constructor</summary>
        <param name="raw">Pointer to the C object.</param>
        <remarks>
          <para>This is an internal constructor, and should not be used by user code.</para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="ActivateCurrent">
      <MemberSignature Language="C#" Value="public event Gtk.ActivateCurrentHandler ActivateCurrent;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.ActivateCurrentHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>An action signal that activates the current menu item within the menu shell.</summary>
        <remarks />
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Signal("activate_current")</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName="MoveCurrent">
      <MemberSignature Language="C#" Value="public event Gtk.MoveCurrentHandler MoveCurrent;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.MoveCurrentHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>An action signal which moves the current menu item in the direction specified by <paramref name="direction" />.</summary>
        <remarks />
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Signal("move_current")</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName="SelectionDone">
      <MemberSignature Language="C#" Value="public event EventHandler SelectionDone;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>System.EventHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>This signal is emitted when a selection has been completed within a menu shell.</summary>
        <remarks />
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Signal("selection-done")</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName="Deactivated">
      <MemberSignature Language="C#" Value="public event EventHandler Deactivated;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>System.EventHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>This signal is emitted when a menu shell is deactivated.</summary>
        <remarks />
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Signal("deactivate")</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName="SelectFirst">
      <MemberSignature Language="C#" Value="public void SelectFirst (bool search_sensitive);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="search_sensitive" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <summary>Select the first visible or selectable child of the menu shell;
	  don't select tearoff items unless the only item is a tearoff item.
	</summary>
        <param name="search_sensitive">a <see cref="T:System.Boolean" /></param>
        <remarks>If <paramref name="search_sensitive" /> is  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.
	</remarks>
      </Docs>
    </Member>
    <Member MemberName="GType">
      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>GLib.GType</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>GType Property.</summary>
        <value>a <see cref="T:GLib.GType" /></value>
        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.MenuShell" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName="OnDeactivated">
      <MemberSignature Language="C#" Value="protected virtual void OnDeactivated ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Default handler for the <see cref="M:Gtk.MenuShell.Deactivated" /> event.</summary>
        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.MenuShell.Deactivated" /> event.</remarks>
      </Docs>
    </Member>
    <Member MemberName="OnSelectionDone">
      <MemberSignature Language="C#" Value="protected virtual void OnSelectionDone ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Default handler for the <see cref="M:Gtk.MenuShell.SelectionDone" /> event.</summary>
        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.MenuShell.SelectionDone" /> event.</remarks>
      </Docs>
    </Member>
    <Member MemberName="OnMoveCurrent">
      <MemberSignature Language="C#" Value="protected virtual void OnMoveCurrent (Gtk.MenuDirectionType direction);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="direction" Type="Gtk.MenuDirectionType" />
      </Parameters>
      <Docs>
        <summary>Default handler for the <see cref="M:Gtk.MenuShell.MoveCurrent" /> event.</summary>
        <param name="direction">a <see cref="T:Gtk.MenuDirectionType" /></param>
        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.MenuShell.MoveCurrent" /> event.</remarks>
      </Docs>
    </Member>
    <Member MemberName="OnActivateCurrent">
      <MemberSignature Language="C#" Value="protected virtual void OnActivateCurrent (bool force_hide);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="force_hide" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <summary>Default handler for the <see cref="M:Gtk.MenuShell.ActivateCurrent" /> event.</summary>
        <param name="force_hide">a <see cref="T:System.Boolean" /></param>
        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.MenuShell.ActivateCurrent" /> event.</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="protected MenuShell (GLib.GType gtype);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="gtype" Type="GLib.GType" />
      </Parameters>
      <Docs>
        <summary>Protected Constructor.</summary>
        <param name="gtype">a <see cref="T:GLib.GType" /></param>
        <remarks>Chain to this constructor if you have manually registered a native <see cref="T:GLib.GType" /> value for your subclass.</remarks>
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>System.Obsolete</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="protected MenuShell ();" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters />
      <Docs>
        <summary>Protected constructor.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="Canceled">
      <MemberSignature Language="C#" Value="public event EventHandler Canceled;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>System.EventHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>An action signal which cancels the selection within the menu shell.Causes the <see cref="F:Gtk.MenuShell.SelectionDone" /> signal to be emitted.</summary>
        <remarks />
        <since version="Gtk# 2.4" />
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Signal("cancel")</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName="OnCanceled">
      <MemberSignature Language="C#" Value="protected virtual void OnCanceled ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Default handler for the <see cref="M:Gtk.MenuShell.Canceled" /> event.</summary>
        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.MenuShell.Canceled" /> event.</remarks>
        <since version="Gtk# 2.4" />
      </Docs>
    </Member>
    <Member MemberName="Cancel">
      <MemberSignature Language="C#" Value="public void Cancel ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Emits the Canceled event.</summary>
        <remarks />
        <since version="Gtk# 2.4" />
      </Docs>
    </Member>
    <Member MemberName="TakeFocus">
      <MemberSignature Language="C#" Value="public bool TakeFocus { set; get; };" />
      <MemberType>Property</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Property("take-focus")</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Indicates if the keyboard focus should be grabbed when active.</summary>
        <value>
          <see langword="true" /> if the keyboard focus is taken when active.</value>
        <remarks>By default, this is true.  Setting to false can have unexpected side effects and in general should only be done with menus that don't contain mnemonics.</remarks>
        <since version="Gtk# 2.8" />
      </Docs>
    </Member>
    <Member MemberName="MoveSelected">
      <MemberSignature Language="C#" Value="public event Gtk.MoveSelectedHandler MoveSelected;" />
      <MemberType>Event</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Signal("move_selected")</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>Gtk.MoveSelectedHandler</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
        <since version="Gtk# 2.12" />
      </Docs>
    </Member>
    <Member MemberName="OnMoveSelected">
      <MemberSignature Language="C#" Value="protected virtual bool OnMoveSelected (int distance);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="distance" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="distance">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version="Gtk# 2.12" />
      </Docs>
    </Member>
  </Members>
</Type>
