W3cubDocs

/GTK 4.0

GtkScaleButton

GtkScaleButton — A button which pops up a scale

Properties

GtkAdjustment * adjustment Read / Write
GStrv icons Read / Write
double value Read / Write

Signals

void popdown Action
void popup Action
void value-changed Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkScaleButton
                ╰── GtkVolumeButton

Implemented Interfaces

GtkScaleButton implements GtkAccessible, GtkBuildable, GtkConstraintTarget and GtkOrientable.

Includes

#include <gtk/gtk.h>

Description

GtkScaleButton provides a button which pops up a scale widget. This kind of widget is commonly used for volume controls in multimedia applications, and GTK provides a GtkVolumeButton subclass that is tailored for this use case.

CSS nodes

GtkScaleButton has a single CSS node with name button. To differentiate it from a plain GtkButton, it gets the .scale style class.

Functions

gtk_scale_button_new ()

GtkWidget *
gtk_scale_button_new (double min,
                      double max,
                      double step,
                      const char **icons);

Creates a GtkScaleButton, with a range between min and max , with a stepping of step .

Parameters

min

the minimum value of the scale (usually 0)

max

the maximum value of the scale (usually 100)

step

the stepping of value when a scroll-wheel event, or up/down arrow event occurs (usually 2)

icons

a NULL-terminated array of icon names, or NULL if you want to set the list later with gtk_scale_button_set_icons().

[allow-none][array zero-terminated=1]

Returns

a new GtkScaleButton

gtk_scale_button_set_adjustment ()

void
gtk_scale_button_set_adjustment (GtkScaleButton *button,
                                 GtkAdjustment *adjustment);

Sets the GtkAdjustment to be used as a model for the GtkScaleButton’s scale. See gtk_range_set_adjustment() for details.

Parameters

button

a GtkScaleButton

adjustment

a GtkAdjustment

gtk_scale_button_set_icons ()

void
gtk_scale_button_set_icons (GtkScaleButton *button,
                            const char **icons);

Sets the icons to be used by the scale button. For details, see the “icons” property.

Parameters

button

a GtkScaleButton

icons

a NULL-terminated array of icon names.

[array zero-terminated=1]

gtk_scale_button_set_value ()

void
gtk_scale_button_set_value (GtkScaleButton *button,
                            double value);

Sets the current value of the scale; if the value is outside the minimum or maximum range values, it will be clamped to fit inside them. The scale button emits the “value-changed” signal if the value changes.

Parameters

button

a GtkScaleButton

value

new value of the scale button

gtk_scale_button_get_adjustment ()

GtkAdjustment *
gtk_scale_button_get_adjustment (GtkScaleButton *button);

Gets the GtkAdjustment associated with the GtkScaleButton’s scale. See gtk_range_get_adjustment() for details.

Parameters

button

a GtkScaleButton

Returns

the adjustment associated with the scale.

[transfer none]

gtk_scale_button_get_value ()

double
gtk_scale_button_get_value (GtkScaleButton *button);

Gets the current value of the scale button.

Parameters

button

a GtkScaleButton

Returns

current value of the scale button

gtk_scale_button_get_popup ()

GtkWidget *
gtk_scale_button_get_popup (GtkScaleButton *button);

Retrieves the popup of the GtkScaleButton.

Parameters

button

a GtkScaleButton

Returns

the popup of the GtkScaleButton.

[transfer none]

gtk_scale_button_get_plus_button ()

GtkWidget *
gtk_scale_button_get_plus_button (GtkScaleButton *button);

Retrieves the plus button of the GtkScaleButton.

Parameters

button

a GtkScaleButton

Returns

the plus button of the GtkScaleButton as a GtkButton.

[transfer none][type Gtk.Button]

gtk_scale_button_get_minus_button ()

GtkWidget *
gtk_scale_button_get_minus_button (GtkScaleButton *button);

Retrieves the minus button of the GtkScaleButton.

Parameters

button

a GtkScaleButton

Returns

the minus button of the GtkScaleButton as a GtkButton.

[transfer none][type Gtk.Button]

Types and Values

struct GtkScaleButton

struct GtkScaleButton;

Property Details

The “adjustment” property

  “adjustment”               GtkAdjustment *

The GtkAdjustment that contains the current value of this scale button object.

Owner: GtkScaleButton

Flags: Read / Write

The “icons” property

  “icons”                    GStrv

The names of the icons to be used by the scale button. The first item in the array will be used in the button when the current value is the lowest value, the second item for the highest value. All the subsequent icons will be used for all the other values, spread evenly over the range of values.

If there's only one icon name in the icons array, it will be used for all the values. If only two icon names are in the icons array, the first one will be used for the bottom 50% of the scale, and the second one for the top 50%.

It is recommended to use at least 3 icons so that the GtkScaleButton reflects the current value of the scale better for the users.

Owner: GtkScaleButton

Flags: Read / Write

The “value” property

  “value”                    double

The value of the scale.

Owner: GtkScaleButton

Flags: Read / Write

Default value: 0

Signal Details

The “popdown” signal

void
user_function (GtkScaleButton *button,
               gpointer        user_data)

The ::popdown signal is a keybinding signal which gets emitted to popdown the scale widget.

The default binding for this signal is Escape.

Parameters

button

the object which received the signal

user_data

user data set when the signal handler was connected.

Flags: Action

The “popup” signal

void
user_function (GtkScaleButton *button,
               gpointer        user_data)

The ::popup signal is a keybinding signal which gets emitted to popup the scale widget.

The default bindings for this signal are Space, Enter and Return.

Parameters

button

the object which received the signal

user_data

user data set when the signal handler was connected.

Flags: Action

The “value-changed” signal

void
user_function (GtkScaleButton *button,
               double          value,
               gpointer        user_data)

The ::value-changed signal is emitted when the value field has changed.

Parameters

button

the object which received the signal

value

the new value

user_data

user data set when the signal handler was connected.

Flags: Run Last

© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk4/4.0/GtkScaleButton.html