<refentry id="GtkButton">
<refmeta>
<refentrytitle>GtkButton</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>GTK Library</refmiscinfo>
</refmeta>

<refnamediv>
<refname>GtkButton</refname><refpurpose>A widget that creates a signal when clicked on.</refpurpose>
</refnamediv>

<refsynopsisdiv><title>Synopsis</title>
<synopsis>

#include &lt;gtk/gtk.h&gt;


struct      <link linkend="GtkButton-struct">GtkButton</link>;
<link linkend="GtkWidget">GtkWidget</link>*  <link linkend="gtk-button-new">gtk_button_new</link>                  (void);
<link linkend="GtkWidget">GtkWidget</link>*  <link linkend="gtk-button-new-with-label">gtk_button_new_with_label</link>       (const <link linkend="gchar">gchar</link> *label);
<link linkend="GtkWidget">GtkWidget</link>*  <link linkend="gtk-button-new-with-mnemonic">gtk_button_new_with_mnemonic</link>    (const <link linkend="gchar">gchar</link> *label);
<link linkend="GtkWidget">GtkWidget</link>*  <link linkend="gtk-button-new-from-stock">gtk_button_new_from_stock</link>       (const <link linkend="gchar">gchar</link> *stock_id);
void        <link linkend="gtk-button-pressed">gtk_button_pressed</link>              (<link linkend="GtkButton">GtkButton</link> *button);
void        <link linkend="gtk-button-released">gtk_button_released</link>             (<link linkend="GtkButton">GtkButton</link> *button);
void        <link linkend="gtk-button-clicked">gtk_button_clicked</link>              (<link linkend="GtkButton">GtkButton</link> *button);
void        <link linkend="gtk-button-enter">gtk_button_enter</link>                (<link linkend="GtkButton">GtkButton</link> *button);
void        <link linkend="gtk-button-leave">gtk_button_leave</link>                (<link linkend="GtkButton">GtkButton</link> *button);
void        <link linkend="gtk-button-set-relief">gtk_button_set_relief</link>           (<link linkend="GtkButton">GtkButton</link> *button,
                                             <link linkend="GtkReliefStyle">GtkReliefStyle</link> newstyle);
<link linkend="GtkReliefStyle">GtkReliefStyle</link> <link linkend="gtk-button-get-relief">gtk_button_get_relief</link>        (<link linkend="GtkButton">GtkButton</link> *button);
G_CONST_RETURN <link linkend="gchar">gchar</link>* <link linkend="gtk-button-get-label">gtk_button_get_label</link>  (<link linkend="GtkButton">GtkButton</link> *button);
void        <link linkend="gtk-button-set-label">gtk_button_set_label</link>            (<link linkend="GtkButton">GtkButton</link> *button,
                                             const <link linkend="gchar">gchar</link> *label);
<link linkend="gboolean">gboolean</link>    <link linkend="gtk-button-get-use-stock">gtk_button_get_use_stock</link>        (<link linkend="GtkButton">GtkButton</link> *button);
void        <link linkend="gtk-button-set-use-stock">gtk_button_set_use_stock</link>        (<link linkend="GtkButton">GtkButton</link> *button,
                                             <link linkend="gboolean">gboolean</link> use_stock);
<link linkend="gboolean">gboolean</link>    <link linkend="gtk-button-get-use-underline">gtk_button_get_use_underline</link>    (<link linkend="GtkButton">GtkButton</link> *button);
void        <link linkend="gtk-button-set-use-underline">gtk_button_set_use_underline</link>    (<link linkend="GtkButton">GtkButton</link> *button,
                                             <link linkend="gboolean">gboolean</link> use_underline);


</synopsis>
</refsynopsisdiv>

<refsect1>
<title>Object Hierarchy</title>
<synopsis>

  <link linkend="GObject">GObject</link>
   +----<link linkend="GtkObject">GtkObject</link>
         +----<link linkend="GtkWidget">GtkWidget</link>
               +----<link linkend="GtkContainer">GtkContainer</link>
                     +----<link linkend="GtkBin">GtkBin</link>
                           +----GtkButton
</synopsis>

</refsect1>

