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

<refnamediv>
<refname>GtkSpinButton</refname><refpurpose>retrieve an integer or floating-point number from the user.</refpurpose>
</refnamediv>

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

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


struct      <link linkend="GtkSpinButton-struct">GtkSpinButton</link>;
enum        <link linkend="GtkSpinButtonUpdatePolicy">GtkSpinButtonUpdatePolicy</link>;
enum        <link linkend="GtkSpinType">GtkSpinType</link>;
void        <link linkend="gtk-spin-button-configure">gtk_spin_button_configure</link>       (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button,
                                             <link linkend="GtkAdjustment">GtkAdjustment</link> *adjustment,
                                             <link linkend="gdouble">gdouble</link> climb_rate,
                                             <link linkend="guint">guint</link> digits);
<link linkend="GtkWidget">GtkWidget</link>*  <link linkend="gtk-spin-button-new">gtk_spin_button_new</link>             (<link linkend="GtkAdjustment">GtkAdjustment</link> *adjustment,
                                             <link linkend="gdouble">gdouble</link> climb_rate,
                                             <link linkend="guint">guint</link> digits);
<link linkend="GtkWidget">GtkWidget</link>*  <link linkend="gtk-spin-button-new-with-range">gtk_spin_button_new_with_range</link>  (<link linkend="gdouble">gdouble</link> min,
                                             <link linkend="gdouble">gdouble</link> max,
                                             <link linkend="gdouble">gdouble</link> step);
void        <link linkend="gtk-spin-button-set-adjustment">gtk_spin_button_set_adjustment</link>  (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button,
                                             <link linkend="GtkAdjustment">GtkAdjustment</link> *adjustment);
<link linkend="GtkAdjustment">GtkAdjustment</link>* <link linkend="gtk-spin-button-get-adjustment">gtk_spin_button_get_adjustment</link>
                                            (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button);
void        <link linkend="gtk-spin-button-set-digits">gtk_spin_button_set_digits</link>      (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button,
                                             <link linkend="guint">guint</link> digits);
void        <link linkend="gtk-spin-button-set-increments">gtk_spin_button_set_increments</link>  (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button,
                                             <link linkend="gdouble">gdouble</link> step,
                                             <link linkend="gdouble">gdouble</link> page);
void        <link linkend="gtk-spin-button-set-range">gtk_spin_button_set_range</link>       (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button,
                                             <link linkend="gdouble">gdouble</link> min,
                                             <link linkend="gdouble">gdouble</link> max);
#define     <link linkend="gtk-spin-button-get-value-as-float">gtk_spin_button_get_value_as_float</link>
<link linkend="gint">gint</link>        <link linkend="gtk-spin-button-get-value-as-int">gtk_spin_button_get_value_as_int</link>
                                            (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button);
void        <link linkend="gtk-spin-button-set-value">gtk_spin_button_set_value</link>       (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button,
                                             <link linkend="gdouble">gdouble</link> value);
void        <link linkend="gtk-spin-button-set-update-policy">gtk_spin_button_set_update_policy</link>
                                            (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button,
                                             <link linkend="GtkSpinButtonUpdatePolicy">GtkSpinButtonUpdatePolicy</link> policy);
void        <link linkend="gtk-spin-button-set-numeric">gtk_spin_button_set_numeric</link>     (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button,
                                             <link linkend="gboolean">gboolean</link> numeric);
void        <link linkend="gtk-spin-button-spin">gtk_spin_button_spin</link>            (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button,
                                             <link linkend="GtkSpinType">GtkSpinType</link> direction,
                                             <link linkend="gdouble">gdouble</link> increment);
void        <link linkend="gtk-spin-button-set-wrap">gtk_spin_button_set_wrap</link>        (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button,
                                             <link linkend="gboolean">gboolean</link> wrap);
void        <link linkend="gtk-spin-button-set-snap-to-ticks">gtk_spin_button_set_snap_to_ticks</link>
                                            (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button,
                                             <link linkend="gboolean">gboolean</link> snap_to_ticks);
void        <link linkend="gtk-spin-button-update">gtk_spin_button_update</link>          (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button);
<link linkend="guint">guint</link>       <link linkend="gtk-spin-button-get-digits">gtk_spin_button_get_digits</link>      (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button);
void        <link linkend="gtk-spin-button-get-increments">gtk_spin_button_get_increments</link>  (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button,
                                             <link linkend="gdouble">gdouble</link> *step,
                                             <link linkend="gdouble">gdouble</link> *page);
