<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % local.common.attrib "xmlns:xi  CDATA  #FIXED 'http://www.w3.org/2003/XInclude'">
<!ENTITY version SYSTEM "version.xml">
]>
<!--ENTITY index-Objects-Grouped SYSTEM "objects_grouped.sgml"-->
<refentry id="GtkButton">
<refmeta>
<refentrytitle role="top_of_page" id="GtkButton.top_of_page">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 id="GtkButton.synopsis" role="synopsis">
<title role="synopsis.title">Synopsis</title>

<synopsis>

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

                    <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);
<link linkend="void">void</link>                <link linkend="gtk-button-pressed">gtk_button_pressed</link>                  (<link linkend="GtkButton">GtkButton</link> *button);
<link linkend="void">void</link>                <link linkend="gtk-button-released">gtk_button_released</link>                 (<link linkend="GtkButton">GtkButton</link> *button);
<link linkend="void">void</link>                <link linkend="gtk-button-clicked">gtk_button_clicked</link>                  (<link linkend="GtkButton">GtkButton</link> *button);
<link linkend="void">void</link>                <link linkend="gtk-button-enter">gtk_button_enter</link>                    (<link linkend="GtkButton">GtkButton</link> *button);
<link linkend="void">void</link>                <link linkend="gtk-button-leave">gtk_button_leave</link>                    (<link linkend="GtkButton">GtkButton</link> *button);
<link linkend="void">void</link>                <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);
const <link linkend="gchar">gchar</link> *       <link linkend="gtk-button-get-label">gtk_button_get_label</link>                (<link linkend="GtkButton">GtkButton</link> *button);
<link linkend="void">void</link>                <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);
<link linkend="void">void</link>                <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);
<link linkend="void">void</link>                <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);
<link linkend="void">void</link>                <link linkend="gtk-button-set-focus-on-click">gtk_button_set_focus_on_click</link>       (<link linkend="GtkButton">GtkButton</link> *button,
                                                         <link linkend="gboolean">gboolean</link> focus_on_click);
<link linkend="gboolean">gboolean</link>            <link linkend="gtk-button-get-focus-on-click">gtk_button_get_focus_on_click</link>       (<link linkend="GtkButton">GtkButton</link> *button);
<link linkend="void">void</link>                <link linkend="gtk-button-set-alignment">gtk_button_set_alignment</link>            (<link linkend="GtkButton">GtkButton</link> *button,
                                                         <link linkend="gfloat">gfloat</link> xalign,
                                                         <link linkend="gfloat">gfloat</link> yalign);
<link linkend="void">void</link>                <link linkend="gtk-button-get-alignment">gtk_button_get_alignment</link>            (<link linkend="GtkButton">GtkButton</link> *button,
                                                         <link linkend="gfloat">gfloat</link> *xalign,
                                                         <link linkend="gfloat">gfloat</link> *yalign);
<link linkend="void">void</link>                <link linkend="gtk-button-set-image">gtk_button_set_image</link>                (<link linkend="GtkButton">GtkButton</link> *button,
                                                         <link linkend="GtkWidget">GtkWidget</link> *image);
<link linkend="GtkWidget">GtkWidget</link>*          <link linkend="gtk-button-get-image">gtk_button_get_image</link>                (<link linkend="GtkButton">GtkButton</link> *button);
<link linkend="void">void</link>                <link linkend="gtk-button-set-image-position">gtk_button_set_image_position</link>       (<link linkend="GtkButton">GtkButton</link> *button,
                                                         <link linkend="GtkPositionType">GtkPositionType</link> position);
<link linkend="GtkPositionType">GtkPositionType</link>     <link linkend="gtk-button-get-image-position">gtk_button_get_image_position</link>       (<link linkend="GtkButton">GtkButton</link> *button);
</synopsis>
</refsynopsisdiv>

<refsect1 id="GtkButton.object-hierarchy" role="object_hierarchy">
<title role="object_hierarchy.title">Object Hierarchy</title>
<synopsis>
  <link linkend="GObject">GObject</link>
   +----<link linkend="GInitiallyUnowned">GInitiallyUnowned</link>
         +----<link linkend="GtkObject">GtkObject</link>
               +----<link linkend="GtkWidget">GtkWidget</link>
                     +----<link linkend="GtkContainer">GtkContainer</link>
                           +----<link linkend="GtkBin">GtkBin</link>
                                 +----GtkButton
                                       +----<link linkend="GtkToggleButton">GtkToggleButton</link>
                                       +----<link linkend="GtkColorButton">GtkColorButton</link>
                                       +----<link linkend="GtkFontButton">GtkFontButton</link>
                                       +----<link linkend="GtkLinkButton">GtkLinkButton</link>
                                       +----<link linkend="GtkOptionMenu">GtkOptionMenu</link>
                                       +----<link linkend="GtkScaleButton">GtkScaleButton</link>