<refsect1>
<title>Properties</title>
<synopsis>

  &quot;<link linkend="GtkButton--label">label</link>&quot;                <link linkend="gchararray">gchararray</link>           : Read / Write / Construct
  &quot;<link linkend="GtkButton--relief">relief</link>&quot;               <link linkend="GtkReliefStyle">GtkReliefStyle</link>       : Read / Write
  &quot;<link linkend="GtkButton--use-underline">use-underline</link>&quot;        <link linkend="gboolean">gboolean</link>             : Read / Write / Construct
  &quot;<link linkend="GtkButton--use-stock">use-stock</link>&quot;            <link linkend="gboolean">gboolean</link>             : Read / Write / Construct
</synopsis>
</refsect1>

<refsect1>
<title>Signal Prototypes</title>
<synopsis>

&quot;<link linkend="GtkButton-activate">activate</link>&quot;  void        user_function      (<link linkend="GtkButton">GtkButton</link> *button,
                                            <link linkend="gpointer">gpointer</link> user_data);
&quot;<link linkend="GtkButton-clicked">clicked</link>&quot;   void        user_function      (<link linkend="GtkButton">GtkButton</link> *button,
                                            <link linkend="gpointer">gpointer</link> user_data);
&quot;<link linkend="GtkButton-enter">enter</link>&quot;     void        user_function      (<link linkend="GtkButton">GtkButton</link> *button,
                                            <link linkend="gpointer">gpointer</link> user_data);
&quot;<link linkend="GtkButton-leave">leave</link>&quot;     void        user_function      (<link linkend="GtkButton">GtkButton</link> *button,
                                            <link linkend="gpointer">gpointer</link> user_data);
&quot;<link linkend="GtkButton-pressed">pressed</link>&quot;   void        user_function      (<link linkend="GtkButton">GtkButton</link> *button,
                                            <link linkend="gpointer">gpointer</link> user_data);
&quot;<link linkend="GtkButton-released">released</link>&quot;  void        user_function      (<link linkend="GtkButton">GtkButton</link> *button,
                                            <link linkend="gpointer">gpointer</link> user_data);
</synopsis>
</refsect1>


<refsect1>
<title>Description</title>
<para>
The <link linkend="GtkButton">GtkButton</link> 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 <link linkend="GtkButton">GtkButton</link> widget can hold any valid child widget.  That is it can
hold most any other standard <link linkend="GtkWidget">GtkWidget</link>.  The most commonly used child is
the <link linkend="GtkLabel">GtkLabel</link>.
</para>
</refsect1>

