<?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="GtkRange">
<refmeta>
<refentrytitle role="top_of_page" id="GtkRange.top_of_page">GtkRange</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>GTK Library</refmiscinfo>
</refmeta>

<refnamediv>
<refname>GtkRange</refname>
<refpurpose>Base class for widgets which visualize an adjustment</refpurpose>
</refnamediv>

<refsynopsisdiv id="GtkRange.synopsis" role="synopsis">
<title role="synopsis.title">Synopsis</title>

<synopsis>

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

                    <link linkend="GtkRange-struct">GtkRange</link>;
<link linkend="gdouble">gdouble</link>             <link linkend="gtk-range-get-fill-level">gtk_range_get_fill_level</link>            (<link linkend="GtkRange">GtkRange</link> *range);
<link linkend="gboolean">gboolean</link>            <link linkend="gtk-range-get-restrict-to-fill-level">gtk_range_get_restrict_to_fill_level</link>
                                                        (<link linkend="GtkRange">GtkRange</link> *range);
<link linkend="gboolean">gboolean</link>            <link linkend="gtk-range-get-show-fill-level">gtk_range_get_show_fill_level</link>       (<link linkend="GtkRange">GtkRange</link> *range);
<link linkend="void">void</link>                <link linkend="gtk-range-set-fill-level">gtk_range_set_fill_level</link>            (<link linkend="GtkRange">GtkRange</link> *range,
                                                         <link linkend="gdouble">gdouble</link> fill_level);
<link linkend="void">void</link>                <link linkend="gtk-range-set-restrict-to-fill-level">gtk_range_set_restrict_to_fill_level</link>
                                                        (<link linkend="GtkRange">GtkRange</link> *range,
                                                         <link linkend="gboolean">gboolean</link> restrict_to_fill_level);
<link linkend="void">void</link>                <link linkend="gtk-range-set-show-fill-level">gtk_range_set_show_fill_level</link>       (<link linkend="GtkRange">GtkRange</link> *range,
                                                         <link linkend="gboolean">gboolean</link> show_fill_level);
<link linkend="GtkAdjustment">GtkAdjustment</link>*      <link linkend="gtk-range-get-adjustment">gtk_range_get_adjustment</link>            (<link linkend="GtkRange">GtkRange</link> *range);
<link linkend="void">void</link>                <link linkend="gtk-range-set-update-policy">gtk_range_set_update_policy</link>         (<link linkend="GtkRange">GtkRange</link> *range,
                                                         <link linkend="GtkUpdateType">GtkUpdateType</link> policy);
<link linkend="void">void</link>                <link linkend="gtk-range-set-adjustment">gtk_range_set_adjustment</link>            (<link linkend="GtkRange">GtkRange</link> *range,
                                                         <link linkend="GtkAdjustment">GtkAdjustment</link> *adjustment);
<link linkend="gboolean">gboolean</link>            <link linkend="gtk-range-get-inverted">gtk_range_get_inverted</link>              (<link linkend="GtkRange">GtkRange</link> *range);
<link linkend="void">void</link>                <link linkend="gtk-range-set-inverted">gtk_range_set_inverted</link>              (<link linkend="GtkRange">GtkRange</link> *range,
                                                         <link linkend="gboolean">gboolean</link> setting);
<link linkend="GtkUpdateType">GtkUpdateType</link>       <link linkend="gtk-range-get-update-policy">gtk_range_get_update_policy</link>         (<link linkend="GtkRange">GtkRange</link> *range);
<link linkend="gdouble">gdouble</link>             <link linkend="gtk-range-get-value">gtk_range_get_value</link>                 (<link linkend="GtkRange">GtkRange</link> *range);
<link linkend="void">void</link>                <link linkend="gtk-range-set-increments">gtk_range_set_increments</link>            (<link linkend="GtkRange">GtkRange</link> *range,
                                                         <link linkend="gdouble">gdouble</link> step,
                                                         <link linkend="gdouble">gdouble</link> page);
<link linkend="void">void</link>                <link linkend="gtk-range-set-range">gtk_range_set_range</link>                 (<link linkend="GtkRange">GtkRange</link> *range,
                                                         <link linkend="gdouble">gdouble</link> min,
                                                         <link linkend="gdouble">gdouble</link> max);
<link linkend="void">void</link>                <link linkend="gtk-range-set-value">gtk_range_set_value</link>                 (<link linkend="GtkRange">GtkRange</link> *range,
                                                         <link linkend="gdouble">gdouble</link> value);
enum                <link linkend="GtkSensitivityType">GtkSensitivityType</link>;
<link linkend="void">void</link>                <link linkend="gtk-range-set-lower-stepper-sensitivity">gtk_range_set_lower_stepper_sensitivity</link>
                                                        (<link linkend="GtkRange">GtkRange</link> *range,
                                                         <link linkend="GtkSensitivityType">GtkSensitivityType</link> sensitivity);
<link linkend="GtkSensitivityType">GtkSensitivityType</link>  <link linkend="gtk-range-get-lower-stepper-sensitivity">gtk_range_get_lower_stepper_sensitivity</link>
                                                        (<link linkend="GtkRange">GtkRange</link> *range);
<link linkend="void">void</link>                <link linkend="gtk-range-set-upper-stepper-sensitivity">gtk_range_set_upper_stepper_sensitivity</link>
                                                        (<link linkend="GtkRange">GtkRange</link> *range,
                                                         <link linkend="GtkSensitivityType">GtkSensitivityType</link> sensitivity);