</synopsis>
</refsect1>



<refsect1 id="GtkButton.implemented-interfaces" role="impl_interfaces">
<title role="impl_interfaces.title">Implemented Interfaces</title>
<para>
GtkButton implements
 <link linkend="GtkActivatable">GtkActivatable</link>,  <link linkend="AtkImplementorIface">AtkImplementorIface</link> and  <link linkend="GtkBuildable">GtkBuildable</link>.</para>
</refsect1>


<refsect1 id="GtkButton.properties" role="properties">
<title role="properties.title">Properties</title>
<synopsis>
  &quot;<link linkend="GtkButton--focus-on-click">focus-on-click</link>&quot;           <link linkend="gboolean">gboolean</link>              : Read / Write
  &quot;<link linkend="GtkButton--image">image</link>&quot;                    <link linkend="GtkWidget">GtkWidget</link>*            : Read / Write
  &quot;<link linkend="GtkButton--image-position">image-position</link>&quot;           <link linkend="GtkPositionType">GtkPositionType</link>       : Read / Write
  &quot;<link linkend="GtkButton--label">label</link>&quot;                    <link linkend="gchar">gchar</link>*                : Read / Write / Construct
  &quot;<link linkend="GtkButton--relief">relief</link>&quot;                   <link linkend="GtkReliefStyle">GtkReliefStyle</link>        : Read / Write
  &quot;<link linkend="GtkButton--use-stock">use-stock</link>&quot;                <link linkend="gboolean">gboolean</link>              : Read / Write / Construct
  &quot;<link linkend="GtkButton--use-underline">use-underline</link>&quot;            <link linkend="gboolean">gboolean</link>              : Read / Write / Construct
  &quot;<link linkend="GtkButton--xalign">xalign</link>&quot;                   <link linkend="gfloat">gfloat</link>                : Read / Write
  &quot;<link linkend="GtkButton--yalign">yalign</link>&quot;                   <link linkend="gfloat">gfloat</link>                : Read / Write
</synopsis>
</refsect1>
<refsect1 id="GtkButton.style-properties" role="style_properties">
<title role="style_properties.title">Style Properties</title>
<synopsis>
  &quot;<link linkend="GtkButton--s-child-displacement-x">child-displacement-x</link>&quot;     <link linkend="gint">gint</link>                  : Read
  &quot;<link linkend="GtkButton--s-child-displacement-y">child-displacement-y</link>&quot;     <link linkend="gint">gint</link>                  : Read
  &quot;<link linkend="GtkButton--s-default-border">default-border</link>&quot;           <link linkend="GtkBorder">GtkBorder</link>*            : Read
  &quot;<link linkend="GtkButton--s-default-outside-border">default-outside-border</link>&quot;   <link linkend="GtkBorder">GtkBorder</link>*            : Read
  &quot;<link linkend="GtkButton--s-displace-focus">displace-focus</link>&quot;           <link linkend="gboolean">gboolean</link>              : Read
  &quot;<link linkend="GtkButton--s-image-spacing">image-spacing</link>&quot;            <link linkend="gint">gint</link>                  : Read
  &quot;<link linkend="GtkButton--s-inner-border">inner-border</link>&quot;             <link linkend="GtkBorder">GtkBorder</link>*            : Read
</synopsis>
</refsect1>

<refsect1 id="GtkButton.signals" role="signal_proto">
<title role="signal_proto.title">Signals</title>
<synopsis>
  &quot;<link linkend="GtkButton-activate">activate</link>&quot;                                       : Run First / Action
  &quot;<link linkend="GtkButton-clicked">clicked</link>&quot;                                        : Run First / Action
  &quot;<link linkend="GtkButton-enter">enter</link>&quot;                                          : Run First
  &quot;<link linkend="GtkButton-leave">leave</link>&quot;                                          : Run First
  &quot;<link linkend="GtkButton-pressed">pressed</link>&quot;                                        : Run First
  &quot;<link linkend="GtkButton-released">released</link>&quot;                                       : Run First
</synopsis>
</refsect1>


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