<link linkend="gboolean">gboolean</link>    <link linkend="gtk-spin-button-get-numeric">gtk_spin_button_get_numeric</link>     (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button);
void        <link linkend="gtk-spin-button-get-range">gtk_spin_button_get_range</link>       (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button,
                                             <link linkend="gdouble">gdouble</link> *min,
                                             <link linkend="gdouble">gdouble</link> *max);
<link linkend="gboolean">gboolean</link>    <link linkend="gtk-spin-button-get-snap-to-ticks">gtk_spin_button_get_snap_to_ticks</link>
                                            (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button);
<link linkend="GtkSpinButtonUpdatePolicy">GtkSpinButtonUpdatePolicy</link> <link linkend="gtk-spin-button-get-update-policy">gtk_spin_button_get_update_policy</link>
                                            (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button);
<link linkend="gdouble">gdouble</link>     <link linkend="gtk-spin-button-get-value">gtk_spin_button_get_value</link>       (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button);
<link linkend="gboolean">gboolean</link>    <link linkend="gtk-spin-button-get-wrap">gtk_spin_button_get_wrap</link>        (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button);
#define     <link linkend="GTK-INPUT-ERROR-CAPS">GTK_INPUT_ERROR</link>


</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="GtkEntry">GtkEntry</link>
                     +----GtkSpinButton
</synopsis>

</refsect1>

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

  &quot;<link linkend="GtkSpinButton--adjustment">adjustment</link>&quot;           <link linkend="GtkAdjustment">GtkAdjustment</link>        : Read / Write
  &quot;<link linkend="GtkSpinButton--climb-rate">climb-rate</link>&quot;           <link linkend="gdouble">gdouble</link>              : Read / Write
  &quot;<link linkend="GtkSpinButton--digits">digits</link>&quot;               <link linkend="guint">guint</link>                : Read / Write
  &quot;<link linkend="GtkSpinButton--snap-to-ticks">snap-to-ticks</link>&quot;        <link linkend="gboolean">gboolean</link>             : Read / Write
  &quot;<link linkend="GtkSpinButton--numeric">numeric</link>&quot;              <link linkend="gboolean">gboolean</link>             : Read / Write
  &quot;<link linkend="GtkSpinButton--wrap">wrap</link>&quot;                 <link linkend="gboolean">gboolean</link>             : Read / Write
  &quot;<link linkend="GtkSpinButton--update-policy">update-policy</link>&quot;        <link linkend="GtkSpinButtonUpdatePolicy">GtkSpinButtonUpdatePolicy</link> : Read / Write
  &quot;<link linkend="GtkSpinButton--value">value</link>&quot;                <link linkend="gdouble">gdouble</link>              : Read / Write
</synopsis>
</refsect1>

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

&quot;<link linkend="GtkSpinButton-change-value">change-value</link>&quot;
            void        user_function      (<link linkend="GtkSpinButton">GtkSpinButton</link> *spinbutton,
                                            <link linkend="GtkScrollType">GtkScrollType</link> arg1,
                                            <link linkend="gpointer">gpointer</link> user_data);
&quot;<link linkend="GtkSpinButton-input">input</link>&quot;     <link linkend="gint">gint</link>        user_function      (<link linkend="GtkSpinButton">GtkSpinButton</link> *spinbutton,
                                            <link linkend="gpointer">gpointer</link> arg1,
                                            <link linkend="gpointer">gpointer</link> user_data);
&quot;<link linkend="GtkSpinButton-output">output</link>&quot;    <link linkend="gboolean">gboolean</link>    user_function      (<link linkend="GtkSpinButton">GtkSpinButton</link> *spinbutton,
                                            <link linkend="gpointer">gpointer</link> user_data);
&quot;<link linkend="GtkSpinButton-value-changed">value-changed</link>&quot;
            void        user_function      (<link linkend="GtkSpinButton">GtkSpinButton</link> *spinbutton,
                                            <link linkend="gpointer">gpointer</link> user_data);
</synopsis>
</refsect1>