<refsect1>
<title>Details</title>
<refsect2>
<title><anchor id="GtkButton-struct">struct GtkButton</title>
<programlisting>struct GtkButton;</programlisting>
<para>
This should not be accessed directly.  Use the accessor functions below.
</para></refsect2>
<refsect2>
<title><anchor id="gtk-button-new">gtk_button_new ()</title>
<programlisting><link linkend="GtkWidget">GtkWidget</link>*  gtk_button_new                  (void);</programlisting>
<para>
Creates a new <link linkend="GtkButton">GtkButton</link> widget.
</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry>The newly created <link linkend="GtkButton">GtkButton</link> widget.


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-button-new-with-label">gtk_button_new_with_label ()</title>
<programlisting><link linkend="GtkWidget">GtkWidget</link>*  gtk_button_new_with_label       (const <link linkend="gchar">gchar</link> *label);</programlisting>
<para>
Creates a <link linkend="GtkButton">GtkButton</link> widget with a <link linkend="GtkLabel">GtkLabel</link> child containing the given
text.
</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>label</parameter>&nbsp;:</entry>
<entry>The text you want the <link linkend="GtkLabel">GtkLabel</link> to hold.
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry>The newly created <link linkend="GtkButton">GtkButton</link> widget.


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-button-new-with-mnemonic">gtk_button_new_with_mnemonic ()</title>
<programlisting><link linkend="GtkWidget">GtkWidget</link>*  gtk_button_new_with_mnemonic    (const <link linkend="gchar">gchar</link> *label);</programlisting>
<para>
Creates a new <link linkend="GtkButton">GtkButton</link> containing a label.
If characters in <parameter>label</parameter> are preceded by an underscore, they are underlined.
If you need a literal underscore character in a label, use '__' (two 
underscores). The first underlined character represents a keyboard 
accelerator called a mnemonic.
Pressing Alt and that key activates the button.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>label</parameter>&nbsp;:</entry>
<entry> The text of the button, with an underscore in front of the
        mnemonic character
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> a new <link linkend="GtkButton">GtkButton</link>
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-button-new-from-stock">gtk_button_new_from_stock ()</title>
<programlisting><link linkend="GtkWidget">GtkWidget</link>*  gtk_button_new_from_stock       (const <link linkend="gchar">gchar</link> *stock_id);</programlisting>
<para>
Creates a new <link linkend="GtkButton">GtkButton</link> containing the image and text from a stock item.
Some stock ids have preprocessor macros like <link linkend="GTK-STOCK-OK-CAPS">GTK_STOCK_OK</link> and
<link linkend="GTK-STOCK-APPLY-CAPS">GTK_STOCK_APPLY</link>.
</para>
<para>
If <parameter>stock_id</parameter> is unknown, then it will be treated as a mnemonic
label (as for <link linkend="gtk-button-new-with-mnemonic">gtk_button_new_with_mnemonic</link>()).</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>stock_id</parameter>&nbsp;:</entry>
<entry> the name of the stock item 
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> a new <link linkend="GtkButton">GtkButton</link>
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-button-pressed">gtk_button_pressed ()</title>
<programlisting>void        gtk_button_pressed              (<link linkend="GtkButton">GtkButton</link> *button);</programlisting>
<para>
Emits a <link linkend="GtkButton">GtkButton</link>::pressed signal to the given <link linkend="GtkButton">GtkButton</link>.
</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>button</parameter>&nbsp;:</entry>
<entry>The <link linkend="GtkButton">GtkButton</link> you want to send the signal to.


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-button-released">gtk_button_released ()</title>
<programlisting>void        gtk_button_released             (<link linkend="GtkButton">GtkButton</link> *button);</programlisting>
<para>
Emits a <link linkend="GtkButton">GtkButton</link>::released signal to the given <link linkend="GtkButton">GtkButton</link>.
</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>button</parameter>&nbsp;:</entry>
<entry>The <link linkend="GtkButton">GtkButton</link> you want to send the signal to.


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-button-clicked">gtk_button_clicked ()</title>
<programlisting>void        gtk_button_clicked              (<link linkend="GtkButton">GtkButton</link> *button);</programlisting>
<para>
Emits a <link linkend="GtkButton">GtkButton</link>::clicked signal to the given <link linkend="GtkButton">GtkButton</link>.
</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>button</parameter>&nbsp;:</entry>
<entry>The <link linkend="GtkButton">GtkButton</link> you want to send the signal to.


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-button-enter">gtk_button_enter ()</title>
<programlisting>void        gtk_button_enter                (<link linkend="GtkButton">GtkButton</link> *button);</programlisting>
<para>
Emits a <link linkend="GtkButton">GtkButton</link>::enter signal to the given <link linkend="GtkButton">GtkButton</link>.
</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>button</parameter>&nbsp;:</entry>
<entry>The <link linkend="GtkButton">GtkButton</link> you want to send the signal to.


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-button-leave">gtk_button_leave ()</title>
<programlisting>void        gtk_button_leave                (<link linkend="GtkButton">GtkButton</link> *button);</programlisting>
<para>
Emits a <link linkend="GtkButton">GtkButton</link>::leave signal to the given <link linkend="GtkButton">GtkButton</link>.
</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>button</parameter>&nbsp;:</entry>
<entry>The <link linkend="GtkButton">GtkButton</link> you want to send the signal to.


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-button-set-relief">gtk_button_set_relief ()</title>
<programlisting>void        gtk_button_set_relief           (<link linkend="GtkButton">GtkButton</link> *button,
                                             <link linkend="GtkReliefStyle">GtkReliefStyle</link> newstyle);</programlisting>
<para>
Sets the relief style of the edges of the given <link linkend="GtkButton">GtkButton</link> widget.
Three styles exist, GTK_RELIEF_NORMAL, GTK_RELIEF_HALF, GTK_RELIEF_NONE.
The default style is, as one can guess, GTK_RELIEF_NORMAL.