<refsect1 id="GtkButton.details" role="details">
<title role="details.title">Details</title>
<refsect2 id="GtkButton-struct" role="struct">
<title>GtkButton</title>
<indexterm zone="GtkButton-struct"><primary sortas="Button">GtkButton</primary></indexterm><programlisting>typedef struct _GtkButton GtkButton;</programlisting>
<para>
This should not be accessed directly.  Use the accessor functions below.
</para></refsect2>
<refsect2 id="gtk-button-new" role="function">
<title>gtk_button_new ()</title>
<indexterm zone="gtk-button-new"><primary sortas="button_new">gtk_button_new</primary></indexterm><programlisting><link linkend="GtkWidget">GtkWidget</link>*          gtk_button_new                      (void);</programlisting>
<para>
Creates a new <link linkend="GtkButton"><type>GtkButton</type></link> widget. To add a child widget to the button,
use <link linkend="gtk-container-add"><function>gtk_container_add()</function></link>.
</para><variablelist role="params">
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>The newly created <link linkend="GtkButton"><type>GtkButton</type></link> widget.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-button-new-with-label" role="function">
<title>gtk_button_new_with_label ()</title>
<indexterm zone="gtk-button-new-with-label"><primary sortas="button_new_with_label">gtk_button_new_with_label</primary></indexterm><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"><type>GtkButton</type></link> widget with a <link linkend="GtkLabel"><type>GtkLabel</type></link> child containing the given
text.
</para><variablelist role="params">
<varlistentry><term><parameter>label</parameter>&#160;:</term>
<listitem><simpara>The text you want the <link linkend="GtkLabel"><type>GtkLabel</type></link> to hold.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>The newly created <link linkend="GtkButton"><type>GtkButton</type></link> widget.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-button-new-with-mnemonic" role="function">
<title>gtk_button_new_with_mnemonic ()</title>
<indexterm zone="gtk-button-new-with-mnemonic"><primary sortas="button_new_with_mnemonic">gtk_button_new_with_mnemonic</primary></indexterm><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"><type>GtkButton</type></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><variablelist role="params">
<varlistentry><term><parameter>label</parameter>&#160;:</term>
<listitem><simpara> The text of the button, with an underscore in front of the
        mnemonic character
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> a new <link linkend="GtkButton"><type>GtkButton</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-button-new-from-stock" role="function">
<title>gtk_button_new_from_stock ()</title>
<indexterm zone="gtk-button-new-from-stock"><primary sortas="button_new_from_stock">gtk_button_new_from_stock</primary></indexterm><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"><type>GtkButton</type></link> containing the image and text from a stock item.
Some stock ids have preprocessor macros like <link linkend="GTK-STOCK-OK--CAPS"><type>GTK_STOCK_OK</type></link> and
<link linkend="GTK-STOCK-APPLY--CAPS"><type>GTK_STOCK_APPLY</type></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"><function>gtk_button_new_with_mnemonic()</function></link>).</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>stock_id</parameter>&#160;:</term>
<listitem><simpara> the name of the stock item 
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> a new <link linkend="GtkButton"><type>GtkButton</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-button-pressed" role="function">
<title>gtk_button_pressed ()</title>
<indexterm zone="gtk-button-pressed"><primary sortas="button_pressed">gtk_button_pressed</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_button_pressed                  (<link linkend="GtkButton">GtkButton</link> *button);</programlisting>
<para>
Emits a <link linkend="GtkButton-pressed"><type>"pressed"</type></link> signal to the given <link linkend="GtkButton"><type>GtkButton</type></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>button</parameter>&#160;:</term>
<listitem><simpara>The <link linkend="GtkButton"><type>GtkButton</type></link> you want to send the signal to.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-button-released" role="function">
<title>gtk_button_released ()</title>
<indexterm zone="gtk-button-released"><primary sortas="button_released">gtk_button_released</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_button_released                 (<link linkend="GtkButton">GtkButton</link> *button);</programlisting>
<para>
Emits a <link linkend="GtkButton-released"><type>"released"</type></link> signal to the given <link linkend="GtkButton"><type>GtkButton</type></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>button</parameter>&#160;:</term>
<listitem><simpara>The <link linkend="GtkButton"><type>GtkButton</type></link> you want to send the signal to.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-button-clicked" role="function">
<title>gtk_button_clicked ()</title>
<indexterm zone="gtk-button-clicked"><primary sortas="button_clicked">gtk_button_clicked</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_button_clicked                  (<link linkend="GtkButton">GtkButton</link> *button);</programlisting>
<para>
Emits a <link linkend="GtkButton-clicked"><type>"clicked"</type></link> signal to the given <link linkend="GtkButton"><type>GtkButton</type></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>button</parameter>&#160;:</term>
<listitem><simpara>The <link linkend="GtkButton"><type>GtkButton</type></link> you want to send the signal to.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-button-enter" role="function">
<title>gtk_button_enter ()</title>
<indexterm zone="gtk-button-enter"><primary sortas="button_enter">gtk_button_enter</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_button_enter                    (<link linkend="GtkButton">GtkButton</link> *button);</programlisting>
<para>
Emits a <link linkend="GtkButton-enter"><type>"enter"</type></link> signal to the given <link linkend="GtkButton"><type>GtkButton</type></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>button</parameter>&#160;:</term>
<listitem><simpara>The <link linkend="GtkButton"><type>GtkButton</type></link> you want to send the signal to.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-button-leave" role="function">
<title>gtk_button_leave ()</title>
<indexterm zone="gtk-button-leave"><primary sortas="button_leave">gtk_button_leave</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_button_leave                    (<link linkend="GtkButton">GtkButton</link> *button);</programlisting>
<para>
Emits a <link linkend="GtkButton-leave"><type>"leave"</type></link> signal to the given <link linkend="GtkButton"><type>GtkButton</type></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>button</parameter>&#160;:</term>
<listitem><simpara>The <link linkend="GtkButton"><type>GtkButton</type></link> you want to send the signal to.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-button-set-relief" role="function">
<title>gtk_button_set_relief ()</title>
<indexterm zone="gtk-button-set-relief"><primary sortas="button_set_relief">gtk_button_set_relief</primary></indexterm><programlisting><link linkend="void">void</link>                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"><type>GtkButton</type></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><variablelist role="params">
<varlistentry><term><parameter>button</parameter>&#160;:</term>
<listitem><simpara>The <link linkend="GtkButton"><type>GtkButton</type></link> you want to set relief styles of.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>newstyle</parameter>&#160;:</term>
<listitem><simpara>The GtkReliefStyle as described above.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-button-get-relief" role="function">
<title>gtk_button_get_relief ()</title>
<indexterm zone="gtk-button-get-relief"><primary sortas="button_get_relief">gtk_button_get_relief</primary></indexterm><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"><type>GtkButton</type></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>button</parameter>&#160;:</term>
<listitem><simpara>The <link linkend="GtkButton"><type>GtkButton</type></link> you want the <link linkend="GtkReliefStyle"><type>GtkReliefStyle</type></link> from.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>The current <link linkend="GtkReliefStyle"><type>GtkReliefStyle</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-button-get-label" role="function">
<title>gtk_button_get_label ()</title>
<indexterm zone="gtk-button-get-label"><primary sortas="button_get_label">gtk_button_get_label</primary></indexterm><programlisting>const <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"><function>gtk_button_set_label()</function></link>. If the label text has not 
been set the return value will be <link linkend="NULL--CAPS"><literal>NULL</literal></link>. This will be the 
case if you create an empty button with <link linkend="gtk-button-new"><function>gtk_button_new()</function></link> to 
use as a container.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>button</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkButton"><type>GtkButton</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> The text of the label widget. This string is owned
by the widget and must not be modified or freed.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-button-set-label" role="function">
<title>gtk_button_set_label ()</title>
<indexterm zone="gtk-button-set-label"><primary sortas="button_set_label">gtk_button_set_label</primary></indexterm><programlisting><link linkend="void">void</link>                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"><function>gtk_button_set_use_stock()</function></link>
is used.
</para>
<para>
This will also clear any previously set labels.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>button</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkButton"><type>GtkButton</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>label</parameter>&#160;:</term>
<listitem><simpara> a string
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-button-get-use-stock" role="function">
<title>gtk_button_get_use_stock ()</title>
<indexterm zone="gtk-button-get-use-stock"><primary sortas="button_get_use_stock">gtk_button_get_use_stock</primary></indexterm><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><variablelist role="params">
<varlistentry><term><parameter>button</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkButton"><type>GtkButton</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if the button label is used to
              select a stock item instead of being
              used directly as the label text.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-button-set-use-stock" role="function">