<link linkend="GtkSensitivityType">GtkSensitivityType</link>  <link linkend="gtk-range-get-upper-stepper-sensitivity">gtk_range_get_upper_stepper_sensitivity</link>
                                                        (<link linkend="GtkRange">GtkRange</link> *range);
</synopsis>
</refsynopsisdiv>

<refsect1 id="GtkRange.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>
                     +----GtkRange
                           +----<link linkend="GtkScale">GtkScale</link>
                           +----<link linkend="GtkScrollbar">GtkScrollbar</link>
</synopsis>
</refsect1>



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


<refsect1 id="GtkRange.properties" role="properties">
<title role="properties.title">Properties</title>
<synopsis>
  &quot;<link linkend="GtkRange--adjustment">adjustment</link>&quot;               <link linkend="GtkAdjustment">GtkAdjustment</link>*        : Read / Write / Construct
  &quot;<link linkend="GtkRange--fill-level">fill-level</link>&quot;               <link linkend="gdouble">gdouble</link>               : Read / Write
  &quot;<link linkend="GtkRange--inverted">inverted</link>&quot;                 <link linkend="gboolean">gboolean</link>              : Read / Write
  &quot;<link linkend="GtkRange--lower-stepper-sensitivity">lower-stepper-sensitivity</link>&quot; <link linkend="GtkSensitivityType">GtkSensitivityType</link>    : Read / Write
  &quot;<link linkend="GtkRange--restrict-to-fill-level">restrict-to-fill-level</link>&quot;   <link linkend="gboolean">gboolean</link>              : Read / Write
  &quot;<link linkend="GtkRange--show-fill-level">show-fill-level</link>&quot;          <link linkend="gboolean">gboolean</link>              : Read / Write
  &quot;<link linkend="GtkRange--update-policy">update-policy</link>&quot;            <link linkend="GtkUpdateType">GtkUpdateType</link>         : Read / Write
  &quot;<link linkend="GtkRange--upper-stepper-sensitivity">upper-stepper-sensitivity</link>&quot; <link linkend="GtkSensitivityType">GtkSensitivityType</link>    : Read / Write
</synopsis>
</refsect1>
<refsect1 id="GtkRange.style-properties" role="style_properties">
<title role="style_properties.title">Style Properties</title>
<synopsis>
  &quot;<link linkend="GtkRange--s-activate-slider">activate-slider</link>&quot;          <link linkend="gboolean">gboolean</link>              : Read
  &quot;<link linkend="GtkRange--s-arrow-displacement-x">arrow-displacement-x</link>&quot;     <link linkend="gint">gint</link>                  : Read
  &quot;<link linkend="GtkRange--s-arrow-displacement-y">arrow-displacement-y</link>&quot;     <link linkend="gint">gint</link>                  : Read
  &quot;<link linkend="GtkRange--s-arrow-scaling">arrow-scaling</link>&quot;            <link linkend="gfloat">gfloat</link>                : Read
  &quot;<link linkend="GtkRange--s-slider-width">slider-width</link>&quot;             <link linkend="gint">gint</link>                  : Read
  &quot;<link linkend="GtkRange--s-stepper-size">stepper-size</link>&quot;             <link linkend="gint">gint</link>                  : Read
  &quot;<link linkend="GtkRange--s-stepper-spacing">stepper-spacing</link>&quot;          <link linkend="gint">gint</link>                  : Read
  &quot;<link linkend="GtkRange--s-trough-border">trough-border</link>&quot;            <link linkend="gint">gint</link>                  : Read
  &quot;<link linkend="GtkRange--s-trough-side-details">trough-side-details</link>&quot;      <link linkend="gboolean">gboolean</link>              : Read
  &quot;<link linkend="GtkRange--s-trough-under-steppers">trough-under-steppers</link>&quot;    <link linkend="gboolean">gboolean</link>              : Read
</synopsis>
</refsect1>

<refsect1 id="GtkRange.signals" role="signal_proto">
<title role="signal_proto.title">Signals</title>
<synopsis>
  &quot;<link linkend="GtkRange-adjust-bounds">adjust-bounds</link>&quot;                                  : Run Last
  &quot;<link linkend="GtkRange-change-value">change-value</link>&quot;                                   : Run Last
  &quot;<link linkend="GtkRange-move-slider">move-slider</link>&quot;                                    : Run Last / Action
  &quot;<link linkend="GtkRange-value-changed">value-changed</link>&quot;                                  : Run Last
</synopsis>
</refsect1>


<refsect1 id="GtkRange.description" role="desc">
<title role="desc.title">Description</title>
<para>
<link linkend="GtkRange"><type>GtkRange</type></link> is the common base class for widgets which visualize an
adjustment, e.g scales or scrollbars.
</para>
<para>
Apart from signals for monitoring the parameters of the adjustment,
GtkRange provides properties and methods for influencing the sensitivity
of the "steppers". It also provides properties and methods for setting a
"fill level" on range widgets. See <link linkend="gtk-range-set-fill-level"><function>gtk_range_set_fill_level()</function></link>.
</para>
</refsect1>

