Range
Superclasses: Widget
, InitiallyUnowned
, Object
Subclasses: Scale
Implemented Interfaces: Accessible
, AccessibleRange
, Buildable
, ConstraintTarget
, Orientable
GtkRange
is the common base class for widgets which visualize an
adjustment.
Widgets that are derived from GtkRange
include
Scale
and Scrollbar
.
Apart from signals for monitoring the parameters of the adjustment,
GtkRange
provides properties and methods for setting a
“fill level” on range widgets. See set_fill_level
.
Methods
- class Range
- get_adjustment() Adjustment
Get the adjustment which is the “model” object for
GtkRange
.
- get_flippable() bool
Gets whether the
GtkRange
respects text direction.See
set_flippable
.
- get_inverted() bool
Gets whether the range is inverted.
See
set_inverted
.
- get_range_rect() Rectangle
This function returns the area that contains the range’s trough, in coordinates relative to
range
’s origin.This function is useful mainly for
GtkRange
subclasses.
- get_round_digits() int
Gets the number of digits to round the value to when it changes.
See
change_value
.
- get_slider_range() tuple[int, int]
This function returns sliders range along the long dimension, in widget->window coordinates.
This function is useful mainly for
GtkRange
subclasses.
- set_adjustment(adjustment: Adjustment) None
Sets the adjustment to be used as the “model” object for the
GtkRange
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 forGtkScrollbar
, and indicates the size of the visible area of the widget being scrolled. The page size affects the size of the scrollbar slider.- Parameters:
adjustment – a
GtkAdjustment
- set_fill_level(fill_level: float) None
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
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 controlled by
set_restrict_to_fill_level
and is by default enabled.- Parameters:
fill_level – the new position of the fill level indicator
- set_flippable(flippable: bool) None
Sets whether the
GtkRange
respects text direction.If a range is flippable, it will switch its direction if it is horizontal and its direction is
RTL
.See
get_direction
.- Parameters:
flippable –
True
to make the range flippable
- set_increments(step: float, page: float) None
Sets the step and page sizes for the range.
The step size is used when the user clicks the
GtkScrollbar
arrows or moves aGtkScale
via arrow keys. The page size is used for example when moving via Page Up or Page Down keys.- Parameters:
step – step size
page – page size
- set_inverted(setting: bool) None
Sets whether to invert the range.
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.
- Parameters:
setting –
True
to invert the range
- set_range(min: float, max: float) None
Sets the allowable values in the
GtkRange
.The range value is clamped to be between
min
andmax
. (If the range has a non-zero page size, it is clamped betweenmin
andmax
- page-size.)- Parameters:
min – minimum range value
max – maximum range value
- set_restrict_to_fill_level(restrict_to_fill_level: bool) None
Sets whether the slider is restricted to the fill level.
See
set_fill_level
for a general description of the fill level concept.- Parameters:
restrict_to_fill_level – Whether the fill level restricts slider movement.
- set_round_digits(round_digits: int) None
Sets the number of digits to round the value to when it changes.
See
change_value
.- Parameters:
round_digits – the precision in digits, or -1
- set_show_fill_level(show_fill_level: bool) None
Sets whether a graphical fill level is show on the trough.
See
set_fill_level
for a general description of the fill level concept.- Parameters:
show_fill_level – Whether a fill level indicator graphics is shown.
- set_slider_size_fixed(size_fixed: bool) None
Sets whether the range’s slider has a fixed size, or a size that depends on its adjustment’s page size.
This function is useful mainly for
GtkRange
subclasses.- Parameters:
size_fixed –
True
to make the slider size constant
- set_value(value: float) None
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
value_changed
signal if the value changes.- Parameters:
value – new value of the range
Properties
- class Range
- props.adjustment: Adjustment
The adjustment that is controlled by the range.
- props.restrict_to_fill_level: bool
Controls whether slider movement is restricted to an upper boundary set by the fill level.
- props.round_digits: int
The number of digits to round the value to when it changes.
See
change_value
.
Signals
- class Range.signals
- adjust_bounds(value: float) None
Emitted before clamping a value, to give the application a chance to adjust the bounds.
- Parameters:
value – the value before we clamp
- change_value(scroll: ScrollType, value: float) bool
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
True
to prevent further processing. Or, by returningFalse
, it can pass the event to other handlers until the default GTK handler is reached.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
round_digits
.- Parameters:
scroll – the type of scroll action that was performed
value – the new value resulting from the scroll action
- move_slider(step: ScrollType) None
Virtual function that moves the slider.
Used for keybindings.
- Parameters:
step – how to move the slider
Virtual Methods
- class Range
-
- do_change_value(scroll: ScrollType, new_value: float) bool
- Parameters:
scroll
new_value
- do_move_slider(scroll: ScrollType) None
- Parameters:
scroll
Fields
- class Range
- parent_instance