GtkRange

GtkRange — Base class for widgets which visualize an adjustment

Synopsis


#include <gtk/gtk.h>


                    GtkRange;
gdouble             gtk_range_get_fill_level            (GtkRange *range);
gboolean            gtk_range_get_restrict_to_fill_level
                                                        (GtkRange *range);
gboolean            gtk_range_get_show_fill_level       (GtkRange *range);
void                gtk_range_set_fill_level            (GtkRange *range,
                                                         gdouble fill_level);
void                gtk_range_set_restrict_to_fill_level
                                                        (GtkRange *range,
                                                         gboolean restrict_to_fill_level);
void                gtk_range_set_show_fill_level       (GtkRange *range,
                                                         gboolean show_fill_level);
GtkAdjustment*      gtk_range_get_adjustment            (GtkRange *range);
void                gtk_range_set_update_policy         (GtkRange *range,
                                                         GtkUpdateType policy);
void                gtk_range_set_adjustment            (GtkRange *range,
                                                         GtkAdjustment *adjustment);
gboolean            gtk_range_get_inverted              (GtkRange *range);
void                gtk_range_set_inverted              (GtkRange *range,
                                                         gboolean setting);
GtkUpdateType       gtk_range_get_update_policy         (GtkRange *range);
gdouble             gtk_range_get_value                 (GtkRange *range);
void                gtk_range_set_increments            (GtkRange *range,
                                                         gdouble step,
                                                         gdouble page);
void                gtk_range_set_range                 (GtkRange *range,
                                                         gdouble min,
                                                         gdouble max);
void                gtk_range_set_value                 (GtkRange *range,
                                                         gdouble value);
enum                GtkSensitivityType;
void                gtk_range_set_lower_stepper_sensitivity
                                                        (GtkRange *range,
                                                         GtkSensitivityType sensitivity);
GtkSensitivityType  gtk_range_get_lower_stepper_sensitivity
                                                        (GtkRange *range);
void                gtk_range_set_upper_stepper_sensitivity
                                                        (GtkRange *range,
                                                         GtkSensitivityType sensitivity);
GtkSensitivityType  gtk_range_get_upper_stepper_sensitivity
                                                        (GtkRange *range);


Description

GtkRange is the common base class for widgets which visualize an adjustment, e.g scales or scrollbars.

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 gtk_range_set_fill_level().

Details

GtkRange

typedef struct {
  GtkWidget widget;

  GtkAdjustment *adjustment;
  GtkUpdateType update_policy;
  guint inverted : 1;
} GtkRange;


gtk_range_get_fill_level ()

gdouble             gtk_range_get_fill_level            (GtkRange *range);

Gets the current position of the fill level indicator.

range :

A GtkRange

Returns :

The current fill level

Since 2.12


gtk_range_get_restrict_to_fill_level ()

gboolean            gtk_range_get_restrict_to_fill_level
                                                        (GtkRange *range);

Gets whether the range is restricted to the fill level.

range :

A GtkRange

Returns :

TRUE if range is restricted to the fill level.

Since 2.12


gtk_range_get_show_fill_level ()

gboolean            gtk_range_get_show_fill_level       (GtkRange *range);

Gets whether the range displays the fill level graphically.

range :

A GtkRange

Returns :

TRUE if range shows the fill level.

Since 2.12


gtk_range_set_fill_level ()

void                gtk_range_set_fill_level            (GtkRange *range,
                                                         gdouble fill_level);

Set the new position of the fill level indicator.

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.

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 gtk_range_set_show_fill_level(). The range defaults to not showing the fill level.

Additionally, it's possible to restrict the range's slider position to values which are smaller than the fill level. This is controller by gtk_range_set_restrict_to_fill_level() and is by default enabled.

range :

a GtkRange

fill_level :

the new position of the fill level indicator

Since 2.12


gtk_range_set_restrict_to_fill_level ()

void                gtk_range_set_restrict_to_fill_level
                                                        (GtkRange *range,
                                                         gboolean restrict_to_fill_level);

Sets whether the slider is restricted to the fill level. See gtk_range_set_fill_level() for a general description of the fill level concept.

range :

A GtkRange

restrict_to_fill_level :

Whether the fill level restricts slider movement.

Since 2.12


gtk_range_set_show_fill_level ()

void                gtk_range_set_show_fill_level       (GtkRange *range,
                                                         gboolean show_fill_level);

Sets whether a graphical fill level is show on the trough. See gtk_range_set_fill_level() for a general description of the fill level concept.

range :

A GtkRange

show_fill_level :

Whether a fill level indicator graphics is shown.

Since 2.12


gtk_range_get_adjustment ()

GtkAdjustment*      gtk_range_get_adjustment            (GtkRange *range);

Get the GtkAdjustment which is the "model" object for GtkRange. See gtk_range_set_adjustment() for details. The return value does not have a reference added, so should not be unreferenced.