<refsect1 id="GtkRange.details" role="details">
<title role="details.title">Details</title>
<refsect2 id="GtkRange-struct" role="struct">
<title>GtkRange</title>
<indexterm zone="GtkRange-struct"><primary sortas="Range">GtkRange</primary></indexterm><programlisting>typedef struct _GtkRange GtkRange;</programlisting>
<para>
</para></refsect2>
<refsect2 id="gtk-range-get-fill-level" role="function" condition="since:2.12">
<title>gtk_range_get_fill_level ()</title>
<indexterm zone="gtk-range-get-fill-level" role="2.12"><primary sortas="range_get_fill_level">gtk_range_get_fill_level</primary></indexterm><programlisting><link linkend="gdouble">gdouble</link>             gtk_range_get_fill_level            (<link linkend="GtkRange">GtkRange</link> *range);</programlisting>
<para>
Gets the current position of the fill level indicator.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>range</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkRange"><type>GtkRange</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> The current fill level

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.12</para></refsect2>
<refsect2 id="gtk-range-get-restrict-to-fill-level" role="function" condition="since:2.12">
<title>gtk_range_get_restrict_to_fill_level ()</title>
<indexterm zone="gtk-range-get-restrict-to-fill-level" role="2.12"><primary sortas="range_get_restrict_to_fill_level">gtk_range_get_restrict_to_fill_level</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            gtk_range_get_restrict_to_fill_level
                                                        (<link linkend="GtkRange">GtkRange</link> *range);</programlisting>
<para>
Gets whether the range is restricted to the fill level.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>range</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkRange"><type>GtkRange</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if <parameter>range</parameter> is restricted to the fill level.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.12</para></refsect2>
<refsect2 id="gtk-range-get-show-fill-level" role="function" condition="since:2.12">
<title>gtk_range_get_show_fill_level ()</title>
<indexterm zone="gtk-range-get-show-fill-level" role="2.12"><primary sortas="range_get_show_fill_level">gtk_range_get_show_fill_level</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            gtk_range_get_show_fill_level       (<link linkend="GtkRange">GtkRange</link> *range);</programlisting>
<para>
Gets whether the range displays the fill level graphically.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>range</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkRange"><type>GtkRange</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if <parameter>range</parameter> shows the fill level.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.12</para></refsect2>
<refsect2 id="gtk-range-set-fill-level" role="function" condition="since:2.12">
<title>gtk_range_set_fill_level ()</title>
<indexterm zone="gtk-range-set-fill-level" role="2.12"><primary sortas="range_set_fill_level">gtk_range_set_fill_level</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_range_set_fill_level            (<link linkend="GtkRange">GtkRange</link> *range,
                                                         <link linkend="gdouble">gdouble</link> fill_level);</programlisting>
<para>
Set the new position of the fill level indicator.
</para>
<para>
The "fill level" is probably best described by its most prominent
use case, which is an indicator for the amount of pre-buffering in
a streaming media player. In that use case, the value of the range
would indicate the current play position, and the fill level would
be the position up to which the file/stream has been downloaded.
</para>
<para>
This amount of prebuffering can be displayed on the range's trough
and is themeable separately from the trough. To enable fill level
display, use <link linkend="gtk-range-set-show-fill-level"><function>gtk_range_set_show_fill_level()</function></link>. The range defaults
to not showing the fill level.
</para>
<para>
Additionally, it's possible to restrict the range's slider position
to values which are smaller than the fill level. This is controller
by <link linkend="gtk-range-set-restrict-to-fill-level"><function>gtk_range_set_restrict_to_fill_level()</function></link> and is by default
enabled.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>range</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkRange"><type>GtkRange</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>fill_level</parameter>&#160;:</term>
<listitem><simpara> the new position of the fill level indicator
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.12</para></refsect2>
<refsect2 id="gtk-range-set-restrict-to-fill-level" role="function" condition="since:2.12">
<title>gtk_range_set_restrict_to_fill_level ()</title>
<indexterm zone="gtk-range-set-restrict-to-fill-level" role="2.12"><primary sortas="range_set_restrict_to_fill_level">gtk_range_set_restrict_to_fill_level</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_range_set_restrict_to_fill_level
                                                        (<link linkend="GtkRange">GtkRange</link> *range,
                                                         <link linkend="gboolean">gboolean</link> restrict_to_fill_level);</programlisting>
<para>
Sets whether the slider is restricted to the fill level. See
<link linkend="gtk-range-set-fill-level"><function>gtk_range_set_fill_level()</function></link> for a general description of the fill
level concept.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>range</parameter>&#160;:</term>
<listitem><simpara>                  A <link linkend="GtkRange"><type>GtkRange</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>restrict_to_fill_level</parameter>&#160;:</term>
<listitem><simpara> Whether the fill level restricts slider movement.
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.12</para></refsect2>
<refsect2 id="gtk-range-set-show-fill-level" role="function" condition="since:2.12">
<title>gtk_range_set_show_fill_level ()</title>
<indexterm zone="gtk-range-set-show-fill-level" role="2.12"><primary sortas="range_set_show_fill_level">gtk_range_set_show_fill_level</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_range_set_show_fill_level       (<link linkend="GtkRange">GtkRange</link> *range,
                                                         <link linkend="gboolean">gboolean</link> show_fill_level);</programlisting>
<para>
Sets whether a graphical fill level is show on the trough. See
<link linkend="gtk-range-set-fill-level"><function>gtk_range_set_fill_level()</function></link> for a general description of the fill
level concept.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>range</parameter>&#160;:</term>
<listitem><simpara>           A <link linkend="GtkRange"><type>GtkRange</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>show_fill_level</parameter>&#160;:</term>
<listitem><simpara> Whether a fill level indicator graphics is shown.
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.12</para></refsect2>
<refsect2 id="gtk-range-get-adjustment" role="function">
<title>gtk_range_get_adjustment ()</title>
<indexterm zone="gtk-range-get-adjustment"><primary sortas="range_get_adjustment">gtk_range_get_adjustment</primary></indexterm><programlisting><link linkend="GtkAdjustment">GtkAdjustment</link>*      gtk_range_get_adjustment            (<link linkend="GtkRange">GtkRange</link> *range);</programlisting>
<para>
Get the <link linkend="GtkAdjustment"><type>GtkAdjustment</type></link> which is the "model" object for <link linkend="GtkRange"><type>GtkRange</type></link>.
See <link linkend="gtk-range-set-adjustment"><function>gtk_range_set_adjustment()</function></link> for details.
The return value does not have a reference added, so should not
be unreferenced.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>range</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkRange"><type>GtkRange</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> a <link linkend="GtkAdjustment"><type>GtkAdjustment</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-range-set-update-policy" role="function">
<title>gtk_range_set_update_policy ()</title>
<indexterm zone="gtk-range-set-update-policy"><primary sortas="range_set_update_policy">gtk_range_set_update_policy</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_range_set_update_policy         (<link linkend="GtkRange">GtkRange</link> *range,
                                                         <link linkend="GtkUpdateType">GtkUpdateType</link> policy);</programlisting>
