summaryrefslogtreecommitdiffstats
path: root/fake_packages
diff options
context:
space:
mode:
Diffstat (limited to 'fake_packages')
-rw-r--r--fake_packages/CGI.pm22
-rw-r--r--fake_packages/Getopt/Long.pm6
-rw-r--r--fake_packages/Glib.pm315
-rw-r--r--fake_packages/Gnome2.pm641
-rw-r--r--fake_packages/Gnome2/Vte.pm72
-rw-r--r--fake_packages/Gtk2.pm3742
-rw-r--r--fake_packages/MDV/Distribconf.pm17
-rw-r--r--fake_packages/Net/DNS.pm7
-rw-r--r--fake_packages/Net/FTP.pm9
-rw-r--r--fake_packages/Net/Ping.pm9
-rw-r--r--fake_packages/URPM/Resolve.pm17
-rwxr-xr-xfake_packages/gen.pl108
-rw-r--r--fake_packages/packdrake.pm25
-rw-r--r--fake_packages/urpm.pm9
14 files changed, 4999 insertions, 0 deletions
diff --git a/fake_packages/CGI.pm b/fake_packages/CGI.pm
new file mode 100644
index 0000000..c3ee55a
--- /dev/null
+++ b/fake_packages/CGI.pm
@@ -0,0 +1,22 @@
+package CGI;
+
+sub new {}
+
+sub autoflush {}
+sub checkbox {}
+sub close {}
+sub end_form {}
+sub end_html {}
+sub h1 {}
+sub hidden {}
+sub param {}
+sub password_field {}
+sub scrolling_list {}
+sub start_form {}
+sub submit {}
+sub textfield {}
+
+sub header {}
+sub start_html {}
+sub br {}
+sub p {}
diff --git a/fake_packages/Getopt/Long.pm b/fake_packages/Getopt/Long.pm
new file mode 100644
index 0000000..6437264
--- /dev/null
+++ b/fake_packages/Getopt/Long.pm
@@ -0,0 +1,6 @@
+package Getopt::Long;
+
+our @ISA = qw(Exporter);
+our @EXPORT = qw(GetOptions);
+
+sub GetOptions {}
diff --git a/fake_packages/Glib.pm b/fake_packages/Glib.pm
new file mode 100644
index 0000000..8f465ad
--- /dev/null
+++ b/fake_packages/Glib.pm
@@ -0,0 +1,315 @@
+
+package Glib;
+our @ISA = qw();
+sub CHECK_VERSION { my ($_class, $_required_major, $_required_minor, $_required_micro) = @_ }
+sub GET_VERSION_INFO { my ($_class) = @_ }
+sub MAJOR_VERSION() {}
+sub MICRO_VERSION() {}
+sub MINOR_VERSION() {}
+sub critical { my ($_class, $_domain, $_message) = @_ }
+sub error { my ($_class, $_domain, $_message) = @_ }
+sub filename_display_basename { my ($_filename) = @_ }
+sub filename_display_name { my ($_filename) = @_ }
+sub filename_from_unicode { my ($_class_or_filename, $_o_filename) = @_ }
+sub filename_from_uri { my (@_more_paras) = @_ }
+sub filename_to_unicode { my ($_class_or_filename, $_o_filename) = @_ }
+sub filename_to_uri { my (@_more_paras) = @_ }
+sub get_application_name() {}
+sub get_home_dir() {}
+sub get_language_names() {}
+sub get_real_name() {}
+sub get_system_config_dirs() {}
+sub get_system_data_dirs() {}
+sub get_tmp_dir() {}
+sub get_user_cache_dir() {}
+sub get_user_config_dir() {}
+sub get_user_data_dir() {}
+sub get_user_name() {}
+sub install_exception_handler { my ($_class, $_func, $_o_data) = @_ }
+sub log { my ($_class, $_log_domain, $_log_level, $_message) = @_ }
+sub main_depth() {}
+sub major_version() {}
+sub message { my ($_class, $_domain, $_message) = @_ }
+sub micro_version() {}
+sub minor_version() {}
+sub remove_exception_handler { my ($_class, $_tag) = @_ }
+sub set_application_name { my ($_application_name) = @_ }
+sub warning { my ($_class, $_domain, $_message) = @_ }
+
+package Glib::Boxed;
+our @ISA = qw();
+sub DESTROY { my ($_sv) = @_ }
+sub copy { my ($_sv) = @_ }
+
+package Glib::Error;
+our @ISA = qw();
+sub code { my ($_error) = @_ }
+sub domain { my ($_error) = @_ }
+sub location { my ($_error) = @_ }
+sub matches { my ($_error, $_domain, $_code) = @_ }
+sub message { my ($_error) = @_ }
+sub new { my ($_class, $_code, $_message) = @_ }
+sub register { my ($_package, $_enum_package) = @_ }
+sub throw { my ($_class, $_code, $_message) = @_ }
+sub value { my ($_error) = @_ }
+
+package Glib::Flags;
+our @ISA = qw();
+sub all { my ($_a, $_b, $_swap) = @_ }
+sub as_arrayref { my ($_a, $_b, $_swap) = @_ }
+sub bool { my ($_a, $_b, $_swap) = @_ }
+sub Glib::Flags::eq { my ($_a, $_b, $_swap) = @_ }
+sub Glib::Flags::ge { my ($_a, $_b, $_swap) = @_ }
+sub intersect { my ($_a, $_b, $_swap) = @_ }
+sub Glib::Flags::sub { my ($_a, $_b, $_swap) = @_ }
+sub union { my ($_a, $_b, $_swap) = @_ }
+sub Glib::Flags::xor { my ($_a, $_b, $_swap) = @_ }
+
+package Glib::IO;
+our @ISA = qw();
+sub add_watch { my ($_class, $_fd, $_condition, $_callback, $_o_data, $_o_priority) = @_ }
+
+package Glib::Idle;
+our @ISA = qw();
+sub add { my ($_class, $_callback, $_o_data, $_o_priority) = @_ }
+
+package Glib::KeyFile;
+our @ISA = qw();
+sub DESTROY { my ($_key_file) = @_ }
+sub get_boolean { my ($_key_file, $_group_name, $_key) = @_ }
+sub get_boolean_list { my ($_key_file, $_group_name, $_key) = @_ }
+sub get_comment { my ($_key_file, $_o_group_name, $_o_key) = @_ }
+sub get_groups { my ($_key_file) = @_ }
+sub get_integer { my ($_key_file, $_group_name, $_key) = @_ }
+sub get_integer_list { my ($_key_file, $_group_name, $_key) = @_ }
+sub get_keys { my ($_key_file, $_group_name) = @_ }
+sub get_locale_string { my ($_key_file, $_group_name, $_key, $_o_locale) = @_ }
+sub get_locale_string_list { my ($_key_file, $_group_name, $_key, $_locale) = @_ }
+sub get_start_group { my ($_key_file) = @_ }
+sub get_string { my ($_key_file, $_group_name, $_key) = @_ }
+sub get_string_list { my ($_key_file, $_group_name, $_key) = @_ }
+sub get_value { my ($_key_file, $_group_name, $_key) = @_ }
+sub has_group { my ($_key_file, $_group_name) = @_ }
+sub has_key { my ($_key_file, $_group_name, $_key) = @_ }
+sub load_from_data { my ($_key_file, $_buf, $_flags) = @_ }
+sub load_from_data_dirs { my ($_key_file, $_file, $_flags) = @_ }
+sub load_from_file { my ($_key_file, $_file, $_flags) = @_ }
+sub new { my ($_class) = @_ }
+sub remove_comment { my ($_key_file, $_o_group_name, $_o_key) = @_ }
+sub remove_group { my ($_key_file, $_group_name) = @_ }
+sub remove_key { my ($_key_file, $_group_name, $_key) = @_ }
+sub set_boolean { my ($_key_file, $_group_name, $_key, $_value) = @_ }
+sub set_boolean_list { my ($_key_file, $_group_name, $_key, @_more_paras) = @_ }
+sub set_comment { my ($_key_file, $_group_name, $_key, $_comment) = @_ }
+sub set_integer { my ($_key_file, $_group_name, $_key, $_value) = @_ }
+sub set_integer_list { my ($_key_file, $_group_name, $_key, @_more_paras) = @_ }
+sub set_list_separator { my ($_key_file, $_separator) = @_ }
+sub set_locale_string { my ($_key_file, $_group_name, $_key, $_locale, $_string) = @_ }
+sub set_locale_string_list { my ($_key_file, $_group_name, $_key, $_locale, @_more_paras) = @_ }
+sub set_string { my ($_key_file, $_group_name, $_key, $_value) = @_ }
+sub set_string_list { my ($_key_file, $_group_name, $_key, @_more_paras) = @_ }
+sub set_value { my ($_key_file, $_group_name, $_key, $_value) = @_ }
+sub to_data { my ($_key_file) = @_ }
+
+package Glib::Log;
+our @ISA = qw();
+sub remove_handler { my ($_class, $_log_domain, $_handler_id) = @_ }
+sub set_always_fatal { my ($_class, $_fatal_mask) = @_ }
+sub set_fatal_mask { my ($_class, $_log_domain, $_fatal_mask) = @_ }
+sub set_handler { my ($_class, $_log_domain, $_log_levels, $_log_func, $_o_user_data) = @_ }
+
+package Glib::MainContext;
+our @ISA = qw();
+sub DESTROY { my ($_maincontext) = @_ }
+sub default { my ($_class) = @_ }
+sub iteration { my ($_context, $_may_block) = @_ }
+sub new { my ($_class) = @_ }
+sub pending { my ($_context) = @_ }
+
+package Glib::MainLoop;
+our @ISA = qw();
+sub DESTROY { my ($_mainloop) = @_ }
+sub get_context { my ($_loop) = @_ }
+sub is_running { my ($_loop) = @_ }
+sub new { my ($_class, $_o_context, $_o_is_running) = @_ }
+sub quit { my ($_loop) = @_ }
+sub run { my ($_loop) = @_ }
+
+package Glib::Markup;
+our @ISA = qw();
+sub escape_text { my ($_text) = @_ }
+
+package Glib::Object;
+our @ISA = qw();
+sub CLONE { my ($_class) = @_ }
+sub DESTROY { my ($_sv) = @_ }
+sub freeze_notify { my ($_object) = @_ }
+sub get { my ($_object, @_more_paras) = @_ }
+sub get_data { my ($_object, $_key) = @_ }
+sub get_pointer { my ($_object) = @_ }
+sub get_property { my ($_object, @_more_paras) = @_ }
+sub list_properties { my ($_object_or_class_name) = @_ }
+sub new { my ($_class, @_more_paras) = @_ }
+sub new_from_pointer { my ($_class, $_pointer, $_o_noinc) = @_ }
+sub notify { my ($_object, $_property_name) = @_ }
+sub set { my ($_object, @_more_paras) = @_ }
+sub set_data { my ($_object, $_key, $_data) = @_ }
+sub set_property { my ($_object, @_more_paras) = @_ }
+sub set_threadsafe { my ($_class, $_threadsafe) = @_ }
+sub signal_add_emission_hook { my ($_object_or_class_name, $_detailed_signal, $_hook_func, $_o_hook_data) = @_ }
+sub signal_chain_from_overridden { my ($_instance, @_more_paras) = @_ }
+sub signal_connect { my ($_instance, $_detailed_signal, $_callback, $_o_data) = @_ }
+sub signal_connect_after { my ($_instance, $_detailed_signal, $_callback, $_o_data) = @_ }
+sub signal_connect_swapped { my ($_instance, $_detailed_signal, $_callback, $_o_data) = @_ }
+sub signal_emit { my ($_instance, $_name, @_more_paras) = @_ }
+sub signal_handler_block { my ($_object, $_handler_id) = @_ }
+sub signal_handler_disconnect { my ($_object, $_handler_id) = @_ }
+sub signal_handler_is_connected { my ($_object, $_handler_id) = @_ }
+sub signal_handler_unblock { my ($_object, $_handler_id) = @_ }
+sub signal_handlers_block_by_func { my ($_instance, $_func, $_o_data) = @_ }
+sub signal_handlers_disconnect_by_func { my ($_instance, $_func, $_o_data) = @_ }
+sub signal_handlers_unblock_by_func { my ($_instance, $_func, $_o_data) = @_ }
+sub signal_query { my ($_object_or_class_name, $_name) = @_ }
+sub signal_remove_emission_hook { my ($_object_or_class_name, $_signal_name, $_hook_id) = @_ }
+sub signal_stop_emission_by_name { my ($_instance, $_detailed_signal) = @_ }
+sub thaw_notify { my ($_object) = @_ }
+sub tie_properties { my ($_object, $_o_all) = @_ }
+
+package Glib::Object::_LazyLoader;
+our @ISA = qw();
+sub _load { my ($_package) = @_ }
+
+package Glib::Param::Boolean;
+our @ISA = qw();
+sub get_default_value { my ($_pspec_boolean) = @_ }
+
+package Glib::Param::Char;
+our @ISA = qw();
+sub get_default_value { my ($_pspec) = @_ }
+sub get_maximum { my ($_pspec) = @_ }
+sub get_minimum { my ($_pspec) = @_ }
+
+package Glib::Param::Double;
+our @ISA = qw();
+sub get_default_value { my ($_pspec) = @_ }
+sub get_epsilon { my ($_pspec) = @_ }
+sub get_maximum { my ($_pspec) = @_ }
+sub get_minimum { my ($_pspec) = @_ }
+
+package Glib::Param::Enum;
+our @ISA = qw();
+sub get_default_value { my ($_pspec_enum) = @_ }
+sub get_enum_class { my ($_pspec_enum) = @_ }
+
+package Glib::Param::Flags;
+our @ISA = qw();
+sub get_default_value { my ($_pspec_flags) = @_ }
+sub get_flags_class { my ($_pspec_flags) = @_ }
+
+package Glib::Param::Float;
+our @ISA = qw();
+sub get_default_value { my ($_pspec) = @_ }
+sub get_epsilon { my ($_pspec) = @_ }
+sub get_maximum { my ($_pspec) = @_ }
+sub get_minimum { my ($_pspec) = @_ }
+
+package Glib::Param::Int;
+our @ISA = qw();
+sub get_default_value { my ($_pspec) = @_ }
+sub get_maximum { my ($_pspec) = @_ }
+sub get_minimum { my ($_pspec) = @_ }
+
+package Glib::Param::Int64;
+our @ISA = qw();
+sub get_default_value { my ($_pspec) = @_ }
+sub get_maximum { my ($_pspec) = @_ }
+sub get_minimum { my ($_pspec) = @_ }
+
+package Glib::Param::Long;
+our @ISA = qw();
+sub get_default_value { my ($_pspec) = @_ }
+sub get_maximum { my ($_pspec) = @_ }
+sub get_minimum { my ($_pspec) = @_ }
+
+package Glib::Param::String;
+our @ISA = qw();
+sub get_default_value { my ($_pspec_string) = @_ }
+
+package Glib::Param::UChar;
+our @ISA = qw();
+sub get_default_value { my ($_pspec) = @_ }
+sub get_maximum { my ($_pspec) = @_ }
+sub get_minimum { my ($_pspec) = @_ }
+
+package Glib::Param::UInt;
+our @ISA = qw();
+sub get_default_value { my ($_pspec) = @_ }
+sub get_maximum { my ($_pspec) = @_ }
+sub get_minimum { my ($_pspec) = @_ }
+
+package Glib::Param::UInt64;
+our @ISA = qw();
+sub get_default_value { my ($_pspec) = @_ }
+sub get_maximum { my ($_pspec) = @_ }
+sub get_minimum { my ($_pspec) = @_ }
+
+package Glib::Param::ULong;
+our @ISA = qw();
+sub get_default_value { my ($_pspec) = @_ }
+sub get_maximum { my ($_pspec) = @_ }
+sub get_minimum { my ($_pspec) = @_ }
+
+package Glib::Param::Unichar;
+our @ISA = qw();
+sub get_default_value { my ($_pspec_unichar) = @_ }
+
+package Glib::ParamSpec;
+our @ISA = qw();
+sub DESTROY { my ($_pspec) = @_ }
+sub IV { my ($_class, $_name, $_nick, $_blurb, $_minimum, $_maximum, $_default_value, $_flags) = @_ }
+sub UV { my ($_class, $_name, $_nick, $_blurb, $_minimum, $_maximum, $_default_value, $_flags) = @_ }
+sub boolean { my ($_class, $_name, $_nick, $_blurb, $_default_value, $_flags) = @_ }
+sub boxed { my ($_class, $_name, $_nick, $_blurb, $_package, $_flags) = @_ }
+sub char { my ($_class, $_name, $_nick, $_blurb, $_minimum, $_maximum, $_default_value, $_flags) = @_ }
+sub double { my ($_class, $_name, $_nick, $_blurb, $_minimum, $_maximum, $_default_value, $_flags) = @_ }
+sub enum { my ($_class, $_name, $_nick, $_blurb, $_enum_type, $_default_value, $_flags) = @_ }
+sub flags { my ($_class, $_name, $_nick, $_blurb, $_flags_type, $_default_value, $_flags) = @_ }
+sub float { my ($_class, $_name, $_nick, $_blurb, $_minimum, $_maximum, $_default_value, $_flags) = @_ }
+sub get_blurb { my ($_pspec) = @_ }
+sub get_flags { my ($_pspec) = @_ }
+sub get_name { my ($_pspec) = @_ }
+sub get_nick { my ($_pspec) = @_ }
+sub get_owner_type { my ($_pspec) = @_ }
+sub get_value_type { my ($_pspec) = @_ }
+sub int { my ($_class, $_name, $_nick, $_blurb, $_minimum, $_maximum, $_default_value, $_flags) = @_ }
+sub int64 { my ($_class, $_name, $_nick, $_blurb, $_minimum, $_maximum, $_default_value, $_flags) = @_ }
+sub long { my ($_class, $_name, $_nick, $_blurb, $_minimum, $_maximum, $_default_value, $_flags) = @_ }
+sub object { my ($_class, $_name, $_nick, $_blurb, $_package, $_flags) = @_ }
+sub param_spec { my ($_class, $_name, $_nick, $_blurb, $_package, $_flags) = @_ }
+sub scalar { my ($_class, $_name, $_nick, $_blurb, $_flags) = @_ }
+sub string { my ($_class, $_name, $_nick, $_blurb, $_default_value, $_flags) = @_ }
+sub uchar { my ($_class, $_name, $_nick, $_blurb, $_minimum, $_maximum, $_default_value, $_flags) = @_ }
+sub uint { my ($_class, $_name, $_nick, $_blurb, $_minimum, $_maximum, $_default_value, $_flags) = @_ }
+sub uint64 { my ($_class, $_name, $_nick, $_blurb, $_minimum, $_maximum, $_default_value, $_flags) = @_ }
+sub ulong { my ($_class, $_name, $_nick, $_blurb, $_minimum, $_maximum, $_default_value, $_flags) = @_ }
+sub unichar { my ($_class, $_name, $_nick, $_blurb, $_default_value, $_flags) = @_ }
+
+package Glib::Source;
+our @ISA = qw();
+sub remove { my ($_class, $_tag) = @_ }
+
+package Glib::Timeout;
+our @ISA = qw();
+sub add { my ($_class, $_interval, $_callback, $_o_data, $_o_priority) = @_ }
+
+package Glib::Type;
+our @ISA = qw();
+sub list_ancestors { my ($_class, $_package) = @_ }
+sub list_interfaces { my ($_class, $_package) = @_ }
+sub list_signals { my ($_class, $_package) = @_ }
+sub list_values { my ($_class, $_package) = @_ }
+sub package_from_cname { my ($_class, $_cname) = @_ }
+sub register { my ($_class, $_parent_class, $_new_class, @_more_paras) = @_ }
+sub register_enum { my ($_class, $_name, @_more_paras) = @_ }
+sub register_flags { my ($_class, $_name, @_more_paras) = @_ }
+sub register_object { my ($_class, $_parent_package, $_new_package, @_more_paras) = @_ }
diff --git a/fake_packages/Gnome2.pm b/fake_packages/Gnome2.pm
new file mode 100644
index 0000000..7c6f6bf
--- /dev/null
+++ b/fake_packages/Gnome2.pm
@@ -0,0 +1,641 @@
+
+package Gnome2;
+our @ISA = qw();
+sub CHECK_VERSION { my ($_class, $_major, $_minor, $_micro) = @_ }
+sub GET_VERSION_INFO { my ($_class) = @_ }
+sub accelerators_sync { my ($_class) = @_ }
+sub user_accels_dir_get { my ($_class) = @_ }
+sub user_dir_get { my ($_class) = @_ }
+sub user_private_dir_get { my ($_class) = @_ }
+
+package Gnome2::About;
+our @ISA = qw();
+sub new { my ($_class, $_name, $_version, $_copyright, $_comments, $_authors, $_o_documenters, $_o_translator_credits, $_o_logo_pixbuf) = @_ }
+
+package Gnome2::App;
+our @ISA = qw();
+sub accel_group { my ($_app) = @_ }
+sub add_dock_item { my ($_app, $_item, $_placement, $_band_num, $_band_position, $_offset) = @_ }
+sub add_docked { my ($_app, $_widget, $_name, $_behavior, $_placement, $_band_num, $_band_position, $_offset) = @_ }
+sub add_toolbar { my ($_app, $_toolbar, $_name, $_behavior, $_placement, $_band_num, $_band_position, $_offset) = @_ }
+sub contents { my ($_app) = @_ }
+sub create_menus { my ($_app, $_uiinfo) = @_ }
+sub create_toolbar { my ($_app, $_uiinfo) = @_ }
+sub dock { my ($_app) = @_ }
+sub enable_layout_config { my ($_app, $_enable) = @_ }
+sub get_dock { my ($_app) = @_ }
+sub get_dock_item_by_name { my ($_app, $_name) = @_ }
+sub get_enable_layout_config { my ($_app) = @_ }
+sub insert_menus { my ($_app, $_path, $_menuinfo) = @_ }
+sub install_menu_hints { my ($_app, $_uiinfo) = @_ }
+sub layout { my ($_app) = @_ }
+sub menubar { my ($_app) = @_ }
+sub new { my ($_class, $_appname, $_o_title) = @_ }
+sub prefix { my ($_app) = @_ }
+sub remove_menu_range { my ($_app, $_path, $_start, $_items) = @_ }
+sub remove_menus { my ($_app, $_path, $_items) = @_ }
+sub set_contents { my ($_app, $_contents) = @_ }
+sub set_menus { my ($_app, $_menubar) = @_ }
+sub set_statusbar { my ($_app, $_statusbar) = @_ }
+sub set_statusbar_custom { my ($_app, $_container, $_statusbar) = @_ }
+sub set_toolbar { my ($_app, $_toolbar) = @_ }
+sub setup_toolbar { my ($_class, $_toolbar, $_dock_item) = @_ }
+sub statusbar { my ($_app) = @_ }
+sub vbox { my ($_app) = @_ }
+
+package Gnome2::AppBar;
+our @ISA = qw();
+sub clear_prompt { my ($_appbar) = @_ }
+sub clear_stack { my ($_appbar) = @_ }
+sub get_progress { my ($_appbar) = @_ }
+sub get_response { my ($_appbar) = @_ }
+sub get_status { my ($_appbar) = @_ }
+sub install_menu_hints { my ($_appbar, $_uiinfo) = @_ }
+sub new { my ($_class, $_has_progress, $_has_status, $_interactivity) = @_ }
+sub pop { my ($_appbar) = @_ }
+sub push { my ($_appbar, $_status) = @_ }
+sub refresh { my ($_appbar) = @_ }
+sub set_default { my ($_appbar, $_default_status) = @_ }
+sub set_progress_percentage { my ($_appbar, $_percentage) = @_ }
+sub set_prompt { my ($_appbar, $_prompt, $_modal) = @_ }
+sub set_status { my ($_appbar, $_status) = @_ }
+
+package Gnome2::AuthenticationManager;
+our @ISA = qw();
+sub init { my ($_class) = @_ }
+
+package Gnome2::Bonobo;
+our @ISA = qw();
+sub CHECK_VERSION { my ($_class, $_major, $_minor, $_micro) = @_ }
+sub GET_VERSION_INFO { my ($_class) = @_ }
+
+package Gnome2::Bonobo::Dock;
+our @ISA = qw();
+sub add_floating_item { my ($_dock, $_widget, $_x, $_y, $_orientation) = @_ }
+sub add_from_layout { my ($_dock, $_layout) = @_ }
+sub add_item { my ($_dock, $_item, $_placement, $_band_num, $_position, $_offset, $_in_new_band) = @_ }
+sub allow_floating_items { my ($_dock, $_enable) = @_ }
+sub get_client_area { my ($_dock) = @_ }
+sub get_item_by_name { my ($_dock, $_name) = @_ }
+sub get_layout { my ($_dock) = @_ }
+sub new { my ($_class) = @_ }
+sub set_client_area { my ($_dock, $_widget) = @_ }
+
+package Gnome2::Bonobo::DockItem;
+our @ISA = qw();
+sub get_behavior { my ($_dock_item) = @_ }
+sub get_child { my ($_dock_item) = @_ }
+sub get_name { my ($_dock_item) = @_ }
+sub get_orientation { my ($_dock_item) = @_ }
+sub get_shadow_type { my ($_dock_item) = @_ }
+sub new { my ($_class, $_name, $_behavior) = @_ }
+sub set_orientation { my ($_dock_item, $_orientation) = @_ }
+sub set_shadow_type { my ($_dock_item, $_type) = @_ }
+
+package Gnome2::Client;
+our @ISA = qw();
+sub add_static_arg { my ($_client, @_more_paras) = @_ }
+sub connect { my ($_client) = @_ }
+sub connected { my ($_client) = @_ }
+sub disconnect { my ($_client) = @_ }
+sub flush { my ($_client) = @_ }
+sub get_config_prefix { my ($_client) = @_ }
+sub get_desktop_id { my ($_client) = @_ }
+sub get_flags { my ($_client) = @_ }
+sub get_global_config_prefix { my ($_client) = @_ }
+sub get_id { my ($_client) = @_ }
+sub get_previous_id { my ($_client) = @_ }
+sub interaction_key_return { my ($_class, $_key, $_cancel_shutdown) = @_ }
+sub master { my ($_class) = @_ }
+sub new { my ($_class) = @_ }
+sub new_without_connection { my ($_class) = @_ }
+sub request_interaction { my ($_client, $_dialog_type, $_function, $_o_data) = @_ }
+sub request_phase_2 { my ($_client) = @_ }
+sub request_save { my ($_client, $_save_style, $_shutdown, $_interact_style, $_fast, $_global) = @_ }
+sub save_any_dialog { my ($_client, $_dialog) = @_ }
+sub save_error_dialog { my ($_client, $_dialog) = @_ }
+sub set_clone_command { my ($_client, @_more_paras) = @_ }
+sub set_current_directory { my ($_client, $_dir) = @_ }
+sub set_discard_command { my ($_client, @_more_paras) = @_ }
+sub set_environment { my ($_client, $_name, $_value) = @_ }
+sub set_global_config_prefix { my ($_client, $_prefix) = @_ }
+sub set_priority { my ($_client, $_priority) = @_ }
+sub set_resign_command { my ($_client, @_more_paras) = @_ }
+sub set_restart_command { my ($_client, @_more_paras) = @_ }
+sub set_restart_style { my ($_client, $_style) = @_ }
+sub set_shutdown_command { my ($_client, @_more_paras) = @_ }
+
+package Gnome2::ColorPicker;
+our @ISA = qw();
+sub get_d { my ($_cp) = @_ }
+sub get_dither { my ($_cp) = @_ }
+sub get_i16 { my ($_cp) = @_ }
+sub get_i8 { my ($_cp) = @_ }
+sub get_title { my ($_cp) = @_ }
+sub get_use_alpha { my ($_cp) = @_ }
+sub new { my ($_class) = @_ }
+sub set_d { my ($_cp, $_r, $_g, $_b, $_a) = @_ }
+sub set_dither { my ($_cp, $_dither) = @_ }
+sub set_i16 { my ($_cp, $_r, $_g, $_b, $_a) = @_ }
+sub set_i8 { my ($_cp, $_r, $_g, $_b, $_a) = @_ }
+sub set_title { my ($_cp, $_title) = @_ }
+sub set_use_alpha { my ($_cp, $_use_alpha) = @_ }
+
+package Gnome2::Config;
+our @ISA = qw();
+sub clean_file { my ($_class, $_path) = @_ }
+sub clean_key { my ($_class, $_path) = @_ }
+sub clean_section { my ($_class, $_path) = @_ }
+sub drop_all { my ($_class) = @_ }
+sub drop_file { my ($_class, $_path) = @_ }
+sub get_bool { my ($_class, $_path) = @_ }
+sub get_bool_with_default { my ($_class, $_path) = @_ }
+sub get_float { my ($_class, $_path) = @_ }
+sub get_float_with_default { my ($_class, $_path) = @_ }
+sub get_int { my ($_class, $_path) = @_ }
+sub get_int_with_default { my ($_class, $_path) = @_ }
+sub get_real_path { my ($_class, $_path) = @_ }
+sub get_string { my ($_class, $_path) = @_ }
+sub get_string_with_default { my ($_class, $_path) = @_ }
+sub get_translated_string { my ($_class, $_path) = @_ }
+sub get_translated_string_with_default { my ($_class, $_path) = @_ }
+sub get_vector { my ($_class, $_path) = @_ }
+sub get_vector_with_default { my ($_class, $_path) = @_ }
+sub has_section { my ($_class, $_path) = @_ }
+sub init_iterator { my ($_class, $_path) = @_ }
+sub init_iterator_sections { my ($_class, $_path) = @_ }
+sub pop_prefix { my ($_class) = @_ }
+sub push_prefix { my ($_class, $_path) = @_ }
+sub set_bool { my ($_class, $_path, $_value) = @_ }
+sub set_float { my ($_class, $_path, $_value) = @_ }
+sub set_int { my ($_class, $_path, $_value) = @_ }
+sub set_string { my ($_class, $_path, $_value) = @_ }
+sub set_translated_string { my ($_class, $_path, $_value) = @_ }
+sub set_vector { my ($_class, $_path, $_value) = @_ }
+sub sync { my ($_class) = @_ }
+sub sync_file { my ($_class, $_path) = @_ }
+
+package Gnome2::Config::Iterator;
+our @ISA = qw();
+sub DESTROY { my ($_handle) = @_ }
+sub next { my ($_handle) = @_ }
+
+package Gnome2::Config::Private;
+our @ISA = qw();
+sub clean_file { my ($_class, $_path) = @_ }
+sub clean_key { my ($_class, $_path) = @_ }
+sub clean_section { my ($_class, $_path) = @_ }
+sub drop_file { my ($_class, $_path) = @_ }
+sub get_bool { my ($_class, $_path) = @_ }
+sub get_bool_with_default { my ($_class, $_path) = @_ }
+sub get_float { my ($_class, $_path) = @_ }
+sub get_float_with_default { my ($_class, $_path) = @_ }
+sub get_int { my ($_class, $_path) = @_ }
+sub get_int_with_default { my ($_class, $_path) = @_ }
+sub get_real_path { my ($_class, $_path) = @_ }
+sub get_string { my ($_class, $_path) = @_ }
+sub get_string_with_default { my ($_class, $_path) = @_ }
+sub get_translated_string { my ($_class, $_path) = @_ }
+sub get_translated_string_with_default { my ($_class, $_path) = @_ }
+sub get_vector { my ($_class, $_path) = @_ }
+sub get_vector_with_default { my ($_class, $_path) = @_ }
+sub has_section { my ($_class, $_path) = @_ }
+sub init_iterator { my ($_class, $_path) = @_ }
+sub init_iterator_sections { my ($_class, $_path) = @_ }
+sub set_bool { my ($_class, $_path, $_value) = @_ }
+sub set_float { my ($_class, $_path, $_value) = @_ }
+sub set_int { my ($_class, $_path, $_value) = @_ }
+sub set_string { my ($_class, $_path, $_value) = @_ }
+sub set_translated_string { my ($_class, $_path, $_value) = @_ }
+sub set_vector { my ($_class, $_path, $_value) = @_ }
+sub sync_file { my ($_class, $_path) = @_ }
+
+package Gnome2::DateEdit;
+our @ISA = qw();
+sub get_flags { my ($_gde) = @_ }
+sub get_initial_time { my ($_gde) = @_ }
+sub get_time { my ($_gde) = @_ }
+sub new { my ($_class, $_the_time, $_show_time, $_use_24_format) = @_ }
+sub new_flags { my ($_class, $_the_time, $_flags) = @_ }
+sub set_flags { my ($_gde, $_flags) = @_ }
+sub set_popup_range { my ($_gde, $_low_hour, $_up_hour) = @_ }
+sub set_time { my ($_gde, $_the_time) = @_ }
+
+package Gnome2::Druid;
+our @ISA = qw();
+sub append_page { my ($_druid, $_page) = @_ }
+sub back { my ($_druid) = @_ }
+sub cancel { my ($_druid) = @_ }
+sub finish { my ($_druid) = @_ }
+sub help { my ($_druid) = @_ }
+sub insert_page { my ($_druid, $_back_page, $_page) = @_ }
+sub new { my ($_class) = @_ }
+sub new_with_window { my ($_class, $_title, $_parent, $_close_on_cancel) = @_ }
+sub next { my ($_druid) = @_ }
+sub prepend_page { my ($_druid, $_page) = @_ }
+sub set_buttons_sensitive { my ($_druid, $_back_sensitive, $_next_sensitive, $_cancel_sensitive, $_help_sensitive) = @_ }
+sub set_page { my ($_druid, $_page) = @_ }
+sub set_show_finish { my ($_druid, $_show_finish) = @_ }
+sub set_show_help { my ($_druid, $_show_help) = @_ }
+
+package Gnome2::DruidPage;
+our @ISA = qw();
+sub back { my ($_druid_page) = @_ }
+sub cancel { my ($_druid_page) = @_ }
+sub finish { my ($_druid_page) = @_ }
+sub new { my ($_class) = @_ }
+sub next { my ($_druid_page) = @_ }
+sub prepare { my ($_druid_page) = @_ }
+
+package Gnome2::DruidPageEdge;
+our @ISA = qw();
+sub new { my ($_class, $_position) = @_ }
+sub new_aa { my ($_class, $_position) = @_ }
+sub new_with_vals { my ($_class, $_position, $_antialiased, $_o_title, $_o_text, $_o_logo, $_o_watermark, $_o_top_watermark) = @_ }
+sub set_bg_color { my ($_druid_page_edge, $_color) = @_ }
+sub set_logo { my ($_druid_page_edge, $_logo_image) = @_ }
+sub set_logo_bg_color { my ($_druid_page_edge, $_color) = @_ }
+sub set_text { my ($_druid_page_edge, $_text) = @_ }
+sub set_text_color { my ($_druid_page_edge, $_color) = @_ }
+sub set_textbox_color { my ($_druid_page_edge, $_color) = @_ }
+sub set_title { my ($_druid_page_edge, $_title) = @_ }
+sub set_title_color { my ($_druid_page_edge, $_color) = @_ }
+sub set_top_watermark { my ($_druid_page_edge, $_top_watermark_image) = @_ }
+sub set_watermark { my ($_druid_page_edge, $_watermark) = @_ }
+
+package Gnome2::DruidPageStandard;
+our @ISA = qw();
+sub append_item { my ($_druid_page_standard, $_question, $_item, $_additional_info) = @_ }
+sub new { my ($_class) = @_ }
+sub new_with_vals { my ($_class, $_title, $_o_logo, $_o_top_watermark) = @_ }
+sub set_background { my ($_druid_page_standard, $_color) = @_ }
+sub set_contents_background { my ($_druid_page_standard, $_color) = @_ }
+sub set_logo { my ($_druid_page_standard, $_logo_image) = @_ }
+sub set_logo_background { my ($_druid_page_standard, $_color) = @_ }
+sub set_title { my ($_druid_page_standard, $_title) = @_ }
+sub set_title_foreground { my ($_druid_page_standard, $_color) = @_ }
+sub set_top_watermark { my ($_druid_page_standard, $_top_watermark_image) = @_ }
+sub vbox { my ($_druid_page_standard) = @_ }
+
+package Gnome2::Entry;
+our @ISA = qw();
+sub append_history { my ($_gentry, $_save, $_text) = @_ }
+sub clear_history { my ($_gentry) = @_ }
+sub get_history_id { my ($_gentry) = @_ }
+sub get_max_saved { my ($_gentry) = @_ }
+sub gtk_entry { my ($_gentry) = @_ }
+sub new { my ($_class, $_o_history_id) = @_ }
+sub prepend_history { my ($_gentry, $_save, $_text) = @_ }
+sub set_history_id { my ($_gentry, $_history_id) = @_ }
+sub set_max_saved { my ($_gentry, $_max_saved) = @_ }
+
+package Gnome2::FileEntry;
+our @ISA = qw();
+sub get_directory_entry { my ($_fentry) = @_ }
+sub get_full_path { my ($_fentry, $_file_must_exist) = @_ }
+sub get_modal { my ($_fentry) = @_ }
+sub gnome_entry { my ($_fentry) = @_ }
+sub gtk_entry { my ($_fentry) = @_ }
+sub new { my ($_class, $_history_id, $_browse_dialog_title) = @_ }
+sub set_default_path { my ($_fentry, $_path) = @_ }
+sub set_directory_entry { my ($_fentry, $_directory_entry) = @_ }
+sub set_filename { my ($_fentry, $_filename) = @_ }
+sub set_modal { my ($_fentry, $_is_modal) = @_ }
+sub set_title { my ($_fentry, $_browse_dialog_title) = @_ }
+
+package Gnome2::FontPicker;
+our @ISA = qw();
+sub fi_set_show_size { my ($_gfp, $_show_size) = @_ }
+sub fi_set_use_font_in_label { my ($_gfp, $_use_font_in_label, $_size) = @_ }
+sub get_font_name { my ($_gfp) = @_ }
+sub get_mode { my ($_gfp) = @_ }
+sub get_preview_text { my ($_gfp) = @_ }
+sub get_title { my ($_gfp) = @_ }
+sub new { my ($_class) = @_ }
+sub set_font_name { my ($_gfp, $_fontname) = @_ }
+sub set_mode { my ($_gfp, $_mode) = @_ }
+sub set_preview_text { my ($_gfp, $_text) = @_ }
+sub set_title { my ($_gfp, $_title) = @_ }
+sub uw_get_widget { my ($_gfp) = @_ }
+sub uw_set_widget { my ($_gfp, $_widget) = @_ }
+
+package Gnome2::GConf;
+our @ISA = qw();
+sub get_app_settings_relative { my ($_class, $_program, $_subkey) = @_ }
+sub get_gnome_libs_settings_relative { my ($_class, $_subkey) = @_ }
+
+package Gnome2::HRef;
+our @ISA = qw();
+sub get_label { my ($_href) = @_ }
+sub get_text { my ($_href) = @_ }
+sub get_url { my ($_href) = @_ }
+sub new { my ($_class, $_url, $_text) = @_ }
+sub set_label { my ($_href, $_label) = @_ }
+sub set_text { my ($_href, $_text) = @_ }
+sub set_url { my ($_href, $_url) = @_ }
+
+package Gnome2::Help;
+our @ISA = qw();
+sub display { my ($_class, $_file_name, $_o_link_id) = @_ }
+sub display_desktop { my ($_class, $_program, $_doc_id, $_file_name, $_o_link_id) = @_ }
+sub display_desktop_with_env { my ($_class, $_program, $_doc_id, $_file_name, $_link_id, $_env_ref) = @_ }
+
+package Gnome2::I18N;
+our @ISA = qw();
+sub get_language_list { my ($_class, $_o_category_name) = @_ }
+sub pop_c_numeric_locale { my ($_class) = @_ }
+sub push_c_numeric_locale { my ($_class) = @_ }
+
+package Gnome2::IconEntry;
+our @ISA = qw();
+sub get_filename { my ($_ientry) = @_ }
+sub new { my ($_class, $_history_id, $_browse_dialog_title) = @_ }
+sub pick_dialog { my ($_ientry) = @_ }
+sub set_browse_dialog_title { my ($_ientry, $_browse_dialog_title) = @_ }
+sub set_filename { my ($_ientry, $_filename) = @_ }
+sub set_history_id { my ($_ientry, $_history_id) = @_ }
+sub set_max_saved { my ($_ientry, $_max_saved) = @_ }
+sub set_pixmap_subdir { my ($_ientry, $_subdir) = @_ }
+
+package Gnome2::IconList;
+our @ISA = qw();
+sub append { my ($_gil, $_icon_filename, $_text) = @_ }
+sub append_pixbuf { my ($_gil, $_im, $_icon_filename, $_text) = @_ }
+sub clear { my ($_gil) = @_ }
+sub find_icon_from_filename { my ($_gil, $_filename) = @_ }
+sub focus_icon { my ($_gil, $_idx) = @_ }
+sub freeze { my ($_gil) = @_ }
+sub get_icon_at { my ($_gil, $_x, $_y) = @_ }
+sub get_icon_filename { my ($_gil, $_idx) = @_ }
+sub get_icon_pixbuf_item { my ($_gil, $_idx) = @_ }
+sub get_icon_text_item { my ($_gil, $_idx) = @_ }
+sub get_items_per_line { my ($_gil) = @_ }
+sub get_num_icons { my ($_gil) = @_ }
+sub get_selection { my ($_gil) = @_ }
+sub get_selection_mode { my ($_gil) = @_ }
+sub icon_is_visible { my ($_gil, $_pos) = @_ }
+sub insert { my ($_gil, $_pos, $_icon_filename, $_text) = @_ }
+sub insert_pixbuf { my ($_gil, $_pos, $_im, $_icon_filename, $_text) = @_ }
+sub moveto { my ($_gil, $_pos, $_yalign) = @_ }
+sub new { my ($_class, $_icon_width, $_adj, $_flags) = @_ }
+sub remove { my ($_gil, $_pos) = @_ }
+sub select_icon { my ($_gil, $_pos) = @_ }
+sub set_col_spacing { my ($_gil, $_pixels) = @_ }
+sub set_hadjustment { my ($_gil, $_hadj) = @_ }
+sub set_icon_border { my ($_gil, $_pixels) = @_ }
+sub set_icon_width { my ($_gil, $_w) = @_ }
+sub set_row_spacing { my ($_gil, $_pixels) = @_ }
+sub set_selection_mode { my ($_gil, $_mode) = @_ }
+sub set_separators { my ($_gil, $_sep) = @_ }
+sub set_text_spacing { my ($_gil, $_pixels) = @_ }
+sub set_vadjustment { my ($_gil, $_vadj) = @_ }
+sub thaw { my ($_gil) = @_ }
+sub unselect_all { my ($_gil) = @_ }
+sub unselect_icon { my ($_gil, $_pos) = @_ }
+
+package Gnome2::IconSelection;
+our @ISA = qw();
+sub add_defaults { my ($_gis) = @_ }
+sub add_directory { my ($_gis, $_dir) = @_ }
+sub clear { my ($_gis, $_not_shown) = @_ }
+sub get_box { my ($_gis) = @_ }
+sub get_gil { my ($_gis) = @_ }
+sub get_icon { my ($_gis, $_full_path) = @_ }
+sub new { my ($_class) = @_ }
+sub select_icon { my ($_gis, $_filename) = @_ }
+sub show_icons { my ($_gis) = @_ }
+sub stop_loading { my ($_gis) = @_ }
+
+package Gnome2::IconTextItem;
+our @ISA = qw();
+sub configure { my ($_iti, $_x, $_y, $_width, $_fontname, $_text, $_is_editable, $_is_static) = @_ }
+sub focus { my ($_iti, $_focused) = @_ }
+sub get_editable { my ($_iti) = @_ }
+sub get_text { my ($_iti) = @_ }
+sub select { my ($_iti, $_sel) = @_ }
+sub setxy { my ($_iti, $_x, $_y) = @_ }
+sub start_editing { my ($_iti) = @_ }
+sub stop_editing { my ($_iti, $_accept) = @_ }
+
+package Gnome2::IconTheme;
+our @ISA = qw();
+sub append_search_path { my ($_theme, $_path) = @_ }
+sub get_allow_svg { my ($_theme) = @_ }
+sub get_example_icon_name { my ($_theme) = @_ }
+sub get_search_path { my ($_theme) = @_ }
+sub has_icon { my ($_theme, $_icon_name) = @_ }
+sub list_icons { my ($_theme, $_o_context) = @_ }
+sub lookup { my ($_icon_theme, $_thumbnail_factory, $_file_uri, $_custom_icon, $_file_info, $_mime_type, $_flags) = @_ }
+sub lookup_icon { my ($_theme, $_icon_name, $_size) = @_ }
+sub lookup_sync { my ($_icon_theme, $_thumbnail_factory, $_file_uri, $_custom_icon, $_flags) = @_ }
+sub new { my ($_class) = @_ }
+sub prepend_search_path { my ($_theme, $_path) = @_ }
+sub rescan_if_needed { my ($_theme) = @_ }
+sub set_allow_svg { my ($_theme, $_allow_svg) = @_ }
+sub set_custom_theme { my ($_theme, $_theme_name) = @_ }
+sub set_search_path { my ($_theme, @_more_paras) = @_ }
+
+package Gnome2::ModuleInfo;
+our @ISA = qw();
+sub bonobo { my ($_class) = @_ }
+sub description { my ($_module_info) = @_ }
+sub libgnome { my ($_class) = @_ }
+sub libgnomeui { my ($_class) = @_ }
+sub name { my ($_module_info) = @_ }
+sub opt_prefix { my ($_module_info) = @_ }
+sub version { my ($_module_info) = @_ }
+
+package Gnome2::PasswordDialog;
+our @ISA = qw();
+sub get_domain { my ($_password_dialog) = @_ }
+sub get_password { my ($_password_dialog) = @_ }
+sub get_remember { my ($_password_dialog) = @_ }
+sub get_username { my ($_password_dialog) = @_ }
+sub new { my ($_class, $_dialog_title, $_message, $_username, $_password, $_readonly_username) = @_ }
+sub run_and_block { my ($_password_dialog) = @_ }
+sub set_domain { my ($_password_dialog, $_domain) = @_ }
+sub set_password { my ($_password_dialog, $_password) = @_ }
+sub set_readonly_domain { my ($_password_dialog, $_readonly) = @_ }
+sub set_readonly_username { my ($_password_dialog, $_readonly) = @_ }
+sub set_remember { my ($_password_dialog, $_remember) = @_ }
+sub set_show_domain { my ($_password_dialog, $_show) = @_ }
+sub set_show_password { my ($_password_dialog, $_show) = @_ }
+sub set_show_remember { my ($_password_dialog, $_show_remember) = @_ }
+sub set_show_username { my ($_password_dialog, $_show) = @_ }
+sub set_username { my ($_password_dialog, $_username) = @_ }
+
+package Gnome2::PixmapEntry;
+our @ISA = qw();
+sub get_filename { my ($_pentry) = @_ }
+sub new { my ($_class, $_history_id, $_browse_dialog_title, $_do_preview) = @_ }
+sub preview_widget { my ($_pentry) = @_ }
+sub scrolled_window { my ($_pentry) = @_ }
+sub set_pixmap_subdir { my ($_pentry, $_subdir) = @_ }
+sub set_preview { my ($_pentry, $_do_preview) = @_ }
+sub set_preview_size { my ($_pentry, $_preview_w, $_preview_h) = @_ }
+
+package Gnome2::PopupMenu;
+our @ISA = qw();
+sub new { my ($_class, $_uiinfo, $_o_accelgroup) = @_ }
+sub new_with_accelgroup { my ($_class, $_uiinfo, $_o_accelgroup) = @_ }
+
+package Gnome2::Program;
+our @ISA = qw();
+sub get_app_id { my ($_program) = @_ }
+sub get_app_version { my ($_program) = @_ }
+sub get_human_readable_name { my ($_program) = @_ }
+sub get_program { my ($_class) = @_ }
+sub init { my ($_class, $_app_id, $_app_version, $_o_module_info, @_more_paras) = @_ }
+sub locate_file { my ($_program, $_domain, $_file_name, $_only_if_exists) = @_ }
+sub module_load { my ($_class, $_mod_name) = @_ }
+sub module_register { my ($_class, $_module_info) = @_ }
+sub module_registered { my ($_class, $_module_info) = @_ }
+
+package Gnome2::Score;
+our @ISA = qw();
+sub get_notable { my ($_class, $_gamename, $_level) = @_ }
+sub init { my ($_class, $_gamename) = @_ }
+sub log { my ($_class, $_score, $_level, $_higher_to_lower_score_order) = @_ }
+
+package Gnome2::Scores;
+our @ISA = qw();
+sub display { my ($_class, $_title, $_app_name, $_level, $_pos) = @_ }
+sub display_with_pixmap { my ($_class, $_pixmap_logo, $_app_name, $_level, $_pos) = @_ }
+sub new { my ($_class, $_names, $_scores, $_times, $_clear) = @_ }
+sub set_color { my ($_gs, $_n, $_col) = @_ }
+sub set_colors { my ($_gs, $_col) = @_ }
+sub set_current_player { my ($_gs, $_i) = @_ }
+sub set_def_color { my ($_gs, $_col) = @_ }
+sub set_logo_label { my ($_gs, $_txt, $_font, $_col) = @_ }
+sub set_logo_label_title { my ($_gs, $_txt) = @_ }
+sub set_logo_pixmap { my ($_gs, $_pix_name) = @_ }
+sub set_logo_widget { my ($_gs, $_w) = @_ }
+
+package Gnome2::Sound;
+our @ISA = qw();
+sub connection_get { my ($_class) = @_ }
+sub init { my ($_class, $_o_hostname) = @_ }
+sub play { my ($_class, $_filename) = @_ }
+sub sample_load { my ($_class, $_sample_name, $_filename) = @_ }
+sub shutdown { my ($_class) = @_ }
+
+package Gnome2::ThumbnailFactory;
+our @ISA = qw();
+sub can_thumbnail { my ($_factory, $_uri, $_mime_type, $_mtime) = @_ }
+sub create_failed_thumbnail { my ($_factory, $_uri, $_mtime) = @_ }
+sub generate_thumbnail { my ($_factory, $_uri, $_mime_type) = @_ }
+sub has_valid_failed_thumbnail { my ($_factory, $_uri, $_mtime) = @_ }
+sub lookup { my ($_factory, $_uri, $_mtime) = @_ }
+sub new { my ($_class, $_size) = @_ }
+sub save_thumbnail { my ($_factory, $_thumbnail, $_uri, $_original_mtime) = @_ }
+
+package Gnome2::UIDefs;
+our @ISA = qw();
+sub key_mod_clear { my ($_class) = @_ }
+sub key_mod_close { my ($_class) = @_ }
+sub key_mod_close_window { my ($_class) = @_ }
+sub key_mod_copy { my ($_class) = @_ }
+sub key_mod_cut { my ($_class) = @_ }
+sub key_mod_find { my ($_class) = @_ }
+sub key_mod_find_again { my ($_class) = @_ }
+sub key_mod_new { my ($_class) = @_ }
+sub key_mod_new_game { my ($_class) = @_ }
+sub key_mod_new_window { my ($_class) = @_ }
+sub key_mod_open { my ($_class) = @_ }
+sub key_mod_paste { my ($_class) = @_ }
+sub key_mod_pause_game { my ($_class) = @_ }
+sub key_mod_print { my ($_class) = @_ }
+sub key_mod_print_setup { my ($_class) = @_ }
+sub key_mod_quit { my ($_class) = @_ }
+sub key_mod_redo { my ($_class) = @_ }
+sub key_mod_redo_move { my ($_class) = @_ }
+sub key_mod_replace { my ($_class) = @_ }
+sub key_mod_save { my ($_class) = @_ }
+sub key_mod_save_as { my ($_class) = @_ }
+sub key_mod_select_all { my ($_class) = @_ }
+sub key_mod_undo { my ($_class) = @_ }
+sub key_mod_undo_move { my ($_class) = @_ }
+sub key_name_clear { my ($_class) = @_ }
+sub key_name_close { my ($_class) = @_ }
+sub key_name_close_window { my ($_class) = @_ }
+sub key_name_copy { my ($_class) = @_ }
+sub key_name_cut { my ($_class) = @_ }
+sub key_name_find { my ($_class) = @_ }
+sub key_name_find_again { my ($_class) = @_ }
+sub key_name_new { my ($_class) = @_ }
+sub key_name_new_game { my ($_class) = @_ }
+sub key_name_new_window { my ($_class) = @_ }
+sub key_name_open { my ($_class) = @_ }
+sub key_name_paste { my ($_class) = @_ }
+sub key_name_pause_game { my ($_class) = @_ }
+sub key_name_print { my ($_class) = @_ }
+sub key_name_print_setup { my ($_class) = @_ }
+sub key_name_quit { my ($_class) = @_ }
+sub key_name_redo { my ($_class) = @_ }
+sub key_name_redo_move { my ($_class) = @_ }
+sub key_name_replace { my ($_class) = @_ }
+sub key_name_save { my ($_class) = @_ }
+sub key_name_save_as { my ($_class) = @_ }
+sub key_name_select_all { my ($_class) = @_ }
+sub key_name_undo { my ($_class) = @_ }
+sub key_name_undo_move { my ($_class) = @_ }
+sub pad { my ($_class) = @_ }
+sub pad_big { my ($_class) = @_ }
+sub pad_small { my ($_class) = @_ }
+
+package Gnome2::URL;
+our @ISA = qw();
+sub show { my ($_class, $_url) = @_ }
+sub show_with_env { my ($_class, $_url, $_env_ref) = @_ }
+
+package Gnome2::Util;
+our @ISA = qw();
+sub extension { my ($_class, $_path) = @_ }
+sub home_file { my ($_class, $_file) = @_ }
+sub prepend_user_home { my ($_class, $_file) = @_ }
+sub user_shell { my ($_class) = @_ }
+
+package Gnome2::WindowIcon;
+our @ISA = qw();
+sub init { my ($_class) = @_ }
+sub set_default_from_file { my ($_class, $_filename) = @_ }
+sub set_default_from_file_list { my ($_class, $_filenames_ref) = @_ }
+sub set_from_default { my ($_class, $_w) = @_ }
+sub set_from_file { my ($_class, $_w, $_filename) = @_ }
+sub set_from_file_list { my ($_class, $_w, $_filenames_ref) = @_ }
+
+package Gtk2::Gdk::Pixbuf;
+our @ISA = qw();
+sub has_uri { my ($_pixbuf, $_uri) = @_ }
+sub is_valid { my ($_pixbuf, $_uri, $_mtime) = @_ }
+sub md5 { my ($_class, $_uri) = @_ }
+sub path_for_uri { my ($_class, $_uri, $_size) = @_ }
+sub scale_down_pixbuf { my ($_pixbuf, $_dest_width, $_dest_height) = @_ }
+
+package Gtk2::Menu;
+our @ISA = qw();
+sub append_from { my ($_popup, $_uiinfo) = @_ }
+sub attach_to { my ($_popup, $_widget, $_o_user_data) = @_ }
+sub do_popup { my ($_popup, $_pos_func, $_pos_data, $_event, $_user_data, $_for_widget) = @_ }
+sub do_popup_modal { my ($_popup, $_pos_func, $_pos_data, $_event, $_user_data, $_for_widget) = @_ }
+
+package Gtk2::MenuShell;
+our @ISA = qw();
+sub fill_menu { my ($_menu_shell, $_uiinfo, $_accel_group, $_uline_accels, $_pos) = @_ }
+sub find_menu_pos { my ($_parent, $_path) = @_ }
+
+package Gtk2::Statusbar;
+our @ISA = qw();
+sub install_menu_hints { my ($_bar, $_uiinfo) = @_ }
+
+package Gtk2::Toolbar;
+our @ISA = qw();
+sub fill_toolbar { my ($_toolbar, $_uiinfo, $_accel_group) = @_ }
+
+package Gtk2::Widget;
+our @ISA = qw();
+sub add_popup_items { my ($_widget, $_uiinfo, $_o_user_data) = @_ }
+
+package Gtk2::Window;
+our @ISA = qw();
+sub toplevel_set_title { my ($_window, $_doc_name, $_app_name, $_extension) = @_ }
diff --git a/fake_packages/Gnome2/Vte.pm b/fake_packages/Gnome2/Vte.pm
new file mode 100644
index 0000000..598c405
--- /dev/null
+++ b/fake_packages/Gnome2/Vte.pm
@@ -0,0 +1,72 @@
+
+package Gnome2::Vte;
+our @ISA = qw();
+sub CHECK_VERSION { my ($_class, $_major, $_minor, $_micro) = @_ }
+sub GET_VERSION_INFO { my ($_class) = @_ }
+
+package Gnome2::Vte::Terminal;
+our @ISA = qw();
+sub copy_clipboard { my ($_terminal) = @_ }
+sub copy_primary { my ($_terminal) = @_ }
+sub feed { my ($_terminal, $_data) = @_ }
+sub feed_child { my ($_terminal, $_data) = @_ }
+sub fork_command { my ($_terminal, $_command, $_arg_ref, $_env_ref, $_directory, $_lastlog, $_utmp, $_wtmp) = @_ }
+sub get_adjustment { my ($_terminal) = @_ }
+sub get_allow_bold { my ($_terminal) = @_ }
+sub get_audible_bell { my ($_terminal) = @_ }
+sub get_char_ascent { my ($_terminal) = @_ }
+sub get_char_descent { my ($_terminal) = @_ }
+sub get_char_height { my ($_terminal) = @_ }
+sub get_char_width { my ($_terminal) = @_ }
+sub get_column_count { my ($_terminal) = @_ }
+sub get_cursor_position { my ($_terminal) = @_ }
+sub get_emulation { my ($_terminal) = @_ }
+sub get_encoding { my ($_terminal) = @_ }
+sub get_font { my ($_terminal) = @_ }
+sub get_has_selection { my ($_terminal) = @_ }
+sub get_icon_title { my ($_terminal) = @_ }
+sub get_mouse_autohide { my ($_terminal) = @_ }
+sub get_padding { my ($_terminal) = @_ }
+sub get_row_count { my ($_terminal) = @_ }
+sub get_status_line { my ($_terminal) = @_ }
+sub get_text { my ($_terminal, $_func, $_o_data) = @_ }
+sub get_text_range { my ($_terminal, $_start_row, $_start_col, $_end_row, $_end_col, $_func, $_o_data) = @_ }
+sub get_using_xft { my ($_terminal) = @_ }
+sub get_visible_bell { my ($_terminal) = @_ }
+sub get_window_title { my ($_terminal) = @_ }
+sub im_append_menuitems { my ($_terminal, $_menushell) = @_ }
+sub is_word_char { my ($_terminal, $_c) = @_ }
+sub match_add { my ($_terminal, $_match) = @_ }
+sub match_check { my ($_terminal, $_column, $_row) = @_ }
+sub match_clear_all { my ($_terminal) = @_ }
+sub match_remove { my ($_terminal, $_tag) = @_ }
+sub new { my ($_class) = @_ }
+sub paste_clipboard { my ($_terminal) = @_ }
+sub paste_primary { my ($_terminal) = @_ }
+sub reset { my ($_terminal, $_full, $_clear_history) = @_ }
+sub set_allow_bold { my ($_terminal, $_allow_bold) = @_ }
+sub set_audible_bell { my ($_terminal, $_is_audible) = @_ }
+sub set_background_image { my ($_terminal, $_image) = @_ }
+sub set_background_image_file { my ($_terminal, $_path) = @_ }
+sub set_background_saturation { my ($_terminal, $_saturation) = @_ }
+sub set_background_transparent { my ($_terminal, $_transparent) = @_ }
+sub set_backspace_binding { my ($_terminal, $_binding) = @_ }
+sub set_color_background { my ($_terminal, $_background) = @_ }
+sub set_color_bold { my ($_terminal, $_bold) = @_ }
+sub set_color_dim { my ($_terminal, $_dim) = @_ }
+sub set_color_foreground { my ($_terminal, $_foreground) = @_ }
+sub set_colors { my ($_terminal, $_foreground, $_background, $_palette_ref) = @_ }
+sub set_cursor_blinks { my ($_terminal, $_blink) = @_ }
+sub set_default_colors { my ($_terminal) = @_ }
+sub set_delete_binding { my ($_terminal, $_binding) = @_ }
+sub set_emulation { my ($_terminal, $_emulation) = @_ }
+sub set_encoding { my ($_terminal, $_codeset) = @_ }
+sub set_font { my ($_terminal, $_font_desc) = @_ }
+sub set_font_from_string { my ($_terminal, $_name) = @_ }
+sub set_mouse_autohide { my ($_terminal, $_setting) = @_ }
+sub set_scroll_on_keystroke { my ($_terminal, $_scroll) = @_ }
+sub set_scroll_on_output { my ($_terminal, $_scroll) = @_ }
+sub set_scrollback_lines { my ($_terminal, $_lines) = @_ }
+sub set_size { my ($_terminal, $_columns, $_rows) = @_ }
+sub set_visible_bell { my ($_terminal, $_is_visible) = @_ }
+sub set_word_chars { my ($_terminal, $_spec) = @_ }
diff --git a/fake_packages/Gtk2.pm b/fake_packages/Gtk2.pm
new file mode 100644
index 0000000..6b25db6
--- /dev/null
+++ b/fake_packages/Gtk2.pm
@@ -0,0 +1,3742 @@
+package Gtk2;
+use Glib;
+
+package Gnome2::Pango::Language;
+our @ISA = qw();
+sub matches { my ($_language, $_range_list) = @_ }
+
+package Gtk2;
+our @ISA = qw();
+sub CHECK_VERSION { my ($_class, $_required_major, $_required_minor, $_required_micro) = @_ }
+sub GET_VERSION_INFO { my ($_class) = @_ }
+sub MAJOR_VERSION() {}
+sub MICRO_VERSION() {}
+sub MINOR_VERSION() {}
+sub alternative_dialog_button_order { my ($_class, $_o_screen) = @_ }
+sub check_version { my ($_class, $_required_major, $_required_minor, $_required_micro) = @_ }
+sub disable_setlocale { my ($_class) = @_ }
+sub draw_insertion_cursor { my ($_class, $_widget, $_drawable, $_area, $_location, $_is_primary, $_direction, $_draw_arrow) = @_ }
+sub events_pending { my ($_class) = @_ }
+sub get_current_event { my ($_class) = @_ }
+sub get_current_event_state { my ($_class) = @_ }
+sub get_current_event_time { my ($_class) = @_ }
+sub get_default_language { my ($_class) = @_ }
+sub get_event_widget { my ($_class, $_event) = @_ }
+sub get_version_info { my ($_class) = @_ }
+sub grab_add { my ($_class, $_widget) = @_ }
+sub grab_get_current { my ($_class) = @_ }
+sub grab_remove { my ($_class, $_widget) = @_ }
+sub init { my ($_o_class) = @_ }
+sub init_add { my ($_class, $_function, $_o_data) = @_ }
+sub init_check { my ($_o_class) = @_ }
+sub key_snooper_install { my ($_class, $_snooper, $_o_func_data) = @_ }
+sub key_snooper_remove { my ($_class, $_snooper_handler_id) = @_ }
+sub main { my ($_class) = @_ }
+sub main_do_event { my ($_class, $_event) = @_ }
+sub main_iteration { my ($_class) = @_ }
+sub main_iteration_do { my ($_class, $_blocking) = @_ }
+sub main_level { my ($_class) = @_ }
+sub main_quit { my ($_o_class) = @_ }
+sub major_version() {}
+sub micro_version() {}
+sub minor_version() {}
+sub parse_args { my ($_o_class) = @_ }
+sub quit_add { my ($_class, $_main_level, $_function, $_o_data) = @_ }
+sub quit_add_destroy { my ($_class, $_main_level, $_object) = @_ }
+sub quit_remove { my ($_class, $_quit_handler_id) = @_ }
+sub set_locale { my ($_class) = @_ }
+sub show_about_dialog { my ($_class, $_parent, $_first_property_name, @_more_paras) = @_ }
+
+package Gtk2::AboutDialog;
+our @ISA = qw();
+sub get_artists { my ($_about) = @_ }
+sub get_authors { my ($_about) = @_ }
+sub get_comments { my ($_about) = @_ }
+sub get_copyright { my ($_about) = @_ }
+sub get_documenters { my ($_about) = @_ }
+sub get_license { my ($_about) = @_ }
+sub get_logo { my ($_about) = @_ }
+sub get_logo_icon_name { my ($_about) = @_ }
+sub get_name { my ($_about) = @_ }
+sub get_translator_credits { my ($_about) = @_ }
+sub get_version { my ($_about) = @_ }
+sub get_website { my ($_about) = @_ }
+sub get_website_label { my ($_about) = @_ }
+sub get_wrap_license { my ($_about) = @_ }
+sub new { my ($_class) = @_ }
+sub set_artists { my ($_about, $_artist1, @_more_paras) = @_ }
+sub set_authors { my ($_about, $_author1, @_more_paras) = @_ }
+sub set_comments { my ($_about, $_comments) = @_ }
+sub set_copyright { my ($_about, $_copyright) = @_ }
+sub set_documenters { my ($_about, $_documenter1, @_more_paras) = @_ }
+sub set_email_hook { my ($_class, $_func, $_o_data) = @_ }
+sub set_license { my ($_about, $_license) = @_ }
+sub set_logo { my ($_about, $_logo) = @_ }
+sub set_logo_icon_name { my ($_about, $_icon_name) = @_ }
+sub set_name { my ($_about, $_name) = @_ }
+sub set_translator_credits { my ($_about, $_translator_credits) = @_ }
+sub set_url_hook { my ($_class, $_func, $_o_data) = @_ }
+sub set_version { my ($_about, $_version) = @_ }
+sub set_website { my ($_about, $_website) = @_ }
+sub set_website_label { my ($_about, $_website_label) = @_ }
+sub set_wrap_license { my ($_about, $_wrap_license) = @_ }
+
+package Gtk2::AccelGroup;
+our @ISA = qw();
+sub connect { my ($_accel_group, $_accel_key, $_accel_mods, $_accel_flags, $_func) = @_ }
+sub connect_by_path { my ($_accel_group, $_accel_path, $_func) = @_ }
+sub disconnect { my ($_accel_group, $_func) = @_ }
+sub disconnect_key { my ($_accel_group, $_accel_key, $_accel_mods) = @_ }
+sub lock { my ($_accel_group) = @_ }
+sub new { my ($_class) = @_ }
+sub unlock { my ($_accel_group) = @_ }
+
+package Gtk2::AccelGroups;
+our @ISA = qw();
+sub activate { my ($_class, $_object, $_accel_key, $_accel_mods) = @_ }
+sub from_object { my ($_class, $_object) = @_ }
+
+package Gtk2::AccelLabel;
+our @ISA = qw();
+sub get_accel_widget { my ($_accel_label) = @_ }
+sub get_accel_width { my ($_accel_label) = @_ }
+sub new { my ($_class, $_string) = @_ }
+sub refetch { my ($_accel_label) = @_ }
+sub set_accel_widget { my ($_accel_label, $_accel_widget) = @_ }
+
+package Gtk2::AccelMap;
+our @ISA = qw();
+sub add_entry { my ($_class, $_accel_path, $_accel_key, $_accel_mods) = @_ }
+sub add_filter { my ($_class, $_filter_pattern) = @_ }
+sub change_entry { my ($_class, $_accel_path, $_accel_key, $_accel_mods, $_replace) = @_ }
+sub Gtk2::AccelMap::foreach { my ($_class, $_data, $_foreach_func) = @_ }
+sub foreach_unfiltered { my ($_class, $_data, $_foreach_func) = @_ }
+sub get { my ($_class) = @_ }
+sub load { my ($_class, $_file_name) = @_ }
+sub load_fd { my ($_class, $_fd) = @_ }
+sub lock_path { my ($_class, $_accel_path) = @_ }
+sub lookup_entry { my ($_class, $_accel_path) = @_ }
+sub save { my ($_class, $_file_name) = @_ }
+sub save_fd { my ($_class, $_fd) = @_ }
+sub unlock_path { my ($_class, $_accel_path) = @_ }
+
+package Gtk2::Accelerator;
+our @ISA = qw();
+sub get_default_mod_mask { my ($_class) = @_ }
+sub get_label { my ($_class, $_accelerator_key, $_accelerator_mods) = @_ }
+sub name { my ($_class, $_accelerator_key, $_accelerator_mods) = @_ }
+sub parse { my ($_class, $_accelerator) = @_ }
+sub set_default_mod_mask { my ($_class, $_default_mod_mask) = @_ }
+sub valid { my ($_class, $_keyval, $_modifiers) = @_ }
+
+package Gtk2::Action;
+our @ISA = qw();
+sub activate { my ($_action) = @_ }
+sub block_activate_from { my ($_action, $_proxy) = @_ }
+sub connect_accelerator { my ($_action) = @_ }
+sub connect_proxy { my ($_action, $_proxy) = @_ }
+sub create_icon { my ($_action, $_icon_size) = @_ }
+sub create_menu_item { my ($_action) = @_ }
+sub create_tool_item { my ($_action) = @_ }
+sub disconnect_accelerator { my ($_action) = @_ }
+sub disconnect_proxy { my ($_action, $_proxy) = @_ }
+sub get_accel_path { my ($_action) = @_ }
+sub get_name { my ($_action) = @_ }
+sub get_proxies { my ($_action) = @_ }
+sub get_sensitive { my ($_action) = @_ }
+sub get_visible { my ($_action) = @_ }
+sub is_sensitive { my ($_action) = @_ }
+sub is_visible { my ($_action) = @_ }
+sub set_accel_group { my ($_action, $_accel_group) = @_ }
+sub set_accel_path { my ($_action, $_accel_path) = @_ }
+sub set_sensitive { my ($_action, $_sensitive) = @_ }
+sub set_visible { my ($_action, $_visible) = @_ }
+sub unblock_activate_from { my ($_action, $_proxy) = @_ }
+
+package Gtk2::ActionGroup;
+our @ISA = qw();
+sub add_action { my ($_action_group, $_action) = @_ }
+sub add_action_with_accel { my ($_action_group, $_action, $_accelerator) = @_ }
+sub add_actions { my ($_action_group, $_action_entries, $_o_user_data) = @_ }
+sub add_radio_actions { my ($_action_group, $_radio_action_entries, $_value, $_on_change, $_o_user_data) = @_ }
+sub add_toggle_actions { my ($_action_group, $_toggle_action_entries, $_o_user_data) = @_ }
+sub get_action { my ($_action_group, $_action_name) = @_ }
+sub get_name { my ($_action_group) = @_ }
+sub get_sensitive { my ($_action_group) = @_ }
+sub get_visible { my ($_action_group) = @_ }
+sub list_actions { my ($_action_group) = @_ }
+sub new { my ($_class, $_name) = @_ }
+sub remove_action { my ($_action_group, $_action) = @_ }
+sub set_sensitive { my ($_action_group, $_sensitive) = @_ }
+sub set_translate_func { my ($_action_group, $_func, $_o_data) = @_ }
+sub set_translation_domain { my ($_action_group, $_domain) = @_ }
+sub set_visible { my ($_action_group, $_sensitive) = @_ }
+sub translate_string { my ($_action_group, $_string) = @_ }
+
+package Gtk2::Adjustment;
+our @ISA = qw();
+sub changed { my ($_adjustment) = @_ }
+sub clamp_page { my ($_adjustment, $_lower, $_upper) = @_ }
+sub get_value { my ($_adjustment) = @_ }
+sub lower { my ($_adjustment, $_o_newval) = @_ }
+sub new { my ($_class, $_value, $_lower, $_upper, $_step_increment, $_page_increment, $_page_size) = @_ }
+sub page_increment { my ($_adjustment, $_o_newval) = @_ }
+sub page_size { my ($_adjustment, $_o_newval) = @_ }
+sub set_value { my ($_adjustment, $_value) = @_ }
+sub step_increment { my ($_adjustment, $_o_newval) = @_ }
+sub upper { my ($_adjustment, $_o_newval) = @_ }
+sub value { my ($_adjustment, $_o_newval) = @_ }
+sub value_changed { my ($_adjustment) = @_ }
+
+package Gtk2::Alignment;
+our @ISA = qw();
+sub get_padding { my ($_alignment) = @_ }
+sub new { my ($_class, $_xalign, $_yalign, $_xscale, $_yscale) = @_ }
+sub set { my ($_alignment, $_xalign, $_yalign, $_xscale, $_yscale) = @_ }
+sub set_padding { my ($_alignment, $_padding_top, $_padding_bottom, $_padding_left, $_padding_right) = @_ }
+
+package Gtk2::Arrow;
+our @ISA = qw();
+sub new { my ($_class, $_arrow_type, $_shadow_type) = @_ }
+sub set { my ($_arrow, $_arrow_type, $_shadow_type) = @_ }
+
+package Gtk2::AspectFrame;
+our @ISA = qw();
+sub new { my ($_class, $_label, $_xalign, $_yalign, $_ratio, $_obey_child) = @_ }
+sub set_params { my ($_aspect_frame, $_xalign, $_yalign, $_ratio, $_obey_child) = @_ }
+
+package Gtk2::Bin;
+our @ISA = qw();
+sub child { my ($_bin) = @_ }
+sub get_child { my ($_bin) = @_ }
+
+package Gtk2::Box;
+our @ISA = qw();
+sub get_homogeneous { my ($_box) = @_ }
+sub get_spacing { my ($_box) = @_ }
+sub pack_end { my ($_box, $_child, $_expand, $_fill, $_padding) = @_ }
+sub pack_end_defaults { my ($_box, $_widget) = @_ }
+sub pack_start { my ($_box, $_child, $_expand, $_fill, $_padding) = @_ }
+sub pack_start_defaults { my ($_box, $_widget) = @_ }
+sub query_child_packing { my ($_box, $_child) = @_ }
+sub reorder_child { my ($_box, $_child, $_position) = @_ }
+sub set_child_packing { my ($_box, $_child, $_expand, $_fill, $_padding, $_pack_type) = @_ }
+sub set_homogeneous { my ($_box, $_homogeneous) = @_ }
+sub set_spacing { my ($_box, $_spacing) = @_ }
+
+package Gtk2::Button;
+our @ISA = qw();
+sub clicked { my ($_button) = @_ }
+sub enter { my ($_button) = @_ }
+sub get_alignment { my ($_button) = @_ }
+sub get_focus_on_click { my ($_button) = @_ }
+sub get_image { my ($_button) = @_ }
+sub get_label { my ($_button) = @_ }
+sub get_relief { my ($_button) = @_ }
+sub get_use_stock { my ($_button) = @_ }
+sub get_use_underline { my ($_button) = @_ }
+sub leave { my ($_button) = @_ }
+sub new { my ($_class, $_o_label) = @_ }
+sub new_from_stock { my ($_class, $_stock_id) = @_ }
+sub new_with_label { my ($_class, $_o_label) = @_ }
+sub new_with_mnemonic { my ($_class, $_o_label) = @_ }
+sub pressed { my ($_button) = @_ }
+sub released { my ($_button) = @_ }
+sub set_alignment { my ($_button, $_xalign, $_yalign) = @_ }
+sub set_focus_on_click { my ($_button, $_focus_on_click) = @_ }
+sub set_image { my ($_button, $_image) = @_ }
+sub set_label { my ($_button, $_label) = @_ }
+sub set_relief { my ($_button, $_newstyle) = @_ }
+sub set_use_stock { my ($_button, $_use_stock) = @_ }
+sub set_use_underline { my ($_button, $_use_underline) = @_ }
+
+package Gtk2::ButtonBox;
+our @ISA = qw();
+sub get_child_secondary { my ($_widget, $_child) = @_ }
+sub get_layout { my ($_widget) = @_ }
+sub set_child_secondary { my ($_widget, $_child, $_is_secondary) = @_ }
+sub set_layout { my ($_widget, $_layout_style) = @_ }
+
+package Gtk2::Calendar;
+our @ISA = qw();
+sub clear_marks { my ($_calendar) = @_ }
+sub display_options { my ($_calendar, $_flags) = @_ }
+sub freeze { my ($_calendar) = @_ }
+sub get_date { my ($_calendar) = @_ }
+sub get_display_options { my ($_calendar) = @_ }
+sub mark_day { my ($_calendar, $_day) = @_ }
+sub marked_date { my ($_cal) = @_ }
+sub month { my ($_cal) = @_ }
+sub new { my ($_class) = @_ }
+sub num_marked_dates { my ($_cal) = @_ }
+sub select_day { my ($_calendar, $_day) = @_ }
+sub select_month { my ($_calendar, $_month, $_year) = @_ }
+sub selected_day { my ($_cal) = @_ }
+sub set_display_options { my ($_calendar, $_flags) = @_ }
+sub thaw { my ($_calendar) = @_ }
+sub unmark_day { my ($_calendar, $_day) = @_ }
+sub year { my ($_cal) = @_ }
+
+package Gtk2::CellEditable;
+our @ISA = qw();
+sub _ADD_INTERFACE { my ($_class, $_target_class) = @_ }
+sub editing_done { my ($_cell_editable) = @_ }
+sub remove_widget { my ($_cell_editable) = @_ }
+sub start_editing { my ($_cell_editable, $_o_event) = @_ }
+
+package Gtk2::CellLayout;
+our @ISA = qw();
+sub add_attribute { my ($_cell_layout, $_cell, $_attribute, $_column) = @_ }
+sub clear { my ($_cell_layout) = @_ }
+sub clear_attributes { my ($_cell_layout, $_cell) = @_ }
+sub pack_end { my ($_cell_layout, $_cell, $_expand) = @_ }
+sub pack_start { my ($_cell_layout, $_cell, $_expand) = @_ }
+sub reorder { my ($_cell_layout, $_cell, $_position) = @_ }
+sub set_attributes { my ($_cell_layout, $_cell, @_more_paras) = @_ }
+sub set_cell_data_func { my ($_cell_layout, $_cell, $_func, $_o_func_data) = @_ }
+
+package Gtk2::CellRenderer;
+our @ISA = qw();
+sub ACTIVATE { my ($_cell, @_more_paras) = @_ }
+sub GET_SIZE { my ($_cell, @_more_paras) = @_ }
+sub RENDER { my ($_cell, @_more_paras) = @_ }
+sub START_EDITING { my ($_cell, @_more_paras) = @_ }
+sub _INSTALL_OVERRIDES { my ($_package) = @_ }
+sub _install_overrides { my ($_package) = @_ }
+sub activate { my ($_cell, $_event, $_widget, $_path, $_background_area, $_cell_area, $_flags) = @_ }
+sub editing_canceled { my ($_cell) = @_ }
+sub get_fixed_size { my ($_cell) = @_ }
+sub get_size { my ($_cell, $_widget, $_cell_area) = @_ }
+sub parent_activate { my ($_cell, @_more_paras) = @_ }
+sub parent_get_size { my ($_cell, @_more_paras) = @_ }
+sub parent_render { my ($_cell, @_more_paras) = @_ }
+sub parent_start_editing { my ($_cell, @_more_paras) = @_ }
+sub render { my ($_cell, $_drawable, $_widget, $_background_area, $_cell_area, $_expose_area, $_flags) = @_ }
+sub set_fixed_size { my ($_cell, $_width, $_height) = @_ }
+sub start_editing { my ($_cell, $_event, $_widget, $_path, $_background_area, $_cell_area, $_flags) = @_ }
+sub stop_editing { my ($_cell, $_canceled) = @_ }
+
+package Gtk2::CellRendererCombo;
+our @ISA = qw();
+sub new { my ($_class) = @_ }
+
+package Gtk2::CellRendererPixbuf;
+our @ISA = qw();
+sub new { my ($_class) = @_ }
+
+package Gtk2::CellRendererProgress;
+our @ISA = qw();
+sub new { my ($_class) = @_ }
+
+package Gtk2::CellRendererText;
+our @ISA = qw();
+sub new { my ($_class) = @_ }
+sub set_fixed_height_from_font { my ($_renderer, $_number_of_rows) = @_ }
+
+package Gtk2::CellRendererToggle;
+our @ISA = qw();
+sub get_active { my ($_toggle) = @_ }
+sub get_radio { my ($_toggle) = @_ }
+sub new { my ($_class) = @_ }
+sub set_active { my ($_toggle, $_setting) = @_ }
+sub set_radio { my ($_toggle, $_radio) = @_ }
+
+package Gtk2::CellView;
+our @ISA = qw();
+sub get_cell_renderers { my ($_cellview) = @_ }
+sub get_displayed_row { my ($_cell_view) = @_ }
+sub get_size_of_row { my ($_cell_view, $_path) = @_ }
+sub new { my ($_class) = @_ }
+sub new_with_markup { my ($_class, $_markup) = @_ }
+sub new_with_pixbuf { my ($_class, $_pixbuf) = @_ }
+sub new_with_text { my ($_class, $_text) = @_ }
+sub set_background_color { my ($_cell_view, $_color) = @_ }
+sub set_displayed_row { my ($_cell_view, $_path) = @_ }
+sub set_model { my ($_cell_view, $_model) = @_ }
+
+package Gtk2::CheckButton;
+our @ISA = qw();
+sub new { my ($_class, $_o_label) = @_ }
+sub new_with_label { my ($_class, $_o_label) = @_ }
+sub new_with_mnemonic { my ($_class, $_o_label) = @_ }
+
+package Gtk2::CheckMenuItem;
+our @ISA = qw();
+sub get_active { my ($_check_menu_item) = @_ }
+sub get_draw_as_radio { my ($_check_menu_item) = @_ }
+sub get_inconsistent { my ($_check_menu_item) = @_ }
+sub new { my ($_class, $_o_label) = @_ }
+sub new_with_label { my ($_class, $_o_label) = @_ }
+sub new_with_mnemonic { my ($_class, $_o_label) = @_ }
+sub set_active { my ($_check_menu_item, $_is_active) = @_ }
+sub set_draw_as_radio { my ($_check_menu_item, $_draw_as_radio) = @_ }
+sub set_inconsistent { my ($_check_menu_item, $_setting) = @_ }
+sub set_show_toggle { my ($_menu_item, $_always) = @_ }
+sub toggled { my ($_check_menu_item) = @_ }
+
+package Gtk2::Clipboard;
+our @ISA = qw();
+sub clear { my ($_clipboard) = @_ }
+sub get { my ($_class, $_selection) = @_ }
+sub get_display { my ($_clipboard) = @_ }
+sub get_for_display { my ($_class, $_display, $_selection) = @_ }
+sub get_owner { my ($_clipboard) = @_ }
+sub request_contents { my ($_clipboard, $_target, $_callback, $_o_user_data) = @_ }
+sub request_image { my ($_clipboard, $_callback, $_o_user_data) = @_ }
+sub request_targets { my ($_clipboard, $_callback, $_o_user_data) = @_ }
+sub request_text { my ($_clipboard, $_callback, $_o_user_data) = @_ }
+sub set_can_store { my ($_clipboard, @_more_paras) = @_ }
+sub set_image { my ($_clipboard, $_pixbuf) = @_ }
+sub set_text { my ($_clipboard, $_text, $_text) = @_ }
+sub set_with_data { my ($_clipboard, $_get_func, $_clear_func, $_user_data, @_more_paras) = @_ }
+sub set_with_owner { my ($_clipboard, $_get_func, $_clear_func, $_owner, @_more_paras) = @_ }
+sub store { my ($_clipboard) = @_ }
+sub wait_for_contents { my ($_clipboard, $_target) = @_ }
+sub wait_for_image { my ($_clipboard) = @_ }
+sub wait_for_targets { my ($_clipboard) = @_ }
+sub wait_for_text { my ($_clipboard) = @_ }
+sub wait_is_image_available { my ($_clipboard) = @_ }
+sub wait_is_target_available { my ($_clipboard, $_target) = @_ }
+sub wait_is_text_available { my ($_clipboard) = @_ }
+
+package Gtk2::ColorButton;
+our @ISA = qw();
+sub get_alpha { my ($_color_button) = @_ }
+sub get_color { my ($_color_button) = @_ }
+sub get_title { my ($_color_button) = @_ }
+sub get_use_alpha { my ($_color_button) = @_ }
+sub new { my ($_class, $_o_color) = @_ }
+sub new_with_color { my ($_class, $_o_color) = @_ }
+sub set_alpha { my ($_color_button, $_alpha) = @_ }
+sub set_color { my ($_color_button, $_color) = @_ }
+sub set_title { my ($_color_button, $_title) = @_ }
+sub set_use_alpha { my ($_color_button, $_use_alpha) = @_ }
+
+package Gtk2::ColorSelection;
+our @ISA = qw();
+sub get_current_alpha { my ($_colorsel) = @_ }
+sub get_current_color { my ($_colorsel) = @_ }
+sub get_has_opacity_control { my ($_colorsel) = @_ }
+sub get_has_palette { my ($_colorsel) = @_ }
+sub get_previous_alpha { my ($_colorsel) = @_ }
+sub get_previous_color { my ($_colorsel) = @_ }
+sub is_adjusting { my ($_colorsel) = @_ }
+sub new { my ($_class) = @_ }
+sub palette_from_string { my ($_class, $_string) = @_ }
+sub palette_to_string { my ($_class, @_more_paras) = @_ }
+sub set_current_alpha { my ($_colorsel, $_alpha) = @_ }
+sub set_current_color { my ($_colorsel, $_color) = @_ }
+sub set_has_opacity_control { my ($_colorsel, $_has_opacity) = @_ }
+sub set_has_palette { my ($_colorsel, $_has_palette) = @_ }
+sub set_previous_alpha { my ($_colorsel, $_alpha) = @_ }
+sub set_previous_color { my ($_colorsel, $_color) = @_ }
+
+package Gtk2::ColorSelectionDialog;
+our @ISA = qw();
+sub cancel_button { my ($_dialog) = @_ }
+sub colorsel { my ($_dialog) = @_ }
+sub help_button { my ($_dialog) = @_ }
+sub new { my ($_class, $_title) = @_ }
+sub ok_button { my ($_dialog) = @_ }
+
+package Gtk2::Combo;
+our @ISA = qw();
+sub disable_activate { my ($_combo) = @_ }
+sub entry { my ($_combo) = @_ }
+sub list { my ($_combo) = @_ }
+sub new { my ($_class) = @_ }
+sub set_case_sensitive { my ($_combo, $_val) = @_ }
+sub set_item_string { my ($_combo, $_item, $_item_value) = @_ }
+sub set_popdown_strings { my ($_combo, @_more_paras) = @_ }
+sub set_use_arrows { my ($_combo, $_val) = @_ }
+sub set_use_arrows_always { my ($_combo, $_val) = @_ }
+sub set_value_in_list { my ($_combo, $_val, $_ok_if_empty) = @_ }
+
+package Gtk2::ComboBox;
+our @ISA = qw();
+sub append_text { my ($_combo_box, $_text) = @_ }
+sub get_active { my ($_combo_box) = @_ }
+sub get_active_iter { my ($_combo_box) = @_ }
+sub get_active_text { my ($_combo_box) = @_ }
+sub get_add_tearoffs { my ($_combo_box) = @_ }
+sub get_column_span_column { my ($_combo_box) = @_ }
+sub get_focus_on_click { my ($_combo_box) = @_ }
+sub get_model { my ($_combo_box) = @_ }
+sub get_row_span_column { my ($_combo_box) = @_ }
+sub get_wrap_width { my ($_combo_box) = @_ }
+sub insert_text { my ($_combo_box, $_position, $_text) = @_ }
+sub new { my ($_class, $_o_model) = @_ }
+sub new_text { my ($_class) = @_ }
+sub new_with_model { my ($_class, $_o_model) = @_ }
+sub popdown { my ($_combo_box) = @_ }
+sub popup { my ($_combo_box) = @_ }
+sub prepend_text { my ($_combo_box, $_text) = @_ }
+sub remove_text { my ($_combo_box, $_position) = @_ }
+sub set_active { my ($_combo_box, $_index) = @_ }
+sub set_active_iter { my ($_combo_box, $_iter) = @_ }
+sub set_add_tearoffs { my ($_combo_box, $_add_tearoffs) = @_ }
+sub set_column_span_column { my ($_combo_box, $_column_span) = @_ }
+sub set_focus_on_click { my ($_combo_box, $_focus_on_click) = @_ }
+sub set_model { my ($_combo_box, $_model) = @_ }
+sub set_row_separator_func { my ($_combo_box, $_func, $_o_data) = @_ }
+sub set_row_span_column { my ($_combo_box, $_row_span) = @_ }
+sub set_wrap_width { my ($_combo_box, $_width) = @_ }
+
+package Gtk2::ComboBoxEntry;
+our @ISA = qw();
+sub get_text_column { my ($_entry_box) = @_ }
+sub new { my ($_class, @_more_paras) = @_ }
+sub new_text { my ($_class) = @_ }
+sub new_with_model { my ($_class, @_more_paras) = @_ }
+sub set_text_column { my ($_entry_box, $_text_column) = @_ }
+
+package Gtk2::Container;
+our @ISA = qw();
+sub add { my ($_container, $_widget) = @_ }
+sub add_with_properties { my ($_container, $_widget, @_more_paras) = @_ }
+sub check_resize { my ($_container) = @_ }
+sub child_get { my ($_container, $_child, @_more_paras) = @_ }
+sub child_get_property { my ($_container, $_child, @_more_paras) = @_ }
+sub child_set { my ($_container, $_child, @_more_paras) = @_ }
+sub child_set_property { my ($_container, $_child, @_more_paras) = @_ }
+sub child_type { my ($_container) = @_ }
+sub Gtk2::Container::foreach { my ($_container, $_callback, $_o_callback_data) = @_ }
+sub get_border_width { my ($_container) = @_ }
+sub get_children { my ($_container) = @_ }
+sub get_focus_chain { my ($_container) = @_ }
+sub get_focus_hadjustment { my ($_container) = @_ }
+sub get_focus_vadjustment { my ($_container) = @_ }
+sub get_resize_mode { my ($_container) = @_ }
+sub propagate_expose { my ($_container, $_child, $_event) = @_ }
+sub remove { my ($_container, $_widget) = @_ }
+sub resize_children { my ($_container) = @_ }
+sub set_border_width { my ($_container, $_border_width) = @_ }
+sub set_focus_chain { my ($_container, @_more_paras) = @_ }
+sub set_focus_child { my ($_container, $_child) = @_ }
+sub set_focus_hadjustment { my ($_container, $_adjustment) = @_ }
+sub set_focus_vadjustment { my ($_container, $_adjustment) = @_ }
+sub set_reallocate_redraws { my ($_container, $_needs_redraws) = @_ }
+sub set_resize_mode { my ($_container, $_resize_mode) = @_ }
+sub unset_focus_chain { my ($_container) = @_ }
+
+package Gtk2::Curve;
+our @ISA = qw();
+sub get_vector { my ($_curve, $_o_veclen) = @_ }
+sub new { my ($_class) = @_ }
+sub reset { my ($_curve) = @_ }
+sub set_curve_type { my ($_curve, $_type) = @_ }
+sub set_gamma { my ($_curve, $_gamma) = @_ }
+sub set_range { my ($_curve, $_min_x, $_max_x, $_min_y, $_max_y) = @_ }
+sub set_vector { my ($_curve, @_more_paras) = @_ }
+
+package Gtk2::Dialog;
+our @ISA = qw();
+sub action_area { my ($_dialog) = @_ }
+sub add_action_widget { my ($_dialog, $_child, $_response_id) = @_ }
+sub add_button { my ($_dialog, $_button_text, $_response_id) = @_ }
+sub add_buttons { my ($_dialog, @_more_paras) = @_ }
+sub get_has_separator { my ($_dialog) = @_ }
+sub get_response_for_widget { my ($_dialog, $_widget) = @_ }
+sub new { my ($_class, @_more_paras) = @_ }
+sub new_with_buttons { my ($_class, @_more_paras) = @_ }
+sub response { my ($_dialog, $_response_id) = @_ }
+sub run { my ($_dialog) = @_ }
+sub set_alternative_button_order { my ($_dialog, @_more_paras) = @_ }
+sub set_default_response { my ($_dialog, $_response_id) = @_ }
+sub set_has_separator { my ($_dialog, $_setting) = @_ }
+sub set_response_sensitive { my ($_dialog, $_response_id, $_setting) = @_ }
+sub vbox { my ($_dialog) = @_ }
+
+package Gtk2::Drag;
+our @ISA = qw();
+sub begin { my ($_class, $_widget, $_targets, $_actions, $_button, $_event) = @_ }
+
+package Gtk2::DrawingArea;
+our @ISA = qw();
+sub new { my ($_class) = @_ }
+sub size { my ($_darea, $_width, $_height) = @_ }
+
+package Gtk2::Editable;
+our @ISA = qw();
+sub copy_clipboard { my ($_editable) = @_ }
+sub cut_clipboard { my ($_editable) = @_ }
+sub delete_selection { my ($_editable) = @_ }
+sub delete_text { my ($_editable, $_start_pos, $_end_pos) = @_ }
+sub get_chars { my ($_editable, $_start_pos, $_end_pos) = @_ }
+sub get_editable { my ($_editable) = @_ }
+sub get_position { my ($_editable) = @_ }
+sub get_selection_bounds { my ($_editable) = @_ }
+sub insert_text { my ($_editable, $_new_text, @_more_paras) = @_ }
+sub paste_clipboard { my ($_editable) = @_ }
+sub select_region { my ($_editable, $_start, $_end) = @_ }
+sub set_editable { my ($_editable, $_is_editable) = @_ }
+sub set_position { my ($_editable, $_position) = @_ }
+
+package Gtk2::Entry;
+our @ISA = qw();
+sub append_text { my ($_entry, $_text) = @_ }
+sub get_activates_default { my ($_entry) = @_ }
+sub get_alignment { my ($_entry) = @_ }
+sub get_completion { my ($_entry) = @_ }
+sub get_has_frame { my ($_entry) = @_ }
+sub get_invisible_char { my ($_entry) = @_ }
+sub get_layout { my ($_entry) = @_ }
+sub get_layout_offsets { my ($_entry) = @_ }
+sub get_max_length { my ($_entry) = @_ }
+sub get_text { my ($_entry) = @_ }
+sub get_visibility { my ($_entry) = @_ }
+sub get_width_chars { my ($_entry) = @_ }
+sub layout_index_to_text_index { my ($_entry, $_layout_index) = @_ }
+sub new { my ($_class) = @_ }
+sub new_with_max_length { my ($_class, $_max) = @_ }
+sub prepend_text { my ($_entry, $_text) = @_ }
+sub select_region { my ($_entry, $_start, $_end) = @_ }
+sub set_activates_default { my ($_entry, $_setting) = @_ }
+sub set_alignment { my ($_entry, $_xalign) = @_ }
+sub set_completion { my ($_entry, $_completion) = @_ }
+sub set_editable { my ($_entry, $_editable) = @_ }
+sub set_has_frame { my ($_entry, $_setting) = @_ }
+sub set_invisible_char { my ($_entry, $_ch) = @_ }
+sub set_max_length { my ($_entry, $_max) = @_ }
+sub set_position { my ($_entry, $_position) = @_ }
+sub set_text { my ($_entry, $_text) = @_ }
+sub set_visibility { my ($_entry, $_visible) = @_ }
+sub set_width_chars { my ($_entry, $_n_chars) = @_ }
+sub text_index_to_layout_index { my ($_entry, $_text_index) = @_ }
+
+package Gtk2::EntryCompletion;
+our @ISA = qw();
+sub complete { my ($_completion) = @_ }
+sub delete_action { my ($_completion, $_index) = @_ }
+sub get_entry { my ($_entry) = @_ }
+sub get_inline_completion { my ($_completion) = @_ }
+sub get_minimum_key_length { my ($_completion) = @_ }
+sub get_model { my ($_completion) = @_ }
+sub get_popup_completion { my ($_completion) = @_ }
+sub get_popup_set_width { my ($_completion) = @_ }
+sub get_popup_single_match { my ($_completion) = @_ }
+sub get_text_column { my ($_completion) = @_ }
+sub insert_action_markup { my ($_completion, $_index, $_markup) = @_ }
+sub insert_action_text { my ($_completion, $_index, $_text) = @_ }
+sub insert_prefix { my ($_completion) = @_ }
+sub new { my ($_class) = @_ }
+sub set_inline_completion { my ($_completion, $_inline_completion) = @_ }
+sub set_match_func { my ($_completion, $_func, $_o_func_data) = @_ }
+sub set_minimum_key_length { my ($_completion, $_length) = @_ }
+sub set_model { my ($_completion, $_model) = @_ }
+sub set_popup_completion { my ($_completion, $_popup_completion) = @_ }
+sub set_popup_set_width { my ($_completion, $_popup_set_width) = @_ }
+sub set_popup_single_match { my ($_completion, $_popup_single_match) = @_ }
+sub set_text_column { my ($_completion, $_column) = @_ }
+
+package Gtk2::EventBox;
+our @ISA = qw();
+sub get_above_child { my ($_event_box) = @_ }
+sub get_visible_window { my ($_event_box) = @_ }
+sub new { my ($_class) = @_ }
+sub set_above_child { my ($_event_box, $_above_child) = @_ }
+sub set_visible_window { my ($_event_box, $_visible_window) = @_ }
+
+package Gtk2::Expander;
+our @ISA = qw();
+sub get_expanded { my ($_expander) = @_ }
+sub get_label { my ($_expander) = @_ }
+sub get_label_widget { my ($_expander) = @_ }
+sub get_spacing { my ($_expander) = @_ }
+sub get_use_markup { my ($_expander) = @_ }
+sub get_use_underline { my ($_expander) = @_ }
+sub new { my ($_class, $_o_label) = @_ }
+sub new_with_mnemonic { my ($_class, $_label) = @_ }
+sub set_expanded { my ($_expander, $_expanded) = @_ }
+sub set_label { my ($_expander, $_label) = @_ }
+sub set_label_widget { my ($_expander, $_label_widget) = @_ }
+sub set_spacing { my ($_expander, $_spacing) = @_ }
+sub set_use_markup { my ($_expander, $_use_markup) = @_ }
+sub set_use_underline { my ($_expander, $_use_underline) = @_ }
+
+package Gtk2::FileChooser;
+our @ISA = qw();
+sub add_filter { my ($_chooser, $_filter) = @_ }
+sub add_shortcut_folder { my ($_chooser, $_folder) = @_ }
+sub add_shortcut_folder_uri { my ($_chooser, $_folder) = @_ }
+sub get_action { my ($_chooser) = @_ }
+sub get_current_folder { my ($_chooser) = @_ }
+sub get_current_folder_uri { my ($_chooser) = @_ }
+sub get_do_overwrite_confirmation { my ($_chooser) = @_ }
+sub get_extra_widget { my ($_chooser) = @_ }
+sub get_filename { my ($_chooser) = @_ }
+sub get_filenames { my ($_chooser) = @_ }
+sub get_filter { my ($_chooser) = @_ }
+sub get_local_only { my ($_chooser) = @_ }
+sub get_preview_filename { my ($_file_chooser) = @_ }
+sub get_preview_uri { my ($_file_chooser) = @_ }
+sub get_preview_widget { my ($_chooser) = @_ }
+sub get_preview_widget_active { my ($_chooser) = @_ }
+sub get_select_multiple { my ($_chooser) = @_ }
+sub get_show_hidden { my ($_chooser) = @_ }
+sub get_uri { my ($_chooser) = @_ }
+sub get_uris { my ($_chooser) = @_ }
+sub get_use_preview_label { my ($_chooser) = @_ }
+sub list_filters { my ($_chooser) = @_ }
+sub list_shortcut_folder_uris { my ($_chooser) = @_ }
+sub list_shortcut_folders { my ($_chooser) = @_ }
+sub remove_filter { my ($_chooser, $_filter) = @_ }
+sub remove_shortcut_folder { my ($_chooser, $_folder) = @_ }
+sub remove_shortcut_folder_uri { my ($_chooser, $_folder) = @_ }
+sub select_all { my ($_chooser) = @_ }
+sub select_filename { my ($_chooser, $_filename) = @_ }
+sub select_uri { my ($_chooser, $_uri) = @_ }
+sub set_action { my ($_chooser, $_action) = @_ }
+sub set_current_folder { my ($_chooser, $_filename) = @_ }
+sub set_current_folder_uri { my ($_chooser, $_uri) = @_ }
+sub set_current_name { my ($_chooser, $_name) = @_ }
+sub set_do_overwrite_confirmation { my ($_chooser, $_do_overwrite_confirmation) = @_ }
+sub set_extra_widget { my ($_chooser, $_extra_widget) = @_ }
+sub set_filename { my ($_chooser, $_filename) = @_ }
+sub set_filter { my ($_chooser, $_filter) = @_ }
+sub set_local_only { my ($_chooser, $_files_only) = @_ }
+sub set_preview_widget { my ($_chooser, $_preview_widget) = @_ }
+sub set_preview_widget_active { my ($_chooser, $_active) = @_ }
+sub set_select_multiple { my ($_chooser, $_select_multiple) = @_ }
+sub set_show_hidden { my ($_chooser, $_show_hidden) = @_ }
+sub set_uri { my ($_chooser, $_uri) = @_ }
+sub set_use_preview_label { my ($_chooser, $_use_label) = @_ }
+sub unselect_all { my ($_chooser) = @_ }
+sub unselect_filename { my ($_chooser, $_filename) = @_ }
+sub unselect_uri { my ($_chooser, $_uri) = @_ }
+
+package Gtk2::FileChooserButton;
+our @ISA = qw();
+sub get_title { my ($_button) = @_ }
+sub get_width_chars { my ($_button) = @_ }
+sub new { my ($_class, $_title, $_action) = @_ }
+sub new_with_backend { my ($_class, $_title, $_action, $_backend) = @_ }
+sub new_with_dialog { my ($_class, $_dialog) = @_ }
+sub set_title { my ($_button, $_title) = @_ }
+sub set_width_chars { my ($_button, $_n_chars) = @_ }
+
+package Gtk2::FileChooserDialog;
+our @ISA = qw();
+sub new { my ($_class, $_title, $_parent, $_action, @_more_paras) = @_ }
+sub new_with_backend { my ($_class, $_title, $_parent, $_action, @_more_paras) = @_ }
+
+package Gtk2::FileChooserWidget;
+our @ISA = qw();
+sub new { my ($_class, $_action) = @_ }
+sub new_with_backend { my ($_class, $_action, $_backend) = @_ }
+
+package Gtk2::FileFilter;
+our @ISA = qw();
+sub add_custom { my ($_filter, $_needed, $_func, $_o_data) = @_ }
+sub add_mime_type { my ($_filter, $_mime_type) = @_ }
+sub add_pattern { my ($_filter, $_pattern) = @_ }
+sub add_pixbuf_formats { my ($_filter) = @_ }
+sub filter { my ($_filter, $_filter_info) = @_ }
+sub get_name { my ($_filter) = @_ }
+sub get_needed { my ($_filter) = @_ }
+sub new { my ($_class) = @_ }
+sub set_name { my ($_filter, $_name) = @_ }
+
+package Gtk2::FileSelection;
+our @ISA = qw();
+sub action_area { my ($_fs) = @_ }
+sub button_area { my ($_fs) = @_ }
+sub cancel_button { my ($_fs) = @_ }
+sub complete { my ($_filesel, $_pattern) = @_ }
+sub dir_list { my ($_fs) = @_ }
+sub file_list { my ($_fs) = @_ }
+sub fileop_c_dir { my ($_fs) = @_ }
+sub fileop_del_file { my ($_fs) = @_ }
+sub fileop_dialog { my ($_fs) = @_ }
+sub fileop_entry { my ($_fs) = @_ }
+sub fileop_file { my ($_fs) = @_ }
+sub fileop_ren_file { my ($_fs) = @_ }
+sub get_filename { my ($_filesel) = @_ }
+sub get_select_multiple { my ($_filesel) = @_ }
+sub get_selections { my ($_filesel) = @_ }
+sub help_button { my ($_fs) = @_ }
+sub hide_fileop_buttons { my ($_filesel) = @_ }
+sub history_menu { my ($_fs) = @_ }
+sub history_pulldown { my ($_fs) = @_ }
+sub main_vbox { my ($_fs) = @_ }
+sub new { my ($_class, $_title) = @_ }
+sub ok_button { my ($_fs) = @_ }
+sub selection_entry { my ($_fs) = @_ }
+sub selection_text { my ($_fs) = @_ }
+sub set_filename { my ($_filesel, $_filename) = @_ }
+sub set_select_multiple { my ($_filesel, $_select_multiple) = @_ }
+sub show_fileop_buttons { my ($_filesel) = @_ }
+
+package Gtk2::Fixed;
+our @ISA = qw();
+sub get_has_window { my ($_fixed) = @_ }
+sub move { my ($_fixed, $_widget, $_x, $_y) = @_ }
+sub new { my ($_class) = @_ }
+sub put { my ($_fixed, $_widget, $_x, $_y) = @_ }
+sub set_has_window { my ($_fixed, $_has_window) = @_ }
+
+package Gtk2::FontButton;
+our @ISA = qw();
+sub get_font_name { my ($_font_button) = @_ }
+sub get_show_size { my ($_font_button) = @_ }
+sub get_show_style { my ($_font_button) = @_ }
+sub get_title { my ($_font_button) = @_ }
+sub get_use_font { my ($_font_button) = @_ }
+sub get_use_size { my ($_font_button) = @_ }
+sub new { my ($_class, $_o_fontname) = @_ }
+sub new_with_font { my ($_class, $_o_fontname) = @_ }
+sub set_font_name { my ($_font_button, $_fontname) = @_ }
+sub set_show_size { my ($_font_button, $_show_size) = @_ }
+sub set_show_style { my ($_font_button, $_show_style) = @_ }
+sub set_title { my ($_font_button, $_title) = @_ }
+sub set_use_font { my ($_font_button, $_use_font) = @_ }
+sub set_use_size { my ($_font_button, $_use_size) = @_ }
+
+package Gtk2::FontSelection;
+our @ISA = qw();
+sub get_font { my ($_fontsel) = @_ }
+sub get_font_name { my ($_fontsel) = @_ }
+sub get_preview_text { my ($_fontsel) = @_ }
+sub new { my ($_class) = @_ }
+sub set_font_name { my ($_fontsel, $_fontname) = @_ }
+sub set_preview_text { my ($_fontsel, $_text) = @_ }
+
+package Gtk2::FontSelectionDialog;
+our @ISA = qw();
+sub apply_button { my ($_fsd) = @_ }
+sub cancel_button { my ($_fsd) = @_ }
+sub get_font { my ($_fsd) = @_ }
+sub get_font_name { my ($_fsd) = @_ }
+sub get_preview_text { my ($_fsd) = @_ }
+sub new { my ($_class, $_title) = @_ }
+sub ok_button { my ($_fsd) = @_ }
+sub set_font_name { my ($_fsd, $_fontname) = @_ }
+sub set_preview_text { my ($_fsd, $_text) = @_ }
+
+package Gtk2::Frame;
+our @ISA = qw();
+sub get_label { my ($_frame) = @_ }
+sub get_label_align { my ($_frame) = @_ }
+sub get_label_widget { my ($_frame) = @_ }
+sub get_shadow_type { my ($_frame) = @_ }
+sub new { my ($_class, $_o_label) = @_ }
+sub set_label { my ($_frame, $_o_label) = @_ }
+sub set_label_align { my ($_frame, $_xalign, $_yalign) = @_ }
+sub set_label_widget { my ($_frame, $_label_widget) = @_ }
+sub set_shadow_type { my ($_frame, $_type) = @_ }
+
+package Gtk2::GC;
+our @ISA = qw();
+sub get { my ($_class, $_depth, $_colormap, $_values) = @_ }
+sub release { my ($_class, $_gc) = @_ }
+
+package Gtk2::GammaCurve;
+our @ISA = qw();
+sub curve { my ($_gamma) = @_ }
+sub new { my ($_class) = @_ }
+
+package Gtk2::Gdk;
+our @ISA = qw();
+sub SELECTION_CLIPBOARD { my ($_class) = @_ }
+sub SELECTION_PRIMARY { my ($_class) = @_ }
+sub SELECTION_SECONDARY { my ($_class) = @_ }
+sub SELECTION_TYPE_ATOM { my ($_class) = @_ }
+sub SELECTION_TYPE_BITMAP { my ($_class) = @_ }
+sub SELECTION_TYPE_COLORMAP { my ($_class) = @_ }
+sub SELECTION_TYPE_DRAWABLE { my ($_class) = @_ }
+sub SELECTION_TYPE_INTEGER { my ($_class) = @_ }
+sub SELECTION_TYPE_PIXMAP { my ($_class) = @_ }
+sub SELECTION_TYPE_STRING { my ($_class) = @_ }
+sub SELECTION_TYPE_WINDOW { my ($_class) = @_ }
+sub TARGET_BITMAP { my ($_class) = @_ }
+sub TARGET_COLORMAP { my ($_class) = @_ }
+sub TARGET_DRAWABLE { my ($_class) = @_ }
+sub TARGET_PIXMAP { my ($_class) = @_ }
+sub TARGET_STRING { my ($_class) = @_ }
+sub beep { my ($_class) = @_ }
+sub devices_list { my ($_class) = @_ }
+sub error_trap_pop { my ($_class) = @_ }
+sub error_trap_push { my ($_class) = @_ }
+sub events_pending { my ($_class) = @_ }
+sub flush { my ($_class) = @_ }
+sub get_default_root_window { my ($_class) = @_ }
+sub get_display { my ($_class) = @_ }
+sub get_display_arg_name { my ($_class) = @_ }
+sub get_program_class { my ($_class) = @_ }
+sub get_show_events { my ($_class) = @_ }
+sub init { my ($_o_class) = @_ }
+sub init_check { my ($_o_class) = @_ }
+sub keyboard_grab { my ($_class, $_window, $_owner_events, $_time_) = @_ }
+sub keyboard_ungrab { my ($_class, $_time_) = @_ }
+sub keyval_convert_case { my ($_class, $_symbol) = @_ }
+sub keyval_from_name { my ($_class, $_keyval_name) = @_ }
+sub keyval_is_lower { my ($_class, $_keyval) = @_ }
+sub keyval_is_upper { my ($_class, $_keyval) = @_ }
+sub keyval_name { my ($_class, $_keyval) = @_ }
+sub keyval_to_lower { my ($_class, $_keyval) = @_ }
+sub keyval_to_unicode { my ($_class, $_keyval) = @_ }
+sub keyval_to_upper { my ($_class, $_keyval) = @_ }
+sub list_visuals { my ($_class) = @_ }
+sub notify_startup_complete { my ($_class) = @_ }
+sub parse_args { my ($_o_class) = @_ }
+sub pointer_grab { my ($_class, $_window, $_owner_events, $_event_mask, $_confine_to, $_cursor, $_time_) = @_ }
+sub pointer_is_grabbed { my ($_class) = @_ }
+sub pointer_ungrab { my ($_class, $_time_) = @_ }
+sub query_depths { my ($_class) = @_ }
+sub query_visual_types { my ($_class) = @_ }
+sub screen_height { my ($_class) = @_ }
+sub screen_height_mm { my ($_class) = @_ }
+sub screen_width { my ($_class) = @_ }
+sub screen_width_mm { my ($_class) = @_ }
+sub set_locale { my ($_class) = @_ }
+sub set_program_class { my ($_class, $_program_class) = @_ }
+sub set_show_events { my ($_class, $_show_events) = @_ }
+sub set_sm_client_id { my ($_class, $_o_sm_client_id) = @_ }
+sub setting_get { my ($_class, $_name) = @_ }
+sub string_to_compound_text { my ($_class, $_str) = @_ }
+sub string_to_compound_text_for_display { my ($_class, $_display, $_str) = @_ }
+sub text_property_to_text_list { my ($_class, $_encoding, $_format, $_text) = @_ }
+sub text_property_to_text_list_for_display { my ($_class, $_display, $_encoding, $_format, $_text) = @_ }
+sub text_property_to_utf8_list { my ($_class, $_encoding, $_format, $_text) = @_ }
+sub text_property_to_utf8_list_for_display { my ($_class, $_display, $_encoding, $_format, $_text) = @_ }
+sub unicode_to_keyval { my ($_class, $_wc) = @_ }
+sub utf8_to_compound_text { my ($_class, $_str) = @_ }
+sub utf8_to_compound_text_for_display { my ($_class, $_display, $_str) = @_ }
+sub utf8_to_string_target { my ($_class, $_str) = @_ }
+
+package Gtk2::Gdk::Atom;
+our @ISA = qw();
+sub Gtk2::Gdk::Atom::eq { my ($_left, $_right, $_o_swap) = @_ }
+sub intern { my ($_class, $_atom_name, $_o_only_if_exists) = @_ }
+sub name { my ($_atom) = @_ }
+sub new { my ($_class, $_atom_name, $_o_only_if_exists) = @_ }
+
+package Gtk2::Gdk::Bitmap;
+our @ISA = qw();
+sub create_from_data { my ($_class, $_drawable, $_data, $_width, $_height) = @_ }
+
+package Gtk2::Gdk::Cairo::Context;
+our @ISA = qw();
+sub create { my ($_class, $_drawable) = @_ }
+sub rectangle { my ($_cr, @_more_paras) = @_ }
+sub region { my ($_cr, $_region) = @_ }
+sub set_source_color { my ($_cr, $_color) = @_ }
+sub set_source_pixbuf { my ($_cr, $_pixbuf, $_pixbuf_x, $_pixbuf_y) = @_ }
+
+package Gtk2::Gdk::Color;
+our @ISA = qw();
+sub blue { my ($_color) = @_ }
+sub equal { my ($_colora, $_colorb) = @_ }
+sub green { my ($_color) = @_ }
+sub hash { my ($_colora) = @_ }
+sub new { my ($_class, $_red, $_green, $_blue) = @_ }
+sub parse { my ($_class, $_spec) = @_ }
+sub pixel { my ($_color) = @_ }
+sub red { my ($_color) = @_ }
+
+package Gtk2::Gdk::Colormap;
+our @ISA = qw();
+sub alloc_color { my ($_colormap, $_color, $_writeable, $_best_match) = @_ }
+sub alloc_colors { my ($_colormap, $_writeable, $_best_match, @_more_paras) = @_ }
+sub free_colors { my ($_colormap, @_more_paras) = @_ }
+sub get_screen { my ($_cmap) = @_ }
+sub get_system { my ($_class) = @_ }
+sub get_visual { my ($_colormap) = @_ }
+sub new { my ($_class, $_visual, $_allocate) = @_ }
+sub query_color { my ($_colormap, $_pixel) = @_ }
+sub rgb_find_color { my ($_colormap, $_color) = @_ }
+
+package Gtk2::Gdk::Cursor;
+our @ISA = qw();
+sub get_display { my ($_cursor) = @_ }
+sub get_image { my ($_cursor) = @_ }
+sub new { my ($_class, $_cursor_type) = @_ }
+sub new_for_display { my ($_class, $_display, $_cursor_type) = @_ }
+sub new_from_name { my ($_class, $_display, $_name) = @_ }
+sub new_from_pixbuf { my ($_class, $_display, $_pixbuf, $_x, $_y) = @_ }
+sub new_from_pixmap { my ($_class, $_source, $_mask, $_fg, $_bg, $_x, $_y) = @_ }
+sub type { my ($_cursor) = @_ }
+
+package Gtk2::Gdk::Device;
+our @ISA = qw();
+sub axes { my ($_device) = @_ }
+sub get_axis { my ($_device, $_use, @_more_paras) = @_ }
+sub get_core_pointer { my ($_class) = @_ }
+sub get_history { my ($_device, $_window, $_start, $_stop) = @_ }
+sub get_state { my ($_device, $_window) = @_ }
+sub has_cursor { my ($_device) = @_ }
+sub keys { my ($_device) = @_ }
+sub mode { my ($_device) = @_ }
+sub name { my ($_device) = @_ }
+sub set_axis_use { my ($_device, $_index_, $_use) = @_ }
+sub set_key { my ($_device, $_index_, $_keyval, $_modifiers) = @_ }
+sub set_mode { my ($_device, $_mode) = @_ }
+sub set_source { my ($_device, $_source) = @_ }
+sub source { my ($_device) = @_ }
+
+package Gtk2::Gdk::Display;
+our @ISA = qw();
+sub beep { my ($_display) = @_ }
+sub close { my ($_display) = @_ }
+sub flush { my ($_display) = @_ }
+sub get_core_pointer { my ($_display) = @_ }
+sub get_default { my ($_class) = @_ }
+sub get_default_cursor_size { my ($_display) = @_ }
+sub get_default_group { my ($_display) = @_ }
+sub get_default_screen { my ($_display) = @_ }
+sub get_event { my ($_display) = @_ }
+sub get_maximal_cursor_size { my ($_display) = @_ }
+sub get_n_screens { my ($_display) = @_ }
+sub get_name { my ($_display) = @_ }
+sub get_pointer { my ($_display) = @_ }
+sub get_screen { my ($_display, $_screen_num) = @_ }
+sub get_user_time { my ($_display) = @_ }
+sub get_window_at_pointer { my ($_display) = @_ }
+sub grab { my ($_display) = @_ }
+sub keyboard_ungrab { my ($_display, $_time_) = @_ }
+sub list_devices { my ($_display) = @_ }
+sub open { my ($_class, $_display_name) = @_ }
+sub peek_event { my ($_display) = @_ }
+sub pointer_is_grabbed { my ($_display) = @_ }
+sub pointer_ungrab { my ($_display, $_time_) = @_ }
+sub put_event { my ($_display, $_event) = @_ }
+sub register_standard_event_type { my ($_display, $_event_base, $_n_events) = @_ }
+sub request_selection_notification { my ($_display, $_selection) = @_ }
+sub set_cursor_theme { my ($_display, $_theme, $_size) = @_ }
+sub set_double_click_distance { my ($_display, $_distance) = @_ }
+sub set_double_click_time { my ($_display, $_msec) = @_ }
+sub store_clipboard { my ($_display, $_clipboard_window, $_time_, @_more_paras) = @_ }
+sub supports_clipboard_persistence { my ($_display) = @_ }
+sub supports_cursor_alpha { my ($_display) = @_ }
+sub supports_cursor_color { my ($_display) = @_ }
+sub supports_selection_notification { my ($_display) = @_ }
+sub sync { my ($_display) = @_ }
+sub ungrab { my ($_display) = @_ }
+sub warp_pointer { my ($_display, $_screen, $_x, $_y) = @_ }
+
+package Gtk2::Gdk::DisplayManager;
+our @ISA = qw();
+sub get { my ($_class) = @_ }
+sub get_default_display { my ($_display_manager) = @_ }
+sub list_displays { my ($_display_manager) = @_ }
+sub set_default_display { my ($_display_manager, $_display) = @_ }
+
+package Gtk2::Gdk::DragContext;
+our @ISA = qw();
+sub abort { my ($_context, $_time_) = @_ }
+sub action { my ($_dc) = @_ }
+sub actions { my ($_dc) = @_ }
+sub begin { my ($_class, $_window, @_more_paras) = @_ }
+sub dest_window { my ($_dc) = @_ }
+sub drag_drop_succeeded { my ($_context) = @_ }
+sub drop { my ($_context, $_time_) = @_ }
+sub drop_finish { my ($_context, $_success, $_o_time_) = @_ }
+sub drop_reply { my ($_context, $_ok, $_o_time_) = @_ }
+sub find_window { my ($_context, $_drag_window, $_x_root, $_y_root) = @_ }
+sub find_window_for_screen { my ($_context, $_drag_window, $_screen, $_x_root, $_y_root) = @_ }
+sub finish { my ($_context, $_success, $_del, $_time_) = @_ }
+sub get_protocol { my ($_class, $_xid) = @_ }
+sub get_protocol_for_display { my ($_class, $_display, $_xid) = @_ }
+sub get_selection { my ($_context) = @_ }
+sub get_source_widget { my ($_context) = @_ }
+sub is_source { my ($_dc) = @_ }
+sub motion { my ($_context, $_dest_window, $_protocol, $_x_root, $_y_root, $_suggested_action, $_possible_actions, $_time_) = @_ }
+sub new { my ($_class) = @_ }
+sub protocol { my ($_dc) = @_ }
+sub set_icon_default { my ($_context) = @_ }
+sub set_icon_name { my ($_context, $_icon_name, $_hot_x, $_hot_y) = @_ }
+sub set_icon_pixbuf { my ($_context, $_pixbuf, $_hot_x, $_hot_y) = @_ }
+sub set_icon_pixmap { my ($_context, $_colormap, $_pixmap, $_mask, $_hot_x, $_hot_y) = @_ }
+sub set_icon_stock { my ($_context, $_stock_id, $_hot_x, $_hot_y) = @_ }
+sub set_icon_widget { my ($_context, $_widget, $_hot_x, $_hot_y) = @_ }
+sub source_window { my ($_dc) = @_ }
+sub start_time { my ($_dc) = @_ }
+sub status { my ($_context, $_action, $_o_time_) = @_ }
+sub suggested_action { my ($_dc) = @_ }
+sub targets { my ($_dc) = @_ }
+
+package Gtk2::Gdk::Drawable;
+our @ISA = qw();
+sub XID { my ($_drawable) = @_ }
+sub XWINDOW { my ($_drawable) = @_ }
+sub copy_to_image { my ($_drawable, $_image, $_src_x, $_src_y, $_dest_x, $_dest_y, $_width, $_height) = @_ }
+sub draw_arc { my ($_drawable, $_gc, $_filled, $_x, $_y, $_width, $_height, $_angle1, $_angle2) = @_ }
+sub draw_drawable { my ($_drawable, $_gc, $_src, $_xsrc, $_ysrc, $_xdest, $_ydest, $_width, $_height) = @_ }
+sub draw_gray_image { my ($_drawable, $_gc, $_x, $_y, $_width, $_height, $_dith, $_buf, $_rowstride) = @_ }
+sub draw_image { my ($_drawable, $_gc, $_image, $_xsrc, $_ysrc, $_xdest, $_ydest, $_width, $_height) = @_ }
+sub draw_indexed_image { my ($_drawable, $_gc, $_x, $_y, $_width, $_height, $_dith, $_buf, $_rowstride, $_cmap) = @_ }
+sub draw_layout { my ($_drawable, $_gc, $_x, $_y, $_layout) = @_ }
+sub draw_layout_with_colors { my ($_drawable, $_gc, $_x, $_y, $_layout, $_foreground, $_background) = @_ }
+sub draw_line { my ($_drawable, $_gc, $_x1_, $_y1_, $_x2_, $_y2_) = @_ }
+sub draw_lines { my ($_drawable, $_gc, $_x1, $_y1, @_more_paras) = @_ }
+sub draw_pixbuf { my ($_drawable, $_gc, $_pixbuf, $_src_x, $_src_y, $_dest_x, $_dest_y, $_width, $_height, $_dither, $_x_dither, $_y_dither) = @_ }
+sub draw_point { my ($_drawable, $_gc, $_x, $_y) = @_ }
+sub draw_points { my ($_drawable, $_gc, $_x1, $_y1, @_more_paras) = @_ }
+sub draw_polygon { my ($_drawable, $_gc, $_filled, $_x1, $_y1, @_more_paras) = @_ }
+sub draw_rectangle { my ($_drawable, $_gc, $_filled, $_x, $_y, $_width, $_height) = @_ }
+sub draw_rgb_32_image { my ($_drawable, $_gc, $_x, $_y, $_width, $_height, $_dith, $_buf, $_rowstride) = @_ }
+sub draw_rgb_32_image_dithalign { my ($_drawable, $_gc, $_x, $_y, $_width, $_height, $_dith, $_rgb_buf, $_rowstride, $_xdith, $_ydith) = @_ }
+sub draw_rgb_image { my ($_drawable, $_gc, $_x, $_y, $_width, $_height, $_dith, $_buf, $_rowstride) = @_ }
+sub draw_rgb_image_dithalign { my ($_drawable, $_gc, $_x, $_y, $_width, $_height, $_dith, $_rgb_buf, $_rowstride, $_xdith, $_ydith) = @_ }
+sub draw_segments { my ($_drawable, $_gc, $_x1, $_y1, $_x2, $_y2, @_more_paras) = @_ }
+sub get_clip_region { my ($_drawable) = @_ }
+sub get_colormap { my ($_drawable) = @_ }
+sub get_depth { my ($_drawable) = @_ }
+sub get_display { my ($_drawable) = @_ }
+sub get_image { my ($_drawable, $_x, $_y, $_width, $_height) = @_ }
+sub get_screen { my ($_drawable) = @_ }
+sub get_size { my ($_drawable) = @_ }
+sub get_visible_region { my ($_drawable) = @_ }
+sub get_visual { my ($_drawable) = @_ }
+sub get_xid { my ($_drawable) = @_ }
+sub set_colormap { my ($_drawable, $_colormap) = @_ }
+
+package Gtk2::Gdk::Event;
+our @ISA = qw();
+sub DESTROY { my ($_sv) = @_ }
+sub axis { my ($_event, $_axis_use) = @_ }
+sub coords { my ($_event) = @_ }
+sub copy { my ($_event) = @_ }
+sub get { my ($_class) = @_ }
+sub get_axis { my ($_event, $_axis_use) = @_ }
+sub get_coords { my ($_event) = @_ }
+sub get_graphics_expose { my ($_class, $_window) = @_ }
+sub get_root_coords { my ($_event) = @_ }
+sub get_screen { my ($_event) = @_ }
+sub get_state { my ($_event, @_more_paras) = @_ }
+sub get_time { my ($_event, @_more_paras) = @_ }
+sub handler_set { my ($_class, $_func, $_o_data) = @_ }
+sub new { my ($_class, $_type) = @_ }
+sub peek { my ($_class) = @_ }
+sub put { my ($_class, $_event) = @_ }
+sub root_coords { my ($_event) = @_ }
+sub send_client_message { my ($_class, $_event, $_winid) = @_ }
+sub send_client_message_for_display { my ($_class, $_display, $_event, $_winid) = @_ }
+sub send_clientmessage_toall { my ($_class, $_event) = @_ }
+sub send_event { my ($_event, $_o_newvalue) = @_ }
+sub set_screen { my ($_event, $_screen) = @_ }
+sub set_state { my ($_event, @_more_paras) = @_ }
+sub set_time { my ($_event, @_more_paras) = @_ }
+sub state { my ($_event, @_more_paras) = @_ }
+sub time { my ($_event, @_more_paras) = @_ }
+sub type { my ($_event) = @_ }
+sub window { my ($_event, $_o_newvalue) = @_ }
+sub x_root { my ($_event) = @_ }
+sub y_root { my ($_event) = @_ }
+
+package Gtk2::Gdk::Event::Button;
+our @ISA = qw();
+sub DESTROY { my ($_sv) = @_ }
+sub button { my ($_eventbutton, $_o_newvalue) = @_ }
+sub device { my ($_eventbutton, $_o_newvalue) = @_ }
+sub Gtk2::Gdk::Event::Button::x { my ($_event, $_o_newvalue) = @_ }
+sub Gtk2::Gdk::Event::Button::y { my ($_event, $_o_newvalue) = @_ }
+
+package Gtk2::Gdk::Event::Client;
+our @ISA = qw();
+sub DESTROY { my ($_sv) = @_ }
+sub data { my ($_eventclient, @_more_paras) = @_ }
+sub data_format { my ($_eventclient, $_o_newvalue) = @_ }
+sub message_type { my ($_eventclient, $_o_newvalue) = @_ }
+
+package Gtk2::Gdk::Event::Configure;
+our @ISA = qw();
+sub DESTROY { my ($_sv) = @_ }
+sub height { my ($_eventconfigure, $_o_newvalue) = @_ }
+sub width { my ($_eventconfigure, $_o_newvalue) = @_ }
+sub Gtk2::Gdk::Event::Configure::x { my ($_event, $_o_newvalue) = @_ }
+sub Gtk2::Gdk::Event::Configure::y { my ($_event, $_o_newvalue) = @_ }
+
+package Gtk2::Gdk::Event::Crossing;
+our @ISA = qw();
+sub DESTROY { my ($_sv) = @_ }
+sub detail { my ($_eventcrossing, $_o_newvalue) = @_ }
+sub focus { my ($_eventcrossing, $_o_newvalue) = @_ }
+sub mode { my ($_eventcrossing, $_o_newvalue) = @_ }
+sub subwindow { my ($_event, $_o_newvalue) = @_ }
+sub Gtk2::Gdk::Event::Crossing::x { my ($_event, $_o_newvalue) = @_ }
+sub Gtk2::Gdk::Event::Crossing::y { my ($_event, $_o_newvalue) = @_ }
+
+package Gtk2::Gdk::Event::DND;
+our @ISA = qw();
+sub DESTROY { my ($_sv) = @_ }
+sub context { my ($_eventdnd, $_o_newvalue) = @_ }
+
+package Gtk2::Gdk::Event::Expose;
+our @ISA = qw();
+sub DESTROY { my ($_sv) = @_ }
+sub area { my ($_eventexpose, $_o_newvalue) = @_ }
+sub count { my ($_eventexpose, $_o_newvalue) = @_ }
+sub region { my ($_eventexpose, $_o_newvalue) = @_ }
+
+package Gtk2::Gdk::Event::Focus;
+our @ISA = qw();
+sub DESTROY { my ($_sv) = @_ }
+sub in { my ($_eventfocus, $_o_newvalue) = @_ }
+
+package Gtk2::Gdk::Event::GrabBroken;
+our @ISA = qw();
+sub DESTROY { my ($_sv) = @_ }
+sub keyboard { my ($_event, $_o_newvalue) = @_ }
+
+package Gtk2::Gdk::Event::Key;
+our @ISA = qw();
+sub DESTROY { my ($_sv) = @_ }
+sub group { my ($_eventkey, $_o_newvalue) = @_ }
+sub hardware_keycode { my ($_eventkey, $_o_newvalue) = @_ }
+sub keyval { my ($_eventkey, $_o_newvalue) = @_ }
+
+package Gtk2::Gdk::Event::Motion;
+our @ISA = qw();
+sub DESTROY { my ($_sv) = @_ }
+sub device { my ($_eventmotion, $_o_newvalue) = @_ }
+sub is_hint { my ($_eventmotion, $_o_newvalue) = @_ }
+sub Gtk2::Gdk::Event::Motion::x { my ($_event, $_o_newvalue) = @_ }
+sub Gtk2::Gdk::Event::Motion::y { my ($_event, $_o_newvalue) = @_ }
+
+package Gtk2::Gdk::Event::NoExpose;
+our @ISA = qw();
+sub DESTROY { my ($_sv) = @_ }
+
+package Gtk2::Gdk::Event::OwnerChange;
+our @ISA = qw();
+sub DESTROY { my ($_sv) = @_ }
+sub owner { my ($_event, $_o_newvalue) = @_ }
+sub reason { my ($_event, $_o_newvalue) = @_ }
+sub selection { my ($_event, $_o_newvalue) = @_ }
+sub selection_time { my ($_event, $_o_newvalue) = @_ }
+
+package Gtk2::Gdk::Event::Property;
+our @ISA = qw();
+sub DESTROY { my ($_sv) = @_ }
+sub atom { my ($_eventproperty, $_o_newvalue) = @_ }
+sub state { my ($_eventproperty, $_o_newvalue) = @_ }
+
+package Gtk2::Gdk::Event::Proximity;
+our @ISA = qw();
+sub DESTROY { my ($_sv) = @_ }
+sub device { my ($_eventproximity, $_o_newvalue) = @_ }
+
+package Gtk2::Gdk::Event::Scroll;
+our @ISA = qw();
+sub DESTROY { my ($_sv) = @_ }
+sub device { my ($_eventscroll, $_o_newvalue) = @_ }
+sub direction { my ($_eventscroll, $_o_newvalue) = @_ }
+sub Gtk2::Gdk::Event::Scroll::x { my ($_event, $_o_newvalue) = @_ }
+sub Gtk2::Gdk::Event::Scroll::y { my ($_event, $_o_newvalue) = @_ }
+
+package Gtk2::Gdk::Event::Selection;
+our @ISA = qw();
+sub DESTROY { my ($_sv) = @_ }
+sub property { my ($_eventselection, $_o_newvalue) = @_ }
+sub requestor { my ($_eventselection, $_o_newvalue) = @_ }
+sub selection { my ($_eventselection, $_o_newvalue) = @_ }
+sub target { my ($_eventselection, $_o_newvalue) = @_ }
+
+package Gtk2::Gdk::Event::Setting;
+our @ISA = qw();
+sub DESTROY { my ($_sv) = @_ }
+sub action { my ($_eventsetting, $_o_newvalue) = @_ }
+sub name { my ($_eventsetting, $_o_newvalue) = @_ }
+
+package Gtk2::Gdk::Event::Visibility;
+our @ISA = qw();
+sub DESTROY { my ($_sv) = @_ }
+sub state { my ($_eventvisibility, $_o_newvalue) = @_ }
+
+package Gtk2::Gdk::Event::WindowState;
+our @ISA = qw();
+sub DESTROY { my ($_sv) = @_ }
+sub changed_mask { my ($_eventwindowstate, $_o_newvalue) = @_ }
+sub new_window_state { my ($_eventwindowstate, $_o_newvalue) = @_ }
+
+package Gtk2::Gdk::GC;
+our @ISA = qw();
+sub copy { my ($_dst_gc, $_src_gc) = @_ }
+sub get_colormap { my ($_gc) = @_ }
+sub get_screen { my ($_gc) = @_ }
+sub get_values { my ($_gc) = @_ }
+sub new { my ($_class, $_drawable, $_o_values) = @_ }
+sub new_with_values { my ($_class, $_drawable, $_o_values) = @_ }
+sub offset { my ($_gc, $_x_offset, $_y_offset) = @_ }
+sub rgb_gc_set_background { my ($_gc, $_rgb) = @_ }
+sub rgb_gc_set_foreground { my ($_gc, $_rgb) = @_ }
+sub set_background { my ($_gc, $_color) = @_ }
+sub set_clip_mask { my ($_gc, $_mask) = @_ }
+sub set_clip_origin { my ($_gc, $_x, $_y) = @_ }
+sub set_clip_rectangle { my ($_gc, $_rectangle) = @_ }
+sub set_clip_region { my ($_gc, $_region) = @_ }
+sub set_colormap { my ($_gc, $_colormap) = @_ }
+sub set_dashes { my ($_gc, $_dash_offset, @_more_paras) = @_ }
+sub set_exposures { my ($_gc, $_exposures) = @_ }
+sub set_fill { my ($_gc, $_fill) = @_ }
+sub set_font { my ($_gc, $_font) = @_ }
+sub set_foreground { my ($_gc, $_color) = @_ }
+sub set_function { my ($_gc, $_function) = @_ }
+sub set_line_attributes { my ($_gc, $_line_width, $_line_style, $_cap_style, $_join_style) = @_ }
+sub set_rgb_background { my ($_gc, $_rgb) = @_ }
+sub set_rgb_bg_color { my ($_gc, $_color) = @_ }
+sub set_rgb_fg_color { my ($_gc, $_color) = @_ }
+sub set_rgb_foreground { my ($_gc, $_rgb) = @_ }
+sub set_stipple { my ($_gc, $_stipple) = @_ }
+sub set_subwindow { my ($_gc, $_mode) = @_ }
+sub set_tile { my ($_gc, $_tile) = @_ }
+sub set_ts_origin { my ($_gc, $_x, $_y) = @_ }
+sub set_values { my ($_gc, $_values) = @_ }
+
+package Gtk2::Gdk::Geometry;
+our @ISA = qw();
+sub base_height { my ($_object, $_o_newvalue) = @_ }
+sub base_width { my ($_object, $_o_newvalue) = @_ }
+sub constrain_size { my ($_geometry_ref, @_more_paras) = @_ }
+sub gravity { my ($_object, $_o_newvalue) = @_ }
+sub height_inc { my ($_object, $_o_newvalue) = @_ }
+sub max_aspect { my ($_object, $_o_newvalue) = @_ }
+sub max_height { my ($_object, $_o_newvalue) = @_ }
+sub max_width { my ($_object, $_o_newvalue) = @_ }
+sub min_aspect { my ($_object, $_o_newvalue) = @_ }
+sub min_height { my ($_object, $_o_newvalue) = @_ }
+sub min_width { my ($_object, $_o_newvalue) = @_ }
+sub new { my ($_class) = @_ }
+sub width_inc { my ($_object, $_o_newvalue) = @_ }
+sub win_gravity { my ($_object, $_o_newvalue) = @_ }
+
+package Gtk2::Gdk::Input;
+our @ISA = qw();
+sub set_extension_events { my ($_class, $_window, $_mask, $_mode) = @_ }
+
+package Gtk2::Gdk::Keymap;
+our @ISA = qw();
+sub get_default { my ($_class) = @_ }
+sub get_direction { my ($_keymap) = @_ }
+sub get_entries_for_keycode { my ($_keymap, $_hardware_keycode) = @_ }
+sub get_entries_for_keyval { my ($_keymap, $_keyval) = @_ }
+sub get_for_display { my ($_class, $_display) = @_ }
+sub lookup_key { my ($_keymap, $_key) = @_ }
+sub translate_keyboard_state { my ($_keymap, $_hardware_keycode, $_state, $_group) = @_ }
+
+package Gtk2::Gdk::PangoRenderer;
+our @ISA = qw();
+sub get_default { my ($_class, $_screen) = @_ }
+sub new { my ($_class, $_screen) = @_ }
+sub set_drawable { my ($_gdk_renderer, $_drawable) = @_ }
+sub set_gc { my ($_gdk_renderer, $_gc) = @_ }
+sub set_override_color { my ($_gdk_renderer, $_part, $_color) = @_ }
+sub set_stipple { my ($_gdk_renderer, $_part, $_stipple) = @_ }
+
+package Gtk2::Gdk::Pixbuf;
+our @ISA = qw();
+sub add_alpha { my ($_pixbuf, $_substitute_color, $_r, $_g, $_b) = @_ }
+sub composite { my ($_src, $_dest, $_dest_x, $_dest_y, $_dest_width, $_dest_height, $_offset_x, $_offset_y, $_scale_x, $_scale_y, $_interp_type, $_overall_alpha) = @_ }
+sub composite_color { my ($_src, $_dest, $_dest_x, $_dest_y, $_dest_width, $_dest_height, $_offset_x, $_offset_y, $_scale_x, $_scale_y, $_interp_type, $_overall_alpha, $_check_x, $_check_y, $_check_size, $_color1, $_color2) = @_ }
+sub composite_color_simple { my ($_src, $_dest_width, $_dest_height, $_interp_type, $_overall_alpha, $_check_size, $_color1, $_color2) = @_ }
+sub copy { my ($_pixbuf) = @_ }
+sub copy_area { my ($_src_pixbuf, $_src_x, $_src_y, $_width, $_height, $_dest_pixbuf, $_dest_x, $_dest_y) = @_ }
+sub fill { my ($_pixbuf, $_pixel) = @_ }
+sub flip { my ($_src, $_horizontal) = @_ }
+sub get_bits_per_sample { my ($_pixbuf) = @_ }
+sub get_colorspace { my ($_pixbuf) = @_ }
+sub get_file_info { my ($_class, $_filename) = @_ }
+sub get_formats { my ($_o_class) = @_ }
+sub get_from_drawable { my ($_dest_or_class, $_src, $_cmap, $_src_x, $_src_y, $_dest_x, $_dest_y, $_width, $_height) = @_ }
+sub get_from_image { my ($_dest_or_class, $_src, $_cmap, $_src_x, $_src_y, $_dest_x, $_dest_y, $_width, $_height) = @_ }
+sub get_has_alpha { my ($_pixbuf) = @_ }
+sub get_height { my ($_pixbuf) = @_ }
+sub get_n_channels { my ($_pixbuf) = @_ }
+sub get_option { my ($_pixbuf, $_key) = @_ }
+sub get_pixels { my ($_pixbuf) = @_ }
+sub get_rowstride { my ($_pixbuf) = @_ }
+sub get_width { my ($_pixbuf) = @_ }
+sub new { my ($_class, $_colorspace, $_has_alpha, $_bits_per_sample, $_width, $_height) = @_ }
+sub new_from_data { my ($_class, $_data, $_colorspace, $_has_alpha, $_bits_per_sample, $_width, $_height, $_rowstride) = @_ }
+sub new_from_file { my ($_class, $_filename) = @_ }
+sub new_from_file_at_scale { my ($_class, $_filename, $_width, $_height, $_preserve_aspect_ratio) = @_ }
+sub new_from_file_at_size { my ($_class, $_filename, $_width, $_height) = @_ }
+sub new_from_inline { my ($_class, $_data, $_o_copy_pixels) = @_ }
+sub new_from_xpm_data { my ($_class, @_more_paras) = @_ }
+sub new_subpixbuf { my ($_src_pixbuf, $_src_x, $_src_y, $_width, $_height) = @_ }
+sub render_pixmap_and_mask { my ($_pixbuf, $_alpha_threshold) = @_ }
+sub render_pixmap_and_mask_for_colormap { my ($_pixbuf, $_colormap, $_alpha_threshold) = @_ }
+sub render_threshold_alpha { my ($_pixbuf, $_bitmap, $_src_x, $_src_y, $_dest_x, $_dest_y, $_width, $_height, $_alpha_threshold) = @_ }
+sub render_to_drawable { my ($_pixbuf, $_drawable, $_gc, $_src_x, $_src_y, $_dest_x, $_dest_y, $_width, $_height, $_dither, $_x_dither, $_y_dither) = @_ }
+sub render_to_drawable_alpha { my ($_pixbuf, $_drawable, $_src_x, $_src_y, $_dest_x, $_dest_y, $_width, $_height, $_alpha_mode, $_alpha_threshold, $_dither, $_x_dither, $_y_dither) = @_ }
+sub rotate_simple { my ($_src, $_angle) = @_ }
+sub saturate_and_pixelate { my ($_src, $_dest, $_saturation, $_pixelate) = @_ }
+sub save { my ($_pixbuf, $_filename, $_type, @_more_paras) = @_ }
+sub save_to_buffer { my ($_pixbuf, $_type, @_more_paras) = @_ }
+sub scale { my ($_src, $_dest, $_dest_x, $_dest_y, $_dest_width, $_dest_height, $_offset_x, $_offset_y, $_scale_x, $_scale_y, $_interp_type) = @_ }
+sub scale_simple { my ($_src, $_dest_width, $_dest_height, $_interp_type) = @_ }
+
+package Gtk2::Gdk::PixbufAnimation;
+our @ISA = qw();
+sub get_height { my ($_animation) = @_ }
+sub get_iter { my ($_animation, $_o_start_time_seconds, $_o_start_time_microseconds) = @_ }
+sub get_static_image { my ($_animation) = @_ }
+sub get_width { my ($_animation) = @_ }
+sub is_static_image { my ($_animation) = @_ }
+sub new_from_file { my ($_class, $_filename) = @_ }
+
+package Gtk2::Gdk::PixbufAnimationIter;
+our @ISA = qw();
+sub advance { my ($_iter, $_o_current_time_seconds, $_o_current_time_microseconds) = @_ }
+sub get_delay_time { my ($_iter) = @_ }
+sub get_pixbuf { my ($_iter) = @_ }
+sub on_currently_loading_frame { my ($_iter) = @_ }
+
+package Gtk2::Gdk::PixbufFormat;
+our @ISA = qw();
+sub DESTROY { my ($_sv) = @_ }
+sub set_disabled { my ($_format, $_disabled) = @_ }
+
+package Gtk2::Gdk::PixbufLoader;
+our @ISA = qw();
+sub close { my ($_loader) = @_ }
+sub get_animation { my ($_loader) = @_ }
+sub get_format { my ($_loader) = @_ }
+sub get_pixbuf { my ($_loader) = @_ }
+sub new { my ($_class) = @_ }
+sub new_with_mime_type { my (@_more_paras) = @_ }
+sub new_with_type { my (@_more_paras) = @_ }
+sub set_size { my ($_loader, $_width, $_height) = @_ }
+sub write { my ($_loader, $_buf) = @_ }
+
+package Gtk2::Gdk::PixbufSimpleAnim;
+our @ISA = qw();
+sub add_frame { my ($_animation, $_pixbuf) = @_ }
+sub new { my ($_class, $_width, $_height, $_rate) = @_ }
+
+package Gtk2::Gdk::Pixmap;
+our @ISA = qw();
+sub colormap_create_from_xpm { my ($_class, $_drawable, $_colormap, $_transparent_color, $_filename) = @_ }
+sub colormap_create_from_xpm_d { my ($_class, $_drawable, $_colormap, $_transparent_color, $_data, @_more_paras) = @_ }
+sub create_from_data { my ($_class, $_drawable, $_data, $_width, $_height, $_depth, $_fg, $_bg) = @_ }
+sub create_from_xpm { my ($_class, $_drawable, $_transparent_color, $_filename) = @_ }
+sub create_from_xpm_d { my ($_class, $_drawable, $_transparent_color, $_data, @_more_paras) = @_ }
+sub foreign_new { my ($_class, $_anid) = @_ }
+sub foreign_new_for_display { my ($_class, $_display, $_anid) = @_ }
+sub lookup { my ($_class, $_anid) = @_ }
+sub lookup_for_display { my ($_class, $_display, $_anid) = @_ }
+sub new { my ($_class, $_drawable, $_width, $_height, $_depth) = @_ }
+
+package Gtk2::Gdk::Rectangle;
+our @ISA = qw();
+sub height { my ($_rectangle, $_o_newvalue) = @_ }
+sub intersect { my ($_src1, $_src2) = @_ }
+sub new { my ($_class, $_x, $_y, $_width, $_height) = @_ }
+sub union { my ($_src1, $_src2) = @_ }
+sub values { my ($_rectangle) = @_ }
+sub width { my ($_rectangle, $_o_newvalue) = @_ }
+sub Gtk2::Gdk::Rectangle::x { my ($_rectangle, $_o_newvalue) = @_ }
+sub Gtk2::Gdk::Rectangle::y { my ($_rectangle, $_o_newvalue) = @_ }
+
+package Gtk2::Gdk::Region;
+our @ISA = qw();
+sub empty { my ($_region) = @_ }
+sub equal { my ($_region1, $_region2) = @_ }
+sub get_clipbox { my ($_region) = @_ }
+sub get_rectangles { my ($_region) = @_ }
+sub intersect { my ($_source1, $_source2) = @_ }
+sub new { my ($_class) = @_ }
+sub offset { my ($_region, $_dx, $_dy) = @_ }
+sub point_in { my ($_region, $_x, $_y) = @_ }
+sub polygon { my ($_class, $_points_ref, $_fill_rule) = @_ }
+sub rect_in { my ($_region, $_rect) = @_ }
+sub rectangle { my ($_class, $_rectangle) = @_ }
+sub shrink { my ($_region, $_dx, $_dy) = @_ }
+sub spans_intersect_foreach { my ($_region, $_spans_ref, $_sorted, $_func, $_o_data) = @_ }
+sub subtract { my ($_source1, $_source2) = @_ }
+sub union { my ($_source1, $_source2) = @_ }
+sub union_with_rect { my ($_region, $_rect) = @_ }
+sub Gtk2::Gdk::Region::xor { my ($_source1, $_source2) = @_ }
+
+package Gtk2::Gdk::Rgb;
+our @ISA = qw();
+sub colormap_ditherable { my ($_class, $_cmap) = @_ }
+sub ditherable { my ($_class) = @_ }
+sub set_install { my ($_class, $_install) = @_ }
+sub set_min_colors { my ($_class, $_min_colors) = @_ }
+sub set_verbose { my ($_class, $_verbose) = @_ }
+
+package Gtk2::Gdk::Screen;
+our @ISA = qw();
+sub broadcast_client_message { my ($_screen, $_event) = @_ }
+sub get_default { my ($_class) = @_ }
+sub get_default_colormap { my ($_screen) = @_ }
+sub get_display { my ($_screen) = @_ }
+sub get_height { my ($_screen) = @_ }
+sub get_height_mm { my ($_screen) = @_ }
+sub get_monitor_at_point { my ($_screen, $_x, $_y) = @_ }
+sub get_monitor_at_window { my ($_screen, $_window) = @_ }
+sub get_monitor_geometry { my ($_screen, $_monitor_num) = @_ }
+sub get_n_monitors { my ($_screen) = @_ }
+sub get_number { my ($_screen) = @_ }
+sub get_rgb_colormap { my ($_screen) = @_ }
+sub get_rgb_visual { my ($_screen) = @_ }
+sub get_rgba_colormap { my ($_screen) = @_ }
+sub get_rgba_visual { my ($_screen) = @_ }
+sub get_root_window { my ($_screen) = @_ }
+sub get_screen_number { my ($_screen) = @_ }
+sub get_setting { my ($_screen, $_name) = @_ }
+sub get_system_colormap { my ($_screen) = @_ }
+sub get_system_visual { my ($_screen) = @_ }
+sub get_toplevel_windows { my ($_screen) = @_ }
+sub get_width { my ($_screen) = @_ }
+sub get_width_mm { my ($_screen) = @_ }
+sub get_window_manager_name { my ($_screen) = @_ }
+sub list_visuals { my ($_screen) = @_ }
+sub make_display_name { my ($_screen) = @_ }
+sub set_default_colormap { my ($_screen, $_colormap) = @_ }
+sub supports_net_wm_hint { my ($_screen, $_property) = @_ }
+
+package Gtk2::Gdk::Selection;
+our @ISA = qw();
+sub convert { my ($_class, $_requestor, $_selection, $_target, $_time_) = @_ }
+sub owner_get { my ($_class, $_selection) = @_ }
+sub owner_get_for_display { my ($_class, $_display, $_selection) = @_ }
+sub owner_set { my ($_class, $_owner, $_selection, $_time_, $_send_event) = @_ }
+sub owner_set_for_display { my ($_class, $_display, $_owner, $_selection, $_time_, $_send_event) = @_ }
+sub property_get { my ($_class, $_requestor) = @_ }
+sub send_notify { my ($_class, $_requestor, $_selection, $_target, $_property, $_time_) = @_ }
+sub send_notify_for_display { my ($_class, $_display, $_requestor, $_selection, $_target, $_property, $_time_) = @_ }
+
+package Gtk2::Gdk::Threads;
+our @ISA = qw();
+sub enter { my ($_class) = @_ }
+sub init { my ($_class) = @_ }
+sub leave { my ($_class) = @_ }
+
+package Gtk2::Gdk::Visual;
+our @ISA = qw();
+sub bits_per_rgb { my ($_visual) = @_ }
+sub blue_mask { my ($_visual) = @_ }
+sub blue_prec { my ($_visual) = @_ }
+sub blue_shift { my ($_visual) = @_ }
+sub byte_order { my ($_visual) = @_ }
+sub colormap_size { my ($_visual) = @_ }
+sub depth { my ($_visual) = @_ }
+sub get_best { my ($_class) = @_ }
+sub get_best_depth { my ($_class) = @_ }
+sub get_best_type { my ($_class) = @_ }
+sub get_best_with_both { my ($_class, $_depth, $_visual_type) = @_ }
+sub get_best_with_depth { my ($_class, $_depth) = @_ }
+sub get_best_with_type { my ($_class, $_visual_type) = @_ }
+sub get_screen { my ($_visual) = @_ }
+sub get_system { my ($_class) = @_ }
+sub green_mask { my ($_visual) = @_ }
+sub green_prec { my ($_visual) = @_ }
+sub green_shift { my ($_visual) = @_ }
+sub red_mask { my ($_visual) = @_ }
+sub red_prec { my ($_visual) = @_ }
+sub red_shift { my ($_visual) = @_ }
+sub type { my ($_visual) = @_ }
+
+package Gtk2::Gdk::Window;
+our @ISA = qw();
+sub at_pointer { my ($_class) = @_ }
+sub begin_move_drag { my ($_window, $_button, $_root_x, $_root_y, $_timestamp) = @_ }
+sub begin_paint_rect { my ($_window, $_rectangle) = @_ }
+sub begin_paint_region { my ($_window, $_region) = @_ }
+sub begin_resize_drag { my ($_window, $_edge, $_button, $_root_x, $_root_y, $_timestamp) = @_ }
+sub clear { my ($_window) = @_ }
+sub clear_area { my ($_window, $_x, $_y, $_width, $_height) = @_ }
+sub clear_area_e { my ($_window, $_x, $_y, $_width, $_height) = @_ }
+sub configure_finished { my ($_window) = @_ }
+sub deiconify { my ($_window) = @_ }
+sub destroy { my ($_window) = @_ }
+sub enable_synchronized_configure { my ($_window) = @_ }
+sub end_paint { my ($_window) = @_ }
+sub focus { my ($_window, $_timestamp) = @_ }
+sub foreign_new { my ($_class, $_anid) = @_ }
+sub foreign_new_for_display { my ($_class, $_display, $_anid) = @_ }
+sub freeze_updates { my ($_window) = @_ }
+sub fullscreen { my ($_window) = @_ }
+sub gdk_set_sm_client_id { my ($_sm_client_id) = @_ }
+sub get_children { my ($_window) = @_ }
+sub get_decorations { my ($_window) = @_ }
+sub get_events { my ($_window) = @_ }
+sub get_frame_extents { my ($_window) = @_ }
+sub get_geometry { my ($_window) = @_ }
+sub get_group { my ($_window) = @_ }
+sub get_internal_paint_info { my ($_window) = @_ }
+sub get_origin { my ($_window) = @_ }
+sub get_parent { my ($_window) = @_ }
+sub get_pointer { my ($_window) = @_ }
+sub get_position { my ($_window) = @_ }
+sub get_root_origin { my ($_window) = @_ }
+sub get_state { my ($_window) = @_ }
+sub get_toplevel { my ($_window) = @_ }
+sub get_toplevels { my ($_class) = @_ }
+sub get_update_area { my ($_window) = @_ }
+sub get_user_data { my ($_window) = @_ }
+sub get_window_type { my ($_window) = @_ }
+sub hide { my ($_window) = @_ }
+sub iconify { my ($_window) = @_ }
+sub invalidate_maybe_recurse { my ($_window, $_region, $_func, $_o_data) = @_ }
+sub invalidate_rect { my ($_window, $_rectangle, $_invalidate_children) = @_ }
+sub invalidate_region { my ($_window, $_region, $_invalidate_children) = @_ }
+sub is_viewable { my ($_window) = @_ }
+sub is_visible { my ($_window) = @_ }
+sub lookup { my ($_class, $_anid) = @_ }
+sub lookup_for_display { my ($_class, $_display, $_anid) = @_ }
+sub lower { my ($_window) = @_ }
+sub maximize { my ($_window) = @_ }
+sub merge_child_shapes { my ($_window) = @_ }
+sub move { my ($_window, $_x, $_y) = @_ }
+sub move_region { my ($_window, $_region, $_dx, $_dy) = @_ }
+sub move_resize { my ($_window, $_x, $_y, $_width, $_height) = @_ }
+sub move_to_current_desktop { my ($_window) = @_ }
+sub new { my ($_class, $_parent, $_attributes_ref) = @_ }
+sub peek_children { my ($_window) = @_ }
+sub process_all_updates { my ($_class_or_instance) = @_ }
+sub process_updates { my ($_window, $_update_children) = @_ }
+sub property_change { my ($_window, $_property, $_type, $_format, $_mode, @_more_paras) = @_ }
+sub property_delete { my ($_window, $_property) = @_ }
+sub property_get { my ($_window, $_property, $_type, $_offset, $_length, $_pdelete) = @_ }
+sub raise { my ($_window) = @_ }
+sub register_dnd { my ($_window) = @_ }
+sub reparent { my ($_window, $_new_parent, $_x, $_y) = @_ }
+sub resize { my ($_window, $_width, $_height) = @_ }
+sub scroll { my ($_window, $_dx, $_dy) = @_ }
+sub set_accept_focus { my ($_window, $_accept_focus) = @_ }
+sub set_back_pixmap { my ($_window, $_pixmap, $_o_parent_relative) = @_ }
+sub set_background { my ($_window, $_color) = @_ }
+sub set_child_shapes { my ($_window) = @_ }
+sub set_cursor { my ($_window, $_cursor) = @_ }
+sub set_debug_updates { my ($_class_or_instance, $_enable) = @_ }
+sub set_decorations { my ($_window, $_decorations) = @_ }
+sub set_events { my ($_window, $_event_mask) = @_ }
+sub set_focus_on_map { my ($_window, $_focus_on_map) = @_ }
+sub set_functions { my ($_window, $_functions) = @_ }
+sub set_geometry_hints { my ($_window, $_geometry_ref, $_o_geom_mask_sv) = @_ }
+sub set_group { my ($_window, $_leader) = @_ }
+sub set_icon { my ($_window, $_icon_window, $_pixmap, $_mask) = @_ }
+sub set_icon_list { my ($_window, @_more_paras) = @_ }
+sub set_icon_name { my ($_window, $_name) = @_ }
+sub set_keep_above { my ($_window, $_setting) = @_ }
+sub set_keep_below { my ($_window, $_setting) = @_ }
+sub set_modal_hint { my ($_window, $_modal) = @_ }
+sub set_override_redirect { my ($_window, $_override_redirect) = @_ }
+sub set_role { my ($_window, $_role) = @_ }
+sub set_skip_pager_hint { my ($_window, $_skips_pager) = @_ }
+sub set_skip_taskbar_hint { my ($_window, $_skips_taskbar) = @_ }
+sub set_static_gravities { my ($_window, $_use_static) = @_ }
+sub set_title { my ($_window, $_title) = @_ }
+sub set_transient_for { my ($_window, $_parent) = @_ }
+sub set_type_hint { my ($_window, $_hint) = @_ }
+sub set_urgency_hint { my ($_window, $_urgent) = @_ }
+sub set_user_data { my ($_window, $_user_data) = @_ }
+sub set_user_time { my ($_window, $_timestamp) = @_ }
+sub shape_combine_mask { my ($_window, $_mask, $_x, $_y) = @_ }
+sub shape_combine_region { my ($_window, $_shape_region, $_offset_x, $_offset_y) = @_ }
+sub show { my ($_window) = @_ }
+sub show_unraised { my ($_window) = @_ }
+sub stick { my ($_window) = @_ }
+sub thaw_updates { my ($_window) = @_ }
+sub unfullscreen { my ($_window) = @_ }
+sub unmaximize { my ($_window) = @_ }
+sub unstick { my ($_window) = @_ }
+sub withdraw { my ($_window) = @_ }
+
+package Gtk2::Gdk::X11;
+our @ISA = qw();
+sub get_default_screen { my ($_class) = @_ }
+sub get_server_time { my ($_class, $_window) = @_ }
+sub grab_server { my ($_class) = @_ }
+sub net_wm_supports { my ($_class, $_property) = @_ }
+sub ungrab_server { my ($_class) = @_ }
+
+package Gtk2::HBox;
+our @ISA = qw();
+sub new { my ($_class, $_o_homogeneous, $_o_spacing) = @_ }
+
+package Gtk2::HButtonBox;
+our @ISA = qw();
+sub get_layout_default { my ($_class) = @_ }
+sub get_spacing_default { my ($_class) = @_ }
+sub new { my ($_class) = @_ }
+sub set_layout_default { my ($_class, $_layout) = @_ }
+sub set_spacing_default { my ($_class, $_spacing) = @_ }
+
+package Gtk2::HPaned;
+our @ISA = qw();
+sub new { my ($_class) = @_ }
+
+package Gtk2::HRuler;
+our @ISA = qw();
+sub new { my ($_class) = @_ }
+
+package Gtk2::HScale;
+our @ISA = qw();
+sub new { my ($_class, $_o_adjustment) = @_ }
+sub new_with_range { my ($_class, $_min, $_max, $_step) = @_ }
+
+package Gtk2::HScrollBar;
+our @ISA = qw();
+sub new { my ($_class, $_o_adjustment) = @_ }
+
+package Gtk2::HScrollbar;
+our @ISA = qw();
+sub new { my ($_class, $_o_adjustment) = @_ }
+
+package Gtk2::HSeparator;
+our @ISA = qw();
+sub new { my ($_class) = @_ }
+
+package Gtk2::HandleBox;
+our @ISA = qw();
+sub get_child_detached { my ($_handle_box) = @_ }
+sub get_handle_position { my ($_handle_box) = @_ }
+sub get_shadow_type { my ($_handle_box) = @_ }
+sub get_snap_edge { my ($_handle_box) = @_ }
+sub new { my ($_class) = @_ }
+sub set_handle_position { my ($_handle_box, $_position) = @_ }
+sub set_shadow_type { my ($_handle_box, $_type) = @_ }
+sub set_snap_edge { my ($_handle_box, $_edge) = @_ }
+
+package Gtk2::IconFactory;
+our @ISA = qw();
+sub add { my ($_factory, $_stock_id, $_icon_set) = @_ }
+sub add_default { my ($_factory) = @_ }
+sub lookup { my ($_factory, $_stock_id) = @_ }
+sub lookup_default { my ($_class, $_stock_id) = @_ }
+sub new { my ($_class) = @_ }
+sub remove_default { my ($_factory) = @_ }
+
+package Gtk2::IconInfo;
+our @ISA = qw();
+sub get_attach_points { my ($_icon_info) = @_ }
+sub get_base_size { my ($_icon_info) = @_ }
+sub get_builtin_pixbuf { my ($_icon_info) = @_ }
+sub get_display_name { my ($_icon_info) = @_ }
+sub get_embedded_rect { my ($_icon_info) = @_ }
+sub get_filename { my ($_icon_info) = @_ }
+sub load_icon { my ($_icon_info) = @_ }
+sub set_raw_coordinates { my ($_icon_info, $_raw_coordinates) = @_ }
+
+package Gtk2::IconSet;
+our @ISA = qw();
+sub add_source { my ($_icon_set, $_source) = @_ }
+sub get_sizes { my ($_icon_set) = @_ }
+sub new { my ($_class) = @_ }
+sub new_from_pixbuf { my ($_class, $_pixbuf) = @_ }
+sub render_icon { my ($_icon_set, $_style, $_direction, $_state, $_size, $_widget, $_o_detail) = @_ }
+
+package Gtk2::IconSize;
+our @ISA = qw();
+sub from_name { my ($_class, $_name) = @_ }
+sub lookup { my ($_class, $_size) = @_ }
+sub lookup_for_settings { my ($_class, $_settings, $_size) = @_ }
+sub register { my ($_class, $_name, $_width, $_height) = @_ }
+sub register_alias { my ($_class, $_alias, $_target) = @_ }
+
+package Gtk2::IconSource;
+our @ISA = qw();
+sub get_direction { my ($_source) = @_ }
+sub get_direction_wildcarded { my ($_source) = @_ }
+sub get_filename { my ($_source) = @_ }
+sub get_icon_name { my ($_source) = @_ }
+sub get_pixbuf { my ($_source) = @_ }
+sub get_size { my ($_source) = @_ }
+sub get_size_wildcarded { my ($_source) = @_ }
+sub get_state { my ($_source) = @_ }
+sub get_state_wildcarded { my ($_source) = @_ }
+sub new { my ($_class) = @_ }
+sub set_direction { my ($_source, $_direction) = @_ }
+sub set_direction_wildcarded { my ($_source, $_setting) = @_ }
+sub set_filename { my ($_source, $_filename) = @_ }
+sub set_icon_name { my ($_source, $_icon_name) = @_ }
+sub set_pixbuf { my ($_source, $_pixbuf) = @_ }
+sub set_size { my ($_source, $_size) = @_ }
+sub set_size_wildcarded { my ($_source, $_setting) = @_ }
+sub set_state { my ($_source, $_state) = @_ }
+sub set_state_wildcarded { my ($_source, $_setting) = @_ }
+
+package Gtk2::IconTheme;
+our @ISA = qw();
+sub add_builtin_icon { my ($_class, $_icon_name, $_size, $_pixbuf) = @_ }
+sub append_search_path { my ($_icon_theme, $_path) = @_ }
+sub get_default { my ($_class) = @_ }
+sub get_example_icon_name { my ($_icon_theme) = @_ }
+sub get_for_screen { my ($_class, $_screen) = @_ }
+sub get_icon_sizes { my ($_icon_theme, $_icon_name) = @_ }
+sub get_search_path { my ($_icon_theme) = @_ }
+sub has_icon { my ($_icon_theme, $_icon_name) = @_ }
+sub list_icons { my ($_icon_theme, $_context) = @_ }
+sub load_icon { my ($_icon_theme, $_icon_name, $_size, $_flags) = @_ }
+sub lookup_icon { my ($_icon_theme, $_icon_name, $_size, $_flags) = @_ }
+sub new { my ($_class) = @_ }
+sub prepend_search_path { my ($_icon_theme, $_path) = @_ }
+sub rescan_if_needed { my ($_icon_theme) = @_ }
+sub set_custom_theme { my ($_icon_theme, $_theme_name) = @_ }
+sub set_screen { my ($_icon_theme, $_screen) = @_ }
+sub set_search_path { my ($_icon_theme, @_more_paras) = @_ }
+
+package Gtk2::IconView;
+our @ISA = qw();
+sub create_drag_icon { my ($_icon_view, $_path) = @_ }
+sub enable_model_drag_dest { my ($_icon_view, $_actions, @_more_paras) = @_ }
+sub enable_model_drag_source { my ($_icon_view, $_start_button_mask, $_actions, @_more_paras) = @_ }
+sub get_column_spacing { my ($_icon_view) = @_ }
+sub get_columns { my ($_icon_view) = @_ }
+sub get_cursor { my ($_icon_view) = @_ }
+sub get_dest_item_at_pos { my ($_icon_view, $_drag_x, $_drag_y) = @_ }
+sub get_drag_dest_item { my ($_icon_view) = @_ }
+sub get_item_at_pos { my ($_icon_view, $_x, $_y) = @_ }
+sub get_item_width { my ($_icon_view) = @_ }
+sub get_margin { my ($_icon_view) = @_ }
+sub get_markup_column { my ($_icon_view) = @_ }
+sub get_model { my ($_icon_view) = @_ }
+sub get_orientation { my ($_icon_view) = @_ }
+sub get_path_at_pos { my ($_icon_view, $_x, $_y) = @_ }
+sub get_pixbuf_column { my ($_icon_view) = @_ }
+sub get_reorderable { my ($_icon_view) = @_ }
+sub get_row_spacing { my ($_icon_view) = @_ }
+sub get_selected_items { my ($_icon_view) = @_ }
+sub get_selection_mode { my ($_icon_view) = @_ }
+sub get_spacing { my ($_icon_view) = @_ }
+sub get_text_column { my ($_icon_view) = @_ }
+sub get_visible_range { my ($_icon_view) = @_ }
+sub item_activated { my ($_icon_view, $_path) = @_ }
+sub new { my ($_class) = @_ }
+sub new_with_model { my ($_class, $_model) = @_ }
+sub path_is_selected { my ($_icon_view, $_path) = @_ }
+sub scroll_to_path { my ($_icon_view, $_path, $_use_align, $_row_align, $_col_align) = @_ }
+sub select_all { my ($_icon_view) = @_ }
+sub select_path { my ($_icon_view, $_path) = @_ }
+sub selected_foreach { my ($_icon_view, $_func, $_o_data) = @_ }
+sub set_column_spacing { my ($_icon_view, $_column_spacing) = @_ }
+sub set_columns { my ($_icon_view, $_columns) = @_ }
+sub set_cursor { my ($_icon_view, $_path, $_cell, $_start_editing) = @_ }
+sub set_drag_dest_item { my ($_icon_view, $_path, $_pos) = @_ }
+sub set_item_width { my ($_icon_view, $_item_width) = @_ }
+sub set_margin { my ($_icon_view, $_margin) = @_ }
+sub set_markup_column { my ($_icon_view, $_column) = @_ }
+sub set_model { my ($_icon_view, $_model) = @_ }
+sub set_orientation { my ($_icon_view, $_orientation) = @_ }
+sub set_pixbuf_column { my ($_icon_view, $_column) = @_ }
+sub set_reorderable { my ($_icon_view, $_reorderable) = @_ }
+sub set_row_spacing { my ($_icon_view, $_row_spacing) = @_ }
+sub set_selection_mode { my ($_icon_view, $_mode) = @_ }
+sub set_spacing { my ($_icon_view, $_spacing) = @_ }
+sub set_text_column { my ($_icon_view, $_column) = @_ }
+sub unselect_all { my ($_icon_view) = @_ }
+sub unselect_path { my ($_icon_view, $_path) = @_ }
+sub unset_model_drag_dest { my ($_icon_view) = @_ }
+sub unset_model_drag_source { my ($_icon_view) = @_ }
+
+package Gtk2::Image;
+our @ISA = qw();
+sub clear { my ($_image) = @_ }
+sub get_animation { my ($_image) = @_ }
+sub get_icon_name { my ($_image) = @_ }
+sub get_icon_set { my ($_image) = @_ }
+sub get_image { my ($_image) = @_ }
+sub get_pixbuf { my ($_image) = @_ }
+sub get_pixel_size { my ($_image) = @_ }
+sub get_pixmap { my ($_image) = @_ }
+sub get_stock { my ($_image) = @_ }
+sub get_storage_type { my ($_image) = @_ }
+sub new { my ($_class) = @_ }
+sub new_from_animation { my ($_class, $_animation) = @_ }
+sub new_from_file { my ($_class, $_filename) = @_ }
+sub new_from_icon_name { my ($_class, $_icon_name, $_size) = @_ }
+sub new_from_icon_set { my ($_class, $_icon_set, $_size) = @_ }
+sub new_from_image { my ($_class, $_image, $_mask) = @_ }
+sub new_from_pixbuf { my ($_class, $_pixbuf) = @_ }
+sub new_from_pixmap { my ($_class, $_pixmap, $_mask) = @_ }
+sub new_from_stock { my ($_class, $_stock_id, $_size) = @_ }
+sub set_from_animation { my ($_image, $_animation) = @_ }
+sub set_from_file { my ($_image, $_filename) = @_ }
+sub set_from_icon_name { my ($_image, $_icon_name, $_size) = @_ }
+sub set_from_icon_set { my ($_image, $_icon_set, $_size) = @_ }
+sub set_from_image { my ($_image, $_gdk_image, $_mask) = @_ }
+sub set_from_pixbuf { my ($_image, $_pixbuf) = @_ }
+sub set_from_pixmap { my ($_image, $_pixmap, $_mask) = @_ }
+sub set_from_stock { my ($_image, $_stock_id, $_size) = @_ }
+sub set_pixel_size { my ($_image, $_pixel_size) = @_ }
+
+package Gtk2::ImageMenuItem;
+our @ISA = qw();
+sub get_image { my ($_image_menu_item) = @_ }
+sub new { my ($_class, $_o_label) = @_ }
+sub new_from_stock { my ($_class, $_stock_id, $_o_accel_group) = @_ }
+sub new_with_label { my ($_class, $_o_label) = @_ }
+sub new_with_mnemonic { my ($_class, $_o_label) = @_ }
+sub set_image { my ($_image_menu_item, $_image) = @_ }
+
+package Gtk2::InputDialog;
+our @ISA = qw();
+sub new { my ($_class) = @_ }
+
+package Gtk2::Invisible;
+our @ISA = qw();
+sub get_screen { my ($_invisible) = @_ }
+sub new { my ($_class) = @_ }
+sub new_for_screen { my ($_class, $_screen) = @_ }
+sub set_screen { my ($_invisible, $_screen) = @_ }
+
+package Gtk2::Item;
+our @ISA = qw();
+sub deselect { my ($_item) = @_ }
+sub select { my ($_item) = @_ }
+sub toggle { my ($_item) = @_ }
+
+package Gtk2::ItemFactory;
+our @ISA = qw();
+sub create_item { my ($_ifactory, $_entry_ref, $_o_callback_data) = @_ }
+sub create_items { my ($_ifactory, $_callback_data, @_more_paras) = @_ }
+sub delete_entries { my ($_ifactory, @_more_paras) = @_ }
+sub delete_entry { my ($_ifactory, $_entry_ref) = @_ }
+sub delete_item { my ($_ifactory, $_path) = @_ }
+sub from_widget { my ($_class, $_widget) = @_ }
+sub get_item { my ($_ifactory, $_path) = @_ }
+sub get_item_by_action { my ($_ifactory, $_action) = @_ }
+sub get_widget { my ($_ifactory, $_path) = @_ }
+sub get_widget_by_action { my ($_ifactory, $_action) = @_ }
+sub new { my ($_class, $_container_type_package, $_path, $_o_accel_group) = @_ }
+sub path_from_widget { my ($_class, $_widget) = @_ }
+sub popup { my ($_ifactory, $_x, $_y, $_mouse_button, $_time_, $_o_popup_data) = @_ }
+sub popup_data { my ($_ifactory) = @_ }
+sub popup_data_from_widget { my ($_class, $_widget) = @_ }
+sub set_translate_func { my ($_ifactory, $_func, $_o_data) = @_ }
+
+package Gtk2::Label;
+our @ISA = qw();
+sub get_angle { my ($_label) = @_ }
+sub get_attributes { my ($_label) = @_ }
+sub get_ellipsize { my ($_label) = @_ }
+sub get_justify { my ($_label) = @_ }
+sub get_label { my ($_label) = @_ }
+sub get_layout { my ($_label) = @_ }
+sub get_layout_offsets { my ($_label) = @_ }
+sub get_line_wrap { my ($_label) = @_ }
+sub get_max_width_chars { my ($_label) = @_ }
+sub get_mnemonic_keyval { my ($_label) = @_ }
+sub get_mnemonic_widget { my ($_label) = @_ }
+sub get_selectable { my ($_label) = @_ }
+sub get_selection_bounds { my ($_label) = @_ }
+sub get_single_line_mode { my ($_label) = @_ }
+sub get_text { my ($_label) = @_ }
+sub get_use_markup { my ($_label) = @_ }
+sub get_use_underline { my ($_label) = @_ }
+sub get_width_chars { my ($_label) = @_ }
+sub new { my ($_class, $_o_str) = @_ }
+sub new_with_mnemonic { my ($_class, $_str) = @_ }
+sub select_region { my ($_label, $_o_start_offset, $_o_end_offset) = @_ }
+sub set_angle { my ($_label, $_angle) = @_ }
+sub set_attributes { my ($_label, $_attrs) = @_ }
+sub set_ellipsize { my ($_label, $_mode) = @_ }
+sub set_justify { my ($_label, $_jtype) = @_ }
+sub set_label { my ($_label, $_str) = @_ }
+sub set_line_wrap { my ($_label, $_wrap) = @_ }
+sub set_markup { my ($_label, $_str) = @_ }
+sub set_markup_with_mnemonic { my ($_label, $_str) = @_ }
+sub set_max_width_chars { my ($_label, $_n_chars) = @_ }
+sub set_mnemonic_widget { my ($_label, $_widget) = @_ }
+sub set_pattern { my ($_label, $_pattern) = @_ }
+sub set_selectable { my ($_label, $_setting) = @_ }
+sub set_single_line_mode { my ($_label, $_single_line_mode) = @_ }
+sub set_text { my ($_label, $_str) = @_ }
+sub set_text_with_mnemonic { my ($_label, $_str) = @_ }
+sub set_use_markup { my ($_label, $_setting) = @_ }
+sub set_use_underline { my ($_label, $_setting) = @_ }
+sub set_width_chars { my ($_label, $_n_chars) = @_ }
+
+package Gtk2::Layout;
+our @ISA = qw();
+sub freeze { my ($_layout) = @_ }
+sub get_hadjustment { my ($_layout) = @_ }
+sub get_size { my ($_layout) = @_ }
+sub get_vadjustment { my ($_layout) = @_ }
+sub move { my ($_layout, $_child_widget, $_x, $_y) = @_ }
+sub new { my ($_class, $_o_hadjustment, $_o_vadjustment) = @_ }
+sub put { my ($_layout, $_child_widget, $_x, $_y) = @_ }
+sub set_hadjustment { my ($_layout, $_adjustment) = @_ }
+sub set_size { my ($_layout, $_width, $_height) = @_ }
+sub set_vadjustment { my ($_layout, $_adjustment) = @_ }
+sub thaw { my ($_layout) = @_ }
+
+package Gtk2::List;
+our @ISA = qw();
+sub append_items { my ($_list, @_more_paras) = @_ }
+sub child_position { my ($_list, $_child) = @_ }
+sub clear_items { my ($_list, $_start, $_end) = @_ }
+sub end_drag_selection { my ($_list) = @_ }
+sub end_selection { my ($_list) = @_ }
+sub extend_selection { my ($_list, $_scroll_type, $_position, $_auto_start_selection) = @_ }
+sub insert_items { my ($_list, $_position, @_more_paras) = @_ }
+sub new { my ($_class) = @_ }
+sub prepend_items { my ($_list, @_more_paras) = @_ }
+sub remove_items { my ($_list, @_more_paras) = @_ }
+sub scroll_horizontal { my ($_list, $_scroll_type, $_position) = @_ }
+sub scroll_vertical { my ($_list, $_scroll_type, $_position) = @_ }
+sub select_all { my ($_list) = @_ }
+sub select_child { my ($_list, $_child) = @_ }
+sub select_item { my ($_list, $_item) = @_ }
+sub set_selection_mode { my ($_list, $_mode) = @_ }
+sub start_selection { my ($_list) = @_ }
+sub toggle_add_mode { my ($_list) = @_ }
+sub toggle_focus_row { my ($_list) = @_ }
+sub toggle_row { my ($_list, $_item) = @_ }
+sub undo_selection { my ($_list) = @_ }
+sub unselect_all { my ($_list) = @_ }
+sub unselect_child { my ($_list, $_child) = @_ }
+sub unselect_item { my ($_list, $_item) = @_ }
+
+package Gtk2::ListItem;
+our @ISA = qw();
+sub deselect { my ($_list_item) = @_ }
+sub new { my ($_class, $_o_label) = @_ }
+sub new_with_label { my ($_class, $_o_label) = @_ }
+sub select { my ($_list_item) = @_ }
+
+package Gtk2::ListStore;
+our @ISA = qw();
+sub append { my ($_list_store) = @_ }
+sub clear { my ($_list_store) = @_ }
+sub insert { my ($_list_store, $_position) = @_ }
+sub insert_after { my ($_list_store, $_sibling) = @_ }
+sub insert_before { my ($_list_store, $_sibling) = @_ }
+sub insert_with_values { my ($_list_store, $_position, @_more_paras) = @_ }
+sub iter_is_valid { my ($_list_store, $_iter) = @_ }
+sub move_after { my ($_store, $_iter, $_position) = @_ }
+sub move_before { my ($_store, $_iter, $_position) = @_ }
+sub new { my ($_class, @_more_paras) = @_ }
+sub prepend { my ($_list_store) = @_ }
+sub remove { my ($_list_store, $_iter) = @_ }
+sub reorder { my ($_store, @_more_paras) = @_ }
+sub set { my ($_list_store, $_iter, $_col1, $_val1, @_more_paras) = @_ }
+sub set_column_types { my ($_list_store, @_more_paras) = @_ }
+sub set_value { my ($_list_store, $_iter, $_col1, $_val1, @_more_paras) = @_ }
+sub swap { my ($_store, $_a, $_b) = @_ }
+
+package Gtk2::Menu;
+our @ISA = qw();
+sub attach { my ($_menu, $_child, $_left_attach, $_right_attach, $_top_attach, $_bottom_attach) = @_ }
+sub attach_to_widget { my ($_menu, $_attach_widget, $_detacher) = @_ }
+sub detach { my ($_menu) = @_ }
+sub get_accel_group { my ($_menu) = @_ }
+sub get_active { my ($_menu) = @_ }
+sub get_attach_widget { my ($_menu) = @_ }
+sub get_for_attach_widget { my ($_class, $_widget) = @_ }
+sub get_tearoff_state { my ($_menu) = @_ }
+sub get_title { my ($_menu) = @_ }
+sub new { my ($_class) = @_ }
+sub popdown { my ($_menu) = @_ }
+sub popup { my ($_menu, $_parent_menu_shell, $_parent_menu_item, $_menu_pos_func, $_data, $_button, $_activate_time) = @_ }
+sub reorder_child { my ($_menu, $_child, $_position) = @_ }
+sub reposition { my ($_menu) = @_ }
+sub set_accel_group { my ($_menu, $_accel_group) = @_ }
+sub set_accel_path { my ($_menu, $_accel_path) = @_ }
+sub set_active { my ($_menu, $_index) = @_ }
+sub set_monitor { my ($_menu, $_monitor_num) = @_ }
+sub set_screen { my ($_menu, $_screen) = @_ }
+sub set_tearoff_state { my ($_menu, $_torn_off) = @_ }
+sub set_title { my ($_menu, $_title) = @_ }
+
+package Gtk2::MenuBar;
+our @ISA = qw();
+sub get_child_pack_direction { my ($_menubar) = @_ }
+sub get_pack_direction { my ($_menubar) = @_ }
+sub new { my ($_class) = @_ }
+sub set_child_pack_direction { my ($_menubar, $_child_pack_dir) = @_ }
+sub set_pack_direction { my ($_menubar, $_pack_dir) = @_ }
+
+package Gtk2::MenuItem;
+our @ISA = qw();
+sub activate { my ($_menu_item) = @_ }
+sub deselect { my ($_menu_item) = @_ }
+sub get_right_justified { my ($_menu_item) = @_ }
+sub get_submenu { my ($_menu_item) = @_ }
+sub new { my ($_class, $_o_label) = @_ }
+sub new_with_label { my ($_class, $_o_label) = @_ }
+sub new_with_mnemonic { my ($_class, $_o_label) = @_ }
+sub remove_submenu { my ($_menu_item) = @_ }
+sub select { my ($_menu_item) = @_ }
+sub set_accel_path { my ($_menu_item, $_accel_path) = @_ }
+sub set_right_justified { my ($_menu_item, $_right_justified) = @_ }
+sub set_submenu { my ($_menu_item, $_submenu) = @_ }
+sub toggle_size_allocate { my ($_menu_item, $_allocation) = @_ }
+sub toggle_size_request { my ($_menu_item) = @_ }
+
+package Gtk2::MenuShell;
+our @ISA = qw();
+sub activate_item { my ($_menu_shell, $_menu_item, $_force_deactivate) = @_ }
+sub append { my ($_menu_shell, $_child) = @_ }
+sub cancel { my ($_menu_shell) = @_ }
+sub deactivate { my ($_menu_shell) = @_ }
+sub deselect { my ($_menu_shell) = @_ }
+sub get_take_focus { my ($_menu_shell) = @_ }
+sub insert { my ($_menu_shell, $_child, $_position) = @_ }
+sub prepend { my ($_menu_shell, $_child) = @_ }
+sub select_first { my ($_menu_shell, $_search_sensitive) = @_ }
+sub select_item { my ($_menu_shell, $_menu_item) = @_ }
+sub set_take_focus { my ($_menu_shell, $_take_focus) = @_ }
+
+package Gtk2::MenuToolButton;
+our @ISA = qw();
+sub get_menu { my ($_button) = @_ }
+sub new { my ($_class, $_icon_widget, $_label) = @_ }
+sub new_from_stock { my ($_class, $_stock_id) = @_ }
+sub set_arrow_tooltip { my ($_button, $_tooltips, $_tip_text, $_tip_private) = @_ }
+sub set_menu { my ($_button, $_menu) = @_ }
+
+package Gtk2::MessageDialog;
+our @ISA = qw();
+sub format_secondary_markup { my ($_message_dialog, $_message) = @_ }
+sub format_secondary_text { my ($_message_dialog, $_message_format, @_more_paras) = @_ }
+sub new { my ($_class, $_parent, $_flags, $_type, $_buttons, $_format, @_more_paras) = @_ }
+sub new_with_markup { my ($_class, $_parent, $_flags, $_type, $_buttons, $_message) = @_ }
+sub set_markup { my ($_message_dialog, $_str) = @_ }
+
+package Gtk2::Misc;
+our @ISA = qw();
+sub get_alignment { my ($_misc) = @_ }
+sub get_padding { my ($_misc) = @_ }
+sub set_alignment { my ($_misc, $_xalign, $_yalign) = @_ }
+sub set_padding { my ($_misc, $_xpad, $_ypad) = @_ }
+
+package Gtk2::Notebook;
+our @ISA = qw();
+sub append_page { my ($_notebook, $_child, $_o_tab_label) = @_ }
+sub append_page_menu { my ($_notebook, $_child, $_tab_label, $_menu_label) = @_ }
+sub get_current_page { my ($_notebook) = @_ }
+sub get_menu_label { my ($_notebook, $_child) = @_ }
+sub get_menu_label_text { my ($_notebook, $_child) = @_ }
+sub get_n_pages { my ($_notebook) = @_ }
+sub get_nth_page { my ($_notebook, $_page_num) = @_ }
+sub get_scrollable { my ($_notebook) = @_ }
+sub get_show_border { my ($_notebook) = @_ }
+sub get_show_tabs { my ($_notebook) = @_ }
+sub get_tab_label { my ($_notebook, $_child) = @_ }
+sub get_tab_label_text { my ($_notebook, $_child) = @_ }
+sub get_tab_pos { my ($_notebook) = @_ }
+sub insert_page { my ($_notebook, $_child, $_tab_label, $_position) = @_ }
+sub insert_page_menu { my ($_notebook, $_child, $_tab_label, $_menu_label, $_position) = @_ }
+sub new { my ($_class) = @_ }
+sub next_page { my ($_notebook) = @_ }
+sub page_num { my ($_notebook, $_child) = @_ }
+sub popup_disable { my ($_notebook) = @_ }
+sub popup_enable { my ($_notebook) = @_ }
+sub prepend_page { my ($_notebook, $_child, $_o_tab_label) = @_ }
+sub prepend_page_menu { my ($_notebook, $_child, $_tab_label, $_menu_label) = @_ }
+sub prev_page { my ($_notebook) = @_ }
+sub query_tab_label_packing { my ($_notebook, $_child) = @_ }
+sub remove_page { my ($_notebook, $_page_num) = @_ }
+sub reorder_child { my ($_notebook, $_child, $_position) = @_ }
+sub set_current_page { my ($_notebook, $_page_num) = @_ }
+sub set_menu_label { my ($_notebook, $_child, $_o_menu_label) = @_ }
+sub set_menu_label_text { my ($_notebook, $_child, $_menu_text) = @_ }
+sub set_scrollable { my ($_notebook, $_scrollable) = @_ }
+sub set_show_border { my ($_notebook, $_show_border) = @_ }
+sub set_show_tabs { my ($_notebook, $_show_tabs) = @_ }
+sub set_tab_border { my ($_notebook, $_border_width) = @_ }
+sub set_tab_hborder { my ($_notebook, $_tab_hborder) = @_ }
+sub set_tab_label { my ($_notebook, $_child, $_o_tab_label) = @_ }
+sub set_tab_label_packing { my ($_notebook, $_child, $_expand, $_fill, $_pack_type) = @_ }
+sub set_tab_label_text { my ($_notebook, $_child, $_tab_text) = @_ }
+sub set_tab_pos { my ($_notebook, $_pos) = @_ }
+sub set_tab_vborder { my ($_notebook, $_tab_vborder) = @_ }
+
+package Gtk2::Object;
+our @ISA = qw();
+sub destroy { my ($_object) = @_ }
+sub new { my ($_class, $_object_class, @_more_paras) = @_ }
+
+package Gtk2::OptionMenu;
+our @ISA = qw();
+sub get_history { my ($_option_menu) = @_ }
+sub get_menu { my ($_option_menu) = @_ }
+sub new { my ($_class) = @_ }
+sub remove_menu { my ($_option_menu) = @_ }
+sub set_history { my ($_option_menu, $_index) = @_ }
+sub set_menu { my ($_option_menu, $_menu) = @_ }
+
+package Gtk2::Paned;
+our @ISA = qw();
+sub add1 { my ($_paned, $_child) = @_ }
+sub add2 { my ($_paned, $_child) = @_ }
+sub child1 { my ($_paned) = @_ }
+sub child1_resize { my ($_paned, $_o_newval) = @_ }
+sub child1_shrink { my ($_paned, $_o_newval) = @_ }
+sub child2 { my ($_paned) = @_ }
+sub child2_resize { my ($_paned, $_o_newval) = @_ }
+sub child2_shrink { my ($_paned, $_o_newval) = @_ }
+sub compute_position { my ($_paned, $_allocation, $_child1_req, $_child2_req) = @_ }
+sub get_child1 { my ($_paned) = @_ }
+sub get_child2 { my ($_paned) = @_ }
+sub get_position { my ($_paned) = @_ }
+sub pack1 { my ($_paned, $_child, $_resize, $_shrink) = @_ }
+sub pack2 { my ($_paned, $_child, $_resize, $_shrink) = @_ }
+sub set_position { my ($_paned, $_position) = @_ }
+
+package Gtk2::Pango;
+our @ISA = qw();
+sub CHECK_VERSION { my ($_class, $_major, $_minor, $_micro) = @_ }
+sub GET_VERSION_INFO { my ($_class) = @_ }
+sub PANGO_PIXELS { my ($_class, $_d) = @_ }
+sub find_base_dir { my ($_class, $_text) = @_ }
+sub parse_markup { my ($_class, $_markup_text, $_markup_text, $_o_accel_marker) = @_ }
+sub pixels { my ($_class, $_d) = @_ }
+sub scale { my ($_class) = @_ }
+sub scale_large { my ($_class) = @_ }
+sub scale_medium { my ($_class) = @_ }
+sub scale_small { my ($_class) = @_ }
+sub scale_x_large { my ($_class) = @_ }
+sub scale_x_small { my ($_class) = @_ }
+sub scale_xx_large { my ($_class) = @_ }
+sub scale_xx_small { my ($_class) = @_ }
+
+package Gtk2::Pango::Cairo;
+our @ISA = qw();
+sub create_layout { my ($_cr) = @_ }
+sub glyph_string_path { my ($_cr, $_font, $_glyphs) = @_ }
+sub layout_path { my ($_cr, $_layout) = @_ }
+sub show_glyph_string { my ($_cr, $_font, $_glyphs) = @_ }
+sub show_layout { my ($_cr, $_layout) = @_ }
+sub update_context { my ($_cr, $_context) = @_ }
+sub update_layout { my ($_cr, $_layout) = @_ }
+
+package Gtk2::Pango::Cairo::Context;
+our @ISA = qw();
+sub get_font_options { my ($_context) = @_ }
+sub get_resolution { my ($_context) = @_ }
+sub set_font_options { my ($_context, $_options) = @_ }
+sub set_resolution { my ($_context, $_dpi) = @_ }
+
+package Gtk2::Pango::Cairo::FontMap;
+our @ISA = qw();
+sub create_context { my ($_fontmap) = @_ }
+sub get_default { my ($_class) = @_ }
+sub get_resolution { my ($_fontmap) = @_ }
+sub new { my ($_class) = @_ }
+sub set_resolution { my ($_fontmap, $_dpi) = @_ }
+
+package Gtk2::Pango::Context;
+our @ISA = qw();
+sub get_base_dir { my ($_context) = @_ }
+sub get_font_description { my ($_context) = @_ }
+sub get_font_map { my ($_context) = @_ }
+sub get_language { my ($_context) = @_ }
+sub get_matrix { my ($_context) = @_ }
+sub get_metrics { my ($_context, $_desc, $_language) = @_ }
+sub list_families { my ($_context) = @_ }
+sub load_font { my ($_context, $_desc) = @_ }
+sub load_fontset { my ($_context, $_desc, $_language) = @_ }
+sub set_base_dir { my ($_context, $_direction) = @_ }
+sub set_font_description { my ($_context, $_desc) = @_ }
+sub set_language { my ($_context, $_language) = @_ }
+sub set_matrix { my ($_context, $_matrix) = @_ }
+
+package Gtk2::Pango::Font;
+our @ISA = qw();
+sub describe { my ($_font) = @_ }
+sub get_glyph_extents { my ($_font, $_glyph) = @_ }
+sub get_metrics { my ($_font, $_language) = @_ }
+
+package Gtk2::Pango::FontDescription;
+our @ISA = qw();
+sub better_match { my ($_desc, $_old_match, $_new_match) = @_ }
+sub equal { my ($_desc1, $_desc2) = @_ }
+sub from_string { my ($_class, $_str) = @_ }
+sub get_family { my ($_desc) = @_ }
+sub get_set_fields { my ($_desc) = @_ }
+sub get_size { my ($_desc) = @_ }
+sub get_size_is_absolute { my ($_desc) = @_ }
+sub get_stretch { my ($_desc) = @_ }
+sub get_style { my ($_desc) = @_ }
+sub get_variant { my ($_desc) = @_ }
+sub get_weight { my ($_desc) = @_ }
+sub hash { my ($_desc) = @_ }
+sub merge { my ($_desc, $_desc_to_merge, $_replace_existing) = @_ }
+sub merge_static { my ($_desc, $_desc_to_merge, $_replace_existing) = @_ }
+sub new { my ($_class) = @_ }
+sub set_absolute_size { my ($_desc, $_size) = @_ }
+sub set_family { my ($_desc, $_family) = @_ }
+sub set_family_static { my ($_desc, $_family) = @_ }
+sub set_size { my ($_desc, $_size) = @_ }
+sub set_stretch { my ($_desc, $_stretch) = @_ }
+sub set_style { my ($_desc, $_style) = @_ }
+sub set_variant { my ($_desc, $_variant) = @_ }
+sub set_weight { my ($_desc, $_weight) = @_ }
+sub to_filename { my ($_desc) = @_ }
+sub to_string { my ($_desc) = @_ }
+sub unset_fields { my ($_desc, $_to_unset) = @_ }
+
+package Gtk2::Pango::FontFace;
+our @ISA = qw();
+sub describe { my ($_face) = @_ }
+sub get_face_name { my ($_face) = @_ }
+sub list_sizes { my ($_face) = @_ }
+
+package Gtk2::Pango::FontFamily;
+our @ISA = qw();
+sub get_name { my ($_family) = @_ }
+sub is_monospace { my ($_family) = @_ }
+sub list_faces { my ($_family) = @_ }
+
+package Gtk2::Pango::FontMap;
+our @ISA = qw();
+sub list_families { my ($_fontmap) = @_ }
+sub load_font { my ($_fontmap, $_context, $_desc) = @_ }
+sub load_fontset { my ($_fontmap, $_context, $_desc, $_language) = @_ }
+
+package Gtk2::Pango::FontMetrics;
+our @ISA = qw();
+sub get_approximate_char_width { my ($_metrics) = @_ }
+sub get_approximate_digit_width { my ($_metrics) = @_ }
+sub get_ascent { my ($_metrics) = @_ }
+sub get_descent { my ($_metrics) = @_ }
+sub get_strikethrough_position { my ($_metrics) = @_ }
+sub get_strikethrough_thickness { my ($_metrics) = @_ }
+sub get_underline_position { my ($_metrics) = @_ }
+sub get_underline_thickness { my ($_metrics) = @_ }
+
+package Gtk2::Pango::Fontset;
+our @ISA = qw();
+sub Gtk2::Pango::Fontset::foreach { my ($_fontset, $_func, $_o_data) = @_ }
+sub get_font { my ($_fontset, $_wc) = @_ }
+sub get_metrics { my ($_fontset) = @_ }
+
+package Gtk2::Pango::Language;
+our @ISA = qw();
+sub from_string { my ($_class, $_language) = @_ }
+sub includes_script { my ($_language, $_script) = @_ }
+sub matches { my ($_language, $_range_list) = @_ }
+sub to_string { my ($_language) = @_ }
+
+package Gtk2::Pango::Layout;
+our @ISA = qw();
+sub context_changed { my ($_layout) = @_ }
+sub copy { my ($_src) = @_ }
+sub get_alignment { my ($_layout) = @_ }
+sub get_attributes { my ($_layout) = @_ }
+sub get_auto_dir { my ($_layout) = @_ }
+sub get_context { my ($_layout) = @_ }
+sub get_cursor_pos { my ($_layout, $_index_) = @_ }
+sub get_ellipsize { my ($_layout) = @_ }
+sub get_extents { my ($_layout) = @_ }
+sub get_font_description { my ($_layout) = @_ }
+sub get_indent { my ($_layout) = @_ }
+sub get_iter { my ($_layout) = @_ }
+sub get_justify { my ($_layout) = @_ }
+sub get_line_count { my ($_layout) = @_ }
+sub get_log_attrs { my ($_layout) = @_ }
+sub get_pixel_extents { my ($_layout) = @_ }
+sub get_pixel_size { my ($_layout) = @_ }
+sub get_single_paragraph_mode { my ($_layout) = @_ }
+sub get_size { my ($_layout) = @_ }
+sub get_spacing { my ($_layout) = @_ }
+sub get_tabs { my ($_layout) = @_ }
+sub get_text { my ($_layout) = @_ }
+sub get_width { my ($_layout) = @_ }
+sub get_wrap { my ($_layout) = @_ }
+sub index_to_pos { my ($_layout, $_index_) = @_ }
+sub move_cursor_visually { my ($_layout, $_strong, $_old_index, $_old_trailing, $_direction) = @_ }
+sub new { my ($_class, $_context) = @_ }
+sub set_alignment { my ($_layout, $_alignment) = @_ }
+sub set_attributes { my ($_layout, $_attrs) = @_ }
+sub set_auto_dir { my ($_layout, $_auto_dir) = @_ }
+sub set_ellipsize { my ($_layout, $_ellipsize) = @_ }
+sub set_font_description { my ($_layout, $_desc) = @_ }
+sub set_indent { my ($_layout, $_newval) = @_ }
+sub set_justify { my ($_layout, $_newval) = @_ }
+sub set_markup { my ($_layout, $_markup, $_markup) = @_ }
+sub set_markup_with_accel { my ($_layout, $_markup, $_markup, $_accel_marker) = @_ }
+sub set_single_paragraph_mode { my ($_layout, $_newval) = @_ }
+sub set_spacing { my ($_layout, $_newval) = @_ }
+sub set_tabs { my ($_layout, $_tabs) = @_ }
+sub set_text { my ($_layout, $_text, $_text) = @_ }
+sub set_width { my ($_layout, $_newval) = @_ }
+sub set_wrap { my ($_layout, $_wrap) = @_ }
+sub xy_to_index { my ($_layout, $_x, $_y) = @_ }
+
+package Gtk2::Pango::LayoutIter;
+our @ISA = qw();
+sub at_last_line { my ($_iter) = @_ }
+sub get_baseline { my ($_iter) = @_ }
+sub get_char_extents { my ($_iter) = @_ }
+sub get_cluster_extents { my ($_iter) = @_ }
+sub get_index { my ($_iter) = @_ }
+sub get_layout_extents { my ($_iter) = @_ }
+sub get_line_extents { my ($_iter) = @_ }
+sub get_line_yrange { my ($_iter) = @_ }
+sub get_run_extents { my ($_iter) = @_ }
+sub next_char { my ($_iter) = @_ }
+sub next_cluster { my ($_iter) = @_ }
+sub next_line { my ($_iter) = @_ }
+sub next_run { my ($_iter) = @_ }
+
+package Gtk2::Pango::Matrix;
+our @ISA = qw();
+sub concat { my ($_matrix, $_new_matrix) = @_ }
+sub new { my ($_class, $_o_xx, $_o_xy, $_o_yx, $_o_yy, $_o_x0, $_o_y0) = @_ }
+sub rotate { my ($_matrix, $_degrees) = @_ }
+sub scale { my ($_matrix, $_scale_x, $_scale_y) = @_ }
+sub translate { my ($_matrix, $_tx, $_ty) = @_ }
+sub x0 { my ($_matrix, $_o_new) = @_ }
+sub xx { my ($_matrix, $_o_new) = @_ }
+sub xy { my ($_matrix, $_o_new) = @_ }
+sub y0 { my ($_matrix, $_o_new) = @_ }
+sub yx { my ($_matrix, $_o_new) = @_ }
+sub yy { my ($_matrix, $_o_new) = @_ }
+
+package Gtk2::Pango::Renderer;
+our @ISA = qw();
+sub activate { my ($_renderer) = @_ }
+sub deactivate { my ($_renderer) = @_ }
+sub draw_error_underline { my ($_renderer, $_x, $_y, $_width, $_height) = @_ }
+sub draw_glyph { my ($_renderer, $_font, $_glyph, $_x, $_y) = @_ }
+sub draw_layout { my ($_renderer, $_layout, $_x, $_y) = @_ }
+sub draw_rectangle { my ($_renderer, $_part, $_x, $_y, $_width, $_height) = @_ }
+sub draw_trapezoid { my ($_renderer, $_part, $_y1_, $_x11, $_x21, $_y2, $_x12, $_x22) = @_ }
+sub get_matrix { my ($_renderer) = @_ }
+sub part_changed { my ($_renderer, $_part) = @_ }
+sub set_matrix { my ($_renderer, $_matrix) = @_ }
+
+package Gtk2::Pango::Script;
+our @ISA = qw();
+sub for_unichar { my ($_class, $_ch) = @_ }
+sub get_sample_language { my ($_class, $_script) = @_ }
+
+package Gtk2::Pango::ScriptIter;
+our @ISA = qw();
+sub get_range { my ($_iter) = @_ }
+sub new { my ($_class, $_text) = @_ }
+sub next { my ($_iter) = @_ }
+
+package Gtk2::Pango::TabArray;
+our @ISA = qw();
+sub get_positions_in_pixels { my ($_tab_array) = @_ }
+sub get_size { my ($_tab_array) = @_ }
+sub get_tab { my ($_tab_array, $_tab_index) = @_ }
+sub get_tabs { my ($_tab_array) = @_ }
+sub new { my ($_class, $_initial_size, $_positions_in_pixels, @_more_paras) = @_ }
+sub new_with_positions { my ($_class, $_initial_size, $_positions_in_pixels, @_more_paras) = @_ }
+sub resize { my ($_tab_array, $_new_size) = @_ }
+sub set_tab { my ($_tab_array, $_tab_index, $_alignment, $_location) = @_ }
+
+package Gtk2::Plug;
+our @ISA = qw();
+sub construct { my ($_plug, $_socket_id) = @_ }
+sub construct_for_display { my ($_plug, $_display, $_socket_id) = @_ }
+sub get_id { my ($_plug) = @_ }
+sub new { my ($_class, $_socket_id) = @_ }
+sub new_for_display { my ($_display, $_socket_id) = @_ }
+
+package Gtk2::ProgressBar;
+our @ISA = qw();
+sub get_ellipsize { my ($_pbar) = @_ }
+sub get_fraction { my ($_pbar) = @_ }
+sub get_orientation { my ($_pbar) = @_ }
+sub get_pulse_step { my ($_pbar) = @_ }
+sub get_text { my ($_pbar) = @_ }
+sub new { my ($_class) = @_ }
+sub pulse { my ($_pbar) = @_ }
+sub set_ellipsize { my ($_pbar, $_mode) = @_ }
+sub set_fraction { my ($_pbar, $_fraction) = @_ }
+sub set_orientation { my ($_pbar, $_orientation) = @_ }
+sub set_pulse_step { my ($_pbar, $_fraction) = @_ }
+sub set_text { my ($_pbar, $_text) = @_ }
+
+package Gtk2::RadioAction;
+our @ISA = qw();
+sub get_current_value { my ($_action) = @_ }
+sub get_group { my ($_action) = @_ }
+sub set_group { my ($_action, $_member_or_listref) = @_ }
+
+package Gtk2::RadioButton;
+our @ISA = qw();
+sub get_group { my ($_radio_button) = @_ }
+sub new { my ($_class, $_o_member_or_listref, $_o_label) = @_ }
+sub new_from_widget { my ($_class, $_group, $_o_label) = @_ }
+sub new_with_label { my ($_class, $_o_member_or_listref, $_o_label) = @_ }
+sub new_with_label_from_widget { my ($_class, $_group, $_o_label) = @_ }
+sub new_with_mnemonic { my ($_class, $_o_member_or_listref, $_o_label) = @_ }
+sub new_with_mnemonic_from_widget { my ($_class, $_group, $_o_label) = @_ }
+sub set_group { my ($_radio_button, $_member_or_listref) = @_ }
+
+package Gtk2::RadioMenuItem;
+our @ISA = qw();
+sub get_group { my ($_radio_menu_item) = @_ }
+sub new { my ($_class, $_o_member_or_listref, $_o_label) = @_ }
+sub new_from_widget { my ($_class, $_group, $_o_label) = @_ }
+sub new_with_label { my ($_class, $_o_member_or_listref, $_o_label) = @_ }
+sub new_with_label_from_widget { my ($_class, $_group, $_o_label) = @_ }
+sub new_with_mnemonic { my ($_class, $_o_member_or_listref, $_o_label) = @_ }
+sub new_with_mnemonic_from_widget { my ($_class, $_group, $_o_label) = @_ }
+sub set_group { my ($_radio_menu_item, $_member_or_listref) = @_ }
+
+package Gtk2::RadioToolButton;
+our @ISA = qw();
+sub get_group { my ($_button) = @_ }
+sub new { my ($_class, $_o_member_or_listref) = @_ }
+sub new_from_stock { my ($_class, $_member_or_listref, $_stock_id) = @_ }
+sub new_from_widget { my ($_class, $_group) = @_ }
+sub new_with_stock_from_widget { my ($_class, $_group, $_stock_id) = @_ }
+sub set_group { my ($_button, $_member_or_listref) = @_ }
+
+package Gtk2::Range;
+our @ISA = qw();
+sub get_adjustment { my ($_range) = @_ }
+sub get_inverted { my ($_range) = @_ }
+sub get_update_policy { my ($_range) = @_ }
+sub get_value { my ($_range) = @_ }
+sub set_adjustment { my ($_range, $_adjustment) = @_ }
+sub set_increments { my ($_range, $_step, $_page) = @_ }
+sub set_inverted { my ($_range, $_setting) = @_ }
+sub set_range { my ($_range, $_min, $_max) = @_ }
+sub set_update_policy { my ($_range, $_policy) = @_ }
+sub set_value { my ($_range, $_value) = @_ }
+
+package Gtk2::Rc;
+our @ISA = qw();
+sub add_default_file { my ($_class, $_filename) = @_ }
+sub get_default_files { my ($_class) = @_ }
+sub get_im_module_file { my ($_class) = @_ }
+sub get_im_module_path { my ($_class) = @_ }
+sub get_module_dir { my ($_class) = @_ }
+sub get_style { my ($_class, $_widget) = @_ }
+sub get_style_by_paths { my ($_class, $_settings, $_widget_path, $_class_path, $_package) = @_ }
+sub get_theme_dir { my ($_class) = @_ }
+sub parse { my ($_class, $_filename) = @_ }
+sub parse_string { my ($_class, $_rc_string) = @_ }
+sub reparse_all { my ($_class) = @_ }
+sub reparse_all_for_settings { my ($_class, $_settings, $_force_load) = @_ }
+sub reset_styles { my ($_class, $_settings) = @_ }
+sub set_default_files { my ($_class, @_more_paras) = @_ }
+
+package Gtk2::RcStyle;
+our @ISA = qw();
+sub base { my ($_style, $_state, $_o_new) = @_ }
+sub bg { my ($_style, $_state, $_o_new) = @_ }
+sub bg_pixmap_name { my ($_style, $_state, $_o_new) = @_ }
+sub color_flags { my ($_style, $_state, $_o_new) = @_ }
+sub copy { my ($_orig) = @_ }
+sub fg { my ($_style, $_state, $_o_new) = @_ }
+sub font_desc { my ($_style, $_o_new) = @_ }
+sub name { my ($_style, $_o_new) = @_ }
+sub new { my ($_class) = @_ }
+sub text { my ($_style, $_state, $_o_new) = @_ }
+sub xthickness { my ($_style, $_o_new) = @_ }
+sub ythickness { my ($_style, $_o_new) = @_ }
+
+package Gtk2::Requisition;
+our @ISA = qw();
+sub height { my ($_requisition, $_o_newval) = @_ }
+sub new { my ($_class, $_o_width, $_o_height) = @_ }
+sub width { my ($_requisition, $_o_newval) = @_ }
+
+package Gtk2::Ruler;
+our @ISA = qw();
+sub draw_pos { my ($_ruler) = @_ }
+sub draw_ticks { my ($_ruler) = @_ }
+sub get_metric { my ($_ruler) = @_ }
+sub get_range { my ($_ruler) = @_ }
+sub set_metric { my ($_ruler, $_metric) = @_ }
+sub set_range { my ($_ruler, $_lower, $_upper, $_position, $_max_size) = @_ }
+
+package Gtk2::Scale;
+our @ISA = qw();
+sub get_digits { my ($_scale) = @_ }
+sub get_draw_value { my ($_scale) = @_ }
+sub get_layout { my ($_scale) = @_ }
+sub get_layout_offsets { my ($_scale) = @_ }
+sub get_value_pos { my ($_scale) = @_ }
+sub set_digits { my ($_scale, $_digits) = @_ }
+sub set_draw_value { my ($_scale, $_draw_value) = @_ }
+sub set_value_pos { my ($_scale, $_pos) = @_ }
+
+package Gtk2::ScrolledWindow;
+our @ISA = qw();
+sub add_with_viewport { my ($_scrolled_window, $_child) = @_ }
+sub get_hadjustment { my ($_scrolled_window) = @_ }
+sub get_hscrollbar { my ($_scrolled_window) = @_ }
+sub get_placement { my ($_scrolled_window) = @_ }
+sub get_policy { my ($_scrolled_window) = @_ }
+sub get_shadow_type { my ($_scrolled_window) = @_ }
+sub get_vadjustment { my ($_scrolled_window) = @_ }
+sub get_vscrollbar { my ($_scrolled_window) = @_ }
+sub new { my ($_class, $_o_hadjustment, $_o_vadjustment) = @_ }
+sub set_hadjustment { my ($_scrolled_window, $_hadjustment) = @_ }
+sub set_placement { my ($_scrolled_window, $_window_placement) = @_ }
+sub set_policy { my ($_scrolled_window, $_hscrollbar_policy, $_vscrollbar_policy) = @_ }
+sub set_shadow_type { my ($_scrolled_window, $_type) = @_ }
+sub set_vadjustment { my ($_scrolled_window, $_hadjustment) = @_ }
+
+package Gtk2::Selection;
+our @ISA = qw();
+sub owner_set { my ($_class, $_widget, $_selection, $_time_) = @_ }
+sub owner_set_for_display { my ($_class, $_display, $_widget, $_selection, $_time_) = @_ }
+
+package Gtk2::SelectionData;
+our @ISA = qw();
+sub data { my ($_d) = @_ }
+sub display { my ($_d) = @_ }
+sub Gtk2::SelectionData::format { my ($_d) = @_ }
+sub get_pixbuf { my ($_selection_data) = @_ }
+sub get_row_drag_data { my ($_selection_data) = @_ }
+sub get_targets { my ($_selection_data) = @_ }
+sub get_text { my ($_selection_data) = @_ }
+sub get_uris { my ($_selection_data) = @_ }
+sub gtk_selection_clear { my ($_widget, $_event) = @_ }
+sub Gtk2::SelectionData::length { my ($_d) = @_ }
+sub selection { my ($_d) = @_ }
+sub set { my ($_selection_data, $_type, $_format, $_data) = @_ }
+sub set_pixbuf { my ($_selection_data, $_pixbuf) = @_ }
+sub set_row_drag_data { my ($_selection_data, $_tree_model, $_path) = @_ }
+sub set_text { my ($_selection_data, $_str, $_o_len) = @_ }
+sub set_uris { my ($_selection_data, @_more_paras) = @_ }
+sub target { my ($_d) = @_ }
+sub targets_include_image { my ($_selection_data, $_writable) = @_ }
+sub targets_include_text { my ($_selection_data) = @_ }
+sub type { my ($_d) = @_ }
+
+package Gtk2::SeparatorMenuItem;
+our @ISA = qw();
+sub new { my ($_class) = @_ }
+
+package Gtk2::SeparatorToolItem;
+our @ISA = qw();
+sub get_draw { my ($_item) = @_ }
+sub new { my ($_class) = @_ }
+sub set_draw { my ($_tool_item, $_draw) = @_ }
+
+package Gtk2::SizeGroup;
+our @ISA = qw();
+sub add_widget { my ($_size_group, $_widget) = @_ }
+sub get_ignore_hidden { my ($_size_group) = @_ }
+sub get_mode { my ($_size_group) = @_ }
+sub new { my ($_class, $_mode) = @_ }
+sub remove_widget { my ($_size_group, $_widget) = @_ }
+sub set_ignore_hidden { my ($_size_group, $_ignore_hidden) = @_ }
+sub set_mode { my ($_size_group, $_mode) = @_ }
+
+package Gtk2::Socket;
+our @ISA = qw();
+sub add_id { my ($_socket, $_window_id) = @_ }
+sub get_id { my ($_socket) = @_ }
+sub new { my ($_class) = @_ }
+sub steal { my ($_socket, $_wid) = @_ }
+
+package Gtk2::SpinButton;
+our @ISA = qw();
+sub configure { my ($_spin_button, $_adjustment, $_climb_rate, $_digits) = @_ }
+sub get_adjustment { my ($_spin_button) = @_ }
+sub get_digits { my ($_spin_button) = @_ }
+sub get_increments { my ($_spin_button) = @_ }
+sub get_numeric { my ($_spin_button) = @_ }
+sub get_range { my ($_spin_button) = @_ }
+sub get_snap_to_ticks { my ($_spin_button) = @_ }
+sub get_update_policy { my ($_spin_button) = @_ }
+sub get_value { my ($_spin_button) = @_ }
+sub get_value_as_int { my ($_spin_button) = @_ }
+sub get_wrap { my ($_spin_button) = @_ }
+sub new { my ($_class, $_adjustment, $_climb_rate, $_digits) = @_ }
+sub new_with_range { my ($_class, $_min, $_max, $_step) = @_ }
+sub set_adjustment { my ($_spin_button, $_adjustment) = @_ }
+sub set_digits { my ($_spin_button, $_digits) = @_ }
+sub set_increments { my ($_spin_button, $_step, $_page) = @_ }
+sub set_numeric { my ($_spin_button, $_numeric) = @_ }
+sub set_range { my ($_spin_button, $_min, $_max) = @_ }
+sub set_snap_to_ticks { my ($_spin_button, $_snap_to_ticks) = @_ }
+sub set_update_policy { my ($_spin_button, $_policy) = @_ }
+sub set_value { my ($_spin_button, $_value) = @_ }
+sub set_wrap { my ($_spin_button, $_wrap) = @_ }
+sub spin { my ($_spin_button, $_direction, $_increment) = @_ }
+sub update { my ($_spin_button) = @_ }
+
+package Gtk2::Statusbar;
+our @ISA = qw();
+sub get_context_id { my ($_statusbar, $_context_description) = @_ }
+sub get_has_resize_grip { my ($_statusbar) = @_ }
+sub new { my ($_class) = @_ }
+sub pop { my ($_statusbar, $_context_id) = @_ }
+sub push { my ($_statusbar, $_context_id, $_text) = @_ }
+sub remove { my ($_statusbar, $_context_id, $_message_id) = @_ }
+sub set_has_resize_grip { my ($_statusbar, $_setting) = @_ }
+
+package Gtk2::Stock;
+our @ISA = qw();
+sub add { my ($_class, @_more_paras) = @_ }
+sub list_ids { my ($_class) = @_ }
+sub lookup { my ($_class, $_stock_id) = @_ }
+sub set_translate_func { my ($_class, $_domain, $_func, $_o_data) = @_ }
+
+package Gtk2::Style;
+our @ISA = qw();
+sub apply_default_background { my ($_style, $_window, $_set_bg, $_state_type, $_area, $_x, $_y, $_width, $_height) = @_ }
+sub attach { my ($_style, $_window) = @_ }
+sub attached { my ($_style) = @_ }
+sub base { my ($_style, $_state) = @_ }
+sub base_gc { my ($_style, $_state) = @_ }
+sub bg { my ($_style, $_state) = @_ }
+sub bg_gc { my ($_style, $_state) = @_ }
+sub bg_pixmap { my ($_style, $_state, $_o_pixmap) = @_ }
+sub black { my ($_style) = @_ }
+sub black_gc { my ($_style) = @_ }
+sub copy { my ($_style) = @_ }
+sub dark { my ($_style, $_state) = @_ }
+sub dark_gc { my ($_style, $_state) = @_ }
+sub detach { my ($_style) = @_ }
+sub fg { my ($_style, $_state) = @_ }
+sub fg_gc { my ($_style, $_state) = @_ }
+sub font_desc { my ($_style) = @_ }
+sub light { my ($_style, $_state) = @_ }
+sub light_gc { my ($_style, $_state) = @_ }
+sub lookup_icon_set { my ($_style, $_stock_id) = @_ }
+sub mid { my ($_style, $_state) = @_ }
+sub mid_gc { my ($_style, $_state) = @_ }
+sub new { my ($_class) = @_ }
+sub paint_arrow { my ($_style, $_window, $_state_type, $_shadow_type, $_area, $_widget, $_detail, $_arrow_type, $_fill, $_x, $_y, $_width, $_height) = @_ }
+sub paint_box { my ($_style, $_window, $_state_type, $_shadow_type, $_area, $_widget, $_detail, $_x, $_y, $_width, $_height) = @_ }
+sub paint_box_gap { my ($_style, $_window, $_state_type, $_shadow_type, $_area, $_widget, $_detail, $_x, $_y, $_width, $_height, $_gap_side, $_gap_x, $_gap_width) = @_ }
+sub paint_check { my ($_style, $_window, $_state_type, $_shadow_type, $_area, $_widget, $_detail, $_x, $_y, $_width, $_height) = @_ }
+sub paint_diamond { my ($_style, $_window, $_state_type, $_shadow_type, $_area, $_widget, $_detail, $_x, $_y, $_width, $_height) = @_ }
+sub paint_expander { my ($_style, $_window, $_state_type, $_area, $_widget, $_detail, $_x, $_y, $_expander_style) = @_ }
+sub paint_extension { my ($_style, $_window, $_state_type, $_shadow_type, $_area, $_widget, $_detail, $_x, $_y, $_width, $_height, $_gap_side) = @_ }
+sub paint_flat_box { my ($_style, $_window, $_state_type, $_shadow_type, $_area, $_widget, $_detail, $_x, $_y, $_width, $_height) = @_ }
+sub paint_focus { my ($_style, $_window, $_state_type, $_area, $_widget, $_detail, $_x, $_y, $_width, $_height) = @_ }
+sub paint_handle { my ($_style, $_window, $_state_type, $_shadow_type, $_area, $_widget, $_detail, $_x, $_y, $_width, $_height, $_orientation) = @_ }
+sub paint_hline { my ($_style, $_window, $_state_type, $_area, $_widget, $_detail, $_x1, $_x2, $_y) = @_ }
+sub paint_layout { my ($_style, $_window, $_state_type, $_use_text, $_area, $_widget, $_detail, $_x, $_y, $_layout) = @_ }
+sub paint_option { my ($_style, $_window, $_state_type, $_shadow_type, $_area, $_widget, $_detail, $_x, $_y, $_width, $_height) = @_ }
+sub paint_polygon { my ($_style, $_window, $_state_type, $_shadow_type, $_area, $_widget, $_detail, $_fill, $_x1, $_y1, @_more_paras) = @_ }
+sub paint_resize_grip { my ($_style, $_window, $_state_type, $_area, $_widget, $_detail, $_edge, $_x, $_y, $_width, $_height) = @_ }
+sub paint_shadow { my ($_style, $_window, $_state_type, $_shadow_type, $_area, $_widget, $_detail, $_x, $_y, $_width, $_height) = @_ }
+sub paint_shadow_gap { my ($_style, $_window, $_state_type, $_shadow_type, $_area, $_widget, $_detail, $_x, $_y, $_width, $_height, $_gap_side, $_gap_x, $_gap_width) = @_ }
+sub paint_slider { my ($_style, $_window, $_state_type, $_shadow_type, $_area, $_widget, $_detail, $_x, $_y, $_width, $_height, $_orientation) = @_ }
+sub paint_tab { my ($_style, $_window, $_state_type, $_shadow_type, $_area, $_widget, $_detail, $_x, $_y, $_width, $_height) = @_ }
+sub paint_vline { my ($_style, $_window, $_state_type, $_area, $_widget, $_detail, $_y1_, $_y2_, $_x) = @_ }
+sub render_icon { my ($_style, $_source, $_direction, $_state, $_size, $_widget, $_o_detail) = @_ }
+sub set_background { my ($_style, $_window, $_state_type) = @_ }
+sub text { my ($_style, $_state) = @_ }
+sub text_aa { my ($_style, $_state) = @_ }
+sub text_aa_gc { my ($_style, $_state) = @_ }
+sub text_gc { my ($_style, $_state) = @_ }
+sub white { my ($_style) = @_ }
+sub white_gc { my ($_style) = @_ }
+sub xthickness { my ($_style) = @_ }
+sub ythickness { my ($_style) = @_ }
+
+package Gtk2::Table;
+our @ISA = qw();
+sub attach { my ($_table, $_child, $_left_attach, $_right_attach, $_top_attach, $_bottom_attach, $_xoptions, $_yoptions, $_xpadding, $_ypadding) = @_ }
+sub attach_defaults { my ($_table, $_widget, $_left_attach, $_right_attach, $_top_attach, $_bottom_attach) = @_ }
+sub get_col_spacing { my ($_table, $_column) = @_ }
+sub get_default_col_spacing { my ($_table) = @_ }
+sub get_default_row_spacing { my ($_table) = @_ }
+sub get_homogeneous { my ($_table) = @_ }
+sub get_row_spacing { my ($_table, $_row) = @_ }
+sub new { my ($_class, $_rows, $_columns, $_o_homogeneous) = @_ }
+sub resize { my ($_table, $_rows, $_columns) = @_ }
+sub set_col_spacing { my ($_table, $_column, $_spacing) = @_ }
+sub set_col_spacings { my ($_table, $_spacing) = @_ }
+sub set_homogeneous { my ($_table, $_homogeneous) = @_ }
+sub set_row_spacing { my ($_table, $_row, $_spacing) = @_ }
+sub set_row_spacings { my ($_table, $_spacing) = @_ }
+
+package Gtk2::TargetList;
+our @ISA = qw();
+sub DESTROY { my ($_list) = @_ }
+sub add { my ($_list, $_target, $_flags, $_info) = @_ }
+sub add_image_targets { my ($_list, $_info, $_writable) = @_ }
+sub add_table { my ($_list, @_more_paras) = @_ }
+sub add_text_targets { my ($_list, $_info) = @_ }
+sub add_uri_targets { my ($_list, $_info) = @_ }
+sub find { my ($_list, $_target) = @_ }
+sub new { my ($_class, @_more_paras) = @_ }
+sub remove { my ($_list, $_target) = @_ }
+
+package Gtk2::TearoffMenuItem;
+our @ISA = qw();
+sub new { my ($_class) = @_ }
+
+package Gtk2::TextAttributes;
+our @ISA = qw();
+sub copy_values { my ($_dest, $_src) = @_ }
+sub new { my ($_class) = @_ }
+
+package Gtk2::TextBuffer;
+our @ISA = qw();
+sub add_selection_clipboard { my ($_buffer, $_clipboard) = @_ }
+sub apply_tag { my ($_buffer, $_tag, $_start, $_end) = @_ }
+sub apply_tag_by_name { my ($_buffer, $_name, $_start, $_end) = @_ }
+sub backspace { my ($_buffer, $_iter, $_interactive, $_default_editable) = @_ }
+sub begin_user_action { my ($_buffer) = @_ }
+sub copy_clipboard { my ($_buffer, $_clipboard) = @_ }
+sub create_child_anchor { my ($_buffer, $_iter) = @_ }
+sub create_mark { my ($_buffer, $_mark_name, $_where, $_left_gravity) = @_ }
+sub create_tag { my ($_buffer, $_tag_name, $_property_name1, $_property_value1, @_more_paras) = @_ }
+sub cut_clipboard { my ($_buffer, $_clipboard, $_default_editable) = @_ }
+sub delete { my ($_buffer, $_start, $_end) = @_ }
+sub delete_interactive { my ($_buffer, $_start_iter, $_end_iter, $_default_editable) = @_ }
+sub delete_mark { my ($_buffer, $_mark) = @_ }
+sub delete_mark_by_name { my ($_buffer, $_name) = @_ }
+sub delete_selection { my ($_buffer, $_interactive, $_default_editable) = @_ }
+sub end_user_action { my ($_buffer) = @_ }
+sub get_bounds { my ($_buffer) = @_ }
+sub get_char_count { my ($_buffer) = @_ }
+sub get_end_iter { my ($_buffer) = @_ }
+sub get_insert { my ($_buffer) = @_ }
+sub get_iter_at_child_anchor { my ($_buffer, $_anchor) = @_ }
+sub get_iter_at_line { my ($_buffer, $_line_number) = @_ }
+sub get_iter_at_line_index { my ($_buffer, $_line_number, $_byte_index) = @_ }
+sub get_iter_at_line_offset { my ($_buffer, $_line_number, $_char_offset) = @_ }
+sub get_iter_at_mark { my ($_buffer, $_mark) = @_ }
+sub get_iter_at_offset { my ($_buffer, $_char_offset) = @_ }
+sub get_line_count { my ($_buffer) = @_ }
+sub get_mark { my ($_buffer, $_name) = @_ }
+sub get_modified { my ($_buffer) = @_ }
+sub get_selection_bound { my ($_buffer) = @_ }
+sub get_selection_bounds { my ($_buffer) = @_ }
+sub get_slice { my ($_buffer, $_start, $_end, $_include_hidden_chars) = @_ }
+sub get_start_iter { my ($_buffer) = @_ }
+sub get_tag_table { my ($_buffer) = @_ }
+sub get_text { my ($_buffer, $_start, $_end, $_include_hidden_chars) = @_ }
+sub insert { my ($_buffer, $_iter, $_text, $_text) = @_ }
+sub insert_at_cursor { my ($_buffer, $_text, $_text) = @_ }
+sub insert_child_anchor { my ($_buffer, $_iter, $_anchor) = @_ }
+sub insert_interactive { my ($_buffer, $_iter, $_text, $_text, $_default_editable) = @_ }
+sub insert_interactive_at_cursor { my ($_buffer, $_text, $_text, $_default_editable) = @_ }
+sub insert_pixbuf { my ($_buffer, $_iter, $_pixbuf) = @_ }
+sub insert_range { my ($_buffer, $_iter, $_start, $_end) = @_ }
+sub insert_range_interactive { my ($_buffer, $_iter, $_start, $_end, $_default_editable) = @_ }
+sub insert_with_tags { my ($_buffer, $_iter, $_text, @_more_paras) = @_ }
+sub insert_with_tags_by_name { my ($_buffer, $_iter, $_text, @_more_paras) = @_ }
+sub move_mark { my ($_buffer, $_mark, $_where) = @_ }
+sub move_mark_by_name { my ($_buffer, $_name, $_where) = @_ }
+sub new { my ($_class, $_o_tagtable) = @_ }
+sub paste_clipboard { my ($_buffer, $_clipboard, $_override_location, $_default_editable) = @_ }
+sub place_cursor { my ($_buffer, $_where) = @_ }
+sub remove_all_tags { my ($_buffer, $_start, $_end) = @_ }
+sub remove_selection_clipboard { my ($_buffer, $_clipboard) = @_ }
+sub remove_tag { my ($_buffer, $_tag, $_start, $_end) = @_ }
+sub remove_tag_by_name { my ($_buffer, $_name, $_start, $_end) = @_ }
+sub select_range { my ($_buffer, $_ins, $_bound) = @_ }
+sub set_modified { my ($_buffer, $_setting) = @_ }
+sub set_text { my ($_buffer, $_text, $_text) = @_ }
+
+package Gtk2::TextChildAnchor;
+our @ISA = qw();
+sub get_deleted { my ($_anchor) = @_ }
+sub get_widgets { my ($_anchor) = @_ }
+sub new { my ($_class) = @_ }
+
+package Gtk2::TextIter;
+our @ISA = qw();
+sub backward_char { my ($_iter) = @_ }
+sub backward_chars { my ($_iter, $_count) = @_ }
+sub backward_cursor_position { my ($_iter) = @_ }
+sub backward_cursor_positions { my ($_iter, $_count) = @_ }
+sub backward_find_char { my ($_iter, $_pred, $_o_user_data, $_o_limit) = @_ }
+sub backward_line { my ($_iter) = @_ }
+sub backward_lines { my ($_iter, $_count) = @_ }
+sub backward_search { my ($_iter, $_str, $_flags, $_o_limit) = @_ }
+sub backward_sentence_start { my ($_iter) = @_ }
+sub backward_sentence_starts { my ($_iter, $_count) = @_ }
+sub backward_to_tag_toggle { my ($_iter, $_tag) = @_ }
+sub backward_visible_cursor_position { my ($_iter) = @_ }
+sub backward_visible_cursor_positions { my ($_iter, $_count) = @_ }
+sub backward_visible_line { my ($_iter) = @_ }
+sub backward_visible_lines { my ($_iter, $_count) = @_ }
+sub backward_visible_word_start { my ($_iter) = @_ }
+sub backward_visible_word_starts { my ($_iter, $_count) = @_ }
+sub backward_word_start { my ($_iter) = @_ }
+sub backward_word_starts { my ($_iter, $_count) = @_ }
+sub begins_tag { my ($_iter, $_tag) = @_ }
+sub can_insert { my ($_iter, $_default_editability) = @_ }
+sub compare { my ($_lhs, $_rhs) = @_ }
+sub editable { my ($_iter, $_default_setting) = @_ }
+sub ends_line { my ($_iter) = @_ }
+sub ends_sentence { my ($_iter) = @_ }
+sub ends_tag { my ($_iter, $_tag) = @_ }
+sub ends_word { my ($_iter) = @_ }
+sub equal { my ($_lhs, $_rhs) = @_ }
+sub forward_char { my ($_iter) = @_ }
+sub forward_chars { my ($_iter, $_count) = @_ }
+sub forward_cursor_position { my ($_iter) = @_ }
+sub forward_cursor_positions { my ($_iter, $_count) = @_ }
+sub forward_find_char { my ($_iter, $_pred, $_o_user_data, $_o_limit) = @_ }
+sub forward_line { my ($_iter) = @_ }
+sub forward_lines { my ($_iter, $_count) = @_ }
+sub forward_search { my ($_iter, $_str, $_flags, $_o_limit) = @_ }
+sub forward_sentence_end { my ($_iter) = @_ }
+sub forward_sentence_ends { my ($_iter, $_count) = @_ }
+sub forward_to_end { my ($_iter) = @_ }
+sub forward_to_line_end { my ($_iter) = @_ }
+sub forward_to_tag_toggle { my ($_iter, $_tag) = @_ }
+sub forward_visible_cursor_position { my ($_iter) = @_ }
+sub forward_visible_cursor_positions { my ($_iter, $_count) = @_ }
+sub forward_visible_line { my ($_iter) = @_ }
+sub forward_visible_lines { my ($_iter, $_count) = @_ }
+sub forward_visible_word_end { my ($_iter) = @_ }
+sub forward_visible_word_ends { my ($_iter, $_count) = @_ }
+sub forward_word_end { my ($_iter) = @_ }
+sub forward_word_ends { my ($_iter, $_count) = @_ }
+sub get_attributes { my ($_iter) = @_ }
+sub get_buffer { my ($_iter) = @_ }
+sub get_bytes_in_line { my ($_iter) = @_ }
+sub get_char { my ($_iter) = @_ }
+sub get_chars_in_line { my ($_iter) = @_ }
+sub get_child_anchor { my ($_iter) = @_ }
+sub get_language { my ($_iter) = @_ }
+sub get_line { my ($_iter) = @_ }
+sub get_line_index { my ($_iter) = @_ }
+sub get_line_offset { my ($_iter) = @_ }
+sub get_marks { my ($_iter) = @_ }
+sub get_offset { my ($_iter) = @_ }
+sub get_pixbuf { my ($_iter) = @_ }
+sub get_slice { my ($_start, $_end) = @_ }
+sub get_tags { my ($_iter) = @_ }
+sub get_text { my ($_start, $_end) = @_ }
+sub get_toggled_tags { my ($_iter, $_toggled_on) = @_ }
+sub get_visible_line_index { my ($_iter) = @_ }
+sub get_visible_line_offset { my ($_iter) = @_ }
+sub get_visible_slice { my ($_start, $_end) = @_ }
+sub get_visible_text { my ($_start, $_end) = @_ }
+sub has_tag { my ($_iter, $_tag) = @_ }
+sub in_range { my ($_iter, $_start, $_end) = @_ }
+sub inside_sentence { my ($_iter) = @_ }
+sub inside_word { my ($_iter) = @_ }
+sub is_cursor_position { my ($_iter) = @_ }
+sub is_end { my ($_iter) = @_ }
+sub is_start { my ($_iter) = @_ }
+sub order { my ($_first, $_second) = @_ }
+sub set_line { my ($_iter, $_line_number) = @_ }
+sub set_line_index { my ($_iter, $_byte_on_line) = @_ }
+sub set_line_offset { my ($_iter, $_char_on_line) = @_ }
+sub set_offset { my ($_iter, $_char_offset) = @_ }
+sub set_visible_line_index { my ($_iter, $_byte_on_line) = @_ }
+sub set_visible_line_offset { my ($_iter, $_char_on_line) = @_ }
+sub starts_line { my ($_iter) = @_ }
+sub starts_sentence { my ($_iter) = @_ }
+sub starts_word { my ($_iter) = @_ }
+sub toggles_tag { my ($_iter, $_tag) = @_ }
+
+package Gtk2::TextMark;
+our @ISA = qw();
+sub get_buffer { my ($_mark) = @_ }
+sub get_deleted { my ($_mark) = @_ }
+sub get_left_gravity { my ($_mark) = @_ }
+sub get_name { my ($_mark) = @_ }
+sub get_visible { my ($_mark) = @_ }
+sub set_visible { my ($_mark, $_setting) = @_ }
+
+package Gtk2::TextTag;
+our @ISA = qw();
+sub event { my ($_tag, $_event_object, $_event, $_iter) = @_ }
+sub get_priority { my ($_tag) = @_ }
+sub new { my ($_class, $_o_name) = @_ }
+sub set_priority { my ($_tag, $_priority) = @_ }
+
+package Gtk2::TextTagTable;
+our @ISA = qw();
+sub add { my ($_table, $_tag) = @_ }
+sub Gtk2::TextTagTable::foreach { my ($_table, $_callback, $_o_callback_data) = @_ }
+sub get_size { my ($_table) = @_ }
+sub lookup { my ($_table, $_name) = @_ }
+sub new { my ($_class) = @_ }
+sub remove { my ($_table, $_tag) = @_ }
+
+package Gtk2::TextView;
+our @ISA = qw();
+sub add_child_at_anchor { my ($_text_view, $_child, $_anchor) = @_ }
+sub add_child_in_window { my ($_text_view, $_child, $_which_window, $_xpos, $_ypos) = @_ }
+sub backward_display_line { my ($_text_view, $_iter) = @_ }
+sub backward_display_line_start { my ($_text_view, $_iter) = @_ }
+sub buffer_to_window_coords { my ($_text_view, $_win, $_buffer_x, $_buffer_y) = @_ }
+sub forward_display_line { my ($_text_view, $_iter) = @_ }
+sub forward_display_line_end { my ($_text_view, $_iter) = @_ }
+sub get_accepts_tab { my ($_text_view) = @_ }
+sub get_border_window_size { my ($_text_view, $_type) = @_ }
+sub get_buffer { my ($_text_view) = @_ }
+sub get_cursor_visible { my ($_text_view) = @_ }
+sub get_default_attributes { my ($_text_view) = @_ }
+sub get_editable { my ($_text_view) = @_ }
+sub get_indent { my ($_text_view) = @_ }
+sub get_iter_at_location { my ($_text_view, $_x, $_y) = @_ }
+sub get_iter_at_position { my ($_text_view, $_x, $_y) = @_ }
+sub get_iter_location { my ($_text_view, $_iter) = @_ }
+sub get_justification { my ($_text_view) = @_ }
+sub get_left_margin { my ($_text_view) = @_ }
+sub get_line_at_y { my ($_text_view, $_y) = @_ }
+sub get_line_yrange { my ($_text_view, $_iter) = @_ }
+sub get_overwrite { my ($_text_view) = @_ }
+sub get_pixels_above_lines { my ($_text_view) = @_ }
+sub get_pixels_below_lines { my ($_text_view) = @_ }
+sub get_pixels_inside_wrap { my ($_text_view) = @_ }
+sub get_right_margin { my ($_text_view) = @_ }
+sub get_tabs { my ($_text_view) = @_ }
+sub get_visible_rect { my ($_text_view) = @_ }
+sub get_window { my ($_text_view, $_win) = @_ }
+sub get_window_type { my ($_text_view, $_window) = @_ }
+sub get_wrap_mode { my ($_text_view) = @_ }
+sub move_child { my ($_text_view, $_child, $_xpos, $_ypos) = @_ }
+sub move_mark_onscreen { my ($_text_view, $_mark) = @_ }
+sub move_visually { my ($_text_view, $_iter, $_count) = @_ }
+sub new { my ($_class) = @_ }
+sub new_with_buffer { my ($_class, $_buffer) = @_ }
+sub place_cursor_onscreen { my ($_text_view) = @_ }
+sub scroll_mark_onscreen { my ($_text_view, $_mark) = @_ }
+sub scroll_to_iter { my ($_text_view, $_iter, $_within_margin, $_use_align, $_xalign, $_yalign) = @_ }
+sub scroll_to_mark { my ($_text_view, $_mark, $_within_margin, $_use_align, $_xalign, $_yalign) = @_ }
+sub set_accepts_tab { my ($_text_view, $_accepts_tab) = @_ }
+sub set_border_window_size { my ($_text_view, $_type, $_size) = @_ }
+sub set_buffer { my ($_text_view, $_buffer) = @_ }
+sub set_cursor_visible { my ($_text_view, $_setting) = @_ }
+sub set_editable { my ($_text_view, $_setting) = @_ }
+sub set_indent { my ($_text_view, $_indent) = @_ }
+sub set_justification { my ($_text_view, $_justification) = @_ }
+sub set_left_margin { my ($_text_view, $_left_margin) = @_ }
+sub set_overwrite { my ($_text_view, $_overwrite) = @_ }
+sub set_pixels_above_lines { my ($_text_view, $_pixels_above_lines) = @_ }
+sub set_pixels_below_lines { my ($_text_view, $_pixels_below_lines) = @_ }
+sub set_pixels_inside_wrap { my ($_text_view, $_pixels_inside_wrap) = @_ }
+sub set_right_margin { my ($_text_view, $_right_margin) = @_ }
+sub set_tabs { my ($_text_view, $_tabs) = @_ }
+sub set_wrap_mode { my ($_text_view, $_wrap_mode) = @_ }
+sub starts_display_line { my ($_text_view, $_iter) = @_ }
+sub window_to_buffer_coords { my ($_text_view, $_win, $_window_x, $_window_y) = @_ }
+
+package Gtk2::ToggleAction;
+our @ISA = qw();
+sub get_active { my ($_action) = @_ }
+sub get_draw_as_radio { my ($_action) = @_ }
+sub set_active { my ($_action, $_is_active) = @_ }
+sub set_draw_as_radio { my ($_action, $_draw_as_radio) = @_ }
+sub toggled { my ($_action) = @_ }
+
+package Gtk2::ToggleButton;
+our @ISA = qw();
+sub get_active { my ($_toggle_button) = @_ }
+sub get_inconsistent { my ($_toggle_button) = @_ }
+sub get_mode { my ($_toggle_button) = @_ }
+sub new { my ($_class, $_o_label) = @_ }
+sub new_with_label { my ($_class, $_o_label) = @_ }
+sub new_with_mnemonic { my ($_class, $_o_label) = @_ }
+sub set_active { my ($_toggle_button, $_is_active) = @_ }
+sub set_inconsistent { my ($_toggle_button, $_setting) = @_ }
+sub set_mode { my ($_toggle_button, $_draw_indicator) = @_ }
+sub toggled { my ($_toggle_button) = @_ }
+
+package Gtk2::ToggleToolButton;
+our @ISA = qw();
+sub get_active { my ($_button) = @_ }
+sub new { my ($_class) = @_ }
+sub new_from_stock { my ($_class, $_stock_id) = @_ }
+sub set_active { my ($_button, $_is_active) = @_ }
+
+package Gtk2::ToolButton;
+our @ISA = qw();
+sub get_icon_name { my ($_button) = @_ }
+sub get_icon_widget { my ($_button) = @_ }
+sub get_label { my ($_button) = @_ }
+sub get_label_widget { my ($_button) = @_ }
+sub get_stock_id { my ($_button) = @_ }
+sub get_use_underline { my ($_button) = @_ }
+sub new { my ($_class, $_icon_widget, $_label) = @_ }
+sub new_from_stock { my ($_class, $_stock_id) = @_ }
+sub set_icon_name { my ($_button, $_icon_name) = @_ }
+sub set_icon_widget { my ($_button, $_icon_widget) = @_ }
+sub set_label { my ($_button, $_label) = @_ }
+sub set_label_widget { my ($_button, $_label_widget) = @_ }
+sub set_stock_id { my ($_button, $_stock_id) = @_ }
+sub set_use_underline { my ($_button, $_use_underline) = @_ }
+
+package Gtk2::ToolItem;
+our @ISA = qw();
+sub get_expand { my ($_tool_item) = @_ }
+sub get_homogeneous { my ($_tool_item) = @_ }
+sub get_icon_size { my ($_tool_item) = @_ }
+sub get_is_important { my ($_tool_item) = @_ }
+sub get_orientation { my ($_tool_item) = @_ }
+sub get_proxy_menu_item { my ($_tool_item, $_menu_item_id) = @_ }
+sub get_relief_style { my ($_tool_item) = @_ }
+sub get_toolbar_style { my ($_tool_item) = @_ }
+sub get_use_drag_window { my ($_toolitem) = @_ }
+sub get_visible_horizontal { my ($_toolitem) = @_ }
+sub get_visible_vertical { my ($_toolitem) = @_ }
+sub new { my ($_class) = @_ }
+sub rebuild_menu { my ($_tool_item) = @_ }
+sub retrieve_proxy_menu_item { my ($_tool_item) = @_ }
+sub set_expand { my ($_tool_item, $_expand) = @_ }
+sub set_homogeneous { my ($_tool_item, $_homogeneous) = @_ }
+sub set_is_important { my ($_tool_item, $_is_important) = @_ }
+sub set_proxy_menu_item { my ($_tool_item, $_menu_item_id, $_menu_item) = @_ }
+sub set_tooltip { my ($_tool_item, $_tooltips, $_tip_text, $_tip_private) = @_ }
+sub set_use_drag_window { my ($_toolitem, $_use_drag_window) = @_ }
+sub set_visible_horizontal { my ($_toolitem, $_visible_horizontal) = @_ }
+sub set_visible_vertical { my ($_toolitem, $_visible_vertical) = @_ }
+
+package Gtk2::Toolbar;
+our @ISA = qw();
+sub append_element { my ($_toolbar, $_type, $_widget, $_text, $_tooltip_text, $_tooltip_private_text, $_icon, $_o_callback, $_o_user_data) = @_ }
+sub append_item { my ($_toolbar, $_text, $_tooltip_text, $_tooltip_private_text, $_icon, $_o_callback, $_o_user_data) = @_ }
+sub append_space { my ($_toolbar) = @_ }
+sub append_widget { my ($_toolbar, $_widget, $_tooltip_text, $_tooltip_private_text) = @_ }
+sub get_drop_index { my ($_toolbar, $_x, $_y) = @_ }
+sub get_icon_size { my ($_toolbar) = @_ }
+sub get_item_index { my ($_toolbar, $_item) = @_ }
+sub get_n_items { my ($_toolbar) = @_ }
+sub get_nth_item { my ($_toolbar, $_n) = @_ }
+sub get_orientation { my ($_toolbar) = @_ }
+sub get_relief_style { my ($_toolbar) = @_ }
+sub get_show_arrow { my ($_toolbar) = @_ }
+sub get_style { my ($_toolbar) = @_ }
+sub get_tooltips { my ($_toolbar) = @_ }
+sub insert { my ($_toolbar, $_item, $_pos) = @_ }
+sub insert_element { my ($_toolbar, $_type, $_widget, $_text, $_tooltip_text, $_tooltip_private_text, $_icon, $_callback, $_user_data, $_position) = @_ }
+sub insert_item { my ($_toolbar, $_text, $_tooltip_text, $_tooltip_private_text, $_icon, $_callback, $_user_data, $_position) = @_ }
+sub insert_space { my ($_toolbar, $_position) = @_ }
+sub insert_stock { my ($_toolbar, $_stock_id, $_tooltip_text, $_tooltip_private_text, $_callback, $_user_data, $_position) = @_ }
+sub insert_widget { my ($_toolbar, $_widget, $_tooltip_text, $_tooltip_private_text, $_position) = @_ }
+sub new { my ($_class) = @_ }
+sub prepend_element { my ($_toolbar, $_type, $_widget, $_text, $_tooltip_text, $_tooltip_private_text, $_icon, $_o_callback, $_o_user_data) = @_ }
+sub prepend_item { my ($_toolbar, $_text, $_tooltip_text, $_tooltip_private_text, $_icon, $_o_callback, $_o_user_data) = @_ }
+sub prepend_space { my ($_toolbar) = @_ }
+sub prepend_widget { my ($_toolbar, $_widget, $_tooltip_text, $_tooltip_private_text) = @_ }
+sub remove_space { my ($_toolbar, $_position) = @_ }
+sub set_drop_highlight_item { my ($_toolbar, $_tool_item, $_index) = @_ }
+sub set_icon_size { my ($_toolbar, $_icon_size) = @_ }
+sub set_orientation { my ($_toolbar, $_orientation) = @_ }
+sub set_show_arrow { my ($_toolbar, $_show_arrow) = @_ }
+sub set_style { my ($_toolbar, $_style) = @_ }
+sub set_tooltips { my ($_toolbar, $_enable) = @_ }
+sub unset_icon_size { my ($_toolbar) = @_ }
+sub unset_style { my ($_toolbar) = @_ }
+
+package Gtk2::Tooltips;
+our @ISA = qw();
+sub data_get { my ($_class, $_widget) = @_ }
+sub disable { my ($_tooltips) = @_ }
+sub enable { my ($_tooltips) = @_ }
+sub force_window { my ($_tooltips) = @_ }
+sub new { my ($_class) = @_ }
+sub set_tip { my ($_tooltips, $_widget, $_tip_text, $_o_tip_private) = @_ }
+
+package Gtk2::TreeDragDest;
+our @ISA = qw();
+sub _ADD_INTERFACE { my ($_class, $_target_class) = @_ }
+sub drag_data_received { my ($_drag_dest, $_dest, $_selection_data) = @_ }
+sub row_drop_possible { my ($_drag_dest, $_dest_path, $_selection_data) = @_ }
+
+package Gtk2::TreeDragSource;
+our @ISA = qw();
+sub _ADD_INTERFACE { my ($_class, $_target_class) = @_ }
+sub drag_data_delete { my ($_drag_source, $_path) = @_ }
+sub drag_data_get { my ($_drag_source, $_path) = @_ }
+sub row_draggable { my ($_drag_source, $_path) = @_ }
+
+package Gtk2::TreeIter;
+our @ISA = qw();
+sub new_from_arrayref { my ($_class, $_sv_iter) = @_ }
+sub to_arrayref { my ($_iter, $_stamp) = @_ }
+
+package Gtk2::TreeModel;
+our @ISA = qw();
+sub _ADD_INTERFACE { my ($_class, $_target_class) = @_ }
+sub Gtk2::TreeModel::foreach { my ($_model, $_func, $_o_user_data) = @_ }
+sub get { my ($_tree_model, $_iter, @_more_paras) = @_ }
+sub get_column_type { my ($_tree_model, $_index_) = @_ }
+sub get_flags { my ($_tree_model) = @_ }
+sub get_iter { my ($_tree_model, $_path) = @_ }
+sub get_iter_first { my ($_tree_model) = @_ }
+sub get_iter_from_string { my ($_tree_model, $_path_string) = @_ }
+sub get_n_columns { my ($_tree_model) = @_ }
+sub get_path { my ($_tree_model, $_iter) = @_ }
+sub get_string_from_iter { my ($_tree_model, $_iter) = @_ }
+sub get_value { my ($_tree_model, $_iter, @_more_paras) = @_ }
+sub iter_children { my ($_tree_model, $_parent) = @_ }
+sub iter_has_child { my ($_tree_model, $_iter) = @_ }
+sub iter_n_children { my ($_tree_model, $_o_iter) = @_ }
+sub iter_next { my ($_tree_model, $_iter) = @_ }
+sub iter_nth_child { my ($_tree_model, $_parent, $_n) = @_ }
+sub iter_parent { my ($_tree_model, $_child) = @_ }
+sub ref_node { my ($_tree_model, $_iter) = @_ }
+sub row_changed { my ($_tree_model, $_path, $_iter) = @_ }
+sub row_deleted { my ($_tree_model, $_path) = @_ }
+sub row_has_child_toggled { my ($_tree_model, $_path, $_iter) = @_ }
+sub row_inserted { my ($_tree_model, $_path, $_iter) = @_ }
+sub rows_reordered { my ($_tree_model, $_path, $_iter, @_more_paras) = @_ }
+sub unref_node { my ($_tree_model, $_iter) = @_ }
+
+package Gtk2::TreeModelFilter;
+our @ISA = qw();
+sub clear_cache { my ($_filter) = @_ }
+sub convert_child_iter_to_iter { my ($_filter, $_child_iter) = @_ }
+sub convert_child_path_to_path { my ($_filter, $_child_path) = @_ }
+sub convert_iter_to_child_iter { my ($_filter, $_filter_iter) = @_ }
+sub convert_path_to_child_path { my ($_path, $_filter_path) = @_ }
+sub get_model { my ($_filter) = @_ }
+sub new { my ($_class, $_child_model, $_o_root) = @_ }
+sub refilter { my ($_filter) = @_ }
+sub set_modify_func { my ($_filter, $_types, $_o_func, $_o_data) = @_ }
+sub set_visible_column { my ($_filter, $_column) = @_ }
+sub set_visible_func { my ($_filter, $_func, $_o_data) = @_ }
+
+package Gtk2::TreeModelSort;
+our @ISA = qw();
+sub clear_cache { my ($_tree_model_sort) = @_ }
+sub convert_child_iter_to_iter { my ($_tree_model_sort, $_child_iter) = @_ }
+sub convert_child_path_to_path { my ($_tree_model_sort, $_child_path) = @_ }
+sub convert_iter_to_child_iter { my ($_tree_model_sort, $_sorted_iter) = @_ }
+sub convert_path_to_child_path { my ($_tree_model_sort, $_sorted_path) = @_ }
+sub get_model { my ($_tree_model) = @_ }
+sub iter_is_valid { my ($_tree_model_sort, $_iter) = @_ }
+sub new { my ($_class, @_more_paras) = @_ }
+sub new_with_model { my ($_class, $_child_model) = @_ }
+sub reset_default_sort_func { my ($_tree_model_sort) = @_ }
+
+package Gtk2::TreePath;
+our @ISA = qw();
+sub append_index { my ($_path, $_index_) = @_ }
+sub compare { my ($_a, $_b) = @_ }
+sub down { my ($_path) = @_ }
+sub get_depth { my ($_path) = @_ }
+sub get_indices { my ($_path) = @_ }
+sub is_ancestor { my ($_path, $_descendant) = @_ }
+sub is_descendant { my ($_path, $_ancestor) = @_ }
+sub new { my ($_class, $_o_path) = @_ }
+sub new_first { my ($_class) = @_ }
+sub new_from_indices { my ($_class, $_first_index, @_more_paras) = @_ }
+sub new_from_string { my ($_class, $_o_path) = @_ }
+sub next { my ($_path) = @_ }
+sub prepend_index { my ($_path, $_index_) = @_ }
+sub prev { my ($_path) = @_ }
+sub to_string { my ($_path) = @_ }
+sub up { my ($_path) = @_ }
+
+package Gtk2::TreeRowReference;
+our @ISA = qw();
+sub get_model { my ($_reference) = @_ }
+sub get_path { my ($_reference) = @_ }
+sub new { my ($_class, $_model, $_path) = @_ }
+sub valid { my ($_reference) = @_ }
+
+package Gtk2::TreeSelection;
+our @ISA = qw();
+sub count_selected_rows { my ($_selection) = @_ }
+sub get_mode { my ($_selection) = @_ }
+sub get_selected { my ($_selection) = @_ }
+sub get_selected_rows { my ($_selection) = @_ }
+sub get_tree_view { my ($_selection) = @_ }
+sub get_user_data { my ($_selection) = @_ }
+sub iter_is_selected { my ($_selection, $_iter) = @_ }
+sub path_is_selected { my ($_selection, $_path) = @_ }
+sub select_all { my ($_selection) = @_ }
+sub select_iter { my ($_selection, $_iter) = @_ }
+sub select_path { my ($_selection, $_path) = @_ }
+sub select_range { my ($_selection, $_start_path, $_end_path) = @_ }
+sub selected_foreach { my ($_selection, $_func, $_o_data) = @_ }
+sub set_mode { my ($_selection, $_type) = @_ }
+sub set_select_function { my ($_selection, $_func, $_o_data) = @_ }
+sub unselect_all { my ($_selection) = @_ }
+sub unselect_iter { my ($_selection, $_iter) = @_ }
+sub unselect_path { my ($_selection, $_path) = @_ }
+sub unselect_range { my ($_selection, $_start_path, $_end_path) = @_ }
+
+package Gtk2::TreeSortable;
+our @ISA = qw();
+sub _ADD_INTERFACE { my ($_class, $_target_class) = @_ }
+sub get_sort_column_id { my ($_sortable) = @_ }
+sub has_default_sort_func { my ($_sortable) = @_ }
+sub set_default_sort_func { my ($_sortable, $_sort_func, $_o_user_data) = @_ }
+sub set_sort_column_id { my ($_sortable, $_sort_column_id, $_order) = @_ }
+sub set_sort_func { my ($_sortable, $_sort_column_id, $_sort_func, $_o_user_data) = @_ }
+sub sort_column_changed { my ($_sortable) = @_ }
+
+package Gtk2::TreeSortable::IterCompareFunc;
+our @ISA = qw();
+sub DESTROY { my ($_code) = @_ }
+sub invoke { my ($_model, $_a, $_b, $_data) = @_ }
+
+package Gtk2::TreeStore;
+our @ISA = qw();
+sub append { my ($_tree_store, $_parent) = @_ }
+sub clear { my ($_tree_store) = @_ }
+sub insert { my ($_tree_store, $_parent, $_position) = @_ }
+sub insert_after { my ($_tree_store, $_parent, $_sibling) = @_ }
+sub insert_before { my ($_tree_store, $_parent, $_sibling) = @_ }
+sub is_ancestor { my ($_tree_store, $_iter, $_descendant) = @_ }
+sub iter_depth { my ($_tree_store, $_iter) = @_ }
+sub iter_is_valid { my ($_tree_store, $_iter) = @_ }
+sub move_after { my ($_tree_store, $_iter, $_position) = @_ }
+sub move_before { my ($_tree_store, $_iter, $_position) = @_ }
+sub new { my ($_class, @_more_paras) = @_ }
+sub prepend { my ($_tree_store, $_parent) = @_ }
+sub remove { my ($_tree_store, $_iter) = @_ }
+sub reorder { my ($_tree_store, $_parent, @_more_paras) = @_ }
+sub set { my ($_tree_store, $_iter, $_col1, $_val1, @_more_paras) = @_ }
+sub set_column_types { my ($_tree_store, @_more_paras) = @_ }
+sub set_value { my ($_tree_store, $_iter, $_col1, $_val1, @_more_paras) = @_ }
+sub swap { my ($_tree_store, $_a, $_b) = @_ }
+
+package Gtk2::TreeView;
+our @ISA = qw();
+sub append_column { my ($_tree_view, $_column) = @_ }
+sub collapse_all { my ($_tree_view) = @_ }
+sub collapse_row { my ($_tree_view, $_path) = @_ }
+sub columns_autosize { my ($_tree_view) = @_ }
+sub create_row_drag_icon { my ($_tree_view, $_path) = @_ }
+sub enable_model_drag_dest { my ($_tree_view, $_actions, @_more_paras) = @_ }
+sub enable_model_drag_source { my ($_tree_view, $_start_button_mask, $_actions, @_more_paras) = @_ }
+sub expand_all { my ($_tree_view) = @_ }
+sub expand_row { my ($_tree_view, $_path, $_open_all) = @_ }
+sub expand_to_path { my ($_tree_view, $_path) = @_ }
+sub get_background_area { my ($_tree_view, $_path, $_column) = @_ }
+sub get_bin_window { my ($_tree_view) = @_ }
+sub get_cell_area { my ($_tree_view, $_path, $_column) = @_ }
+sub get_column { my ($_tree_view, $_n) = @_ }
+sub get_columns { my ($_tree_view) = @_ }
+sub get_cursor { my ($_tree_view) = @_ }
+sub get_dest_row_at_pos { my ($_tree_view, $_drag_x, $_drag_y) = @_ }
+sub get_drag_dest_row { my ($_tree_view) = @_ }
+sub get_enable_search { my ($_tree_view) = @_ }
+sub get_expander_column { my ($_tree_view) = @_ }
+sub get_fixed_height_mode { my ($_treeview) = @_ }
+sub get_hadjustment { my ($_tree_view) = @_ }
+sub get_headers_visible { my ($_tree_view) = @_ }
+sub get_hover_expand { my ($_treeview) = @_ }
+sub get_hover_selection { my ($_treeview) = @_ }
+sub get_model { my ($_tree_view) = @_ }
+sub get_path_at_pos { my ($_tree_view, $_x, $_y) = @_ }
+sub get_reorderable { my ($_tree_view) = @_ }
+sub get_rules_hint { my ($_tree_view) = @_ }
+sub get_search_column { my ($_tree_view) = @_ }
+sub get_selection { my ($_tree_view) = @_ }
+sub get_vadjustment { my ($_tree_view) = @_ }
+sub get_visible_range { my ($_tree_view) = @_ }
+sub get_visible_rect { my ($_tree_view) = @_ }
+sub insert_column { my ($_tree_view, $_column, $_position) = @_ }
+sub insert_column_with_attributes { my ($_tree_view, $_position, $_title, $_cell, @_more_paras) = @_ }
+sub insert_column_with_data_func { my ($_tree_view, $_position, $_title, $_cell, $_func, $_o_data) = @_ }
+sub map_expanded_rows { my ($_tree_view, $_func, $_o_data) = @_ }
+sub move_column_after { my ($_tree_view, $_column, $_base_column) = @_ }
+sub new { my ($_class, $_o_model) = @_ }
+sub new_with_model { my ($_class, $_model) = @_ }
+sub remove_column { my ($_tree_view, $_column) = @_ }
+sub row_activated { my ($_tree_view, $_path, $_column) = @_ }
+sub row_expanded { my ($_tree_view, $_path) = @_ }
+sub scroll_to_cell { my ($_tree_view, $_path, $_o_column, $_o_use_align, $_o_row_align, $_o_col_align) = @_ }
+sub scroll_to_point { my ($_tree_view, $_tree_x, $_tree_y) = @_ }
+sub set_column_drag_function { my ($_tree_view, $_func, $_o_data) = @_ }
+sub set_cursor { my ($_tree_view, $_path, $_o_focus_column, $_o_start_editing) = @_ }
+sub set_cursor_on_cell { my ($_tree_view, $_path, $_focus_column, $_focus_cell, $_start_editing) = @_ }
+sub set_drag_dest_row { my ($_tree_view, $_path, $_pos) = @_ }
+sub set_enable_search { my ($_tree_view, $_enable_search) = @_ }
+sub set_expander_column { my ($_tree_view, $_column) = @_ }
+sub set_fixed_height_mode { my ($_treeview, $_enable) = @_ }
+sub set_hadjustment { my ($_tree_view, $_adjustment) = @_ }
+sub set_headers_clickable { my ($_tree_view, $_setting) = @_ }
+sub set_headers_visible { my ($_tree_view, $_headers_visible) = @_ }
+sub set_hover_expand { my ($_treeview, $_expand) = @_ }
+sub set_hover_selection { my ($_treeview, $_hover) = @_ }
+sub set_model { my ($_tree_view, $_model) = @_ }
+sub set_reorderable { my ($_tree_view, $_reorderable) = @_ }
+sub set_row_separator_func { my ($_tree_view, $_func, $_o_data) = @_ }
+sub set_rules_hint { my ($_tree_view, $_setting) = @_ }
+sub set_search_column { my ($_tree_view, $_column) = @_ }
+sub set_search_equal_func { my ($_tree_view, $_func, $_o_data) = @_ }
+sub set_vadjustment { my ($_tree_view, $_adjustment) = @_ }
+sub tree_to_widget_coords { my ($_tree_view, $_tx, $_ty) = @_ }
+sub unset_rows_drag_dest { my ($_tree_view) = @_ }
+sub unset_rows_drag_source { my ($_tree_view) = @_ }
+sub widget_to_tree_coords { my ($_tree_view, $_wx, $_wy) = @_ }
+
+package Gtk2::TreeViewColumn;
+our @ISA = qw();
+sub add_attribute { my ($_tree_column, $_cell_renderer, $_attribute, $_column) = @_ }
+sub cell_get_position { my ($_tree_column, $_cell_renderer) = @_ }
+sub cell_get_size { my ($_tree_column) = @_ }
+sub cell_is_visible { my ($_tree_column) = @_ }
+sub cell_set_cell_data { my ($_tree_column, $_tree_model, $_iter, $_is_expander, $_is_expanded) = @_ }
+sub clear { my ($_tree_column) = @_ }
+sub clear_attributes { my ($_tree_column, $_cell_renderer) = @_ }
+sub clicked { my ($_tree_column) = @_ }
+sub focus_cell { my ($_tree_column, $_cell) = @_ }
+sub get_alignment { my ($_tree_column) = @_ }
+sub get_cell_renderers { my ($_tree_column) = @_ }
+sub get_clickable { my ($_tree_column) = @_ }
+sub get_expand { my ($_tree_column) = @_ }
+sub get_fixed_width { my ($_tree_column) = @_ }
+sub get_max_width { my ($_tree_column) = @_ }
+sub get_min_width { my ($_tree_column) = @_ }
+sub get_reorderable { my ($_tree_column) = @_ }
+sub get_resizable { my ($_tree_column) = @_ }
+sub get_sizing { my ($_tree_column) = @_ }
+sub get_sort_column_id { my ($_tree_column) = @_ }
+sub get_sort_indicator { my ($_tree_column) = @_ }
+sub get_sort_order { my ($_tree_column) = @_ }
+sub get_spacing { my ($_tree_column) = @_ }
+sub get_title { my ($_tree_column) = @_ }
+sub get_visible { my ($_tree_column) = @_ }
+sub get_widget { my ($_tree_column) = @_ }
+sub get_width { my ($_tree_column) = @_ }
+sub new { my ($_class) = @_ }
+sub new_with_attributes { my ($_class, $_title, $_cell, @_more_paras) = @_ }
+sub pack_end { my ($_tree_column, $_cell, $_expand) = @_ }
+sub pack_start { my ($_tree_column, $_cell, $_expand) = @_ }
+sub queue_resize { my ($_tree_column) = @_ }
+sub set_alignment { my ($_tree_column, $_xalign) = @_ }
+sub set_attributes { my ($_tree_column, $_cell_renderer, @_more_paras) = @_ }
+sub set_cell_data_func { my ($_tree_column, $_cell_renderer, $_func, $_o_data) = @_ }
+sub set_clickable { my ($_tree_column, $_clickable) = @_ }
+sub set_expand { my ($_tree_column, $_expand) = @_ }
+sub set_fixed_width { my ($_tree_column, $_fixed_width) = @_ }
+sub set_max_width { my ($_tree_column, $_max_width) = @_ }
+sub set_min_width { my ($_tree_column, $_min_width) = @_ }
+sub set_reorderable { my ($_tree_column, $_reorderable) = @_ }
+sub set_resizable { my ($_tree_column, $_resizable) = @_ }
+sub set_sizing { my ($_tree_column, $_type) = @_ }
+sub set_sort_column_id { my ($_tree_column, $_sort_column_id) = @_ }
+sub set_sort_indicator { my ($_tree_column, $_setting) = @_ }
+sub set_sort_order { my ($_tree_column, $_order) = @_ }
+sub set_spacing { my ($_tree_column, $_spacing) = @_ }
+sub set_title { my ($_tree_column, $_title) = @_ }
+sub set_visible { my ($_tree_column, $_visible) = @_ }
+sub set_widget { my ($_tree_column, $_widget) = @_ }
+
+package Gtk2::UIManager;
+our @ISA = qw();
+sub add_ui { my ($_self, $_merge_id, $_path, $_name, $_action, $_type, $_top) = @_ }
+sub add_ui_from_file { my ($_self, $_filename) = @_ }
+sub add_ui_from_string { my ($_self, $_buffer, $_buffer) = @_ }
+sub ensure_update { my ($_self) = @_ }
+sub get_accel_group { my ($_self) = @_ }
+sub get_action { my ($_self, $_path) = @_ }
+sub get_action_groups { my ($_self) = @_ }
+sub get_add_tearoffs { my ($_self) = @_ }
+sub get_toplevels { my ($_self, $_types) = @_ }
+sub get_ui { my ($_self) = @_ }
+sub get_widget { my ($_self, $_path) = @_ }
+sub insert_action_group { my ($_self, $_action_group, $_pos) = @_ }
+sub new { my ($_class) = @_ }
+sub new_merge_id { my ($_self) = @_ }
+sub remove_action_group { my ($_self, $_action_group) = @_ }
+sub remove_ui { my ($_self, $_merge_id) = @_ }
+sub set_add_tearoffs { my ($_self, $_add_tearoffs) = @_ }
+
+package Gtk2::VBox;
+our @ISA = qw();
+sub new { my ($_class, $_o_homogeneous, $_o_spacing) = @_ }
+
+package Gtk2::VButtonBox;
+our @ISA = qw();
+sub get_layout_default { my ($_class) = @_ }
+sub get_spacing_default { my ($_class) = @_ }
+sub new { my ($_class) = @_ }
+sub set_layout_default { my ($_class, $_layout) = @_ }
+sub set_spacing_default { my ($_class, $_spacing) = @_ }
+
+package Gtk2::VPaned;
+our @ISA = qw();
+sub new { my ($_class) = @_ }
+
+package Gtk2::VRuler;
+our @ISA = qw();
+sub new { my ($_class) = @_ }
+
+package Gtk2::VScale;
+our @ISA = qw();
+sub new { my ($_class, $_o_adjustment) = @_ }
+sub new_with_range { my ($_class, $_min, $_max, $_step) = @_ }
+
+package Gtk2::VScrollBar;
+our @ISA = qw();
+sub new { my ($_class, $_o_adjustment) = @_ }
+
+package Gtk2::VScrollbar;
+our @ISA = qw();
+sub new { my ($_class, $_o_adjustment) = @_ }
+
+package Gtk2::VSeparator;
+our @ISA = qw();
+sub new { my ($_class) = @_ }
+
+package Gtk2::Viewport;
+our @ISA = qw();
+sub get_hadjustment { my ($_viewport) = @_ }
+sub get_shadow_type { my ($_viewport) = @_ }
+sub get_vadjustment { my ($_viewport) = @_ }
+sub new { my ($_class, $_o_hadjustment, $_o_vadjustment) = @_ }
+sub set_hadjustment { my ($_viewport, $_adjustment) = @_ }
+sub set_shadow_type { my ($_viewport, $_type) = @_ }
+sub set_vadjustment { my ($_viewport, $_adjustment) = @_ }
+
+package Gtk2::Widget;
+our @ISA = qw();
+sub _INSTALL_OVERRIDES { my ($_package) = @_ }
+sub activate { my ($_widget) = @_ }
+sub add_accelerator { my ($_widget, $_accel_signal, $_accel_group, $_accel_key, $_accel_mods, $_flags) = @_ }
+sub add_events { my ($_widget, $_events) = @_ }
+sub add_mnemonic_label { my ($_widget, $_label) = @_ }
+sub allocation { my ($_widget) = @_ }
+sub app_paintable { my ($_widget, @_more_paras) = @_ }
+sub can_activate_accel { my ($_widget, $_signal_id) = @_ }
+sub can_default { my ($_widget, @_more_paras) = @_ }
+sub can_focus { my ($_widget, @_more_paras) = @_ }
+sub child_focus { my ($_widget, $_direction) = @_ }
+sub child_notify { my ($_widget, $_child_property) = @_ }
+sub class_path { my ($_widget) = @_ }
+sub composite_child { my ($_widget, @_more_paras) = @_ }
+sub create_pango_context { my ($_widget) = @_ }
+sub create_pango_layout { my ($_widget, $_text) = @_ }
+sub destroy { my ($_widget) = @_ }
+sub double_buffered { my ($_widget, @_more_paras) = @_ }
+sub drag_begin { my ($_widget, $_targets, $_actions, $_button, $_event) = @_ }
+sub drag_check_threshold { my ($_widget, $_start_x, $_start_y, $_current_x, $_current_y) = @_ }
+sub drag_dest_add_image_targets { my ($_widget) = @_ }
+sub drag_dest_add_text_targets { my ($_widget) = @_ }
+sub drag_dest_add_uri_targets { my ($_widget) = @_ }
+sub drag_dest_find_target { my ($_widget, $_context, $_target_list) = @_ }
+sub drag_dest_get_target_list { my ($_widget) = @_ }
+sub drag_dest_set { my ($_widget, $_flags, $_actions, @_more_paras) = @_ }
+sub drag_dest_set_proxy { my ($_widget, $_proxy_window, $_protocol, $_use_coordinates) = @_ }
+sub drag_dest_set_target_list { my ($_widget, $_target_list) = @_ }
+sub drag_dest_unset { my ($_widget) = @_ }
+sub drag_get_data { my ($_widget, $_context, $_target, $_time_) = @_ }
+sub drag_highlight { my ($_widget) = @_ }
+sub drag_source_add_image_targets { my ($_widget) = @_ }
+sub drag_source_add_text_targets { my ($_widget) = @_ }
+sub drag_source_add_uri_targets { my ($_widget) = @_ }
+sub drag_source_get_target_list { my ($_widget) = @_ }
+sub drag_source_set { my ($_widget, $_start_button_mask, $_actions, @_more_paras) = @_ }
+sub drag_source_set_icon { my ($_widget, $_colormap, $_pixmap, $_mask) = @_ }
+sub drag_source_set_icon_name { my ($_widget, $_icon_name) = @_ }
+sub drag_source_set_icon_pixbuf { my ($_widget, $_pixbuf) = @_ }
+sub drag_source_set_icon_stock { my ($_widget, $_stock_id) = @_ }
+sub drag_source_set_target_list { my ($_widget, $_target_list) = @_ }
+sub drag_source_unset { my ($_widget) = @_ }
+sub drag_unhighlight { my ($_widget) = @_ }
+sub drawable { my ($_widget, @_more_paras) = @_ }
+sub ensure_style { my ($_widget) = @_ }
+sub event { my ($_widget, $_event) = @_ }
+sub flags { my ($_widget) = @_ }
+sub freeze_child_notify { my ($_widget) = @_ }
+sub get_accessible { my ($_widget) = @_ }
+sub get_ancestor { my ($_widget, $_ancestor_package) = @_ }
+sub get_child_requisition { my ($_widget) = @_ }
+sub get_child_visible { my ($_widget) = @_ }
+sub get_clipboard { my ($_widget, $_o_selection) = @_ }
+sub get_colormap { my ($_widget) = @_ }
+sub get_composite_name { my ($_widget) = @_ }
+sub get_default_colormap { my ($_class_or_widget) = @_ }
+sub get_default_direction { my ($_class) = @_ }
+sub get_default_style { my ($_class_or_widget) = @_ }
+sub get_default_visual { my ($_class_or_widget) = @_ }
+sub get_direction { my ($_widget) = @_ }
+sub get_display { my ($_widget) = @_ }
+sub get_events { my ($_widget) = @_ }
+sub get_extension_events { my ($_widget) = @_ }
+sub get_flags { my ($_widget) = @_ }
+sub get_modifier_style { my ($_widget) = @_ }
+sub get_name { my ($_widget) = @_ }
+sub get_no_show_all { my ($_widget) = @_ }
+sub get_pango_context { my ($_widget) = @_ }
+sub get_parent { my ($_widget) = @_ }
+sub get_parent_window { my ($_widget) = @_ }
+sub get_pointer { my ($_widget) = @_ }
+sub get_root_window { my ($_widget) = @_ }
+sub get_screen { my ($_widget) = @_ }
+sub get_settings { my ($_widget) = @_ }
+sub get_size_request { my ($_widget) = @_ }
+sub get_style { my ($_widget) = @_ }
+sub get_toplevel { my ($_widget) = @_ }
+sub get_visual { my ($_widget) = @_ }
+sub grab_default { my ($_widget) = @_ }
+sub grab_focus { my ($_widget) = @_ }
+sub has_default { my ($_widget, @_more_paras) = @_ }
+sub has_focus { my ($_widget, @_more_paras) = @_ }
+sub has_grab { my ($_widget, @_more_paras) = @_ }
+sub has_screen { my ($_widget) = @_ }
+sub hide { my ($_widget) = @_ }
+sub hide_all { my ($_widget) = @_ }
+sub intersect { my ($_widget, $_area) = @_ }
+sub is_ancestor { my ($_widget, $_ancestor) = @_ }
+sub is_focus { my ($_widget) = @_ }
+sub is_sensitive { my ($_widget, @_more_paras) = @_ }
+sub list_mnemonic_labels { my ($_widget) = @_ }
+sub map { my ($_widget) = @_ }
+sub mapped { my ($_widget, @_more_paras) = @_ }
+sub mnemonic_activate { my ($_widget, $_group_cycling) = @_ }
+sub modify_base { my ($_widget, $_state, $_color) = @_ }
+sub modify_bg { my ($_widget, $_state, $_color) = @_ }
+sub modify_fg { my ($_widget, $_state, $_color) = @_ }
+sub modify_font { my ($_widget, $_font_desc) = @_ }
+sub modify_style { my ($_widget, $_style) = @_ }
+sub modify_text { my ($_widget, $_state, $_color) = @_ }
+sub no_window { my ($_widget, @_more_paras) = @_ }
+sub parent { my ($_widget) = @_ }
+sub parent_sensitive { my ($_widget, @_more_paras) = @_ }
+sub path { my ($_widget) = @_ }
+sub pop_colormap { my ($_class_or_widget) = @_ }
+sub pop_composite_child { my ($_o_class_or_widget) = @_ }
+sub propagate_event { my ($_widget, $_event) = @_ }
+sub push_colormap { my ($_class_or_widget, $_cmap) = @_ }
+sub push_composite_child { my ($_o_class_or_widget) = @_ }
+sub queue_draw { my ($_widget) = @_ }
+sub queue_draw_area { my ($_widget, $_x, $_y, $_width, $_height) = @_ }
+sub queue_resize { my ($_widget) = @_ }
+sub queue_resize_no_redraw { my ($_widget) = @_ }
+sub rc_style { my ($_widget, @_more_paras) = @_ }
+sub realize { my ($_widget) = @_ }
+sub realized { my ($_widget, @_more_paras) = @_ }
+sub receives_default { my ($_widget, @_more_paras) = @_ }
+sub region_intersect { my ($_widget, $_region) = @_ }
+sub remove_accelerator { my ($_widget, $_accel_group, $_accel_key, $_accel_mods) = @_ }
+sub remove_mnemonic_label { my ($_widget, $_label) = @_ }
+sub render_icon { my ($_widget, $_stock_id, $_size, $_o_detail) = @_ }
+sub reparent { my ($_widget, $_new_parent) = @_ }
+sub requisition { my ($_widget) = @_ }
+sub reset_rc_styles { my ($_widget) = @_ }
+sub reset_shapes { my ($_widget) = @_ }
+sub saved_state { my ($_widget) = @_ }
+sub selection_add_target { my ($_widget, $_selection, $_target, $_info) = @_ }
+sub selection_add_targets { my ($_widget, $_selection, @_more_paras) = @_ }
+sub selection_clear_targets { my ($_widget, $_selection) = @_ }
+sub selection_convert { my ($_widget, $_selection, $_target, $_time_) = @_ }
+sub selection_remove_all { my ($_widget) = @_ }
+sub sensitive { my ($_widget, @_more_paras) = @_ }
+sub set_accel_path { my ($_widget, $_accel_path, $_accel_group) = @_ }
+sub set_app_paintable { my ($_widget, $_app_paintable) = @_ }
+sub set_child_visible { my ($_widget, $_is_visible) = @_ }
+sub set_colormap { my ($_widget, $_colormap) = @_ }
+sub set_composite_name { my ($_widget, $_name) = @_ }
+sub set_default_colormap { my ($_class_or_widget, $_colormap) = @_ }
+sub set_default_direction { my ($_class, $_dir) = @_ }
+sub set_direction { my ($_widget, $_dir) = @_ }
+sub set_double_buffered { my ($_widget, $_double_buffered) = @_ }
+sub set_events { my ($_widget, $_events) = @_ }
+sub set_extension_events { my ($_widget, $_mode) = @_ }
+sub set_flags { my ($_widget, $_flags) = @_ }
+sub set_name { my ($_widget, $_name) = @_ }
+sub set_no_show_all { my ($_widget, $_no_show_all) = @_ }
+sub set_parent { my ($_widget, $_parent) = @_ }
+sub set_parent_window { my ($_widget, $_parent_window) = @_ }
+sub set_redraw_on_allocate { my ($_widget, $_redraw_on_allocate) = @_ }
+sub set_scroll_adjustments { my ($_widget, $_hadjustment, $_vadjustment) = @_ }
+sub set_sensitive { my ($_widget, $_sensitive) = @_ }
+sub set_size_request { my ($_widget, $_o_width, $_o_height) = @_ }
+sub set_state { my ($_widget, $_state) = @_ }
+sub set_style { my ($_widget, $_style) = @_ }
+sub shape_combine_mask { my ($_widget, $_shape_mask, $_offset_x, $_offset_y) = @_ }
+sub show { my ($_widget) = @_ }
+sub show_all { my ($_widget) = @_ }
+sub show_now { my ($_widget) = @_ }
+sub size_allocate { my ($_widget, $_allocation) = @_ }
+sub size_request { my ($_widget) = @_ }
+sub state { my ($_widget) = @_ }
+sub style { my ($_widget) = @_ }
+sub style_get { my ($_widget, $_first_property_name, @_more_paras) = @_ }
+sub style_get_property { my ($_widget, $_first_property_name, @_more_paras) = @_ }
+sub thaw_child_notify { my ($_widget) = @_ }
+sub toplevel { my ($_widget, @_more_paras) = @_ }
+sub translate_coordinates { my ($_src_widget, $_dest_widget, $_src_x, $_src_y) = @_ }
+sub unmap { my ($_widget) = @_ }
+sub unparent { my ($_widget) = @_ }
+sub unrealize { my ($_widget) = @_ }
+sub unset_flags { my ($_widget, $_flags) = @_ }
+sub visible { my ($_widget, @_more_paras) = @_ }
+sub window { my ($_widget, $_o_new) = @_ }
+
+package Gtk2::Window;
+our @ISA = qw();
+sub activate_default { my ($_window) = @_ }
+sub activate_focus { my ($_window) = @_ }
+sub activate_key { my ($_window, $_event) = @_ }
+sub add_accel_group { my ($_window, $_accel_group) = @_ }
+sub add_embedded_xid { my ($_window, $_xid) = @_ }
+sub add_mnemonic { my ($_window, $_keyval, $_target) = @_ }
+sub begin_move_drag { my ($_window, $_button, $_root_x, $_root_y, $_timestamp) = @_ }
+sub begin_resize_drag { my ($_window, $_edge, $_button, $_root_x, $_root_y, $_timestamp) = @_ }
+sub deiconify { my ($_window) = @_ }
+sub fullscreen { my ($_window) = @_ }
+sub get_accept_focus { my ($_window) = @_ }
+sub get_decorated { my ($_window) = @_ }
+sub get_default_icon_list { my ($_class) = @_ }
+sub get_default_size { my ($_window) = @_ }
+sub get_destroy_with_parent { my ($_window) = @_ }
+sub get_focus { my ($_window) = @_ }
+sub get_focus_on_map { my ($_window) = @_ }
+sub get_frame_dimensions { my ($_window) = @_ }
+sub get_gravity { my ($_window) = @_ }
+sub get_has_frame { my ($_window) = @_ }
+sub get_icon { my ($_window) = @_ }
+sub get_icon_list { my ($_window) = @_ }
+sub get_icon_name { my ($_window) = @_ }
+sub get_mnemonic_modifier { my ($_window) = @_ }
+sub get_modal { my ($_window) = @_ }
+sub get_position { my ($_window) = @_ }
+sub get_resizable { my ($_window) = @_ }
+sub get_role { my ($_window) = @_ }
+sub get_screen { my ($_window) = @_ }
+sub get_size { my ($_window) = @_ }
+sub get_skip_pager_hint { my ($_window) = @_ }
+sub get_skip_taskbar_hint { my ($_window) = @_ }
+sub get_title { my ($_window) = @_ }
+sub get_transient_for { my ($_window) = @_ }
+sub get_type_hint { my ($_window) = @_ }
+sub get_urgency_hint { my ($_window) = @_ }
+sub has_toplevel_focus { my ($_window) = @_ }
+sub iconify { my ($_window) = @_ }
+sub is_active { my ($_window) = @_ }
+sub list_toplevels { my ($_class) = @_ }
+sub maximize { my ($_window) = @_ }
+sub mnemonic_activate { my ($_window, $_keyval, $_modifier) = @_ }
+sub move { my ($_window, $_x, $_y) = @_ }
+sub new { my ($_class, $_o_type) = @_ }
+sub parse_geometry { my ($_window, $_geometry) = @_ }
+sub present { my ($_window) = @_ }
+sub present_with_time { my ($_window, $_timestamp) = @_ }
+sub propagate_key_event { my ($_window, $_event) = @_ }
+sub remove_accel_group { my ($_window, $_accel_group) = @_ }
+sub remove_embedded_xid { my ($_window, $_xid) = @_ }
+sub remove_mnemonic { my ($_window, $_keyval, $_target) = @_ }
+sub reshow_with_initial_size { my ($_window) = @_ }
+sub resize { my ($_window, $_width, $_height) = @_ }
+sub set_accept_focus { my ($_window, $_setting) = @_ }
+sub set_auto_startup_notification { my ($_class, $_setting) = @_ }
+sub set_decorated { my ($_window, $_setting) = @_ }
+sub set_default { my ($_window, $_default_widget) = @_ }
+sub set_default_icon { my ($_class, $_icon) = @_ }
+sub set_default_icon_from_file { my ($_class_or_instance, $_filename) = @_ }
+sub set_default_icon_list { my ($_class, $_pixbuf, @_more_paras) = @_ }
+sub set_default_icon_name { my ($_class, $_name) = @_ }
+sub set_default_size { my ($_window, $_width, $_height) = @_ }
+sub set_destroy_with_parent { my ($_window, $_setting) = @_ }
+sub set_focus { my ($_window, $_o_focus) = @_ }
+sub set_focus_on_map { my ($_window, $_setting) = @_ }
+sub set_frame_dimensions { my ($_window, $_left, $_top, $_right, $_bottom) = @_ }
+sub set_geometry_hints { my ($_window, $_geometry_widget, $_geometry_ref, $_o_geom_mask_sv) = @_ }
+sub set_gravity { my ($_window, $_gravity) = @_ }
+sub set_has_frame { my ($_window, $_setting) = @_ }
+sub set_icon { my ($_window, $_icon) = @_ }
+sub set_icon_from_file { my ($_window, $_filename) = @_ }
+sub set_icon_list { my ($_window, @_more_paras) = @_ }
+sub set_icon_name { my ($_window, $_name) = @_ }
+sub set_keep_above { my ($_window, $_setting) = @_ }
+sub set_keep_below { my ($_window, $_setting) = @_ }
+sub set_mnemonic_modifier { my ($_window, $_modifier) = @_ }
+sub set_modal { my ($_window, $_modal) = @_ }
+sub set_position { my ($_window, $_position) = @_ }
+sub set_resizable { my ($_window, $_resizable) = @_ }
+sub set_role { my ($_window, $_role) = @_ }
+sub set_screen { my ($_window, $_screen) = @_ }
+sub set_skip_pager_hint { my ($_window, $_setting) = @_ }
+sub set_skip_taskbar_hint { my ($_window, $_setting) = @_ }
+sub set_title { my ($_window, $_o_title) = @_ }
+sub set_transient_for { my ($_window, $_parent) = @_ }
+sub set_type_hint { my ($_window, $_hint) = @_ }
+sub set_urgency_hint { my ($_window, $_setting) = @_ }
+sub set_wmclass { my ($_window, $_wmclass_name, $_wmclass_class) = @_ }
+sub stick { my ($_window) = @_ }
+sub unfullscreen { my ($_window) = @_ }
+sub unmaximize { my ($_window) = @_ }
+sub unstick { my ($_window) = @_ }
+
+package Gtk2::WindowGroup;
+our @ISA = qw();
+sub add_window { my ($_window_group, $_window) = @_ }
+sub new { my ($_class) = @_ }
+sub remove_window { my ($_window_group, $_window) = @_ }
diff --git a/fake_packages/MDV/Distribconf.pm b/fake_packages/MDV/Distribconf.pm
new file mode 100644
index 0000000..abd441a
--- /dev/null
+++ b/fake_packages/MDV/Distribconf.pm
@@ -0,0 +1,17 @@
+package MDV::Distribconf;
+
+sub new {
+ my ($_class, $_path, $_mediacfg_version) = @_;
+}
+
+sub parse_mediacfg {
+ my ($_distrib, $_mediacfg) = @_;
+}
+
+sub getvalue {
+ my ($_distrib, $_media, $_var) = @_;
+}
+
+sub listmedia {
+ my ($_distrib) = @_;
+}
diff --git a/fake_packages/Net/DNS.pm b/fake_packages/Net/DNS.pm
new file mode 100644
index 0000000..e300f12
--- /dev/null
+++ b/fake_packages/Net/DNS.pm
@@ -0,0 +1,7 @@
+package Net::DNS;
+
+package Net::DNS::Resolver;
+
+sub new {}
+sub query {}
+sub answer {}
diff --git a/fake_packages/Net/FTP.pm b/fake_packages/Net/FTP.pm
new file mode 100644
index 0000000..e01695f
--- /dev/null
+++ b/fake_packages/Net/FTP.pm
@@ -0,0 +1,9 @@
+package Net::FTP;
+
+sub new {}
+
+sub login {}
+sub binary {}
+sub cwd {}
+sub retr {}
+sub code {}
diff --git a/fake_packages/Net/Ping.pm b/fake_packages/Net/Ping.pm
new file mode 100644
index 0000000..1a8f8a9
--- /dev/null
+++ b/fake_packages/Net/Ping.pm
@@ -0,0 +1,9 @@
+package Net::Ping;
+
+sub new {
+ my ($_class, @_l) = @_;
+}
+
+sub ping {
+ my ($_class, $_host, $_o_timeout) = @_;
+}
diff --git a/fake_packages/URPM/Resolve.pm b/fake_packages/URPM/Resolve.pm
new file mode 100644
index 0000000..55eadfb
--- /dev/null
+++ b/fake_packages/URPM/Resolve.pm
@@ -0,0 +1,17 @@
+package URPM::Resolve;
+
+our @ISA = qw();
+
+sub resolve_requested {
+ my ($_urpm, $_db, $_state, $_requested, %_options) = @_;
+}
+sub request_packages_to_upgrade {
+ my ($_urpm, $_db, $_state, $_requested, %_options) = @_;
+}
+
+sub disable_selected {
+ my ($_urpm, $_db, $_state, @_closure) = @_;
+}
+sub compute_installed_flags {
+ my ($_urpm, $_db) = @_;
+}
diff --git a/fake_packages/gen.pl b/fake_packages/gen.pl
new file mode 100755
index 0000000..6ca4c21
--- /dev/null
+++ b/fake_packages/gen.pl
@@ -0,0 +1,108 @@
+#!/usr/bin/perl -w
+
+use strict;
+use MDK::Common;
+
+my ($current_package, $current_prefix, $current_name);
+
+my %l;
+sub get_paras {
+ my ($name, $para) = @_;
+ $name =~ s/\Q$current_prefix//;
+ $current_name = $name;
+ $l{$current_package}{$name} = [ map {
+ if (/\Q.../) {
+ '@_more_paras';
+ } else {
+ my ($optional) = s/=(.*)//;
+ my $s = /.*\W(\w+)/ ? $1 : $_;
+ '$_' . ($optional ? 'o_' : '') . $s;
+ }
+ } grep { !/OUTLIST/ } split(',', $para) ];
+}
+
+sub parse_xs {
+ my ($file) = @_;
+ warn "parse_xs $file\n";
+ my $state = 'waiting_for_type';
+ ($current_package, $current_prefix) = ('', '');
+ my $multi_line;
+ my $c;
+ foreach (cat_($file)) {
+ $c++;
+ next if /^=/ ... /^=cut/;
+ chomp;
+ my $orig_line = $_;
+
+ if (/^\s*#/ || (m!^\s*/\*! .. m!\*/!)) {
+ # forget it
+ } elsif ($state eq 'multi_line') {
+ if (/(.*)\)/) {
+ get_paras($current_name, $multi_line . $1);
+ $state = 'waiting_for_end';
+ } else {
+ $multi_line .= $_;
+ }
+# } elsif (/^\s*gperl_set_isa\s*\("(.*)", ".*"\)\s*;/) {
+ } elsif (/MODULE\s*=\s*\S+\s+PACKAGE\s*=\s*(\S+)\s+PREFIX\s*=\s*(\S+)/) {
+ ($current_package, $current_prefix) = ($1, $2);
+ } elsif (/MODULE\s*=\s*\S+\s+PACKAGE\s*=\s*(\S+)/) {
+ ($current_package, $current_prefix) = ($1, '');
+ } elsif (!$current_package) {
+ # waiting for the MODULE line
+ } elsif (/^\s*$/) {
+ $state = 'waiting_for_type';
+ } elsif (/^\w[^\(]*$/ && $state eq 'waiting_for_type') {
+ $state = 'waiting_for_function' if !/^BOOT:/ && !/;/;
+ } elsif (/^\s*ALIAS:\s*$/) {
+ $state = 'alias';
+ } elsif ($state eq 'alias') {
+ if (my ($f) = /^\s*(\S+)\s*=\s*\d+\s*$/) {
+ my $pkg = $f =~ s/(.*)::// ? $1 : $current_package;
+ $l{$pkg}{$f} ||= $l{$current_package}{$current_name};
+ } else {
+ warn "bad line #$c $orig_line (state: $state)\n" if !/^\s*\w+:\s*$/ && !/^\s*$/;
+ $state = 'waiting_for_end';
+ }
+ } elsif ($state eq 'waiting_for_type' && s/^(const\s*)?\w+\s*(\*\s*)?// ||
+ $state eq 'waiting_for_function' && /^\w+/) {
+ if (my ($name, $para) = /^(\S+)\s*\((.*)\)\s*;?\s*$/) {
+ get_paras($name, $para);
+ $state = 'waiting_for_end';
+ } elsif (($name, $para) = /^(\S+)\s*\((.*)$/) {
+ $multi_line = $para;
+ $current_name = $name;
+ $state = 'multi_line';
+ } else {
+ warn "bad line #$c $orig_line (state: $state)\n";
+ }
+ } else {
+ warn "bad line #$c $orig_line (state: $state)\n" if
+ !(($state eq 'waiting_for_end' || $state eq 'waiting_for_type') &&
+ (/^\s/ || /^[{}]\s*$/ || /^(CODE|OUTPUT):\s*$/));
+ }
+ }
+}
+
+
+my ($pkg_name, $dir) = @ARGV;
+my @xs_files = chomp_(`find $dir -name "*.xs"`);
+@ARGV == 2 && @xs_files or die "usage: gen.pl <Gtk2 or Glib> <dir where Gtk2's or Glib's *.xs are>\n";
+
+parse_xs($_) foreach @xs_files;
+
+print "package $pkg_name;\nuse Glib;\n" if $pkg_name eq 'Gtk2';
+
+foreach my $pkg (sort keys %l) {
+ print "\npackage $pkg;\n";
+ print "our \@ISA = qw();\n";
+ foreach my $name (sort keys %{$l{$pkg}}) {
+ my $para = $l{$pkg}{$name};
+ $name = $pkg . '::' . $name if $name =~ /^(eq|foreach|format|ge|length|sub|x|xor|y)$/;
+ if (@$para) {
+ print "sub $name { my (", join(", ", @$para), ") = \@_ }\n";
+ } else {
+ print "sub $name() {}\n";
+ }
+ }
+}
diff --git a/fake_packages/packdrake.pm b/fake_packages/packdrake.pm
new file mode 100644
index 0000000..faebf19
--- /dev/null
+++ b/fake_packages/packdrake.pm
@@ -0,0 +1,25 @@
+package packdrake;
+
+sub new {
+ my ($_class, $_file, %_options) = @_;
+}
+
+sub extract_archive {
+ my ($_pack, $_dir, @_files) = @_;
+}
+
+sub extract_all_archive {
+ my ($_pack, $_dir) = @_;
+}
+
+sub list_archive {
+ my (@_files) = @_;
+}
+
+sub build_archive {
+ my ($_listh, $_dir, $_archive, $_size, $_compress, $_uncompress) = @_;
+}
+
+sub cat_archive {
+ my (@_files) = @_;
+}
diff --git a/fake_packages/urpm.pm b/fake_packages/urpm.pm
new file mode 100644
index 0000000..0fc3515
--- /dev/null
+++ b/fake_packages/urpm.pm
@@ -0,0 +1,9 @@
+package urpm;
+
+sub new {
+ my ($_class) = @_;
+}
+
+sub read_config {
+ my ($_urpm, %_options) = @_;
+}