[perl-Gtk3] Add overrides for Gtk3::UIManager
- From: Torsten SchÃnfeld <tsch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [perl-Gtk3] Add overrides for Gtk3::UIManager
- Date: Sat, 11 Aug 2012 19:23:00 +0000 (UTC)
commit 1e7a8e1ea656dddb25997fe76739342601724a04
Author: Torsten SchÃnfeld <kaffeetisch gmx de>
Date: Sat Aug 11 21:22:28 2012 +0200
Add overrides for Gtk3::UIManager
NEWS | 1 +
lib/Gtk3.pm | 9 +++++++++
t/overrides.t | 34 +++++++++++++++++++++++++++++++++-
3 files changed, 43 insertions(+), 1 deletions(-)
---
diff --git a/NEWS b/NEWS
index b548a78..54792ea 100644
--- a/NEWS
+++ b/NEWS
@@ -3,6 +3,7 @@
* Add overrides for Gtk3::Gdk::Event.
* Add overrides for some Gtk3::RadioMenuItem constructors.
* Add overrides for Gtk3::CssProvider.
+* Add overrides for Gtk3::UIManager.
Overview of changes in Gtk3 0.007 [2012-07-05]
==============================================
diff --git a/lib/Gtk3.pm b/lib/Gtk3.pm
index 780e7a4..3b71255 100644
--- a/lib/Gtk3.pm
+++ b/lib/Gtk3.pm
@@ -40,6 +40,8 @@ my @_GTK_FLATTEN_ARRAY_REF_RETURN_FOR = qw/
Gtk3::CellLayout::get_cells
Gtk3::Stock::list_ids
Gtk3::TreePath::get_indices
+ Gtk3::UIManager::get_action_groups
+ Gtk3::UIManager::get_toplevels
Gtk3::Window::list_toplevels
/;
my @_GTK_HANDLE_SENTINEL_BOOLEAN_FOR = qw/
@@ -744,6 +746,13 @@ sub Gtk3::TreeViewColumn::new_with_attributes {
return $object;
}
+sub Gtk3::UIManager::add_ui_from_string {
+ my ($manager, $string) = @_;
+ return Glib::Object::Introspection->invoke (
+ $_GTK_BASENAME, 'UIManager', 'add_ui_from_string',
+ $manager, $string, length $string);
+}
+
sub Gtk3::VBox::new {
my ($class, $homogeneous, $spacing) = @_;
$homogeneous = 5 unless defined $homogeneous;
diff --git a/t/overrides.t b/t/overrides.t
index ca0d51a..91178c2 100644
--- a/t/overrides.t
+++ b/t/overrides.t
@@ -5,7 +5,7 @@ BEGIN { require './t/inc/setup.pl' };
use strict;
use warnings;
-plan tests => 82;
+plan tests => 87;
# Gtk3::CHECK_VERSION and check_version
{
@@ -251,6 +251,38 @@ SKIP: {
isa_ok ($sel_iter, 'Gtk3::TreeIter');
}
+# Gtk3::UIManager
+{
+ my $ui_manager = Gtk3::UIManager->new;
+ my $ui_info = <<__EOD__;
+<ui>
+ <menubar name='MenuBar'>
+ <menu action='HelpMenu'>
+ <menuitem action='About'/>
+ </menu>
+ </menubar>
+ <menubar name='MenuBla'>
+ <menu action='HelpMenu'>
+ <menuitem action='License'/>
+ </menu>
+ </menubar>
+</ui>
+__EOD__
+ ok ($ui_manager->add_ui_from_string ($ui_info) != 0);
+
+ $ui_manager->ensure_update;
+ my @menubars = $ui_manager->get_toplevels ("menubar");
+ is (@menubars, 2);
+ isa_ok ($menubars[0], "Gtk3::MenuBar");
+ isa_ok ($menubars[1], "Gtk3::MenuBar");
+
+ my $group_one = Gtk3::ActionGroup->new ("Barney");
+ my $group_two = Gtk3::ActionGroup->new ("Fred");
+ $ui_manager->insert_action_group ($group_one, 0);
+ $ui_manager->insert_action_group ($group_two, 1);
+ is_deeply ([$ui_manager->get_action_groups], [$group_one, $group_two]);
+}
+
# Gtk3::Gdk::Window::new
SKIP: {
# https://bugzilla.gnome.org/show_bug.cgi?id=670369
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]