<para>
Sets the update policy for the range. <link linkend="GTK-UPDATE-CONTINUOUS--CAPS"><type>GTK_UPDATE_CONTINUOUS</type></link> means that
anytime the range slider is moved, the range value will change and the
value_changed signal will be emitted. <link linkend="GTK-UPDATE-DELAYED--CAPS"><type>GTK_UPDATE_DELAYED</type></link> means that
the value will be updated after a brief timeout where no slider motion
occurs, so updates are spaced by a short time rather than
continuous. <link linkend="GTK-UPDATE-DISCONTINUOUS--CAPS"><type>GTK_UPDATE_DISCONTINUOUS</type></link> means that the value will only
be updated when the user releases the button and ends the slider
drag operation.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>range</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkRange"><type>GtkRange</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>policy</parameter>&#160;:</term>
<listitem><simpara> update policy
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-range-set-adjustment" role="function">
<title>gtk_range_set_adjustment ()</title>
<indexterm zone="gtk-range-set-adjustment"><primary sortas="range_set_adjustment">gtk_range_set_adjustment</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_range_set_adjustment            (<link linkend="GtkRange">GtkRange</link> *range,
                                                         <link linkend="GtkAdjustment">GtkAdjustment</link> *adjustment);</programlisting>
<para>
Sets the adjustment to be used as the "model" object for this range
widget. The adjustment indicates the current range value, the
minimum and maximum range values, the step/page increments used
for keybindings and scrolling, and the page size. The page size
is normally 0 for <link linkend="GtkScale"><type>GtkScale</type></link> and nonzero for <link linkend="GtkScrollbar"><type>GtkScrollbar</type></link>, and
indicates the size of the visible area of the widget being scrolled.
The page size affects the size of the scrollbar slider.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>range</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkRange"><type>GtkRange</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>adjustment</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkAdjustment"><type>GtkAdjustment</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-range-get-inverted" role="function">
<title>gtk_range_get_inverted ()</title>
<indexterm zone="gtk-range-get-inverted"><primary sortas="range_get_inverted">gtk_range_get_inverted</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            gtk_range_get_inverted              (<link linkend="GtkRange">GtkRange</link> *range);</programlisting>
<para>
Gets the value set by <link linkend="gtk-range-set-inverted"><function>gtk_range_set_inverted()</function></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>range</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkRange"><type>GtkRange</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if the range is inverted
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-range-set-inverted" role="function">
<title>gtk_range_set_inverted ()</title>
<indexterm zone="gtk-range-set-inverted"><primary sortas="range_set_inverted">gtk_range_set_inverted</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_range_set_inverted              (<link linkend="GtkRange">GtkRange</link> *range,
                                                         <link linkend="gboolean">gboolean</link> setting);</programlisting>
<para>
Ranges normally move from lower to higher values as the
slider moves from top to bottom or left to right. Inverted
ranges have higher values at the top or on the right rather than
on the bottom or left.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>range</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkRange"><type>GtkRange</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>setting</parameter>&#160;:</term>
<listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> to invert the range
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-range-get-update-policy" role="function">
<title>gtk_range_get_update_policy ()</title>
<indexterm zone="gtk-range-get-update-policy"><primary sortas="range_get_update_policy">gtk_range_get_update_policy</primary></indexterm><programlisting><link linkend="GtkUpdateType">GtkUpdateType</link>       gtk_range_get_update_policy         (<link linkend="GtkRange">GtkRange</link> *range);</programlisting>
<para>
Gets the update policy of <parameter>range</parameter>. See <link linkend="gtk-range-set-update-policy"><function>gtk_range_set_update_policy()</function></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>range</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkRange"><type>GtkRange</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the current update policy
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-range-get-value" role="function">
<title>gtk_range_get_value ()</title>
<indexterm zone="gtk-range-get-value"><primary sortas="range_get_value">gtk_range_get_value</primary></indexterm><programlisting><link linkend="gdouble">gdouble</link>             gtk_range_get_value                 (<link linkend="GtkRange">GtkRange</link> *range);</programlisting>
<para>
Gets the current value of the range.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>range</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkRange"><type>GtkRange</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> current value of the range.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-range-set-increments" role="function">
<title>gtk_range_set_increments ()</title>
<indexterm zone="gtk-range-set-increments"><primary sortas="range_set_increments">gtk_range_set_increments</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_range_set_increments            (<link linkend="GtkRange">GtkRange</link> *range,
                                                         <link linkend="gdouble">gdouble</link> step,
                                                         <link linkend="gdouble">gdouble</link> page);</programlisting>