<refsect1>
<title>Description</title>
<para>
A <link linkend="GtkSpinButton">GtkSpinButton</link> is an ideal way to allow the user to set the value of some 
attribute. Rather than having to directly type a number into a <link linkend="GtkEntry">GtkEntry</link>, 
<link linkend="GtkSpinButton">GtkSpinButton</link> allows the user to click on one of two arrows to increment or 
decrement the displayed value. A value can still be typed in, with the bonus 
that it can be checked to ensure it is in a given range.
</para>
<para>
The main properties of a <link linkend="GtkSpinButton">GtkSpinButton</link> are through a <link linkend="GtkAdjustment">GtkAdjustment</link>. See the 
<link linkend="GtkAdjustment">GtkAdjustment</link> section for more details about an adjustment's properties.
</para>
<para>
<example>
<title>Using a <structname>GtkSpinButton</structname> to get an integer.</title>
<programlisting>

/* Provides a function to retrieve an integer value from a GtkSpinButton
 * and creates a spin button to model percentage values.
 */

gint grab_int_value (GtkSpinButton *a_spinner, gpointer user_data) {
   return gtk_spin_button_get_value_as_int (a_spinner);
}

void create_integer_spin_button (void) {

   GtkWidget *window, *spinner;
   GtkAdjustment *spinner_adj;

   spinner_adj = (GtkAdjustment *) gtk_adjustment_new (50.0, 0.0, 100.0, 1.0, 5.0, 5.0);
   
   window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
   gtk_container_set_border_width (GTK_CONTAINER (window), 5);
   
   /* creates the spinner, with no decimal places */
   spinner = gtk_spin_button_new (spinner_adj, 1.0, 0);
   gtk_container_add (GTK_CONTAINER (window), spinner);
   
   gtk_widget_show_all (window);
   return;
}

</programlisting>
</example>
</para>

<para>
<example>
<title>Using a <structname>GtkSpinButton</structname> to get a floating point value.</title>
<programlisting>

/* Provides a function to retrieve a floating point value from a
 * GtkSpinButton, and creates a high precision spin button.
 */

gfloat grab_int_value (GtkSpinButton *a_spinner, gpointer user_data) {
   return gtk_spin_button_get_value (a_spinner);
}

void create_floating_spin_button (void) {

   GtkWidget *window, *spinner;
   GtkAdjustment *spinner_adj;

   spinner_adj = (GtkAdjustment *) gtk_adjustment_new (2.500, 0.0, 5.0, 0.001, 0.1, 0.1);
   
   window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
   gtk_container_set_border_width (GTK_CONTAINER (window), 5);
   
   /* creates the spinner, with three decimal places */
   spinner = gtk_spin_button_new (spinner_adj, 0.001, 3);
   gtk_container_add (GTK_CONTAINER (window), spinner);
   
   gtk_widget_show_all (window);
   return;
}

</programlisting>
</example>
</para>
</refsect1>

<refsect1>
<title>Details</title>
<refsect2>
<title><anchor id="GtkSpinButton-struct">struct GtkSpinButton</title>
<programlisting>struct GtkSpinButton;</programlisting>
<para>
<structfield>entry</structfield> is the <link linkend="GtkEntry">GtkEntry</link> part of the <link linkend="GtkSpinButton">GtkSpinButton</link> 
widget, and can be used accordingly. All other fields contain private data 
and should only be modified using the functions below.
</para></refsect2>
<refsect2>
<title><anchor id="GtkSpinButtonUpdatePolicy">enum GtkSpinButtonUpdatePolicy</title>
<programlisting>typedef enum
{
  GTK_UPDATE_ALWAYS,
  GTK_UPDATE_IF_VALID
} GtkSpinButtonUpdatePolicy;
</programlisting>
<para>

<informaltable pgwide=1 frame="none" role="enum">
<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
<tbody>
<row>
<entry>GTK_UPDATE_ALWAYS</entry>
<entry>When refreshing your <link linkend="GtkSpinButton">GtkSpinButton</link>, the value is always displayed.</entry>
</row>
<row>
<entry>GTK_UPDATE_IF_VALID</entry>
<entry>When refreshing your <link linkend="GtkSpinButton">GtkSpinButton</link>, the value is only displayed if it is valid within the bounds of the spin button's <link linkend="GtkAdjustment">GtkAdjustment</link>.</entry>
</row>
</tbody></tgroup></informaltable>
</para></refsect2>
<refsect2>
<title><anchor id="GtkSpinType">enum GtkSpinType</title>
<programlisting>typedef enum
{
  GTK_SPIN_STEP_FORWARD,
  GTK_SPIN_STEP_BACKWARD,
  GTK_SPIN_PAGE_FORWARD,
  GTK_SPIN_PAGE_BACKWARD,
  GTK_SPIN_HOME,
  GTK_SPIN_END,
  GTK_SPIN_USER_DEFINED
} GtkSpinType;
</programlisting>
<para>

