summaryrefslogtreecommitdiff
path: root/lib/astal/gtk4/src/widget/box.vala
diff options
context:
space:
mode:
authorAylur <[email protected]>2024-11-24 00:04:07 +0000
committerAylur <[email protected]>2024-12-02 22:34:01 +0100
commit2f09ed83386b334f0dfb7f376b99739b15e49fc9 (patch)
tree4be7848780c4145310a5fa69c60661a61c69ca47 /lib/astal/gtk4/src/widget/box.vala
parent990f031507b21f8a18c0710016fb76b1f260afe8 (diff)
gjs gtk4 support
export jsx-runtime
Diffstat (limited to 'lib/astal/gtk4/src/widget/box.vala')
-rw-r--r--lib/astal/gtk4/src/widget/box.vala35
1 files changed, 35 insertions, 0 deletions
diff --git a/lib/astal/gtk4/src/widget/box.vala b/lib/astal/gtk4/src/widget/box.vala
new file mode 100644
index 0000000..eb52f9c
--- /dev/null
+++ b/lib/astal/gtk4/src/widget/box.vala
@@ -0,0 +1,35 @@
+public class Astal.Box : Gtk.Box {
+ public List<weak Gtk.Widget> children {
+ set {
+ foreach (var child in children) {
+ remove(child);
+ }
+ foreach (var child in value) {
+ append(child);
+ }
+ }
+ owned get {
+ var list = new List<weak Gtk.Widget>();
+ var child = get_first_child();
+ while (child != null) {
+ list.append(child);
+ child = child.get_next_sibling();
+ }
+ return list;
+ }
+ }
+
+ public Gtk.Widget? child {
+ owned get {
+ foreach (var child in children) {
+ return child;
+ }
+ return null;
+ }
+ set {
+ var list = new List<weak Gtk.Widget>();
+ list.append(child);
+ this.children = children;
+ }
+ }
+}