<para>
Sets the step and page sizes for the range.
The step size is used when the user clicks the <link linkend="GtkScrollbar"><type>GtkScrollbar</type></link>
arrows or moves <link linkend="GtkScale"><type>GtkScale</type></link> via arrow keys. The page size
is used for example when moving via Page Up or Page Down keys.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>range</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkRange"><type>GtkRange</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>step</parameter>&#160;:</term>
<listitem><simpara> step size
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>page</parameter>&#160;:</term>
<listitem><simpara> page size
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-range-set-range" role="function">
<title>gtk_range_set_range ()</title>
<indexterm zone="gtk-range-set-range"><primary sortas="range_set_range">gtk_range_set_range</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_range_set_range                 (<link linkend="GtkRange">GtkRange</link> *range,
                                                         <link linkend="gdouble">gdouble</link> min,
                                                         <link linkend="gdouble">gdouble</link> max);</programlisting>
<para>
Sets the allowable values in the <link linkend="GtkRange"><type>GtkRange</type></link>, and clamps the range
value to be between <parameter>min</parameter> and <parameter>max</parameter>. (If the range has a non-zero
page size, it is clamped between <parameter>min</parameter> and <parameter>max</parameter> - page-size.)</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>range</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkRange"><type>GtkRange</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>min</parameter>&#160;:</term>
<listitem><simpara> minimum range value
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>max</parameter>&#160;:</term>
<listitem><simpara> maximum range value
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-range-set-value" role="function">
<title>gtk_range_set_value ()</title>
<indexterm zone="gtk-range-set-value"><primary sortas="range_set_value">gtk_range_set_value</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_range_set_value                 (<link linkend="GtkRange">GtkRange</link> *range,
                                                         <link linkend="gdouble">gdouble</link> value);</programlisting>
<para>
Sets the current value of the range; if the value is outside the
minimum or maximum range values, it will be clamped to fit inside
them. The range emits the <link linkend="GtkRange-value-changed"><type>"value-changed"</type></link> signal if the 
value changes.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>range</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkRange"><type>GtkRange</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value</parameter>&#160;:</term>
<listitem><simpara> new value of the range
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="GtkSensitivityType" role="enum">
<title>enum GtkSensitivityType</title>
<indexterm zone="GtkSensitivityType"><primary sortas="SensitivityType">GtkSensitivityType</primary></indexterm><programlisting>typedef enum
{
  GTK_SENSITIVITY_AUTO,
  GTK_SENSITIVITY_ON,
  GTK_SENSITIVITY_OFF
} GtkSensitivityType;
</programlisting>
<para>
Determines how GTK+ handles the sensitivity of stepper arrows
at the end of range widgets.
</para><variablelist role="enum">
<varlistentry id="GTK-SENSITIVITY-AUTO--CAPS" role="constant">
<term><literal>GTK_SENSITIVITY_AUTO</literal></term>
<listitem><simpara>The arrow is made insensitive if the
   thumb is at the end
</simpara></listitem>
</varlistentry>
<varlistentry id="GTK-SENSITIVITY-ON--CAPS" role="constant">
<term><literal>GTK_SENSITIVITY_ON</literal></term>
<listitem><simpara>The arrow is always sensitive
</simpara></listitem>
</varlistentry>
<varlistentry id="GTK-SENSITIVITY-OFF--CAPS" role="constant">
<term><literal>GTK_SENSITIVITY_OFF</literal></term>
<listitem><simpara>The arrow is always insensitive
</simpara></listitem>
</varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-range-set-lower-stepper-sensitivity" role="function" condition="since:2.10">
<title>gtk_range_set_lower_stepper_sensitivity ()</title>
<indexterm zone="gtk-range-set-lower-stepper-sensitivity" role="2.10"><primary sortas="range_set_lower_stepper_sensitivity">gtk_range_set_lower_stepper_sensitivity</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_range_set_lower_stepper_sensitivity
                                                        (<link linkend="GtkRange">GtkRange</link> *range,
                                                         <link linkend="GtkSensitivityType">GtkSensitivityType</link> sensitivity);</programlisting>
<para>
Sets the sensitivity policy for the stepper that points to the
'lower' end of the GtkRange's adjustment.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>range</parameter>&#160;:</term>
<listitem><simpara>       a <link linkend="GtkRange"><type>GtkRange</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>sensitivity</parameter>&#160;:</term>
<listitem><simpara> the lower stepper's sensitivity policy.
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.10</para></refsect2>
<refsect2 id="gtk-range-get-lower-stepper-sensitivity" role="function" condition="since:2.10">
<title>gtk_range_get_lower_stepper_sensitivity ()</title>
<indexterm zone="gtk-range-get-lower-stepper-sensitivity" role="2.10"><primary sortas="range_get_lower_stepper_sensitivity">gtk_range_get_lower_stepper_sensitivity</primary></indexterm><programlisting><link linkend="GtkSensitivityType">GtkSensitivityType</link>  gtk_range_get_lower_stepper_sensitivity
                                                        (<link linkend="GtkRange">GtkRange</link> *range);</programlisting>
<para>
Gets the sensitivity policy for the stepper that points to the
'lower' end of the GtkRange's adjustment.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>range</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkRange"><type>GtkRange</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> The lower stepper's sensitivity policy.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.10</para></refsect2>
<refsect2 id="gtk-range-set-upper-stepper-sensitivity" role="function" condition="since:2.10">
<title>gtk_range_set_upper_stepper_sensitivity ()</title>
<indexterm zone="gtk-range-set-upper-stepper-sensitivity" role="2.10"><primary sortas="range_set_upper_stepper_sensitivity">gtk_range_set_upper_stepper_sensitivity</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_range_set_upper_stepper_sensitivity
                                                        (<link linkend="GtkRange">GtkRange</link> *range,
                                                         <link linkend="GtkSensitivityType">GtkSensitivityType</link> sensitivity);</programlisting>
