Class
GtkScale
Description [src]
class Gtk.Scale : Gtk.Range
implements Gtk.Accessible, Gtk.AccessibleRange, Gtk.Buildable, Gtk.ConstraintTarget, Gtk.Orientable {
/* No available fields */
}
A GtkScale
is a slider control used to select a numeric value.
To use it, you’ll probably want to investigate the methods on its base
class, GtkRange
, in addition to the methods for GtkScale
itself.
To set the value of a scale, you would normally use gtk_range_set_value()
.
To detect changes to the value, you would normally use the
GtkRange::value-changed
signal.
Note that using the same upper and lower bounds for the GtkScale
(through
the GtkRange
methods) will hide the slider itself. This is useful for
applications that want to show an undeterminate value on the scale, without
changing the layout of the application (such as movie or music players).
GtkScale as GtkBuildable
GtkScale
supports a custom <marks>
element, which can contain multiple
<mark\>
elements. The “value” and “position” attributes have the same
meaning as gtk_scale_add_mark()
parameters of the same name. If
the element is not empty, its content is taken as the markup to show at
the mark. It can be translated with the usual ”translatable” and
“context” attributes.
Shortcuts and Gestures
GtkPopoverMenu
supports the following keyboard shortcuts:
- Arrow keys, + and - will increment or decrement by step, or by page when combined with Ctrl.
- PgUp and PgDn will increment or decrement by page.
- Home and End will set the minimum or maximum value.
CSS nodes
scale[.fine-tune][.marks-before][.marks-after]
├── [value][.top][.right][.bottom][.left]
├── marks.top
│ ├── mark
│ ┊ ├── [label]
│ ┊ ╰── indicator
┊ ┊
│ ╰── mark
├── marks.bottom
│ ├── mark
│ ┊ ├── indicator
│ ┊ ╰── [label]
┊ ┊
│ ╰── mark
╰── trough
├── [fill]
├── [highlight]
╰── slider
GtkScale
has a main CSS node with name scale and a subnode for its contents,
with subnodes named trough and slider.
The main node gets the style class .fine-tune added when the scale is in ‘fine-tuning’ mode.
If the scale has an origin (see gtk_scale_set_has_origin()
), there is
a subnode with name highlight below the trough node that is used for rendering
the highlighted part of the trough.
If the scale is showing a fill level (see gtk_range_set_show_fill_level()
),
there is a subnode with name fill below the trough node that is used for
rendering the filled in part of the trough.
If marks are present, there is a marks subnode before or after the trough node, below which each mark gets a node with name mark. The marks nodes get either the .top or .bottom style class.
The mark node has a subnode named indicator. If the mark has text, it also has a subnode named label. When the mark is either above or left of the scale, the label subnode is the first when present. Otherwise, the indicator subnode is the first.
The main CSS node gets the ‘marks-before’ and/or ‘marks-after’ style classes added depending on what marks are present.
If the scale is displaying the value (see GtkScale:draw-value
),
there is subnode with name value. This node will get the .top or .bottom style
classes similar to the marks node.
Accessibility
GtkScale
uses the GTK_ACCESSIBLE_ROLE_SLIDER
role.
Instance methods
gtk_scale_get_draw_value
Returns whether the current value is displayed as a string next to the slider.
gtk_scale_get_layout_offsets
Obtains the coordinates where the scale will draw the
PangoLayout
representing the text in the scale.
gtk_scale_set_draw_value
Specifies whether the current value is displayed as a string next to the slider.
Methods inherited from GtkRange (22)
gtk_range_get_adjustment
Get the adjustment which is the “model” object for GtkRange
.
gtk_range_get_fill_level
Gets the current position of the fill level indicator.
gtk_range_get_flippable
Gets whether the GtkRange
respects text direction.
gtk_range_get_inverted
Gets whether the range is inverted.
gtk_range_get_range_rect
This function returns the area that contains the range’s trough,
in coordinates relative to range
‘s origin.
gtk_range_get_restrict_to_fill_level
Gets whether the range is restricted to the fill level.
gtk_range_get_round_digits
Gets the number of digits to round the value to when it changes.
gtk_range_get_show_fill_level
Gets whether the range displays the fill level graphically.
gtk_range_get_slider_range
This function returns sliders range along the long dimension, in widget->window coordinates.
gtk_range_get_slider_size_fixed
This function is useful mainly for GtkRange
subclasses.
gtk_range_get_value
Gets the current value of the range.
gtk_range_set_adjustment
Sets the adjustment to be used as the “model” object for the GtkRange
.
gtk_range_set_fill_level
Set the new position of the fill level indicator.
gtk_range_set_flippable
Sets whether the GtkRange
respects text direction.
gtk_range_set_increments
Sets the step and page sizes for the range.
gtk_range_set_inverted
Sets whether to invert the range.
gtk_range_set_range
Sets the allowable values in the GtkRange
.
gtk_range_set_restrict_to_fill_level
Sets whether the slider is restricted to the fill level.
gtk_range_set_round_digits
Sets the number of digits to round the value to when it changes.
gtk_range_set_show_fill_level
Sets whether a graphical fill level is show on the trough.
gtk_range_set_slider_size_fixed
Sets whether the range’s slider has a fixed size, or a size that depends on its adjustment’s page size.
gtk_range_set_value
Sets the current value of the range.
Methods inherited from GtkAccessible (19)
gtk_accessible_announce
Requests the user’s screen reader to announce the given message.
since: 4.14
gtk_accessible_get_accessible_parent
Retrieves the accessible parent for an accessible object.
since: 4.10
gtk_accessible_get_accessible_role
Retrieves the accessible role of an accessible object.
gtk_accessible_get_at_context
Retrieves the accessible implementation for the given GtkAccessible
.
since: 4.10
gtk_accessible_get_bounds
Queries the coordinates and dimensions of this accessible.
since: 4.10
gtk_accessible_get_first_accessible_child
Retrieves the first accessible child of an accessible object.
since: 4.10
gtk_accessible_get_next_accessible_sibling
Retrieves the next accessible sibling of an accessible object.
since: 4.10
gtk_accessible_get_platform_state
Query a platform state, such as focus.
since: 4.10
gtk_accessible_reset_property
Resets the accessible property
to its default value.
gtk_accessible_reset_relation
Resets the accessible relation
to its default value.
gtk_accessible_reset_state
Resets the accessible state
to its default value.
gtk_accessible_set_accessible_parent
Sets the parent and sibling of an accessible object.
since: 4.10
gtk_accessible_update_next_accessible_sibling
Updates the next accessible sibling of self
.
since: 4.10
gtk_accessible_update_property
Updates a list of accessible properties.
gtk_accessible_update_property_value
Updates an array of accessible properties.
gtk_accessible_update_relation
Updates a list of accessible relations.
gtk_accessible_update_relation_value
Updates an array of accessible relations.
gtk_accessible_update_state
Updates a list of accessible states. See the GtkAccessibleState
documentation for the value types of accessible states.
gtk_accessible_update_state_value
Updates an array of accessible states.
Methods inherited from GtkBuildable (1)
Methods inherited from GtkOrientable (2)
gtk_orientable_get_orientation
Retrieves the orientation of the orientable
.
gtk_orientable_set_orientation
Sets the orientation of the orientable
.
Properties
Properties inherited from GtkRange (6)
Gtk.Range:adjustment
The adjustment that is controlled by the range.
Gtk.Range:fill-level
The fill level (e.g. prebuffering of a network stream).
Gtk.Range:inverted
If TRUE
, the direction in which the slider moves is inverted.
Gtk.Range:restrict-to-fill-level
Controls whether slider movement is restricted to an upper boundary set by the fill level.
Gtk.Range:round-digits
The number of digits to round the value to when it changes.
Gtk.Range:show-fill-level
Controls whether fill level indicator graphics are displayed on the trough.
Properties inherited from GtkWidget (34)
Gtk.Widget:can-focus
Whether the widget or any of its descendents can accept the input focus.
Gtk.Widget:can-target
Whether the widget can receive pointer events.
Gtk.Widget:css-classes
A list of css classes applied to this widget.
Gtk.Widget:css-name
The name of this widget in the CSS tree.
Gtk.Widget:cursor
The cursor used by widget
.
Gtk.Widget:focus-on-click
Whether the widget should grab focus when it is clicked with the mouse.
Gtk.Widget:focusable
Whether this widget itself will accept the input focus.
Gtk.Widget:halign
How to distribute horizontal space if widget gets extra space.
Gtk.Widget:has-default
Whether the widget is the default widget.
Gtk.Widget:has-focus
Whether the widget has the input focus.
Gtk.Widget:has-tooltip
Enables or disables the emission of the ::query-tooltip signal on widget
.
Gtk.Widget:height-request
Override for height request of the widget.
Gtk.Widget:hexpand
Whether to expand horizontally.
Gtk.Widget:hexpand-set
Whether to use the hexpand
property.
Gtk.Widget:layout-manager
The GtkLayoutManager
instance to use to compute the preferred size
of the widget, and allocate its children.
Gtk.Widget:margin-bottom
Margin on bottom side of widget.
Gtk.Widget:margin-end
Margin on end of widget, horizontally.
Gtk.Widget:margin-start
Margin on start of widget, horizontally.
Gtk.Widget:margin-top
Margin on top side of widget.
Gtk.Widget:name
The name of the widget.
Gtk.Widget:opacity
The requested opacity of the widget.
Gtk.Widget:overflow
How content outside the widget’s content area is treated.
Gtk.Widget:parent
The parent widget of this widget.
Gtk.Widget:receives-default
Whether the widget will receive the default action when it is focused.
Gtk.Widget:root
The GtkRoot
widget of the widget tree containing this widget.
Gtk.Widget:scale-factor
The scale factor of the widget.
Gtk.Widget:sensitive
Whether the widget responds to input.
Gtk.Widget:tooltip-markup
Sets the text of tooltip to be the given string, which is marked up with Pango markup.
Gtk.Widget:tooltip-text
Sets the text of tooltip to be the given string.
Gtk.Widget:valign
How to distribute vertical space if widget gets extra space.
Gtk.Widget:vexpand
Whether to expand vertically.
Gtk.Widget:vexpand-set
Whether to use the vexpand
property.
Gtk.Widget:visible
Whether the widget is visible.
Gtk.Widget:width-request
Override for width request of the widget.
Properties inherited from GtkAccessible (1)
Properties inherited from GtkOrientable (1)
Signals
Signals inherited from GtkRange (4)
GtkRange::adjust-bounds
Emitted before clamping a value, to give the application a chance to adjust the bounds.
GtkRange::change-value
Emitted when a scroll action is performed on a range.
GtkRange::move-slider
Virtual function that moves the slider.
GtkRange::value-changed
Emitted when the range value changes.
Signals inherited from GtkWidget (13)
GtkWidget::destroy
Signals that all holders of a reference to the widget should release the reference that they hold.
GtkWidget::direction-changed
Emitted when the text direction of a widget changes.
GtkWidget::hide
Emitted when widget
is hidden.
GtkWidget::keynav-failed
Emitted if keyboard navigation fails.
GtkWidget::map
Emitted when widget
is going to be mapped.
GtkWidget::mnemonic-activate
Emitted when a widget is activated via a mnemonic.
GtkWidget::move-focus
Emitted when the focus is moved.
GtkWidget::query-tooltip
Emitted when the widget’s tooltip is about to be shown.
GtkWidget::realize
Emitted when widget
is associated with a GdkSurface
.
GtkWidget::show
Emitted when widget
is shown.
GtkWidget::state-flags-changed
Emitted when the widget state changes.
GtkWidget::unmap
Emitted when widget
is going to be unmapped.
GtkWidget::unrealize
Emitted when the GdkSurface
associated with widget
is destroyed.
Signals inherited from GObject (1)
GObject::notify
The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.
Class structure
struct GtkScaleClass {
GtkRangeClass parent_class;
void (* get_layout_offsets) (
GtkScale* scale,
int* x,
int* y
);
}
No description available.
Class members
parent_class: GtkRangeClass
No description available.
get_layout_offsets: void (* get_layout_offsets) ( GtkScale* scale, int* x, int* y )
No description available.
Virtual methods
Gtk.ScaleClass.get_layout_offsets
Obtains the coordinates where the scale will draw the
PangoLayout
representing the text in the scale.