blob: 4e856a6a8a234f5d7931e3e9490b1d9df1fb7899 (
plain)
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
|
/**
* Subclass of [[email protected]] that has a children setter which
* invokes [[email protected]_named] with the child's [[email protected]:name] property.
*/
public class Astal.Stack : Gtk.Stack {
/**
* Same as [[email protected]:visible-child-name].
*/
[CCode (notify = false)]
public string shown {
get { return visible_child_name; }
set { visible_child_name = value; }
}
public List<weak Gtk.Widget> children {
set { _set_children(value); }
owned get { return get_children(); }
}
private void _set_children(List<weak Gtk.Widget> arr) {
foreach(var child in get_children()) {
remove(child);
}
var i = 0;
foreach(var child in arr) {
if (child.name != null) {
add_named(child, child.name);
} else {
add_named(child, (++i).to_string());
}
}
}
construct {
notify["visible_child_name"].connect(() => {
notify_property("shown");
});
}
}
|