<para>
Sets the sensitivity policy for the stepper that points to the
'upper' end of the GtkRange's adjustment.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>range</parameter>&#160;:</term>
<listitem><simpara>       a <link linkend="GtkRange"><type>GtkRange</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>sensitivity</parameter>&#160;:</term>
<listitem><simpara> the upper stepper's sensitivity policy.
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.10</para></refsect2>
<refsect2 id="gtk-range-get-upper-stepper-sensitivity" role="function" condition="since:2.10">
<title>gtk_range_get_upper_stepper_sensitivity ()</title>
<indexterm zone="gtk-range-get-upper-stepper-sensitivity" role="2.10"><primary sortas="range_get_upper_stepper_sensitivity">gtk_range_get_upper_stepper_sensitivity</primary></indexterm><programlisting><link linkend="GtkSensitivityType">GtkSensitivityType</link>  gtk_range_get_upper_stepper_sensitivity
                                                        (<link linkend="GtkRange">GtkRange</link> *range);</programlisting>
<para>
Gets the sensitivity policy for the stepper that points to the
'upper' end of the GtkRange's adjustment.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>range</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkRange"><type>GtkRange</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> The upper stepper's sensitivity policy.

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

</refsect1>
<refsect1 id="GtkRange.property-details" role="property_details">
<title role="property_details.title">Property Details</title>
<refsect2 id="GtkRange--adjustment" role="property"><title>The <literal>&quot;adjustment&quot;</literal> property</title>
<indexterm zone="GtkRange--adjustment"><primary sortas="Range:adjustment">GtkRange:adjustment</primary></indexterm><programlisting>  &quot;adjustment&quot;               <link linkend="GtkAdjustment">GtkAdjustment</link>*        : Read / Write / Construct</programlisting>
<para>The GtkAdjustment that contains the current value of this range object.</para></refsect2>
<refsect2 id="GtkRange--fill-level" role="property"><title>The <literal>&quot;fill-level&quot;</literal> property</title>
<indexterm zone="GtkRange--fill-level" role="2.12"><primary sortas="Range:fill-level">GtkRange:fill-level</primary></indexterm><programlisting>  &quot;fill-level&quot;               <link linkend="gdouble">gdouble</link>               : Read / Write</programlisting>
<para>
The fill level (e.g. prebuffering of a network stream).
See <link linkend="gtk-range-set-fill-level"><function>gtk_range_set_fill_level()</function></link>.</para>
<para>
</para><para>Default value: 1.79769e+308</para>
<para>Since 2.12</para>
</refsect2>
<refsect2 id="GtkRange--inverted" role="property"><title>The <literal>&quot;inverted&quot;</literal> property</title>
<indexterm zone="GtkRange--inverted"><primary sortas="Range:inverted">GtkRange:inverted</primary></indexterm><programlisting>  &quot;inverted&quot;                 <link linkend="gboolean">gboolean</link>              : Read / Write</programlisting>
<para>Invert direction slider moves to increase range value.</para><para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkRange--lower-stepper-sensitivity" role="property"><title>The <literal>&quot;lower-stepper-sensitivity&quot;</literal> property</title>
<indexterm zone="GtkRange--lower-stepper-sensitivity"><primary sortas="Range:lower-stepper-sensitivity">GtkRange:lower-stepper-sensitivity</primary></indexterm><programlisting>  &quot;lower-stepper-sensitivity&quot; <link linkend="GtkSensitivityType">GtkSensitivityType</link>    : Read / Write</programlisting>
<para>The sensitivity policy for the stepper that points to the adjustment's lower side.</para><para>Default value: GTK_SENSITIVITY_AUTO</para>
</refsect2>
<refsect2 id="GtkRange--restrict-to-fill-level" role="property"><title>The <literal>&quot;restrict-to-fill-level&quot;</literal> property</title>
<indexterm zone="GtkRange--restrict-to-fill-level" role="2.12"><primary sortas="Range:restrict-to-fill-level">GtkRange:restrict-to-fill-level</primary></indexterm><programlisting>  &quot;restrict-to-fill-level&quot;   <link linkend="gboolean">gboolean</link>              : Read / Write</programlisting>
<para>
The restrict-to-fill-level property controls whether slider
movement is restricted to an upper boundary set by the
fill level. See <link linkend="gtk-range-set-restrict-to-fill-level"><function>gtk_range_set_restrict_to_fill_level()</function></link>.</para>
<para>
</para><para>Default value: TRUE</para>
<para>Since 2.12</para>
</refsect2>
<refsect2 id="GtkRange--show-fill-level" role="property"><title>The <literal>&quot;show-fill-level&quot;</literal> property</title>
<indexterm zone="GtkRange--show-fill-level" role="2.12"><primary sortas="Range:show-fill-level">GtkRange:show-fill-level</primary></indexterm><programlisting>  &quot;show-fill-level&quot;          <link linkend="gboolean">gboolean</link>              : Read / Write</programlisting>
<para>
The show-fill-level property controls whether fill level indicator
graphics are displayed on the trough. See
<link linkend="gtk-range-set-show-fill-level"><function>gtk_range_set_show_fill_level()</function></link>.</para>
<para>
</para><para>Default value: FALSE</para>
<para>Since 2.12</para>
</refsect2>
<refsect2 id="GtkRange--update-policy" role="property"><title>The <literal>&quot;update-policy&quot;</literal> property</title>
<indexterm zone="GtkRange--update-policy"><primary sortas="Range:update-policy">GtkRange:update-policy</primary></indexterm><programlisting>  &quot;update-policy&quot;            <link linkend="GtkUpdateType">GtkUpdateType</link>         : Read / Write</programlisting>
<para>How the range should be updated on the screen.</para><para>Default value: GTK_UPDATE_CONTINUOUS</para>
</refsect2>
<refsect2 id="GtkRange--upper-stepper-sensitivity" role="property"><title>The <literal>&quot;upper-stepper-sensitivity&quot;</literal> property</title>
<indexterm zone="GtkRange--upper-stepper-sensitivity"><primary sortas="Range:upper-stepper-sensitivity">GtkRange:upper-stepper-sensitivity</primary></indexterm><programlisting>  &quot;upper-stepper-sensitivity&quot; <link linkend="GtkSensitivityType">GtkSensitivityType</link>    : Read / Write</programlisting>
<para>The sensitivity policy for the stepper that points to the adjustment's upper side.</para><para>Default value: GTK_SENSITIVITY_AUTO</para>
</refsect2>
</refsect1>
<refsect1 id="GtkRange.style-property-details" role="style_properties_details">
<title role="style_properties_details.title">Style Property Details</title>
<refsect2 id="GtkRange--s-activate-slider" role="property"><title>The <literal>&quot;activate-slider&quot;</literal> style property</title>
<indexterm zone="GtkRange--s-activate-slider"><primary sortas="Range:activate-slider">GtkRange:activate-slider</primary></indexterm><programlisting>  &quot;activate-slider&quot;          <link linkend="gboolean">gboolean</link>              : Read</programlisting>
<para>With this option set to TRUE, sliders will be drawn ACTIVE and with shadow IN while they are dragged.</para><para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkRange--s-arrow-displacement-x" role="property"><title>The <literal>&quot;arrow-displacement-x&quot;</literal> style property</title>
<indexterm zone="GtkRange--s-arrow-displacement-x"><primary sortas="Range:arrow-displacement-x">GtkRange:arrow-displacement-x</primary></indexterm><programlisting>  &quot;arrow-displacement-x&quot;     <link linkend="gint">gint</link>                  : Read</programlisting>
<para>How far in the x direction to move the arrow when the button is depressed.</para><para>Default value: 0</para>
</refsect2>
<refsect2 id="GtkRange--s-arrow-displacement-y" role="property"><title>The <literal>&quot;arrow-displacement-y&quot;</literal> style property</title>
<indexterm zone="GtkRange--s-arrow-displacement-y"><primary sortas="Range:arrow-displacement-y">GtkRange:arrow-displacement-y</primary></indexterm><programlisting>  &quot;arrow-displacement-y&quot;     <link linkend="gint">gint</link>                  : Read</programlisting>
<para>How far in the y direction to move the arrow when the button is depressed.</para><para>Default value: 0</para>
</refsect2>
<refsect2 id="GtkRange--s-arrow-scaling" role="property"><title>The <literal>&quot;arrow-scaling&quot;</literal> style property</title>
<indexterm zone="GtkRange--s-arrow-scaling" role="2.14"><primary sortas="Range:arrow-scaling">GtkRange:arrow-scaling</primary></indexterm><programlisting>  &quot;arrow-scaling&quot;            <link linkend="gfloat">gfloat</link>                : Read</programlisting>
<para>
The arrow size proportion relative to the scroll button size.</para>
<para>
</para><para>Allowed values: [0,1]</para>
<para>Default value: 0.5</para>
<para>Since 2.14</para>
</refsect2>
<refsect2 id="GtkRange--s-slider-width" role="property"><title>The <literal>&quot;slider-width&quot;</literal> style property</title>
<indexterm zone="GtkRange--s-slider-width"><primary sortas="Range:slider-width">GtkRange:slider-width</primary></indexterm><programlisting>  &quot;slider-width&quot;             <link linkend="gint">gint</link>                  : Read</programlisting>
<para>Width of scrollbar or scale thumb.</para><para>Allowed values: &gt;= 0</para>
<para>Default value: 14</para>
</refsect2>
<refsect2 id="GtkRange--s-stepper-size" role="property"><title>The <literal>&quot;stepper-size&quot;</literal> style property</title>
<indexterm zone="GtkRange--s-stepper-size"><primary sortas="Range:stepper-size">GtkRange:stepper-size</primary></indexterm><programlisting>  &quot;stepper-size&quot;             <link linkend="gint">gint</link>                  : Read</programlisting>
<para>Length of step buttons at ends.</para><para>Allowed values: &gt;= 0</para>
<para>Default value: 14</para>
</refsect2>
<refsect2 id="GtkRange--s-stepper-spacing" role="property"><title>The <literal>&quot;stepper-spacing&quot;</literal> style property</title>
<indexterm zone="GtkRange--s-stepper-spacing"><primary sortas="Range:stepper-spacing">GtkRange:stepper-spacing</primary></indexterm><programlisting>  &quot;stepper-spacing&quot;          <link linkend="gint">gint</link>                  : Read</programlisting>
<para>
The spacing between the stepper buttons and thumb. Note that
setting this value to anything &gt; 0 will automatically set the
trough-under-steppers style property to <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> as well. Also,
stepper-spacing won't have any effect if there are no steppers.</para>
<para>
</para><para>Allowed values: &gt;= 0</para>
<para>Default value: 0</para>
</refsect2>
<refsect2 id="GtkRange--s-trough-border" role="property"><title>The <literal>&quot;trough-border&quot;</literal> style property</title>
<indexterm zone="GtkRange--s-trough-border"><primary sortas="Range:trough-border">GtkRange:trough-border</primary></indexterm><programlisting>  &quot;trough-border&quot;            <link linkend="gint">gint</link>                  : Read</programlisting>
<para>Spacing between thumb/steppers and outer trough bevel.</para><para>Allowed values: &gt;= 0</para>
<para>Default value: 1</para>
</refsect2>
<refsect2 id="GtkRange--s-trough-side-details" role="property"><title>The <literal>&quot;trough-side-details&quot;</literal> style property</title>
<indexterm zone="GtkRange--s-trough-side-details" role="2.10"><primary sortas="Range:trough-side-details">GtkRange:trough-side-details</primary></indexterm><programlisting>  &quot;trough-side-details&quot;      <link linkend="gboolean">gboolean</link>              : Read</programlisting>
<para>
When <link linkend="TRUE--CAPS"><literal>TRUE</literal></link>, the parts of the trough on the two sides of the
slider are drawn with different details.</para>
<para>
</para><para>Default value: FALSE</para>
<para>Since 2.10</para>
</refsect2>
<refsect2 id="GtkRange--s-trough-under-steppers" role="property"><title>The <literal>&quot;trough-under-steppers&quot;</literal> style property</title>
<indexterm zone="GtkRange--s-trough-under-steppers" role="2.10"><primary sortas="Range:trough-under-steppers">GtkRange:trough-under-steppers</primary></indexterm><programlisting>  &quot;trough-under-steppers&quot;    <link linkend="gboolean">gboolean</link>              : Read</programlisting>
<para>
Whether to draw the trough across the full length of the range or
to exclude the steppers and their spacing. Note that setting the
<link linkend="GtkRange--stepper-spacing"><type>"stepper-spacing"</type></link> style property to any value &gt; 0 will
automatically enable trough-under-steppers too.</para>
<para>
</para><para>Default value: TRUE</para>
<para>Since 2.10</para>
</refsect2>

