summaryrefslogtreecommitdiffstats
path: root/perl-install/mygtk3.pm
diff options
context:
space:
mode:
authorThierry Vignaud <thierry.vignaud@gmail.com>2013-09-11 09:03:50 +0200
committerThierry Vignaud <thierry.vignaud@gmail.com>2013-11-24 21:28:37 +0100
commite1ecdac525d20120a4e67fa6ee5b6d0362922f45 (patch)
treea0e102c2b996f2bff9068a1bb30193bd935ef543 /perl-install/mygtk3.pm
parent1d4957dddcbf98c3a985186b8b61be2b3f004b3c (diff)
downloaddrakx-e1ecdac525d20120a4e67fa6ee5b6d0362922f45.tar
drakx-e1ecdac525d20120a4e67fa6ee5b6d0362922f45.tar.gz
drakx-e1ecdac525d20120a4e67fa6ee5b6d0362922f45.tar.bz2
drakx-e1ecdac525d20120a4e67fa6ee5b6d0362922f45.tar.xz
drakx-e1ecdac525d20120a4e67fa6ee5b6d0362922f45.zip
add support for Gtk3::Overlay
Diffstat (limited to 'perl-install/mygtk3.pm')
-rw-r--r--perl-install/mygtk3.pm21
1 files changed, 21 insertions, 0 deletions
diff --git a/perl-install/mygtk3.pm b/perl-install/mygtk3.pm
index 5934f32cf..ff0516529 100644
--- a/perl-install/mygtk3.pm
+++ b/perl-install/mygtk3.pm
@@ -796,6 +796,27 @@ sub _gtk__Fixed {
$w;
}
+sub _gtk__Overlay {
+ my ($w, $opts, $_class, $_action) = @_;
+
+ if (!$w) {
+ $w = Gtk3::Overlay->new;
+ _gtknew_handle_overlay_children($w, $opts);
+ }
+ $w;
+}
+
+sub _gtknew_handle_overlay_children {
+ my ($w, $opts) = @_;
+ $w->add(delete $opts->{main_child}) if $opts->{main_child};
+ $opts->{children} ||= [];
+ foreach (@{$opts->{children}}) {
+ $w->add_overlay($_);
+ }
+ delete $opts->{children};
+}
+
+
sub _gtk__Layout {
my ($w, $opts, $_class, $_action) = @_;