<title>gtk_button_set_use_stock ()</title>
<indexterm zone="gtk-button-set-use-stock"><primary sortas="button_set_use_stock">gtk_button_set_use_stock</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_button_set_use_stock            (<link linkend="GtkButton">GtkButton</link> *button,
                                                         <link linkend="gboolean">gboolean</link> use_stock);</programlisting>
<para>
If <link linkend="TRUE--CAPS"><literal>TRUE</literal></link>, the label set on the button is used as a
stock id to select the stock item for the button.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>button</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkButton"><type>GtkButton</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>use_stock</parameter>&#160;:</term>
<listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if the button should use a stock item
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-button-get-use-underline" role="function">
<title>gtk_button_get_use_underline ()</title>
<indexterm zone="gtk-button-get-use-underline"><primary sortas="button_get_use_underline">gtk_button_get_use_underline</primary></indexterm><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"><function>gtk_button_set_use_underline()</function></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>button</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkButton"><type>GtkButton</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if an embedded underline in the button label
              indicates the mnemonic accelerator keys.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-button-set-use-underline" role="function">
<title>gtk_button_set_use_underline ()</title>
<indexterm zone="gtk-button-set-use-underline"><primary sortas="button_set_use_underline">gtk_button_set_use_underline</primary></indexterm><programlisting><link linkend="void">void</link>                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><variablelist role="params">
<varlistentry><term><parameter>button</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkButton"><type>GtkButton</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>use_underline</parameter>&#160;:</term>
<listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if underlines in the text indicate mnemonics
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-button-set-focus-on-click" role="function" condition="since:2.4">
<title>gtk_button_set_focus_on_click ()</title>
<indexterm zone="gtk-button-set-focus-on-click" role="2.4"><primary sortas="button_set_focus_on_click">gtk_button_set_focus_on_click</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_button_set_focus_on_click       (<link linkend="GtkButton">GtkButton</link> *button,
                                                         <link linkend="gboolean">gboolean</link> focus_on_click);</programlisting>