</refsect1>

<refsect1 id="GtkRange.signal-details" role="signals">
<title role="signals.title">Signal Details</title>
<refsect2 id="GtkRange-adjust-bounds" role="signal"><title>The <literal>&quot;adjust-bounds&quot;</literal> signal</title>
<indexterm zone="GtkRange-adjust-bounds"><primary sortas="Range::adjust-bounds">GtkRange::adjust-bounds</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="GtkRange">GtkRange</link> *range,
                                                        <link linkend="gdouble">gdouble</link>   arg1,
                                                        <link linkend="gpointer">gpointer</link>  user_data)      : Run Last</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>range</parameter>&#160;:</term>
<listitem><simpara>the object which received the signal.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>arg1</parameter>&#160;:</term>
<listitem><simpara>
</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="GtkRange-change-value" role="signal"><title>The <literal>&quot;change-value&quot;</literal> signal</title>
<indexterm zone="GtkRange-change-value" role="2.6"><primary sortas="Range::change-value">GtkRange::change-value</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            user_function                      (<link linkend="GtkRange">GtkRange</link>     *range,
                                                        <link linkend="GtkScrollType">GtkScrollType</link> scroll,
                                                        <link linkend="gdouble">gdouble</link>       value,
                                                        <link linkend="gpointer">gpointer</link>      user_data)      : Run Last</programlisting>
