<Type Name="Button" FullName="Gtk.Button">
  <TypeSignature Language="C#" Value="public class Button : Gtk.Bin, Implementor, IWrapper, IWrapper, IDisposable" Maintainer="Duncan Mak" />
  <AssemblyInfo>
    <AssemblyName>gtk-sharp</AssemblyName>
    <AssemblyVersion>0.0.0.0</AssemblyVersion>
    <Attributes />
  </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 that creates a signal when clicked on.</summary>
    <remarks>
      <para>
        The GtkButton widget is generally used to attach a function to that is called when the button is pressed. The various signals and how to use them are outlined below.
      </para>
      <para>
        The GtkButton widget can hold any valid child widget. That is it can hold most any other standard <see cref="T:Gtk.Widget" />. The most commonly used child is the <see cref="T:Gtk.Label" />.
      </para>
    </remarks>
  </Docs>
  <Base>
    <BaseTypeName>Gtk.Bin</BaseTypeName>
  </Base>
  <Interfaces>
    <Interface>
      <InterfaceName>Atk.Implementor</InterfaceName>
    </Interface>
    <Interface>
      <InterfaceName>GLib.IWrapper</InterfaceName>
    </Interface>
    <Interface>
      <InterfaceName>GLib.IWrapper</InterfaceName>
    </Interface>
    <Interface>
      <InterfaceName>System.IDisposable</InterfaceName>
    </Interface>
  </Interfaces>
  <Attributes />
  <Members>
    <Member MemberName="ActionGetType">
      <MemberSignature Language="C#" Value="public static uint ActionGetType ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.UInt32</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <returns>To be added: an object of type 'uint'</returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="NewWithLabel">
      <MemberSignature Language="C#" Value="public static Gtk.Button NewWithLabel (string label);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.Button</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="label" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>Creates a <see cref="T:Gtk.Button" /> widget with a <see cref="T:Gtk.Label" /> child containing the given text.</summary>
        <param name="label">The text you want the <see cref="T:Gtk.Label" /> to hold.</param>
        <returns>The newly created <see cref="T:Gtk.Button" /> widget.</returns>
        <remarks>Creates a <see cref="T:Gtk.Button" /> widget with a <see cref="T:Gtk.Label" /> child containing the given text.</remarks>
      </Docs>
    </Member>
    <Member MemberName="NewFromStock">
      <MemberSignature Language="C#" Value="public static Gtk.Button NewFromStock (string stock_id);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.Button</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="stock_id" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>Creates a new <see cref="TGtk.Button" /> containing the image and text from a stock item.</summary>
        <param name="stock_id">To be added: an object of type 'string'</param>
        <returns>To be added: an object of type 'Gtk.Button'</returns>
        <remarks>
          <para>
            Creates a new <see cref="T:Gtk.Button" /> containing the image and text from a stock item. Some stock ids are available from the <see cref="T:Gtk.Stock" /> class.
          </para>
          <para>
            If <paramref name="stock_id" /> is unknown, then it will be treated as a mnemonic label (similar to <see cref="C:Gtk.Button" />).
          </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="Leave">
      <MemberSignature Language="C#" Value="public void Leave ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Emits a <see cref="E:Gtk.Button.Left" /> event to the given <see cref="T:Gtk.Button" />.</summary>
        <remarks>Emits a <see cref="E:Gtk.Button.Left" /> event to the given <see cref="T:Gtk.Button" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Press">
      <MemberSignature Language="C#" Value="public void Press ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Emits a <see cref="E:Gtk.Button.Pressed" /> event to the given <see cref="T:Gtk.Button" />.</summary>
        <remarks>Emits a <see cref="E:Gtk.Button.Pressed" /> event to the given <see cref="T:Gtk.Button" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Release">
      <MemberSignature Language="C#" Value="public void Release ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Emits a <see cref="E:Gtk.Button.Released" /> event to the given <see cref="T:Gtk.Button" />.</summary>
        <remarks>Emits a <see cref="E:Gtk.Button.Released" /> event to the given <see cref="T:Gtk.Button" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Click">
      <MemberSignature Language="C#" Value="public void Click ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Emits a <see cref="E:Gtk.Button.Clicked" /> event to the given <see cref="T:Gtk.Button" />.</summary>
        <remarks>Emits a <see cref="E:Gtk.Button.Clicked" /> event to the given <see cref="T:Gtk.Button" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Enter">
      <MemberSignature Language="C#" Value="public void Enter ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Emits a <see cref="E:Gtk.Button.Entered" /> event to the given <see cref="T:Gtk.Button" />.</summary>
        <remarks>Emits a <see cref="E:Gtk.Button.Entered" /> event to the given <see cref="T:Gtk.Button" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Finalize">
      <MemberSignature Language="C#" Value="protected virtual void Finalize ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Disposes the resources associated with the object.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="protected Button (uint gtype);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="gtype" Type="System.UInt32" />
      </Parameters>
      <Docs>
        <summary>Internal constructor</summary>
        <param name="gtype">GLib type for the type</param>
        <returns>Creates a new instance of Button, using the GLib-provided type</returns>
        <remarks>
          <para>This is a constructor used by derivative types of <see cref="T:Gtk.Button" /> that would have their own GLib type assigned to it.  This is not typically used by C# code.</para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public Button (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>
        <returns>An instance of Button, wrapping the C object.</returns>
        <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 Button ();" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters />
      <Docs>
        <summary>Creates an empty <see cref="T:Gtk.Button" /> widget.</summary>
        <returns>The newly created <see cref="T:Gtk.Button" /> widget.</returns>
        <remarks>Creates a new <see cref="T:Gtk.Button" /> widget. To add a child widget to the button, use <see cref="M:Gtk.Container.Add" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public Button (string label);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="label" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>Creates a <see cref="T:Gtk.Button" /> widget with a <see cref="T:Gtk.Label" /> child containing the given text.</summary>
        <param name="label">The text you want the <see cref="T:Gtk.Label" /> to hold.</param>
        <returns>The newly created <see cref="T:Gtk.Button" /> widget.</returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="GType">
      <MemberSignature Language="C#" Value="public static uint GType { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.UInt32</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>The GLib Type for Gtk.Button</summary>
        <returns>The GLib TYpe for the Gtk.Button class.</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="UseStock">
      <MemberSignature Language="C#" Value="public bool UseStock { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="value" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <summary>The button label is a stock item.</summary>
        <param name="value">
          <see cref="langword:true" /> if the button should use a stock item.</param>
        <returns>
          <see cref="langword:true" /> if the button label is used to select a stock item instead of being used directly as the label text.</returns>
        <remarks>
          <para>
            Sets whether the button label is a stock item. If <see cref="langword:true" /> if the button label is used to select a stock item instead of being used directly as the label text.
        </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="UseUnderline">
      <MemberSignature Language="C#" Value="public bool UseUnderline { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="value" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <summary>Sets whether an embedded underline in the button label indicates a mnemonic.</summary>
        <param name="value">
          <see cref="langword:true" /> if underlines in the text indicate mnemonics.</param>
        <returns>
          <see cref="langword:true" /> if an embedded underline in the button label indicates the mnemonic accelerator keys.</returns>
        <remarks>
          <para>Sets whether an embedded underline in the button label indicates a mnemonic.</para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="Relief">
      <MemberSignature Language="C#" Value="public Gtk.ReliefStyle Relief { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.ReliefStyle</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="value" Type="Gtk.ReliefStyle" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="value">To be added: an object of type 'Gtk.ReliefStyle'</param>
        <returns>To be added: an object of type 'Gtk.ReliefStyle'</returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Label">
      <MemberSignature Language="C#" Value="public string Label { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="value" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>The text from the label of the button.</summary>
        <param name="value">A string</param>
        <returns>The text of the label widget.</returns>
        <remarks>
          <para>
            Sets or gets the text from the label of the button. If the label text has not been set the return value will be <see cref="langword:null" />. This will be the case if you create an empty button to use as a container.
          </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="Activated">
      <MemberSignature Language="C#" Value="public event EventHandler Activated;" />
      <MemberType>Event</MemberType>
      <ReturnValue />
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Clicked">
      <MemberSignature Language="C#" Value="public event EventHandler Clicked;" />
      <MemberType>Event</MemberType>
      <ReturnValue />
      <Parameters />
      <Docs>
        <summary>Emitted when a button clicked on by the mouse and the cursor stays on the button.</summary>
        <remarks>
          <para>
            Emitted when a button clicked on by the mouse and the cursor stays on the button. If the cursor is not on the button when the mouse button is released, the signal is not emitted.
          </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="Left">
      <MemberSignature Language="C#" Value="public event EventHandler Left;" />
      <MemberType>Event</MemberType>
      <ReturnValue />
      <Parameters />
      <Docs>
        <summary>Emitted when the mouse cursor leaves the region of the button.</summary>
        <remarks>
          <para>Emitted when the mouse cursor leaves the region of the button.</para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="Pressed">
      <MemberSignature Language="C#" Value="public event EventHandler Pressed;" />
      <MemberType>Event</MemberType>
      <ReturnValue />
      <Parameters />
      <Docs>
        <summary>Emitted when the button is initially pressed.</summary>
        <remarks>
          <para>Emitted when the button is initially pressed.</para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="Released">
      <MemberSignature Language="C#" Value="public event EventHandler Released;" />
      <MemberType>Event</MemberType>
      <ReturnValue />
      <Parameters />
      <Docs>
        <summary>Emitted when a button which is pressed is released, no matter where the mouse cursor is.</summary>
        <remarks>
          <para>Emitted when a button which is pressed is released, no matter where the mouse cursor is.</para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="Entered">
      <MemberSignature Language="C#" Value="public event EventHandler Entered;" />
      <MemberType>Event</MemberType>
      <ReturnValue />
      <Parameters />
      <Docs>
        <summary>Emitted when the mouse cursor enters the region of the button.</summary>
        <remarks>
          <para>Emitted when the mouse cursor enters the region of the button.</para>
        </remarks>
      </Docs>
    </Member>
  </Members>
</Type>