<informaltable pgwide=1 frame="none" role="struct">
<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
<tbody>
<row>
<entry>GTK_SPIN_STEP_FORWARD, 
GTK_SPIN_STEP_BACKWARD, 
GTK_SPIN_PAGE_FORWARD, 
GTK_SPIN_PAGE_BACKWARD</entry>
<entry>These values spin a <link linkend="GtkSpinButton">GtkSpinButton</link> by the relevant values of the spin button's <link linkend="GtkAdjustment">GtkAdjustment</link>.</entry>
</row>
<row>
<entry>GTK_SPIN_HOME, 
GTK_SPIN_END</entry>
<entry>These set the spin button's value to the minimum or maxmimum possible values, (set by it's <link linkend="GtkAdjustment">GtkAdjustment</link>), respectively.</entry>
</row>
<row>
<entry>GTK_SPIN_USER_DEFINED</entry>
<entry>The programmer must specify the exact amount to spin the <link linkend="GtkSpinButton">GtkSpinButton</link>.</entry>
</row>
</tbody></tgroup></informaltable>
</para></refsect2>
<refsect2>
<title><anchor id="gtk-spin-button-configure">gtk_spin_button_configure ()</title>
<programlisting>void        gtk_spin_button_configure       (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button,
                                             <link linkend="GtkAdjustment">GtkAdjustment</link> *adjustment,
                                             <link linkend="gdouble">gdouble</link> climb_rate,
                                             <link linkend="guint">guint</link> digits);</programlisting>
<para>
Changes the properties of an existing spin button. The adjustment, climb rate, and number of decimal places are all changed accordingly, after this function call.
</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>spin_button</parameter>&nbsp;:</entry>
<entry>a <link linkend="GtkSpinButton">GtkSpinButton</link>.
</entry></row>
<row><entry align="right"><parameter>adjustment</parameter>&nbsp;:</entry>
<entry>a <link linkend="GtkAdjustment">GtkAdjustment</link>.
</entry></row>
<row><entry align="right"><parameter>climb_rate</parameter>&nbsp;:</entry>
<entry>the new climb rate.
</entry></row>
<row><entry align="right"><parameter>digits</parameter>&nbsp;:</entry>
<entry>the number of decimal places to display in the spin button.


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-spin-button-new">gtk_spin_button_new ()</title>
<programlisting><link linkend="GtkWidget">GtkWidget</link>*  gtk_spin_button_new             (<link linkend="GtkAdjustment">GtkAdjustment</link> *adjustment,
                                             <link linkend="gdouble">gdouble</link> climb_rate,
                                             <link linkend="guint">guint</link> digits);</programlisting>
<para>
Creates a new <link linkend="GtkSpinButton">GtkSpinButton</link>.
</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>adjustment</parameter>&nbsp;:</entry>
<entry>the <link linkend="GtkAdjustment">GtkAdjustment</link> object that this spin button should use.
</entry></row>
<row><entry align="right"><parameter>climb_rate</parameter>&nbsp;:</entry>
<entry>specifies how much the spin button changes when an arrow is clicked on.
</entry></row>
<row><entry align="right"><parameter>digits</parameter>&nbsp;:</entry>
<entry>the number of decimal places to display.
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry>The new spin button as a <link linkend="GtkWidget">GtkWidget</link>.


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-spin-button-new-with-range">gtk_spin_button_new_with_range ()</title>
<programlisting><link linkend="GtkWidget">GtkWidget</link>*  gtk_spin_button_new_with_range  (<link linkend="gdouble">gdouble</link> min,
                                             <link linkend="gdouble">gdouble</link> max,
                                             <link linkend="gdouble">gdouble</link> step);</programlisting>
<para>
This is a convenience constructor that allows creation of a numeric 
<link linkend="GtkSpinButton">GtkSpinButton</link> without manually creating an adjustment. The value is 
initially set to the minimum value and a page increment of 10 * <parameter>step</parameter>
is the default. The precision of the spin button is equivalent to the 
precision of <parameter>step</parameter>.</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>min</parameter>&nbsp;:</entry>
<entry> Minimum allowable value
</entry></row>
<row><entry align="right"><parameter>max</parameter>&nbsp;:</entry>
<entry> Maximum allowable value
</entry></row>
<row><entry align="right"><parameter>step</parameter>&nbsp;:</entry>
<entry> Increment added or subtracted by spinning the widget
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> The new spin button as a <link linkend="GtkWidget">GtkWidget</link>.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-spin-button-set-adjustment">gtk_spin_button_set_adjustment ()</title>
<programlisting>void        gtk_spin_button_set_adjustment  (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button,
                                             <link linkend="GtkAdjustment">GtkAdjustment</link> *adjustment);</programlisting>
