Object Hierarchy:

Gtk.ScaleButton Gtk.ScaleButton Gtk.ScaleButton Gtk.Button Gtk.Button Gtk.Button->Gtk.ScaleButton Gtk.Bin Gtk.Bin Gtk.Bin->Gtk.Button Gtk.Container Gtk.Container Gtk.Container->Gtk.Bin Gtk.Widget Gtk.Widget Gtk.Widget->Gtk.Container GLib.InitiallyUnowned GLib.InitiallyUnowned GLib.InitiallyUnowned->Gtk.Widget GLib.Object GLib.Object GLib.Object->GLib.InitiallyUnowned Atk.Implementor Atk.Implementor Atk.Implementor->Gtk.ScaleButton Atk.Implementor->Gtk.Button Atk.Implementor->Gtk.Bin Atk.Implementor->Gtk.Container Atk.Implementor->Gtk.Widget Gtk.Buildable Gtk.Buildable Gtk.Buildable->Gtk.ScaleButton Gtk.Buildable->Gtk.Button Gtk.Buildable->Gtk.Bin Gtk.Buildable->Gtk.Container Gtk.Buildable->Gtk.Widget Gtk.Actionable Gtk.Actionable Gtk.Actionable->Gtk.ScaleButton Gtk.Actionable->Gtk.Button Gtk.Activatable Gtk.Activatable Gtk.Activatable->Gtk.ScaleButton Gtk.Activatable->Gtk.Button Gtk.Orientable Gtk.Orientable Gtk.Orientable->Gtk.ScaleButton


[ CCode ( type_id = "gtk_scale_button_get_type ()" ) ]
public class ScaleButton : Button, Implementor, Actionable, Activatable, Buildable, Orientable

ScaleButton 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 VolumeButton 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 Button, it gets the .scale style class.

The popup widget that contains the scale has a .scale-popup style class.

Example: ScaleButton:

public class Application : Gtk.Window {
public Application () {
// Prepare Gtk.Window:
this.title = "My Gtk.ScaleButton";
this.window_position = Gtk.WindowPosition.CENTER;
this.destroy.connect (Gtk.main_quit);

// The button:
string[] icons = { "zoom-out", "zoom-in" };
Gtk.ScaleButton button = new Gtk.ScaleButton (Gtk.IconSize.SMALL_TOOLBAR, 0.0, 1.0, 0.2, icons);
this.add (button);

// Catch changes:
button.value_changed.connect ((val) => {
print ("%f\n", val);

public static int main (string[] args) {
Gtk.init (ref args);

Application app = new Application ();
app.show_all ();
Gtk.main ();
return 0;

valac --pkg gtk+-3.0 Gtk.ScaleButton.vala

All known sub-classes:

Namespace: Gtk
Package: gtk+-3.0



Creation methods:



Inherited Members:

All known members inherited from class Gtk.Bin
All known members inherited from class Gtk.Widget
All known members inherited from interface Atk.Implementor
All known members inherited from interface Gtk.Orientable