range :

a GtkRange

Returns :

a GtkAdjustment

gtk_range_set_update_policy ()

void                gtk_range_set_update_policy         (GtkRange *range,
                                                         GtkUpdateType policy);

Sets the update policy for the range. GTK_UPDATE_CONTINUOUS means that anytime the range slider is moved, the range value will change and the value_changed signal will be emitted. GTK_UPDATE_DELAYED 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. GTK_UPDATE_DISCONTINUOUS means that the value will only be updated when the user releases the button and ends the slider drag operation.

range :

a GtkRange

policy :

update policy

gtk_range_set_adjustment ()

void                gtk_range_set_adjustment            (GtkRange *range,
                                                         GtkAdjustment *adjustment);

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 GtkScale and nonzero for GtkScrollbar, and indicates the size of the visible area of the widget being scrolled. The page size affects the size of the scrollbar slider.

range :

a GtkRange

adjustment :

a GtkAdjustment

gtk_range_get_inverted ()

gboolean            gtk_range_get_inverted              (GtkRange *range);

Gets the value set by gtk_range_set_inverted().

range :

a GtkRange

Returns :

TRUE if the range is inverted

gtk_range_set_inverted ()

void                gtk_range_set_inverted              (GtkRange *range,
                                                         gboolean setting);

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.

range :

a GtkRange

setting :

TRUE to invert the range

gtk_range_get_update_policy ()

GtkUpdateType       gtk_range_get_update_policy         (GtkRange *range);

Gets the update policy of range. See gtk_range_set_update_policy().

range :

a GtkRange

Returns :

the current update policy

gtk_range_get_value ()

gdouble             gtk_range_get_value                 (GtkRange *range);

Gets the current value of the range.

range :

a GtkRange

Returns :

current value of the range.

gtk_range_set_increments ()

void                gtk_range_set_increments            (GtkRange *range,
                                                         gdouble step,
                                                         gdouble page);

Sets the step and page sizes for the range. The step size is used when the user clicks the GtkScrollbar arrows or moves GtkScale via arrow keys. The page size is used for example when moving via Page Up or Page Down keys.

range :

a GtkRange

step :

step size

page :

page size

gtk_range_set_range ()

void                gtk_range_set_range                 (GtkRange *range,
                                                         gdouble min,
                                                         gdouble max);

Sets the allowable values in the GtkRange, and clamps the range value to be between min and max. (If the range has a non-zero page size, it is clamped between min and max - page-size.)

range :

a GtkRange

min :

minimum range value

max :

maximum range value

gtk_range_set_value ()

void                gtk_range_set_value                 (GtkRange *range,
                                                         gdouble value);

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 GtkRange::value-changed signal if the value changes.

range :

a GtkRange

value :

new value of the range

enum GtkSensitivityType

typedef enum
{
  GTK_SENSITIVITY_AUTO,
  GTK_SENSITIVITY_ON,
  GTK_SENSITIVITY_OFF
} GtkSensitivityType;

Determines how GTK+ handles the sensitivity of stepper arrows at the end of range widgets.

GTK_SENSITIVITY_AUTO

The arrow is made insensitive if the thumb is at the end

GTK_SENSITIVITY_ON

The arrow is always sensitive

GTK_SENSITIVITY_OFF

The arrow is always insensitive

gtk_range_set_lower_stepper_sensitivity ()

void                gtk_range_set_lower_stepper_sensitivity
                                                        (GtkRange *range,
                                                         GtkSensitivityType sensitivity);

Sets the sensitivity policy for the stepper that points to the 'lower' end of the GtkRange's adjustment.

range :

a GtkRange

sensitivity :

the lower stepper's sensitivity policy.

Since 2.10


gtk_range_get_lower_stepper_sensitivity ()

GtkSensitivityType  gtk_range_get_lower_stepper_sensitivity
                                                        (GtkRange *range);

Gets the sensitivity policy for the stepper that points to the 'lower' end of the GtkRange's adjustment.

range :

a GtkRange

Returns :

The lower stepper's sensitivity policy.

Since 2.10


gtk_range_set_upper_stepper_sensitivity ()

void                gtk_range_set_upper_stepper_sensitivity
                                                        (GtkRange *range,
                                                         GtkSensitivityType sensitivity);

Sets the sensitivity policy for the stepper that points to the 'upper' end of the GtkRange's adjustment.

range :

a GtkRange

sensitivity :

the upper stepper's sensitivity policy.

Since 2.10


gtk_range_get_upper_stepper_sensitivity ()

GtkSensitivityType  gtk_range_get_upper_stepper_sensitivity
                                                        (GtkRange *range);

Gets the sensitivity policy for the stepper that points to the 'upper' end of the GtkRange's adjustment.

range :

a GtkRange

Returns :

The upper stepper's sensitivity policy.

Since 2.10