<para>
Replaces the <link linkend="GtkAdjustment">GtkAdjustment</link> associated with <parameter>spin_button</parameter>.</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>spin_button</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkSpinButton">GtkSpinButton</link>
</entry></row>
<row><entry align="right"><parameter>adjustment</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkAdjustment">GtkAdjustment</link> to replace the existing adjustment
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-spin-button-get-adjustment">gtk_spin_button_get_adjustment ()</title>
<programlisting><link linkend="GtkAdjustment">GtkAdjustment</link>* gtk_spin_button_get_adjustment
                                            (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button);</programlisting>
<para>
Get the adjustment associated with a <link linkend="GtkSpinButton">GtkSpinButton</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>spin_button</parameter>&nbsp;:</entry>
<entry> 
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> the <link linkend="GtkAdjustment">GtkAdjustment</link> of <parameter>spin_button</parameter>
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-spin-button-set-digits">gtk_spin_button_set_digits ()</title>
<programlisting>void        gtk_spin_button_set_digits      (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button,
                                             <link linkend="guint">guint</link> digits);</programlisting>
<para>
Set the precision to be displayed by <parameter>spin_button</parameter>. Up to 20 digit precision
is allowed.</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>spin_button</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkSpinButton">GtkSpinButton</link>
</entry></row>
<row><entry align="right"><parameter>digits</parameter>&nbsp;:</entry>
<entry> the number of digits to be displayed for the spin button's value
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-spin-button-set-increments">gtk_spin_button_set_increments ()</title>
<programlisting>void        gtk_spin_button_set_increments  (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button,
                                             <link linkend="gdouble">gdouble</link> step,
                                             <link linkend="gdouble">gdouble</link> page);</programlisting>
<para>
Sets the step and page increments for spin_button.  This affects how 
quickly the value changes when the spin button's arrows are activated.</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>spin_button</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkSpinButton">GtkSpinButton</link>
</entry></row>
<row><entry align="right"><parameter>step</parameter>&nbsp;:</entry>
<entry> increment applied for a button 1 press.
</entry></row>
<row><entry align="right"><parameter>page</parameter>&nbsp;:</entry>
<entry> increment applied for a button 2 press.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-spin-button-set-range">gtk_spin_button_set_range ()</title>
<programlisting>void        gtk_spin_button_set_range       (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button,
                                             <link linkend="gdouble">gdouble</link> min,
                                             <link linkend="gdouble">gdouble</link> max);</programlisting>
<para>
Sets the minimum and maximum allowable values for <parameter>spin_button</parameter></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>spin_button</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkSpinButton">GtkSpinButton</link>
</entry></row>
<row><entry align="right"><parameter>min</parameter>&nbsp;:</entry>
<entry> minimum allowable value
</entry></row>
<row><entry align="right"><parameter>max</parameter>&nbsp;:</entry>
<entry> maximum allowable value
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-spin-button-get-value-as-float">gtk_spin_button_get_value_as_float</title>
<programlisting>#define gtk_spin_button_get_value_as_float gtk_spin_button_get_value
</programlisting>
<warning>
<para>
<literal>gtk_spin_button_get_value_as_float</literal> is deprecated and should not be used in newly-written code.
</para>
</warning>
<para>
Gets the value in the <parameter>spin_button</parameter>. This function is deprecated,
use <link linkend="gtk-spin-button-get-value">gtk_spin_button_get_value</link>() instead.
</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 value of <parameter>spin_button</parameter>.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-spin-button-get-value-as-int">gtk_spin_button_get_value_as_int ()</title>
<programlisting><link linkend="gint">gint</link>        gtk_spin_button_get_value_as_int
                                            (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button);</programlisting>
<para>
Get the value <parameter>spin_button</parameter> represented as an integer.</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>spin_button</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkSpinButton">GtkSpinButton</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> the value of <parameter>spin_button</parameter>
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-spin-button-set-value">gtk_spin_button_set_value ()</title>
<programlisting>void        gtk_spin_button_set_value       (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button,
                                             <link linkend="gdouble">gdouble</link> value);</programlisting>