<!-- FIXME: put pictures of each style -->
</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>button</parameter>&nbsp;:</entry>
<entry>The <link linkend="GtkButton">GtkButton</link> you want to set relief styles of.
</entry></row>
<row><entry align="right"><parameter>newstyle</parameter>&nbsp;:</entry>
<entry>The GtkReliefStyle as described above.


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-button-get-relief">gtk_button_get_relief ()</title>
<programlisting><link linkend="GtkReliefStyle">GtkReliefStyle</link> gtk_button_get_relief        (<link linkend="GtkButton">GtkButton</link> *button);</programlisting>
<para>
Returns the current relief style of the given <link linkend="GtkButton">GtkButton</link>.
</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>button</parameter>&nbsp;:</entry>
<entry>The <link linkend="GtkButton">GtkButton</link> you want the <link linkend="GtkReliefStyle">GtkReliefStyle</link> from.
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry>The current <link linkend="GtkReliefStyle">GtkReliefStyle</link>


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-button-get-label">gtk_button_get_label ()</title>
<programlisting>G_CONST_RETURN <link linkend="gchar">gchar</link>* gtk_button_get_label  (<link linkend="GtkButton">GtkButton</link> *button);</programlisting>
<para>
Fetches the text from the label of the button, as set by
<link linkend="gtk-button-set-label">gtk_button_set_label</link>().  This string is owned by the widget 
and must not be modified or freed.  If the label text has not 
been set the return value  will be <literal>NULL</literal>. This will be the 
case if you create an empty button with <link linkend="gtk-button-new">gtk_button_new</link>() to 
use as a container.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>button</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkButton">GtkButton</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> the text of the label widget. 
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-button-set-label">gtk_button_set_label ()</title>
<programlisting>void        gtk_button_set_label            (<link linkend="GtkButton">GtkButton</link> *button,
                                             const <link linkend="gchar">gchar</link> *label);</programlisting>
<para>
Sets the text of the label of the button to <parameter>str</parameter>. This text is
also used to select the stock item if <link linkend="gtk-button-set-use-stock">gtk_button_set_use_stock</link>()
is used.
</para>
<para>
This will also clear any previously set labels.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>button</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkButton">GtkButton</link>
</entry></row>
<row><entry align="right"><parameter>label</parameter>&nbsp;:</entry>
<entry> a string
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-button-get-use-stock">gtk_button_get_use_stock ()</title>
<programlisting><link linkend="gboolean">gboolean</link>    gtk_button_get_use_stock        (<link linkend="GtkButton">GtkButton</link> *button);</programlisting>
<para>
Returns whether the button label is a stock item.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>button</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkButton">GtkButton</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> <literal>TRUE</literal> if the button label is used to
              select a stock item instead of being
              used directly as the label text.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-button-set-use-stock">gtk_button_set_use_stock ()</title>
<programlisting>void        gtk_button_set_use_stock        (<link linkend="GtkButton">GtkButton</link> *button,
                                             <link linkend="gboolean">gboolean</link> use_stock);</programlisting>
<para>
If true, the label set on the button is used as a
stock id to select the stock item for the button.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>button</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkButton">GtkButton</link>
</entry></row>
<row><entry align="right"><parameter>use_stock</parameter>&nbsp;:</entry>
<entry> <literal>TRUE</literal> if the button should use a stock item
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-button-get-use-underline">gtk_button_get_use_underline ()</title>
<programlisting><link linkend="gboolean">gboolean</link>    gtk_button_get_use_underline    (<link linkend="GtkButton">GtkButton</link> *button);</programlisting>
<para>
Returns whether an embedded underline in the button label indicates a
mnemonic. See <link linkend="gtk-button-set-use-underline">gtk_button_set_use_underline</link>().</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>button</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkButton">GtkButton</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> <literal>TRUE</literal> if an embedded underline in the button label
              indicates the mnemonic accelerator keys.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-button-set-use-underline">gtk_button_set_use_underline ()</title>
<programlisting>void        gtk_button_set_use_underline    (<link linkend="GtkButton">GtkButton</link> *button,
                                             <link linkend="gboolean">gboolean</link> use_underline);</programlisting>
<para>
If true, an underline in the text of the button label indicates
the next character should be used for the mnemonic accelerator key.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>button</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkButton">GtkButton</link>
</entry></row>
<row><entry align="right"><parameter>use_underline</parameter>&nbsp;:</entry>
<entry> <literal>TRUE</literal> if underlines in the text indicate mnemonics
</entry></row>
</tbody></tgroup></informaltable></refsect2>