<para>
Sets whether the button will grab focus when it is clicked with the mouse.
Making mouse clicks not grab focus is useful in places like toolbars where
you don't want the keyboard focus removed from the main area of the
application.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>button</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkButton"><type>GtkButton</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>focus_on_click</parameter>&#160;:</term>
<listitem><simpara> whether the button grabs focus when clicked with the mouse
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.4</para></refsect2>
<refsect2 id="gtk-button-get-focus-on-click" role="function" condition="since:2.4">
<title>gtk_button_get_focus_on_click ()</title>
<indexterm zone="gtk-button-get-focus-on-click" role="2.4"><primary sortas="button_get_focus_on_click">gtk_button_get_focus_on_click</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            gtk_button_get_focus_on_click       (<link linkend="GtkButton">GtkButton</link> *button);</programlisting>
<para>
Returns whether the button grabs focus when it is clicked with the mouse.
See <link linkend="gtk-button-set-focus-on-click"><function>gtk_button_set_focus_on_click()</function></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>button</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkButton"><type>GtkButton</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if the button grabs focus when it is clicked with
              the mouse.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.4</para></refsect2>
<refsect2 id="gtk-button-set-alignment" role="function" condition="since:2.4">
<title>gtk_button_set_alignment ()</title>
<indexterm zone="gtk-button-set-alignment" role="2.4"><primary sortas="button_set_alignment">gtk_button_set_alignment</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_button_set_alignment            (<link linkend="GtkButton">GtkButton</link> *button,
                                                         <link linkend="gfloat">gfloat</link> xalign,
                                                         <link linkend="gfloat">gfloat</link> yalign);</programlisting>
<para>
Sets the alignment of the child. This property has no effect unless 
the child is a <link linkend="GtkMisc"><type>GtkMisc</type></link> or a <link linkend="GtkAligment"><type>GtkAligment</type></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>button</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkButton"><type>GtkButton</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>xalign</parameter>&#160;:</term>
<listitem><simpara> the horizontal position of the child, 0.0 is left aligned, 
  1.0 is right aligned
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>yalign</parameter>&#160;:</term>
<listitem><simpara> the vertical position of the child, 0.0 is top aligned, 
  1.0 is bottom aligned
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.4</para></refsect2>
<refsect2 id="gtk-button-get-alignment" role="function" condition="since:2.4">
<title>gtk_button_get_alignment ()</title>
<indexterm zone="gtk-button-get-alignment" role="2.4"><primary sortas="button_get_alignment">gtk_button_get_alignment</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_button_get_alignment            (<link linkend="GtkButton">GtkButton</link> *button,
                                                         <link linkend="gfloat">gfloat</link> *xalign,
                                                         <link linkend="gfloat">gfloat</link> *yalign);</programlisting>
<para>
Gets the alignment of the child in the button.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>button</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkButton"><type>GtkButton</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>xalign</parameter>&#160;:</term>
<listitem><simpara> return location for horizontal alignment
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>yalign</parameter>&#160;:</term>
<listitem><simpara> return location for vertical alignment
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.4</para></refsect2>
<refsect2 id="gtk-button-set-image" role="function" condition="since:2.6">
<title>gtk_button_set_image ()</title>
<indexterm zone="gtk-button-set-image" role="2.6"><primary sortas="button_set_image">gtk_button_set_image</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_button_set_image                (<link linkend="GtkButton">GtkButton</link> *button,
                                                         <link linkend="GtkWidget">GtkWidget</link> *image);</programlisting>