<para>
Set the value of <parameter>spin_button</parameter>.</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>spin_button</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkSpinButton">GtkSpinButton</link>
</entry></row>
<row><entry align="right"><parameter>value</parameter>&nbsp;:</entry>
<entry> the new value
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-spin-button-set-update-policy">gtk_spin_button_set_update_policy ()</title>
<programlisting>void        gtk_spin_button_set_update_policy
                                            (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button,
                                             <link linkend="GtkSpinButtonUpdatePolicy">GtkSpinButtonUpdatePolicy</link> policy);</programlisting>
<para>
Sets the update behavior of a spin button. This determines whether the
spin button is always updated or only when a valid value is set.</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>spin_button</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkSpinButton">GtkSpinButton</link> 
</entry></row>
<row><entry align="right"><parameter>policy</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkSpinButtonUpdatePolicy">GtkSpinButtonUpdatePolicy</link> value
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-spin-button-set-numeric">gtk_spin_button_set_numeric ()</title>
<programlisting>void        gtk_spin_button_set_numeric     (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button,
                                             <link linkend="gboolean">gboolean</link> numeric);</programlisting>
<para>
Sets the flag that determines if non-numeric text can be typed into
the spin 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>spin_button</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkSpinButton">GtkSpinButton</link> 
</entry></row>
<row><entry align="right"><parameter>numeric</parameter>&nbsp;:</entry>
<entry> flag indicating if only numeric entry is allowed. 
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-spin-button-spin">gtk_spin_button_spin ()</title>
<programlisting>void        gtk_spin_button_spin            (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button,
                                             <link linkend="GtkSpinType">GtkSpinType</link> direction,
                                             <link linkend="gdouble">gdouble</link> increment);</programlisting>
<para>
Increment or decrement a spin button's value in a specified direction
by a specified amount.</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>spin_button</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkSpinButton">GtkSpinButton</link> 
</entry></row>
<row><entry align="right"><parameter>direction</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkSpinType">GtkSpinType</link> indicating the direction to spin.
</entry></row>
<row><entry align="right"><parameter>increment</parameter>&nbsp;:</entry>
<entry> step increment to apply in the specified direction.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-spin-button-set-wrap">gtk_spin_button_set_wrap ()</title>
<programlisting>void        gtk_spin_button_set_wrap        (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button,
                                             <link linkend="gboolean">gboolean</link> wrap);</programlisting>
<para>
Sets the flag that determines if a spin button value wraps around to the
opposite limit when the upper or lower limit of the range is exceeded.</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>spin_button</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkSpinButton">GtkSpinButton</link> 
</entry></row>
<row><entry align="right"><parameter>wrap</parameter>&nbsp;:</entry>
<entry> a flag indicating if wrapping behavior is performed.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-spin-button-set-snap-to-ticks">gtk_spin_button_set_snap_to_ticks ()</title>
<programlisting>void        gtk_spin_button_set_snap_to_ticks
                                            (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button,
                                             <link linkend="gboolean">gboolean</link> snap_to_ticks);</programlisting>
<para>
Sets the policy as to whether values are corrected to the nearest step 
increment when a spin button is activated after providing an invalid value.</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>spin_button</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkSpinButton">GtkSpinButton</link> 
</entry></row>
<row><entry align="right"><parameter>snap_to_ticks</parameter>&nbsp;:</entry>
<entry> a flag indicating if invalid values should be corrected.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-spin-button-update">gtk_spin_button_update ()</title>
<programlisting>void        gtk_spin_button_update          (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button);</programlisting>
<para>
Manually force an update of the spin 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>spin_button</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkSpinButton">GtkSpinButton</link> 
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-spin-button-get-digits">gtk_spin_button_get_digits ()</title>
<programlisting><link linkend="guint">guint</link>       gtk_spin_button_get_digits      (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button);</programlisting>
<para>
Fetches the precision of <parameter>spin_button</parameter>. See <link linkend="gtk-spin-button-set-digits">gtk_spin_button_set_digits</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>spin_button</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkSpinButton">GtkSpinButton</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> the current precision
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-spin-button-get-increments">gtk_spin_button_get_increments ()</title>
<programlisting>void        gtk_spin_button_get_increments  (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button,
                                             <link linkend="gdouble">gdouble</link> *step,
                                             <link linkend="gdouble">gdouble</link> *page);</programlisting>
