<Type Name="MenuItem" FullName="Gtk.MenuItem">
  <TypeSignature Language="C#" Maintainer="Hector Gomez M" Value="public class MenuItem : Gtk.Item" />
  <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 widget used for items in menus.</summary>
    <remarks>
      <para>The <see cref="T:Gtk.MenuItem" /> and derived widgets are the only valid children for menus. Their function is to correctly handle highlighting, alignment, events and submenus.</para>
      <example>
        <code lang="C#">
               MenuBar mb = new MenuBar ();
               Menu file_menu = new Menu ();
               MenuItem exit_item = new MenuItem("Exit");
               file_menu.Append (exit_item);
               MenuItem file_item = new MenuItem("File");
               file_item.Submenu = file_menu;
               mb.Append (file_item);   
  </code>
      </example>
    </remarks>
  </Docs>
  <Base>
    <BaseTypeName>Gtk.Item</BaseTypeName>
  </Base>
  <Interfaces>
  </Interfaces>
  <Members>
    <Member MemberName="RemoveSubmenu">
      <MemberSignature Language="C#" Value="public void RemoveSubmenu ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Removes the submenu of the <see cref="T:Gtk.MenuItem" />, if it has one.</summary>
        <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>Fires the <see cref="F:Gtk.Item.Deselect" /> event.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="Select">
      <MemberSignature Language="C#" Value="public void Select ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Fires the <see cref="F:Gtk.Item.Select" /> event.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="ToggleSizeAllocate">
      <MemberSignature Language="C#" Value="public void ToggleSizeAllocate (int allocation);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="allocation" Type="System.Int32" />
      </Parameters>
      <Docs>
        <summary>Emits the <see cref="F:Gtk.MenuItem.ToggleSizeAllocated" /> event on the given item.</summary>
        <param name="allocation">The allocation to use as signal data.</param>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="Activate">
      <MemberSignature Language="C#" Value="public void Activate ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Emits the <see cref="F:Gtk.MenuItem.Activated" /> event on the given item.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public MenuItem (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=".ctor">
      <MemberSignature Language="C#" Value="public MenuItem ();" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters />
      <Docs>
        <summary>A constructor.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public MenuItem (string label);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="label" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>Creates a new MenuItem containing a label.</summary>
        <param name="label">The label text on the menu item, with an underscore in front of the mnemonic character.</param>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="Submenu">
      <MemberSignature Language="C#" Value="public Gtk.Widget Submenu { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.Widget</ReturnType>
      </ReturnValue>
      <Parameters>
      </Parameters>
      <Docs>
        <summary>Sets or obtains the widget submenu.</summary>
        <value>A submenu for this menu item, or <see langword="null" /> if none.</value>
        <remarks>
          <example>
            <code lang="C#">
// A container:
Menu mnuFile = new Menu(); 
 // An item
MenuItem itmFile = new MenuItem ("_File");

// Add the item into the container:
itmFile.Submenu = mnuFile;
//

// Add the newly-created File menu into the menubar:
menuBar.Add (itmFile);
  </code>
          </example>
        </remarks>
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Property("submenu")</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName="AccelPath">
      <MemberSignature Language="C#" Value="public string AccelPath { set; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
      </Parameters>
      <Docs>
        <summary>Sets the accelerator path.</summary>
        <value>The accelerator path of the menu item.</value>
        <remarks>
          <para>
          Sets the accelerator path, through which runtime changes of the menu item's accelerator caused by the user can be identified and saved to persistant storage.
         </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="RightJustified">
      <MemberSignature Language="C#" Value="public bool RightJustified { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
      </Parameters>
      <Docs>
        <summary>Sets or obtains whether the menu item appears justified at the right side of a menu bar.</summary>
        <value>Returns <see langword="true" /> if the menu item will appear at the far right if added to a menu bar.</value>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="Activated">
      <MemberSignature Language="C#" Value="public event EventHandler Activated;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>System.EventHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Emitted when the item is activated.</summary>
        <remarks />
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Signal("activate")</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName="ActivateItem">
      <MemberSignature Language="C#" Value="public event EventHandler ActivateItem;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>System.EventHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Emitted when the item is activated, but also if the menu item has a submenu. For normal applications, the relevant event is <see cref="F:Gtk.MenuItem.Activated" />.</summary>
        <remarks />
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Signal("activate_item")</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName="ToggleSizeAllocated">
      <MemberSignature Language="C#" Value="public event Gtk.ToggleSizeAllocatedHandler ToggleSizeAllocated;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.ToggleSizeAllocatedHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Emitted when size is allocated.</summary>
        <remarks />
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Signal("toggle_size_allocate")</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName="ToggleSizeRequested">
      <MemberSignature Language="C#" Value="public event Gtk.ToggleSizeRequestedHandler ToggleSizeRequested;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.ToggleSizeRequestedHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Emitted when size is requested.</summary>
        <remarks />
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Signal("toggle_size_request")</AttributeName>
        </Attribute>
      </Attributes>
    </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.MenuItem" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName="OnToggleSizeRequested">
      <MemberSignature Language="C#" Value="protected virtual void OnToggleSizeRequested (out int requisition);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="requisition" Type="System.Int32&amp;" RefType="out" />
      </Parameters>
      <Docs>
        <summary>Default handler for the <see cref="M:Gtk.MenuItem.ToggleSizeRequested" /> event.</summary>
        <param name="requisition">a <see cref="T:System.Int32&amp;" /></param>
        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.MenuItem.ToggleSizeRequested" /> event.</remarks>
      </Docs>
    </Member>
    <Member MemberName="OnToggleSizeAllocated">
      <MemberSignature Language="C#" Value="protected virtual void OnToggleSizeAllocated (int allocation);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="allocation" Type="System.Int32" />
      </Parameters>
      <Docs>
        <summary>Default handler for the <see cref="M:Gtk.MenuItem.ToggleSizeAllocated" /> event.</summary>
        <param name="allocation">a <see cref="T:System.Int32" /></param>
        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.MenuItem.ToggleSizeAllocated" /> event.</remarks>
      </Docs>
    </Member>
    <Member MemberName="OnActivateItem">
      <MemberSignature Language="C#" Value="protected virtual void OnActivateItem ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Default handler for the <see cref="M:Gtk.MenuItem.ActivateItem" /> event.</summary>
        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.MenuItem.ActivateItem" /> event.</remarks>
      </Docs>
    </Member>
    <Member MemberName="OnActivated">
      <MemberSignature Language="C#" Value="protected virtual void OnActivated ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Default handler for the <see cref="M:Gtk.MenuItem.Activated" /> event.</summary>
        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.MenuItem.Activated" /> event.</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="protected MenuItem (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="ToggleSizeRequest">
      <MemberSignature Language="C#" Value="public int ToggleSizeRequest ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Emits the <see cref="E:Gtk.MenuItem.ToggleSizeRequested" /> event on the given item.</summary>
        <returns>The requisition to use as signal data.</returns>
        <remarks />
      </Docs>
    </Member>
  </Members>
</Type>
