Blame platform-demos/C/samples/switch.vala

Packit 1470ea
class MyWindow : Gtk.ApplicationWindow {
Packit 1470ea
Packit 1470ea
	internal MyWindow (MyApplication app) {
Packit 1470ea
		Object (application: app, title: "Switch Example");
Packit 1470ea
Packit 1470ea
		this.set_default_size (300, 100);
Packit 1470ea
		this.border_width = 10;
Packit 1470ea
Packit 1470ea
		var label = new Gtk.Label ("Title");
Packit 1470ea
		var switcher = new Gtk.Switch ();
Packit 1470ea
Packit 1470ea
		switcher.set_active (true);
Packit 1470ea
Packit 1470ea
		switcher.notify["active"].connect (switcher_cb);
Packit 1470ea
Packit 1470ea
		var grid = new Gtk.Grid ();
Packit 1470ea
		grid.set_column_spacing (10);
Packit 1470ea
		grid.attach (label, 0, 0, 1, 1);
Packit 1470ea
		grid.attach (switcher, 1, 0, 1, 1);
Packit 1470ea
Packit 1470ea
		this.add (grid);
Packit 1470ea
	}
Packit 1470ea
Packit 1470ea
	void switcher_cb (Object switcher, ParamSpec pspec) {
Packit 1470ea
		if ((switcher as Gtk.Switch).get_active())
Packit 1470ea
			this.set_title ("Switch Example");
Packit 1470ea
		else
Packit 1470ea
			this.set_title ("");
Packit 1470ea
	}
Packit 1470ea
}
Packit 1470ea
Packit 1470ea
class MyApplication : Gtk.Application {
Packit 1470ea
	protected override void activate () {
Packit 1470ea
Packit 1470ea
		var window = new MyWindow (this);
Packit 1470ea
		window.show_all (); //show all the things
Packit 1470ea
	}
Packit 1470ea
Packit 1470ea
	internal MyApplication () {
Packit 1470ea
		Object (application_id: "org.example.checkbutton");
Packit 1470ea
	}
Packit 1470ea
}
Packit 1470ea
Packit 1470ea
int main (string[] args) {
Packit 1470ea
	return new MyApplication ().run (args);
Packit 1470ea
}