<para>
Gets the current step and page the increments used by <parameter>spin_button</parameter>. See
<link linkend="gtk-spin-button-set-increments">gtk_spin_button_set_increments</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>spin_button</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkSpinButton">GtkSpinButton</link>
</entry></row>
<row><entry align="right"><parameter>step</parameter>&nbsp;:</entry>
<entry> location to store step increment, or <literal>NULL</literal>
</entry></row>
<row><entry align="right"><parameter>page</parameter>&nbsp;:</entry>
<entry> location to store page increment, or <literal>NULL</literal>
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-spin-button-get-numeric">gtk_spin_button_get_numeric ()</title>
<programlisting><link linkend="gboolean">gboolean</link>    gtk_spin_button_get_numeric     (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button);</programlisting>
<para>
Returns whether non-numeric text can be typed into the spin button.
See <link linkend="gtk-spin-button-set-numeric">gtk_spin_button_set_numeric</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>spin_button</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkSpinButton">GtkSpinButton</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> <literal>TRUE</literal> if only numeric text can be entered
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-spin-button-get-range">gtk_spin_button_get_range ()</title>
<programlisting>void        gtk_spin_button_get_range       (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button,
                                             <link linkend="gdouble">gdouble</link> *min,
                                             <link linkend="gdouble">gdouble</link> *max);</programlisting>
<para>
Gets the range allowed for <parameter>spin_button</parameter>. See
<link linkend="gtk-spin-button-set-range">gtk_spin_button_set_range</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>spin_button</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkSpinButton">GtkSpinButton</link>
</entry></row>
<row><entry align="right"><parameter>min</parameter>&nbsp;:</entry>
<entry> location to store minimum allowed value, or <literal>NULL</literal>
</entry></row>
<row><entry align="right"><parameter>max</parameter>&nbsp;:</entry>
<entry> location to store maximum allowed value, or <literal>NULL</literal>
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-spin-button-get-snap-to-ticks">gtk_spin_button_get_snap_to_ticks ()</title>
<programlisting><link linkend="gboolean">gboolean</link>    gtk_spin_button_get_snap_to_ticks
                                            (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button);</programlisting>
<para>
Returns whether the values are corrected to the nearest step. See
<link linkend="gtk-spin-button-set-snap-to-ticks">gtk_spin_button_set_snap_to_ticks</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>spin_button</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkSpinButton">GtkSpinButton</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> <literal>TRUE</literal> if values are snapped to the nearest step.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-spin-button-get-update-policy">gtk_spin_button_get_update_policy ()</title>
<programlisting><link linkend="GtkSpinButtonUpdatePolicy">GtkSpinButtonUpdatePolicy</link> gtk_spin_button_get_update_policy
                                            (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button);</programlisting>
<para>
Gets the update behavior of a spin button. See
<link linkend="gtk-spin-button-set-update-policy">gtk_spin_button_set_update_policy</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>spin_button</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkSpinButton">GtkSpinButton</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> the current update policy
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-spin-button-get-value">gtk_spin_button_get_value ()</title>
<programlisting><link linkend="gdouble">gdouble</link>     gtk_spin_button_get_value       (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button);</programlisting>
<para>
Get the value in the <parameter>spin_button</parameter>.</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>spin_button</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkSpinButton">GtkSpinButton</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> the value of <parameter>spin_button</parameter>
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-spin-button-get-wrap">gtk_spin_button_get_wrap ()</title>
<programlisting><link linkend="gboolean">gboolean</link>    gtk_spin_button_get_wrap        (<link linkend="GtkSpinButton">GtkSpinButton</link> *spin_button);</programlisting>
<para>
Returns whether the spin button's value wraps around to the
opposite limit when the upper or lower limit of the range is
exceeded. See <link linkend="gtk-spin-button-set-wrap">gtk_spin_button_set_wrap</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>spin_button</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkSpinButton">GtkSpinButton</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> <literal>TRUE</literal> if the spin button wraps around
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="GTK-INPUT-ERROR-CAPS">GTK_INPUT_ERROR</title>
<programlisting>#define GTK_INPUT_ERROR -1
</programlisting>
<para>

</para></refsect2>