</refsect1>
<refsect1>
<title>Properties</title>
<variablelist>
<varlistentry><term><anchor id="GtkButton--label">&quot;<literal>label</literal>&quot; (<link linkend="gchararray">gchararray</link> : Read / Write / Construct)</term>
<listitem>
<para>
The text within the child <link linkend="GtkLabel">GtkLabel</link> of the <link linkend="GtkButton">GtkButton</link>.  Only useful if
there is actually a <link linkend="GtkLabel">GtkLabel</link> inside of the <link linkend="GtkButton">GtkButton</link>.
</para></listitem></varlistentry>
<varlistentry><term><anchor id="GtkButton--relief">&quot;<literal>relief</literal>&quot; (<link linkend="GtkReliefStyle">GtkReliefStyle</link> : Read / Write)</term>
<listitem>
<para>
The <link linkend="GtkReliefStyle">GtkReliefStyle</link> as outlined in <link linkend="gtk-button-set-relief">gtk_button_set_relief</link>().
</para></listitem></varlistentry>
<varlistentry><term><anchor id="GtkButton--use-underline">&quot;<literal>use-underline</literal>&quot; (<link linkend="gboolean">gboolean</link> : Read / Write / Construct)</term>
<listitem>
<para>

</para></listitem></varlistentry>
<varlistentry><term><anchor id="GtkButton--use-stock">&quot;<literal>use-stock</literal>&quot; (<link linkend="gboolean">gboolean</link> : Read / Write / Construct)</term>
<listitem>
<para>

</para></listitem></varlistentry>

</variablelist>
</refsect1>

<refsect1>
<title>Signals</title>
<refsect2><title><anchor id="GtkButton-activate">The &quot;activate&quot; signal</title>
<programlisting>void        user_function                  (<link linkend="GtkButton">GtkButton</link> *button,
                                            <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>button</parameter>&nbsp;:</entry>
<entry>the object which received the signal.

</entry></row>
<row><entry align="right"><parameter>user_data</parameter>&nbsp;:</entry>
<entry>user data set when the signal handler was connected.</entry></row>
</tbody></tgroup></informaltable></refsect2><refsect2><title><anchor id="GtkButton-clicked">The &quot;clicked&quot; signal</title>
<programlisting>void        user_function                  (<link linkend="GtkButton">GtkButton</link> *button,
                                            <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<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><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>button</parameter>&nbsp;:</entry>
<entry>the object which received the signal.

</entry></row>
<row><entry align="right"><parameter>user_data</parameter>&nbsp;:</entry>
<entry>user data set when the signal handler was connected.</entry></row>
</tbody></tgroup></informaltable></refsect2><refsect2><title><anchor id="GtkButton-enter">The &quot;enter&quot; signal</title>
<programlisting>void        user_function                  (<link linkend="GtkButton">GtkButton</link> *button,
                                            <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>
Emitted when the mouse cursor enters the region of the button.
</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>button</parameter>&nbsp;:</entry>
<entry>the object which received the signal.

</entry></row>
<row><entry align="right"><parameter>user_data</parameter>&nbsp;:</entry>
<entry>user data set when the signal handler was connected.</entry></row>
</tbody></tgroup></informaltable></refsect2><refsect2><title><anchor id="GtkButton-leave">The &quot;leave&quot; signal</title>
<programlisting>void        user_function                  (<link linkend="GtkButton">GtkButton</link> *button,
                                            <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>
Emitted when the mouse cursor leaves the region of the button.
</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>button</parameter>&nbsp;:</entry>
<entry>the object which received the signal.

</entry></row>
<row><entry align="right"><parameter>user_data</parameter>&nbsp;:</entry>
<entry>user data set when the signal handler was connected.</entry></row>
</tbody></tgroup></informaltable></refsect2><refsect2><title><anchor id="GtkButton-pressed">The &quot;pressed&quot; signal</title>
<programlisting>void        user_function                  (<link linkend="GtkButton">GtkButton</link> *button,
                                            <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>
Emitted when the button is initially pressed.
</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>button</parameter>&nbsp;:</entry>
<entry>the object which received the signal.

</entry></row>
<row><entry align="right"><parameter>user_data</parameter>&nbsp;:</entry>
<entry>user data set when the signal handler was connected.</entry></row>
</tbody></tgroup></informaltable></refsect2><refsect2><title><anchor id="GtkButton-released">The &quot;released&quot; signal</title>
<programlisting>void        user_function                  (<link linkend="GtkButton">GtkButton</link> *button,
                                            <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>
Emitted when a button which is pressed is released, no matter where the
mouse cursor is.
</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>button</parameter>&nbsp;:</entry>
<entry>the object which received the signal.

</entry></row>
<row><entry align="right"><parameter>user_data</parameter>&nbsp;:</entry>
<entry>user data set when the signal handler was connected.</entry></row>
</tbody></tgroup></informaltable></refsect2>
</refsect1>



</refentry>