<para>
Set the image of <parameter>button</parameter> to the given widget. Note that
it depends on the <link linkend="GtkSettings--gtk-button-images"><type>"gtk-button-images"</type></link> setting whether the
image will be displayed or not, you don't have to call
<link linkend="gtk-widget-show"><function>gtk_widget_show()</function></link> on <parameter>image</parameter> yourself.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>button</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkButton"><type>GtkButton</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>image</parameter>&#160;:</term>
<listitem><simpara> a widget to set as the image for the button
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.6</para></refsect2>
<refsect2 id="gtk-button-get-image" role="function" condition="since:2.6">
<title>gtk_button_get_image ()</title>
<indexterm zone="gtk-button-get-image" role="2.6"><primary sortas="button_get_image">gtk_button_get_image</primary></indexterm><programlisting><link linkend="GtkWidget">GtkWidget</link>*          gtk_button_get_image                (<link linkend="GtkButton">GtkButton</link> *button);</programlisting>
<para>
Gets the widget that is currenty set as the image of <parameter>button</parameter>.
This may have been explicitly set by <link linkend="gtk-button-set-image"><function>gtk_button_set_image()</function></link>
or constructed by <link linkend="gtk-button-new-from-stock"><function>gtk_button_new_from_stock()</function></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>button</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkButton"><type>GtkButton</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link> or <link linkend="NULL--CAPS"><literal>NULL</literal></link> in case there is no image

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.6</para></refsect2>
<refsect2 id="gtk-button-set-image-position" role="function" condition="since:2.10">
<title>gtk_button_set_image_position ()</title>
<indexterm zone="gtk-button-set-image-position" role="2.10"><primary sortas="button_set_image_position">gtk_button_set_image_position</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_button_set_image_position       (<link linkend="GtkButton">GtkButton</link> *button,
                                                         <link linkend="GtkPositionType">GtkPositionType</link> position);</programlisting>
<para>
Sets the position of the image relative to the text 
inside the button.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>button</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkButton"><type>GtkButton</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>position</parameter>&#160;:</term>
<listitem><simpara> the position
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.10</para></refsect2>
<refsect2 id="gtk-button-get-image-position" role="function" condition="since:2.10">
<title>gtk_button_get_image_position ()</title>
<indexterm zone="gtk-button-get-image-position" role="2.10"><primary sortas="button_get_image_position">gtk_button_get_image_position</primary></indexterm><programlisting><link linkend="GtkPositionType">GtkPositionType</link>     gtk_button_get_image_position       (<link linkend="GtkButton">GtkButton</link> *button);</programlisting>
<para>
Gets the position of the image relative to the text 
inside the button.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>button</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkButton"><type>GtkButton</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the position

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.10</para></refsect2>

</refsect1>
<refsect1 id="GtkButton.property-details" role="property_details">
<title role="property_details.title">Property Details</title>
<refsect2 id="GtkButton--focus-on-click" role="property"><title>The <literal>&quot;focus-on-click&quot;</literal> property</title>
<indexterm zone="GtkButton--focus-on-click"><primary sortas="Button:focus-on-click">GtkButton:focus-on-click</primary></indexterm><programlisting>  &quot;focus-on-click&quot;           <link linkend="gboolean">gboolean</link>              : Read / Write</programlisting>
<para>Whether the button grabs focus when it is clicked with the mouse.</para><para>Default value: TRUE</para>
</refsect2>
<refsect2 id="GtkButton--image" role="property"><title>The <literal>&quot;image&quot;</literal> property</title>
<indexterm zone="GtkButton--image"><primary sortas="Button:image">GtkButton:image</primary></indexterm><programlisting>  &quot;image&quot;                    <link linkend="GtkWidget">GtkWidget</link>*            : Read / Write</programlisting>
<para>Child widget to appear next to the button text.</para></refsect2>
<refsect2 id="GtkButton--image-position" role="property"><title>The <literal>&quot;image-position&quot;</literal> property</title>
<indexterm zone="GtkButton--image-position" role="2.10"><primary sortas="Button:image-position">GtkButton:image-position</primary></indexterm><programlisting>  &quot;image-position&quot;           <link linkend="GtkPositionType">GtkPositionType</link>       : Read / Write</programlisting>
<para>
The position of the image relative to the text inside the button.</para>
<para>
</para><para>Default value: GTK_POS_LEFT</para>
<para>Since 2.10</para>
</refsect2>
<refsect2 id="GtkButton--label" role="property"><title>The <literal>&quot;label&quot;</literal> property</title>
<indexterm zone="GtkButton--label"><primary sortas="Button:label">GtkButton:label</primary></indexterm><programlisting>  &quot;label&quot;                    <link linkend="gchar">gchar</link>*                : Read / Write / Construct</programlisting>
<para>Text of the label widget inside the button, if the button contains a label widget.</para><para>Default value: NULL</para>
</refsect2>
<refsect2 id="GtkButton--relief" role="property"><title>The <literal>&quot;relief&quot;</literal> property</title>
<indexterm zone="GtkButton--relief"><primary sortas="Button:relief">GtkButton:relief</primary></indexterm><programlisting>  &quot;relief&quot;                   <link linkend="GtkReliefStyle">GtkReliefStyle</link>        : Read / Write</programlisting>
<para>The border relief style.</para><para>Default value: GTK_RELIEF_NORMAL</para>
</refsect2>
<refsect2 id="GtkButton--use-stock" role="property"><title>The <literal>&quot;use-stock&quot;</literal> property</title>
<indexterm zone="GtkButton--use-stock"><primary sortas="Button:use-stock">GtkButton:use-stock</primary></indexterm><programlisting>  &quot;use-stock&quot;                <link linkend="gboolean">gboolean</link>              : Read / Write / Construct</programlisting>
<para>If set, the label is used to pick a stock item instead of being displayed.</para><para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkButton--use-underline" role="property"><title>The <literal>&quot;use-underline&quot;</literal> property</title>
<indexterm zone="GtkButton--use-underline"><primary sortas="Button:use-underline">GtkButton:use-underline</primary></indexterm><programlisting>  &quot;use-underline&quot;            <link linkend="gboolean">gboolean</link>              : Read / Write / Construct</programlisting>
<para>If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key.</para><para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkButton--xalign" role="property"><title>The <literal>&quot;xalign&quot;</literal> property</title>
<indexterm zone="GtkButton--xalign" role="2.4"><primary sortas="Button:xalign">GtkButton:xalign</primary></indexterm><programlisting>  &quot;xalign&quot;                   <link linkend="gfloat">gfloat</link>                : Read / Write</programlisting>
<para>
If the child of the button is a <link linkend="GtkMisc"><type>GtkMisc</type></link> or <link linkend="GtkAlignment"><type>GtkAlignment</type></link>, this property
can be used to control it's horizontal alignment. 0.0 is left aligned, 
1.0 is right aligned.</para>
<para>
</para><para>Allowed values: [0,1]</para>
<para>Default value: 0.5</para>
<para>Since 2.4</para>
</refsect2>
<refsect2 id="GtkButton--yalign" role="property"><title>The <literal>&quot;yalign&quot;</literal> property</title>
<indexterm zone="GtkButton--yalign" role="2.4"><primary sortas="Button:yalign">GtkButton:yalign</primary></indexterm><programlisting>  &quot;yalign&quot;                   <link linkend="gfloat">gfloat</link>                : Read / Write</programlisting>
<para>
If the child of the button is a <link linkend="GtkMisc"><type>GtkMisc</type></link> or <link linkend="GtkAlignment"><type>GtkAlignment</type></link>, this property 
can be used to control it's vertical alignment. 0.0 is top aligned, 
1.0 is bottom aligned.</para>
<para>
</para><para>Allowed values: [0,1]</para>
<para>Default value: 0.5</para>
<para>Since 2.4</para>
</refsect2>