</refsect1>
<refsect1>
<title>Properties</title>
<variablelist>
<varlistentry><term><anchor id="GtkSpinButton--adjustment">&quot;<literal>adjustment</literal>&quot; (<link linkend="GtkAdjustment">GtkAdjustment</link> : Read / Write)</term>
<listitem>
<para>
the <link linkend="GtkAdjustment">GtkAdjustment</link> that defines a spin button's main properties.
</para></listitem></varlistentry>
<varlistentry><term><anchor id="GtkSpinButton--climb-rate">&quot;<literal>climb-rate</literal>&quot; (<link linkend="gdouble">gdouble</link> : Read / Write)</term>
<listitem>
<para>
the amount a spin button changes when an arrow is clicked.
</para></listitem></varlistentry>
<varlistentry><term><anchor id="GtkSpinButton--digits">&quot;<literal>digits</literal>&quot; (<link linkend="guint">guint</link> : Read / Write)</term>
<listitem>
<para>
the number of decimal places to display.
</para></listitem></varlistentry>
<varlistentry><term><anchor id="GtkSpinButton--snap-to-ticks">&quot;<literal>snap-to-ticks</literal>&quot; (<link linkend="gboolean">gboolean</link> : Read / Write)</term>
<listitem>
<para>
whether erroneous values are automatically changed to a spin button's nearest step increment.
</para></listitem></varlistentry>
<varlistentry><term><anchor id="GtkSpinButton--numeric">&quot;<literal>numeric</literal>&quot; (<link linkend="gboolean">gboolean</link> : Read / Write)</term>
<listitem>
<para>
whether non-numeric characters should be ignored.
</para></listitem></varlistentry>
<varlistentry><term><anchor id="GtkSpinButton--wrap">&quot;<literal>wrap</literal>&quot; (<link linkend="gboolean">gboolean</link> : Read / Write)</term>
<listitem>
<para>
whether a spin button should wrap upon reaching its limits.
</para></listitem></varlistentry>
<varlistentry><term><anchor id="GtkSpinButton--update-policy">&quot;<literal>update-policy</literal>&quot; (<link linkend="GtkSpinButtonUpdatePolicy">GtkSpinButtonUpdatePolicy</link> : Read / Write)</term>
<listitem>
<para>
how a spin button should be updated.
</para></listitem></varlistentry>
<varlistentry><term><anchor id="GtkSpinButton--value">&quot;<literal>value</literal>&quot; (<link linkend="gdouble">gdouble</link> : Read / Write)</term>
<listitem>
<para>
reads the current value, or sets a new value.
</para></listitem></varlistentry>

</variablelist>
</refsect1>

<refsect1>
<title>Signals</title>
<refsect2><title><anchor id="GtkSpinButton-change-value">The &quot;change-value&quot; signal</title>
<programlisting>void        user_function                  (<link linkend="GtkSpinButton">GtkSpinButton</link> *spinbutton,
                                            <link linkend="GtkScrollType">GtkScrollType</link> arg1,
                                            <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>spinbutton</parameter>&nbsp;:</entry>
<entry>the object which received the signal.
</entry></row>
<row><entry align="right"><parameter>arg1</parameter>&nbsp;:</entry>
<entry>

</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="GtkSpinButton-input">The &quot;input&quot; signal</title>
<programlisting><link linkend="gint">gint</link>        user_function                  (<link linkend="GtkSpinButton">GtkSpinButton</link> *spinbutton,
                                            <link linkend="gpointer">gpointer</link> arg1,
                                            <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>spinbutton</parameter>&nbsp;:</entry>
<entry>the object which received the signal.
</entry></row>
<row><entry align="right"><parameter>arg1</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>user_data</parameter>&nbsp;:</entry>
<entry>user data set when the signal handler was connected.</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry>

</entry></row>
</tbody></tgroup></informaltable></refsect2><refsect2><title><anchor id="GtkSpinButton-output">The &quot;output&quot; signal</title>
<programlisting><link linkend="gboolean">gboolean</link>    user_function                  (<link linkend="GtkSpinButton">GtkSpinButton</link> *spinbutton,
                                            <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>spinbutton</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>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry>

</entry></row>
</tbody></tgroup></informaltable></refsect2><refsect2><title><anchor id="GtkSpinButton-value-changed">The &quot;value-changed&quot; signal</title>
<programlisting>void        user_function                  (<link linkend="GtkSpinButton">GtkSpinButton</link> *spinbutton,
                                            <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>spinbutton</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>


<refsect1>
<title>See Also</title>
<para>
<variablelist>
<varlistentry>
<term><link linkend="GtkEntry">GtkEntry</link></term>
<listitem><para>retrieve text rather than numbers.</para></listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>

</refentry>
