GtkScaleButton
GtkScaleButton — A button which pops up a scale
Functions
Properties
GtkAdjustment * | adjustment | Read / Write |
GStrv | icons | Read / Write |
GtkIconSize | size | Read / Write |
double | value | Read / Write |
Signals
void | popdown | Action |
void | popup | Action |
void | value-changed | Run Last |
Types and Values
struct | GtkScaleButton |
Object Hierarchy
GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkContainer ╰── GtkBin ╰── GtkButton ╰── GtkScaleButton ╰── GtkVolumeButton
Implemented Interfaces
GtkScaleButton implements AtkImplementorIface, GtkBuildable, GtkActionable, GtkActivatable 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.
The popup widget that contains the scale has a .scale-popup style class.
Functions
gtk_scale_button_new ()
GtkWidget * gtk_scale_button_new (GtkIconSize size
,gdouble min
,gdouble max
,gdouble step
,const gchar **icons
);
Creates a GtkScaleButton, with a range between min
and max
, with a stepping of step
.
Parameters
size | a stock icon size (GtkIconSize). | [type int] |
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 | [allow-none][array zero-terminated=1] |
Returns
a new GtkScaleButton
Since: 2.12
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 | ||
adjustment |
Since: 2.12
gtk_scale_button_set_icons ()
void gtk_scale_button_set_icons (GtkScaleButton *button
,const gchar **icons
);
Sets the icons to be used by the scale button. For details, see the “icons” property.
Parameters
button | ||
icons | a | [array zero-terminated=1] |
Since: 2.12
gtk_scale_button_set_value ()
void gtk_scale_button_set_value (GtkScaleButton *button
,gdouble 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 | ||
value | new value of the scale button |
Since: 2.12
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 |
Returns
the adjustment associated with the scale.
[transfer none]
Since: 2.12
gtk_scale_button_get_value ()
gdouble
gtk_scale_button_get_value (GtkScaleButton *button
);
Gets the current value of the scale button.
Parameters
button |
Returns
current value of the scale button
Since: 2.12
gtk_scale_button_get_popup ()
GtkWidget *
gtk_scale_button_get_popup (GtkScaleButton *button
);
Retrieves the popup of the GtkScaleButton.
Parameters
button |
Since: 2.14
gtk_scale_button_get_plus_button ()
GtkWidget *
gtk_scale_button_get_plus_button (GtkScaleButton *button
);
Retrieves the plus button of the GtkScaleButton.
Parameters
button |
Since: 2.14
gtk_scale_button_get_minus_button ()
GtkWidget *
gtk_scale_button_get_minus_button (GtkScaleButton *button
);
Retrieves the minus button of the GtkScaleButton.
Parameters
button |
Since: 2.14
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
Since: 2.12
The “size”
property
“size” GtkIconSize
The icon size.
Owner: GtkScaleButton
Flags: Read / Write
Default value: GTK_ICON_SIZE_SMALL_TOOLBAR
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
Since: 2.12
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
Since: 2.12
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
Since: 2.12
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.24/GtkScaleButton.html