</refsect1>
<refsect1 id="GtkButton.style-property-details" role="style_properties_details">
<title role="style_properties_details.title">Style Property Details</title>
<refsect2 id="GtkButton--s-child-displacement-x" role="property"><title>The <literal>&quot;child-displacement-x&quot;</literal> style property</title>
<indexterm zone="GtkButton--s-child-displacement-x"><primary sortas="Button:child-displacement-x">GtkButton:child-displacement-x</primary></indexterm><programlisting>  &quot;child-displacement-x&quot;     <link linkend="gint">gint</link>                  : Read</programlisting>
<para>How far in the x direction to move the child when the button is depressed.</para><para>Default value: 0</para>
</refsect2>
<refsect2 id="GtkButton--s-child-displacement-y" role="property"><title>The <literal>&quot;child-displacement-y&quot;</literal> style property</title>
<indexterm zone="GtkButton--s-child-displacement-y"><primary sortas="Button:child-displacement-y">GtkButton:child-displacement-y</primary></indexterm><programlisting>  &quot;child-displacement-y&quot;     <link linkend="gint">gint</link>                  : Read</programlisting>
<para>How far in the y direction to move the child when the button is depressed.</para><para>Default value: 0</para>
</refsect2>
<refsect2 id="GtkButton--s-default-border" role="property"><title>The <literal>&quot;default-border&quot;</literal> style property</title>
<indexterm zone="GtkButton--s-default-border"><primary sortas="Button:default-border">GtkButton:default-border</primary></indexterm><programlisting>  &quot;default-border&quot;           <link linkend="GtkBorder">GtkBorder</link>*            : Read</programlisting>
<para>Extra space to add for CAN_DEFAULT buttons.</para></refsect2>
<refsect2 id="GtkButton--s-default-outside-border" role="property"><title>The <literal>&quot;default-outside-border&quot;</literal> style property</title>
<indexterm zone="GtkButton--s-default-outside-border"><primary sortas="Button:default-outside-border">GtkButton:default-outside-border</primary></indexterm><programlisting>  &quot;default-outside-border&quot;   <link linkend="GtkBorder">GtkBorder</link>*            : Read</programlisting>
<para>Extra space to add for CAN_DEFAULT buttons that is always drawn outside the border.</para></refsect2>
<refsect2 id="GtkButton--s-displace-focus" role="property"><title>The <literal>&quot;displace-focus&quot;</literal> style property</title>
<indexterm zone="GtkButton--s-displace-focus" role="2.6"><primary sortas="Button:displace-focus">GtkButton:displace-focus</primary></indexterm><programlisting>  &quot;displace-focus&quot;           <link linkend="gboolean">gboolean</link>              : Read</programlisting>
<para>
Whether the child_displacement_x/child_displacement_y properties
should also affect the focus rectangle.</para>
<para>
</para><para>Default value: FALSE</para>
<para>Since 2.6</para>
</refsect2>
<refsect2 id="GtkButton--s-image-spacing" role="property"><title>The <literal>&quot;image-spacing&quot;</literal> style property</title>
<indexterm zone="GtkButton--s-image-spacing"><primary sortas="Button:image-spacing">GtkButton:image-spacing</primary></indexterm><programlisting>  &quot;image-spacing&quot;            <link linkend="gint">gint</link>                  : Read</programlisting>
<para>Spacing in pixels between the image and label.</para><para>Allowed values: &gt;= 0</para>
<para>Default value: 2</para>
</refsect2>
<refsect2 id="GtkButton--s-inner-border" role="property"><title>The <literal>&quot;inner-border&quot;</literal> style property</title>
<indexterm zone="GtkButton--s-inner-border" role="2.10"><primary sortas="Button:inner-border">GtkButton:inner-border</primary></indexterm><programlisting>  &quot;inner-border&quot;             <link linkend="GtkBorder">GtkBorder</link>*            : Read</programlisting>
<para>
Sets the border between the button edges and child.</para>
<para>
</para><para>Since 2.10</para>
</refsect2>