<para>
The ::change-value signal is emitted when a scroll action is
performed on a range.  It allows an application to determine the
type of scroll event that occurred and the resultant new value.
The application can handle the event itself and return <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> to
prevent further processing.  Or, by returning <link linkend="FALSE--CAPS"><literal>FALSE</literal></link>, it can pass
the event to other handlers until the default GTK+ handler is
reached.
</para>
<para>
The value parameter is unrounded.  An application that overrides
the ::change-value signal is responsible for clamping the value to
the desired number of decimal digits; the default GTK+ handler
clamps the value based on <parameter>range->round_digits</parameter>.
</para>
<para>
It is not possible to use delayed update policies in an overridden
::change-value handler.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>range</parameter>&#160;:</term>
<listitem><simpara> the range that received the signal
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>scroll</parameter>&#160;:</term>
<listitem><simpara> the type of scroll action that was performed
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value</parameter>&#160;:</term>
<listitem><simpara> the new value resulting from the scroll action
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>returns</parameter>&#160;:</term>
<listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> to prevent other handlers from being invoked for the
signal, <link linkend="FALSE--CAPS"><literal>FALSE</literal></link> to propagate the signal further
</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><para>Since 2.6</para></refsect2><refsect2 id="GtkRange-move-slider" role="signal"><title>The <literal>&quot;move-slider&quot;</literal> signal</title>
<indexterm zone="GtkRange-move-slider"><primary sortas="Range::move-slider">GtkRange::move-slider</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="GtkRange">GtkRange</link>     *range,
                                                        <link linkend="GtkScrollType">GtkScrollType</link> step,
                                                        <link linkend="gpointer">gpointer</link>      user_data)      : Run Last / Action</programlisting>
<para>
Virtual function that moves the slider. Used for keybindings.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>range</parameter>&#160;:</term>
<listitem><simpara> the <link linkend="GtkRange"><type>GtkRange</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>step</parameter>&#160;:</term>
<listitem><simpara> how to move the slider
</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="GtkRange-value-changed" role="signal"><title>The <literal>&quot;value-changed&quot;</literal> signal</title>
<indexterm zone="GtkRange-value-changed"><primary sortas="Range::value-changed">GtkRange::value-changed</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="GtkRange">GtkRange</link> *range,
                                                        <link linkend="gpointer">gpointer</link>  user_data)      : Run Last</programlisting>
<para>
Emitted when the range value changes.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>range</parameter>&#160;:</term>
<listitem><simpara> the <link linkend="GtkRange"><type>GtkRange</type></link>
</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>
