[perl-Gtk3] Correctly wrap gtk_stock_*



commit 558b62f54e666bd5f9c4ed63868f7e56a9523ceb
Author: Torsten SchÃnfeld <kaffeetisch gmx de>
Date:   Fri Jan 6 23:26:33 2012 +0100

    Correctly wrap gtk_stock_*
    
    That is, represent gtk_stock_* as Gtk3::Stock::* (not as Gtk3::stock_*).
    Also, make Gtk3::Stock::list_ids return a list and make
    Gtk3::Stock::lookup skip the sentinel boolean.

 lib/Gtk3.pm   |   11 +++++++++++
 t/overrides.t |   11 ++++++++++-
 2 files changed, 21 insertions(+), 1 deletions(-)
---
diff --git a/lib/Gtk3.pm b/lib/Gtk3.pm
index 6e1b2c9..050242d 100644
--- a/lib/Gtk3.pm
+++ b/lib/Gtk3.pm
@@ -11,12 +11,22 @@ our @ISA = qw(Exporter);
 my $_GTK_BASENAME = 'Gtk';
 my $_GTK_VERSION = '3.0';
 my $_GTK_PACKAGE = 'Gtk3';
+
+my %_GTK_NAME_CORRECTIONS = (
+  'Gtk3::stock_add' => 'Gtk3::Stock::add',
+  'Gtk3::stock_add_static' => 'Gtk3::Stock::add_static',
+  'Gtk3::stock_list_ids' => 'Gtk3::Stock::list_ids',
+  'Gtk3::stock_lookup' => 'Gtk3::Stock::lookup',
+  'Gtk3::stock_set_translate_func' => 'Gtk3::Stock::set_translate_func',
+);
 my @_GTK_FLATTEN_ARRAY_REF_RETURN_FOR = qw/
   Gtk3::CellLayout::get_cells
+  Gtk3::Stock::list_ids
   Gtk3::TreePath::get_indices
   Gtk3::Window::list_toplevels
 /;
 my @_GTK_HANDLE_SENTINEL_BOOLEAN_FOR = qw/
+  Gtk3::Stock::lookup
   Gtk3::TreeModel::get_iter
   Gtk3::TreeModel::get_iter_first
   Gtk3::TreeModel::get_iter_from_string
@@ -43,6 +53,7 @@ sub import {
     basename => $_GTK_BASENAME,
     version => $_GTK_VERSION,
     package => $_GTK_PACKAGE,
+    name_corrections => \%_GTK_NAME_CORRECTIONS,
     flatten_array_ref_return_for => \ _GTK_FLATTEN_ARRAY_REF_RETURN_FOR,
     handle_sentinel_boolean_for => \ _GTK_HANDLE_SENTINEL_BOOLEAN_FOR);
 
diff --git a/t/overrides.t b/t/overrides.t
index 42c32b4..03b5f73 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 => 46;
+plan tests => 48;
 
 # Gtk3::CHECK_VERSION and check_version
 {
@@ -54,6 +54,15 @@ SKIP: {
   like ($@, qr/Usage/);
 }
 
+# Gtk3::Stock
+{
+  ok (grep { $_ eq 'gtk-ok' } Gtk3::Stock::list_ids ());
+  my $item = Gtk3::Stock::lookup ('gtk-ok');
+  is ($item->{stock_id}, 'gtk-ok');
+  # Gtk3::Stock::add and add_static don't work yet
+  Gtk3::Stock::set_translate_func ('perl-domain', sub {}, 42);
+}
+
 # Gtk3::TreeStore::new, set and get
 SKIP: {
   skip 'tree model ctors not properly supported', 5



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]