</refsect1>

<refsect1 id="GtkButton.signal-details" role="signals">
<title role="signals.title">Signal Details</title>
<refsect2 id="GtkButton-activate" role="signal"><title>The <literal>&quot;activate&quot;</literal> signal</title>
<indexterm zone="GtkButton-activate"><primary sortas="Button::activate">GtkButton::activate</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="GtkButton">GtkButton</link> *widget,
                                                        <link linkend="gpointer">gpointer</link>   user_data)      : Run First / Action</programlisting>
<para>
The ::activate signal on GtkButton is an action signal and
emitting it causes the button to animate press then release.
Applications should never connect to this signal, but use the
<link linkend="GtkButton-clicked"><type>"clicked"</type></link> signal.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>widget</parameter>&#160;:</term>
<listitem><simpara> the object which received the signal.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="GtkButton-clicked" role="signal"><title>The <literal>&quot;clicked&quot;</literal> signal</title>
<indexterm zone="GtkButton-clicked"><primary sortas="Button::clicked">GtkButton::clicked</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="GtkButton">GtkButton</link> *button,
                                                        <link linkend="gpointer">gpointer</link>   user_data)      : Run First / Action</programlisting>
<para>
Emitted when the button has been activated (pressed and released).</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>button</parameter>&#160;:</term>
<listitem><simpara> the object that received the signal
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="GtkButton-enter" role="signal"><title>The <literal>&quot;enter&quot;</literal> signal</title>
<indexterm zone="GtkButton-enter" role="deprecated"><primary sortas="Button::enter">GtkButton::enter</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="GtkButton">GtkButton</link> *button,
                                                        <link linkend="gpointer">gpointer</link>   user_data)      : Run First</programlisting>
<para>
Emitted when the pointer enters the button.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>button</parameter>&#160;:</term>
<listitem><simpara> the object that received the signal
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="GtkButton-leave" role="signal"><title>The <literal>&quot;leave&quot;</literal> signal</title>
<indexterm zone="GtkButton-leave" role="deprecated"><primary sortas="Button::leave">GtkButton::leave</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="GtkButton">GtkButton</link> *button,
                                                        <link linkend="gpointer">gpointer</link>   user_data)      : Run First</programlisting>
<para>
Emitted when the pointer leaves the button.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>button</parameter>&#160;:</term>
<listitem><simpara> the object that received the signal
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="GtkButton-pressed" role="signal"><title>The <literal>&quot;pressed&quot;</literal> signal</title>
<indexterm zone="GtkButton-pressed" role="deprecated"><primary sortas="Button::pressed">GtkButton::pressed</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="GtkButton">GtkButton</link> *button,
                                                        <link linkend="gpointer">gpointer</link>   user_data)      : Run First</programlisting>
<para>
Emitted when the button is pressed.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>button</parameter>&#160;:</term>
<listitem><simpara> the object that received the signal
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="GtkButton-released" role="signal"><title>The <literal>&quot;released&quot;</literal> signal</title>
<indexterm zone="GtkButton-released" role="deprecated"><primary sortas="Button::released">GtkButton::released</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="GtkButton">GtkButton</link> *button,
                                                        <link linkend="gpointer">gpointer</link>   user_data)      : Run First</programlisting>
<para>
Emitted when the button is released.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>button</parameter>&#160;:</term>
<listitem><simpara> the object that received the signal
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2>
</refsect1>



</refentry>
