Grid widget

A button widget connected to a progress bar.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
public class MyWindow : Gtk.ApplicationWindow {

	Gtk.Widget progress_bar;

	internal MyWindow (MyApplication app) {
		Object (application: app, title: "Grid Example");
		var grid = new Gtk.Grid();
		progress_bar = new Gtk.ProgressBar ();
		progress_bar.show ();

		var button = new Gtk.Button.with_label ("Button");
		button.clicked.connect (on_button_click);
		button.show ();

		this.add(grid);
		grid.attach(button, 0, 1, 1, 1);
		grid.attach_next_to (progress_bar, button, Gtk.PositionType.BOTTOM, 1, 1);
		grid.show ();
	}

	void on_button_click (Gtk.Button button) {
		(progress_bar as Gtk.ProgressBar).pulse ();
	}
}

public class MyApplication : Gtk.Application {
	protected override void activate () {

		new MyWindow (this).show ();
	}

	internal MyApplication () {
		Object (application_id: "org.example.MyApplication");

	}
}

public int main (string[] args) {
	return new MyApplication ().run (args);
}

In this sample we used the following: