summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorivan <ivan>2002-01-10 16:11:20 +0000
committerivan <ivan>2002-01-10 16:11:20 +0000
commit8cb39114b5aa93a59c0cfbbb4b231674c0540003 (patch)
tree5aca07674e80f1c3ff6d32f9b43f57134be8ad83 /src
checking gtkdbi into cvsHEADSTARTmaster
Diffstat (limited to 'src')
-rw-r--r--src/Subgtkdbi.pm743
-rw-r--r--src/gtkdbi.pm503
-rw-r--r--src/gtkdbiSIGS.pm642
-rw-r--r--src/gtkdbiUI.pm1398
4 files changed, 3286 insertions, 0 deletions
diff --git a/src/Subgtkdbi.pm b/src/Subgtkdbi.pm
new file mode 100644
index 0000000..0c4a678
--- /dev/null
+++ b/src/Subgtkdbi.pm
@@ -0,0 +1,743 @@
+#!/usr/bin/perl -w
+#
+# This is an example of a subclass of the generated application
+#
+# You can safely edit this file, any changes that you make will be preserved
+# and this file will not be overwritten by the next run of Glade::PerlGenerate
+#
+#==============================================================================
+#=== This is the 'Subconnect_dialog' class
+#==============================================================================
+package Subconnect_dialog;
+require 5.000; use strict 'vars', 'refs', 'subs';
+# UI class 'Subconnect_dialog' (version 0.01)
+#
+# Copyright (c) Date Tue Oct 23 01:49:12 PDT 2001
+# Author Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>
+#
+## Unspecified copying policy, please contact the author\n# Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>
+#
+#==============================================================================
+# This perl source file was automatically generated by
+# Glade::PerlGenerate version 0.59 - Wed Jun 20 14:48:25 BST 2001
+# Copyright (c) Author Dermot Musgrove <dermot.musgrove\@virgin.net>
+#
+# from Glade file /home/ivan/gtkdbi/gtkdbi.glade
+# Wed Jan 9 18:12:34 PST 2002
+#==============================================================================
+
+BEGIN {
+ use vars qw(
+ @ISA
+ %fields
+ $PACKAGE
+ $VERSION
+ $AUTHOR
+ $DATE
+ $permitted_fields
+ );
+ # Existing signal handler modules
+ use src::gtkdbi;
+ # Uncomment the line below to enable gettext checking
+# use Glade::PerlSource;
+ # Tell interpreter who we are inheriting from
+ @ISA = qw( connect_dialog );
+ # Uncomment the line below to enable gettext checking
+# @ISA = qw( connect_dialog Glade::PerlSource );
+ $PACKAGE = 'Subgtkdbi';
+ $VERSION = '0.01';
+ $AUTHOR = 'Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>';
+ $DATE = 'Tue Oct 23 01:49:12 PDT 2001';
+ $permitted_fields = '_permitted_fields';
+ # Inherit the AUTOLOAD dynamic methods from connect_dialog
+ *AUTOLOAD = \&connect_dialog::AUTOLOAD;
+} # End of sub BEGIN
+
+%fields = (
+# Insert any extra data access methods that you want to add to
+# our inherited super-constructor (or overload)
+ USERDATA => undef,
+ VERSION => '0.01',
+);
+
+sub DESTROY {
+ # This sub will be called on object destruction
+} # End of sub DESTROY
+
+#==============================================================================
+#=== Below are the overloaded class constructors
+#==============================================================================
+sub new {
+ my $that = shift;
+ # Allow indirect constructor so that we can call eg.
+ # $window1 = BusFrame->new; $window2 = $window1->new;
+ my $class = ref($that) || $that;
+
+ # Call our super-class constructor to get an object and reconsecrate it
+ my $self = bless $that->SUPER::new(), $class;
+
+ # Add our own data access methods to the inherited constructor
+ my($element);
+ foreach $element (keys %fields) {
+ $self->{$permitted_fields}->{$element} = $fields{$element};
+ }
+ @{$self}{keys %fields} = values %fields;
+ return $self;
+} # End of sub new
+
+sub app_run {
+ my ($class) = @_;
+ Gtk->init;
+ # Uncomment the line below to enable gettext checking
+# $class->check_gettext_strings;
+ my $window = $class->new;
+ # Insert your subclass user data key/value pairs
+ $window->USERDATA({
+# 'Key1' => 'Value1',
+# 'Key2' => 'Value2',
+# 'Key3' => 'Value3',
+ });
+ $window->TOPLEVEL->show;
+# my $window2 = $window->new;
+# $window2->TOPLEVEL->show;
+ Gtk->main;
+ # Uncomment the line below to enable gettext checking
+# $window->write_gettext_strings("__", '/home/ivan/gtkdbi/src/gtkdbi.pot');
+ $window->TOPLEVEL->destroy;
+
+ return $window;
+} # End of sub run
+#===============================================================================
+#=== Below are (overloaded) default signal handlers for 'connect_dialog' class
+#===============================================================================
+sub about_Form {
+ my ($class) = @_;
+ my $gtkversion =
+ Gtk->major_version.".".
+ Gtk->minor_version.".".
+ Gtk->micro_version;
+ my $name = $0;
+ my $message =
+ __PACKAGE__." ("._("version")." $VERSION - $DATE)\n".
+ _("Written by")." $AUTHOR \n\n".
+ _("No description")." \n\n".
+ "Gtk ". _("version").": $gtkversion\n".
+ "Gtk-Perl "._("version").": $Gtk::VERSION\n".
+ _("run from file").": $name";
+ __PACKAGE__->message_box($message, _("About")." \u".__PACKAGE__, [_('Dismiss'), _('Quit Program')], 1,
+ "$Glade::PerlRun::pixmaps_directory/glade2perl_logo.xpm", 'left' );
+} # End of sub about_Form
+
+sub destroy_Form {
+ my ($class, $data, $object, $instance) = @_;
+ Gtk->main_quit;
+} # End of sub destroy_Form
+
+sub toplevel_hide { shift->get_toplevel->hide }
+sub toplevel_close { shift->get_toplevel->close }
+sub toplevel_destroy { shift->get_toplevel->destroy }
+
+#==============================================================================
+#=== Below are (overloaded) signal handlers for 'connect_dialog' class
+#==============================================================================
+sub on_abortconnect_button_clicked {
+ my ($class, $data, $object, $instance, $event) = @_;
+ my $me = __PACKAGE__."->on_abortconnect_button_clicked";
+ # Get ref to hash of all widgets on our form
+ my $form = $__PACKAGE__::all_forms->{$instance};
+
+ # REPLACE the lines below with the actions to be taken when __PACKAGE__."->on_abortconnect_button_clicked." is called
+# __PACKAGE__->show_skeleton_message($me, \@_, __PACKAGE__, "$Glade::PerlRun::pixmaps_directory/glade2perl_logo.xpm");
+ shift->SUPER::on_abortconnect_button_clicked(@_);
+
+} # End of sub on_abortconnect_button_clicked
+
+sub on_connect_button_clicked {
+ my ($class, $data, $object, $instance, $event) = @_;
+ my $me = __PACKAGE__."->on_connect_button_clicked";
+ # Get ref to hash of all widgets on our form
+ my $form = $__PACKAGE__::all_forms->{$instance};
+
+ # REPLACE the lines below with the actions to be taken when __PACKAGE__."->on_connect_button_clicked." is called
+# __PACKAGE__->show_skeleton_message($me, \@_, __PACKAGE__, "$Glade::PerlRun::pixmaps_directory/glade2perl_logo.xpm");
+ shift->SUPER::on_connect_button_clicked(@_);
+
+} # End of sub on_connect_button_clicked
+
+sub on_deletesession_button_clicked {
+ my ($class, $data, $object, $instance, $event) = @_;
+ my $me = __PACKAGE__."->on_deletesession_button_clicked";
+ # Get ref to hash of all widgets on our form
+ my $form = $__PACKAGE__::all_forms->{$instance};
+
+ # REPLACE the lines below with the actions to be taken when __PACKAGE__."->on_deletesession_button_clicked." is called
+# __PACKAGE__->show_skeleton_message($me, \@_, __PACKAGE__, "$Glade::PerlRun::pixmaps_directory/glade2perl_logo.xpm");
+ shift->SUPER::on_deletesession_button_clicked(@_);
+
+} # End of sub on_deletesession_button_clicked
+
+sub on_savesession_button_clicked {
+ my ($class, $data, $object, $instance, $event) = @_;
+ my $me = __PACKAGE__."->on_savesession_button_clicked";
+ # Get ref to hash of all widgets on our form
+ my $form = $__PACKAGE__::all_forms->{$instance};
+
+ # REPLACE the lines below with the actions to be taken when __PACKAGE__."->on_savesession_button_clicked." is called
+# __PACKAGE__->show_skeleton_message($me, \@_, __PACKAGE__, "$Glade::PerlRun::pixmaps_directory/glade2perl_logo.xpm");
+ shift->SUPER::on_savesession_button_clicked(@_);
+
+} # End of sub on_savesession_button_clicked
+
+
+
+
+
+
+
+
+
+
+#==============================================================================
+#=== This is the 'Subquit_dialog' class
+#==============================================================================
+package Subquit_dialog;
+require 5.000; use strict 'vars', 'refs', 'subs';
+# UI class 'Subquit_dialog' (version 0.01)
+#
+# Copyright (c) Date Tue Oct 23 01:49:12 PDT 2001
+# Author Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>
+#
+## Unspecified copying policy, please contact the author\n# Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>
+#
+#==============================================================================
+# This perl source file was automatically generated by
+# Glade::PerlGenerate version 0.59 - Wed Jun 20 14:48:25 BST 2001
+# Copyright (c) Author Dermot Musgrove <dermot.musgrove\@virgin.net>
+#
+# from Glade file /home/ivan/gtkdbi/gtkdbi.glade
+# Wed Jan 9 18:12:34 PST 2002
+#==============================================================================
+
+BEGIN {
+ use vars qw(
+ @ISA
+ %fields
+ $PACKAGE
+ $VERSION
+ $AUTHOR
+ $DATE
+ $permitted_fields
+ );
+ # Existing signal handler modules
+ use src::gtkdbi;
+ # Uncomment the line below to enable gettext checking
+# use Glade::PerlSource;
+ # Tell interpreter who we are inheriting from
+ @ISA = qw( quit_dialog );
+ # Uncomment the line below to enable gettext checking
+# @ISA = qw( quit_dialog Glade::PerlSource );
+ $PACKAGE = 'Subgtkdbi';
+ $VERSION = '0.01';
+ $AUTHOR = 'Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>';
+ $DATE = 'Tue Oct 23 01:49:12 PDT 2001';
+ $permitted_fields = '_permitted_fields';
+ # Inherit the AUTOLOAD dynamic methods from quit_dialog
+ *AUTOLOAD = \&quit_dialog::AUTOLOAD;
+} # End of sub BEGIN
+
+%fields = (
+# Insert any extra data access methods that you want to add to
+# our inherited super-constructor (or overload)
+ USERDATA => undef,
+ VERSION => '0.01',
+);
+
+sub DESTROY {
+ # This sub will be called on object destruction
+} # End of sub DESTROY
+
+#==============================================================================
+#=== Below are the overloaded class constructors
+#==============================================================================
+sub new {
+ my $that = shift;
+ # Allow indirect constructor so that we can call eg.
+ # $window1 = BusFrame->new; $window2 = $window1->new;
+ my $class = ref($that) || $that;
+
+ # Call our super-class constructor to get an object and reconsecrate it
+ my $self = bless $that->SUPER::new(), $class;
+
+ # Add our own data access methods to the inherited constructor
+ my($element);
+ foreach $element (keys %fields) {
+ $self->{$permitted_fields}->{$element} = $fields{$element};
+ }
+ @{$self}{keys %fields} = values %fields;
+ return $self;
+} # End of sub new
+
+sub app_run {
+ my ($class) = @_;
+ Gtk->init;
+ # Uncomment the line below to enable gettext checking
+# $class->check_gettext_strings;
+ my $window = $class->new;
+ # Insert your subclass user data key/value pairs
+ $window->USERDATA({
+# 'Key1' => 'Value1',
+# 'Key2' => 'Value2',
+# 'Key3' => 'Value3',
+ });
+ $window->TOPLEVEL->show;
+# my $window2 = $window->new;
+# $window2->TOPLEVEL->show;
+ Gtk->main;
+ # Uncomment the line below to enable gettext checking
+# $window->write_gettext_strings("__", '/home/ivan/gtkdbi/src/gtkdbi.pot');
+ $window->TOPLEVEL->destroy;
+
+ return $window;
+} # End of sub run
+#===============================================================================
+#=== Below are (overloaded) default signal handlers for 'quit_dialog' class
+#===============================================================================
+sub about_Form {
+ my ($class) = @_;
+ my $gtkversion =
+ Gtk->major_version.".".
+ Gtk->minor_version.".".
+ Gtk->micro_version;
+ my $name = $0;
+ my $message =
+ __PACKAGE__." ("._("version")." $VERSION - $DATE)\n".
+ _("Written by")." $AUTHOR \n\n".
+ _("No description")." \n\n".
+ "Gtk ". _("version").": $gtkversion\n".
+ "Gtk-Perl "._("version").": $Gtk::VERSION\n".
+ _("run from file").": $name";
+ __PACKAGE__->message_box($message, _("About")." \u".__PACKAGE__, [_('Dismiss'), _('Quit Program')], 1,
+ "$Glade::PerlRun::pixmaps_directory/glade2perl_logo.xpm", 'left' );
+} # End of sub about_Form
+
+sub destroy_Form {
+ my ($class, $data, $object, $instance) = @_;
+ Gtk->main_quit;
+} # End of sub destroy_Form
+
+sub toplevel_hide { shift->get_toplevel->hide }
+sub toplevel_close { shift->get_toplevel->close }
+sub toplevel_destroy { shift->get_toplevel->destroy }
+
+#==============================================================================
+#=== Below are (overloaded) signal handlers for 'quit_dialog' class
+#==============================================================================
+sub on_quit_no_clicked {
+ my ($class, $data, $object, $instance, $event) = @_;
+ my $me = __PACKAGE__."->on_quit_no_clicked";
+ # Get ref to hash of all widgets on our form
+ my $form = $__PACKAGE__::all_forms->{$instance};
+
+ # REPLACE the lines below with the actions to be taken when __PACKAGE__."->on_quit_no_clicked." is called
+# __PACKAGE__->show_skeleton_message($me, \@_, __PACKAGE__, "$Glade::PerlRun::pixmaps_directory/glade2perl_logo.xpm");
+ shift->SUPER::on_quit_no_clicked(@_);
+
+} # End of sub on_quit_no_clicked
+
+sub on_quit_yes_clicked {
+ my ($class, $data, $object, $instance, $event) = @_;
+ my $me = __PACKAGE__."->on_quit_yes_clicked";
+ # Get ref to hash of all widgets on our form
+ my $form = $__PACKAGE__::all_forms->{$instance};
+
+ # REPLACE the lines below with the actions to be taken when __PACKAGE__."->on_quit_yes_clicked." is called
+# __PACKAGE__->show_skeleton_message($me, \@_, __PACKAGE__, "$Glade::PerlRun::pixmaps_directory/glade2perl_logo.xpm");
+ shift->SUPER::on_quit_yes_clicked(@_);
+
+} # End of sub on_quit_yes_clicked
+
+
+
+
+
+
+
+
+
+
+#==============================================================================
+#=== This is the 'Subabout_dialog' class
+#==============================================================================
+package Subabout_dialog;
+require 5.000; use strict 'vars', 'refs', 'subs';
+# UI class 'Subabout_dialog' (version 0.01)
+#
+# Copyright (c) Date Tue Oct 23 01:49:12 PDT 2001
+# Author Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>
+#
+## Unspecified copying policy, please contact the author\n# Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>
+#
+#==============================================================================
+# This perl source file was automatically generated by
+# Glade::PerlGenerate version 0.59 - Wed Jun 20 14:48:25 BST 2001
+# Copyright (c) Author Dermot Musgrove <dermot.musgrove\@virgin.net>
+#
+# from Glade file /home/ivan/gtkdbi/gtkdbi.glade
+# Wed Jan 9 18:12:34 PST 2002
+#==============================================================================
+
+BEGIN {
+ use vars qw(
+ @ISA
+ %fields
+ $PACKAGE
+ $VERSION
+ $AUTHOR
+ $DATE
+ $permitted_fields
+ );
+ # Existing signal handler modules
+ use src::gtkdbi;
+ # Uncomment the line below to enable gettext checking
+# use Glade::PerlSource;
+ # Tell interpreter who we are inheriting from
+ @ISA = qw( about_dialog );
+ # Uncomment the line below to enable gettext checking
+# @ISA = qw( about_dialog Glade::PerlSource );
+ $PACKAGE = 'Subgtkdbi';
+ $VERSION = '0.01';
+ $AUTHOR = 'Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>';
+ $DATE = 'Tue Oct 23 01:49:12 PDT 2001';
+ $permitted_fields = '_permitted_fields';
+ # Inherit the AUTOLOAD dynamic methods from about_dialog
+ *AUTOLOAD = \&about_dialog::AUTOLOAD;
+} # End of sub BEGIN
+
+%fields = (
+# Insert any extra data access methods that you want to add to
+# our inherited super-constructor (or overload)
+ USERDATA => undef,
+ VERSION => '0.01',
+);
+
+sub DESTROY {
+ # This sub will be called on object destruction
+} # End of sub DESTROY
+
+#==============================================================================
+#=== Below are the overloaded class constructors
+#==============================================================================
+sub new {
+ my $that = shift;
+ # Allow indirect constructor so that we can call eg.
+ # $window1 = BusFrame->new; $window2 = $window1->new;
+ my $class = ref($that) || $that;
+
+ # Call our super-class constructor to get an object and reconsecrate it
+ my $self = bless $that->SUPER::new(), $class;
+
+ # Add our own data access methods to the inherited constructor
+ my($element);
+ foreach $element (keys %fields) {
+ $self->{$permitted_fields}->{$element} = $fields{$element};
+ }
+ @{$self}{keys %fields} = values %fields;
+ return $self;
+} # End of sub new
+
+sub app_run {
+ my ($class) = @_;
+ Gtk->init;
+ # Uncomment the line below to enable gettext checking
+# $class->check_gettext_strings;
+ my $window = $class->new;
+ # Insert your subclass user data key/value pairs
+ $window->USERDATA({
+# 'Key1' => 'Value1',
+# 'Key2' => 'Value2',
+# 'Key3' => 'Value3',
+ });
+ $window->TOPLEVEL->show;
+# my $window2 = $window->new;
+# $window2->TOPLEVEL->show;
+ Gtk->main;
+ # Uncomment the line below to enable gettext checking
+# $window->write_gettext_strings("__", '/home/ivan/gtkdbi/src/gtkdbi.pot');
+ $window->TOPLEVEL->destroy;
+
+ return $window;
+} # End of sub run
+#===============================================================================
+#=== Below are (overloaded) default signal handlers for 'about_dialog' class
+#===============================================================================
+sub about_Form {
+ my ($class) = @_;
+ my $gtkversion =
+ Gtk->major_version.".".
+ Gtk->minor_version.".".
+ Gtk->micro_version;
+ my $name = $0;
+ my $message =
+ __PACKAGE__." ("._("version")." $VERSION - $DATE)\n".
+ _("Written by")." $AUTHOR \n\n".
+ _("No description")." \n\n".
+ "Gtk ". _("version").": $gtkversion\n".
+ "Gtk-Perl "._("version").": $Gtk::VERSION\n".
+ _("run from file").": $name";
+ __PACKAGE__->message_box($message, _("About")." \u".__PACKAGE__, [_('Dismiss'), _('Quit Program')], 1,
+ "$Glade::PerlRun::pixmaps_directory/glade2perl_logo.xpm", 'left' );
+} # End of sub about_Form
+
+sub destroy_Form {
+ my ($class, $data, $object, $instance) = @_;
+ Gtk->main_quit;
+} # End of sub destroy_Form
+
+sub toplevel_hide { shift->get_toplevel->hide }
+sub toplevel_close { shift->get_toplevel->close }
+sub toplevel_destroy { shift->get_toplevel->destroy }
+
+#==============================================================================
+#=== Below are (overloaded) signal handlers for 'about_dialog' class
+#==============================================================================
+sub on_about_button_clicked {
+ my ($class, $data, $object, $instance, $event) = @_;
+ my $me = __PACKAGE__."->on_about_button_clicked";
+ # Get ref to hash of all widgets on our form
+ my $form = $__PACKAGE__::all_forms->{$instance};
+
+ # REPLACE the lines below with the actions to be taken when __PACKAGE__."->on_about_button_clicked." is called
+# __PACKAGE__->show_skeleton_message($me, \@_, __PACKAGE__, "$Glade::PerlRun::pixmaps_directory/glade2perl_logo.xpm");
+ shift->SUPER::on_about_button_clicked(@_);
+
+} # End of sub on_about_button_clicked
+
+
+
+
+
+
+
+
+
+
+#==============================================================================
+#=== This is the 'Subwindow1' class
+#==============================================================================
+package Subwindow1;
+require 5.000; use strict 'vars', 'refs', 'subs';
+# UI class 'Subwindow1' (version 0.01)
+#
+# Copyright (c) Date Tue Oct 23 01:49:12 PDT 2001
+# Author Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>
+#
+## Unspecified copying policy, please contact the author\n# Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>
+#
+#==============================================================================
+# This perl source file was automatically generated by
+# Glade::PerlGenerate version 0.59 - Wed Jun 20 14:48:25 BST 2001
+# Copyright (c) Author Dermot Musgrove <dermot.musgrove\@virgin.net>
+#
+# from Glade file /home/ivan/gtkdbi/gtkdbi.glade
+# Wed Jan 9 18:12:34 PST 2002
+#==============================================================================
+
+BEGIN {
+ use vars qw(
+ @ISA
+ %fields
+ $PACKAGE
+ $VERSION
+ $AUTHOR
+ $DATE
+ $permitted_fields
+ );
+ # Existing signal handler modules
+ use src::gtkdbi;
+ # Uncomment the line below to enable gettext checking
+# use Glade::PerlSource;
+ # Tell interpreter who we are inheriting from
+ @ISA = qw( window1 );
+ # Uncomment the line below to enable gettext checking
+# @ISA = qw( window1 Glade::PerlSource );
+ $PACKAGE = 'Subgtkdbi';
+ $VERSION = '0.01';
+ $AUTHOR = 'Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>';
+ $DATE = 'Tue Oct 23 01:49:12 PDT 2001';
+ $permitted_fields = '_permitted_fields';
+ # Inherit the AUTOLOAD dynamic methods from window1
+ *AUTOLOAD = \&window1::AUTOLOAD;
+} # End of sub BEGIN
+
+%fields = (
+# Insert any extra data access methods that you want to add to
+# our inherited super-constructor (or overload)
+ USERDATA => undef,
+ VERSION => '0.01',
+);
+
+sub DESTROY {
+ # This sub will be called on object destruction
+} # End of sub DESTROY
+
+#==============================================================================
+#=== Below are the overloaded class constructors
+#==============================================================================
+sub new {
+ my $that = shift;
+ # Allow indirect constructor so that we can call eg.
+ # $window1 = BusFrame->new; $window2 = $window1->new;
+ my $class = ref($that) || $that;
+
+ # Call our super-class constructor to get an object and reconsecrate it
+ my $self = bless $that->SUPER::new(), $class;
+
+ # Add our own data access methods to the inherited constructor
+ my($element);
+ foreach $element (keys %fields) {
+ $self->{$permitted_fields}->{$element} = $fields{$element};
+ }
+ @{$self}{keys %fields} = values %fields;
+ return $self;
+} # End of sub new
+
+sub app_run {
+ my ($class) = @_;
+ Gtk->init;
+ # Uncomment the line below to enable gettext checking
+# $class->check_gettext_strings;
+ my $window = $class->new;
+ # Insert your subclass user data key/value pairs
+ $window->USERDATA({
+# 'Key1' => 'Value1',
+# 'Key2' => 'Value2',
+# 'Key3' => 'Value3',
+ });
+ $window->TOPLEVEL->show;
+# my $window2 = $window->new;
+# $window2->TOPLEVEL->show;
+ Gtk->main;
+ # Uncomment the line below to enable gettext checking
+# $window->write_gettext_strings("__", '/home/ivan/gtkdbi/src/gtkdbi.pot');
+ $window->TOPLEVEL->destroy;
+
+ return $window;
+} # End of sub run
+#===============================================================================
+#=== Below are (overloaded) default signal handlers for 'window1' class
+#===============================================================================
+sub about_Form {
+ my ($class) = @_;
+ my $gtkversion =
+ Gtk->major_version.".".
+ Gtk->minor_version.".".
+ Gtk->micro_version;
+ my $name = $0;
+ my $message =
+ __PACKAGE__." ("._("version")." $VERSION - $DATE)\n".
+ _("Written by")." $AUTHOR \n\n".
+ _("No description")." \n\n".
+ "Gtk ". _("version").": $gtkversion\n".
+ "Gtk-Perl "._("version").": $Gtk::VERSION\n".
+ _("run from file").": $name";
+ __PACKAGE__->message_box($message, _("About")." \u".__PACKAGE__, [_('Dismiss'), _('Quit Program')], 1,
+ "$Glade::PerlRun::pixmaps_directory/glade2perl_logo.xpm", 'left' );
+} # End of sub about_Form
+
+sub destroy_Form {
+ my ($class, $data, $object, $instance) = @_;
+ Gtk->main_quit;
+} # End of sub destroy_Form
+
+sub toplevel_hide { shift->get_toplevel->hide }
+sub toplevel_close { shift->get_toplevel->close }
+sub toplevel_destroy { shift->get_toplevel->destroy }
+
+#==============================================================================
+#=== Below are (overloaded) signal handlers for 'window1' class
+#==============================================================================
+sub on_about1_activate {
+ my ($class, $data, $object, $instance, $event) = @_;
+ my $me = __PACKAGE__."->on_about1_activate";
+ # Get ref to hash of all widgets on our form
+ my $form = $__PACKAGE__::all_forms->{$instance};
+
+ # REPLACE the lines below with the actions to be taken when __PACKAGE__."->on_about1_activate." is called
+# __PACKAGE__->show_skeleton_message($me, \@_, __PACKAGE__, "$Glade::PerlRun::pixmaps_directory/glade2perl_logo.xpm");
+ shift->SUPER::on_about1_activate(@_);
+
+} # End of sub on_about1_activate
+
+sub on_connect1_activate {
+ my ($class, $data, $object, $instance, $event) = @_;
+ my $me = __PACKAGE__."->on_connect1_activate";
+ # Get ref to hash of all widgets on our form
+ my $form = $__PACKAGE__::all_forms->{$instance};
+
+ # REPLACE the lines below with the actions to be taken when __PACKAGE__."->on_connect1_activate." is called
+# __PACKAGE__->show_skeleton_message($me, \@_, __PACKAGE__, "$Glade::PerlRun::pixmaps_directory/glade2perl_logo.xpm");
+ shift->SUPER::on_connect1_activate(@_);
+
+} # End of sub on_connect1_activate
+
+sub on_quit1_activate {
+ my ($class, $data, $object, $instance, $event) = @_;
+ my $me = __PACKAGE__."->on_quit1_activate";
+ # Get ref to hash of all widgets on our form
+ my $form = $__PACKAGE__::all_forms->{$instance};
+
+ # REPLACE the lines below with the actions to be taken when __PACKAGE__."->on_quit1_activate." is called
+# __PACKAGE__->show_skeleton_message($me, \@_, __PACKAGE__, "$Glade::PerlRun::pixmaps_directory/glade2perl_logo.xpm");
+ shift->SUPER::on_quit1_activate(@_);
+
+} # End of sub on_quit1_activate
+
+
+
+
+
+
+
+
+
+
+
+1;
+
+__END__
+
+#===============================================================================
+#==== Documentation
+#===============================================================================
+=pod
+
+=head1 NAME
+
+Subgtkdbi - version 0.01 Tue Oct 23 01:49:12 PDT 2001
+
+No description
+
+=head1 SYNOPSIS
+
+ use Subgtkdbi;
+
+ To construct the window object and show it call
+
+ Gtk->init;
+ my $window = Subwindow1->new;
+ $window->TOPLEVEL->show;
+ Gtk->main;
+
+ OR use the shorthand for the above calls
+
+ Subwindow1->app_run;
+
+=head1 DESCRIPTION
+
+Unfortunately, the author has not yet written any documentation :-(
+
+=head1 AUTHOR
+
+Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>
+
+=cut
diff --git a/src/gtkdbi.pm b/src/gtkdbi.pm
new file mode 100644
index 0000000..0a2916c
--- /dev/null
+++ b/src/gtkdbi.pm
@@ -0,0 +1,503 @@
+#!/usr/bin/perl -w
+#
+# This is the basis of an application with signal handlers
+#
+# You can safely edit this file, any changes that you make will be preserved
+# and this file will not be overwritten by the next run of Glade::PerlGenerate
+#
+# Skeleton subs of any missing signal handlers can be copied from
+# /home/ivan/gtkdbi/src/GtkdbiSIGS.pm
+#
+#==============================================================================
+#=== This is the 'window1' class
+#==============================================================================
+package window1;
+require 5.000; use strict 'vars', 'refs', 'subs';
+# UI class 'window1' (version 0.01)
+#
+# Copyright (c) Date Tue Oct 23 01:49:12 PDT 2001
+# Author Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>
+#
+## Unspecified copying policy, please contact the author\n# Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>
+#
+#==============================================================================
+# This perl source file was automatically generated by
+# Glade::PerlGenerate version 0.59 - Wed Jun 20 14:48:25 BST 2001
+# Copyright (c) Author Dermot Musgrove <dermot.musgrove\@virgin.net>
+#
+# from Glade file /home/ivan/gtkdbi/gtkdbi.glade
+# Tue Oct 23 01:53:38 PDT 2001
+#==============================================================================
+
+BEGIN {
+ use src::gtkdbiUI;
+} # End of sub BEGIN
+
+use vars qw($ick_global_window1 $dbh $schema);
+
+sub app_run {
+ my ($class) = @_;
+ #$class->load_translations('Gtkdbi');
+ $class->load_translations('gtkdbi');
+ # You can use the line below to load a test .mo file before it is installed in
+ # the normal place (eg /usr/local/share/locale/fr/LC_MESSAGES/Gtkdbi.mo)
+# $class->load_translations('Gtkdbi', 'test', undef, '/home/ivan/gtkdbi/ppo/Gtkdbi.mo');
+ Gtk->init;
+ my $window = $class->new;
+ $ick_global_window1 = $window;
+ $window->TOPLEVEL->show;
+
+ # Put any extra UI initialisation (eg signal_connect) calls here
+
+ # Now let Gtk handle signals
+ Gtk->main;
+
+ $window->TOPLEVEL->destroy;
+
+ return $window;
+
+} # End of sub app_run
+
+#===============================================================================
+#=== Below are the default signal handlers for 'window1' class
+#===============================================================================
+sub about_Form {
+ my ($class) = @_;
+ my $gtkversion =
+ Gtk->major_version.".".
+ Gtk->minor_version.".".
+ Gtk->micro_version;
+ my $name = $0;
+ my $message =
+ __PACKAGE__." ("._("version")." $VERSION - $DATE)\n".
+ _("Written by")." $AUTHOR \n\n".
+ _("No description")." \n\n".
+ "Gtk ". _("version").": $gtkversion\n".
+ "Gtk-Perl "._("version").": $Gtk::VERSION\n".
+ _("run from file").": $name";
+ __PACKAGE__->message_box($message, _("About")." \u".__PACKAGE__, [_('Dismiss'), _('Quit Program')], 1,
+ "$Glade::PerlRun::pixmaps_directory/glade2perl_logo.xpm", 'left' );
+} # End of sub about_Form
+
+sub destroy_Form {
+ my ($class, $data, $object, $instance) = @_;
+ Gtk->main_quit;
+} # End of sub destroy_Form
+
+sub toplevel_hide { shift->get_toplevel->hide }
+sub toplevel_close { shift->get_toplevel->close }
+sub toplevel_destroy { shift->get_toplevel->destroy }
+
+#==============================================================================
+#=== Below are the signal handlers for 'window1' class
+#==============================================================================
+#sub on_file1_activate {
+# my ($class, $data, $object, $instance, $event) = @_;
+# my $me = __PACKAGE__."->on_file1_activate";
+# # Get ref to hash of all widgets on our form
+# my $form = $__PACKAGE__::all_forms->{$instance};
+#
+# # REPLACE the line below with the actions to be taken when __PACKAGE__."->on_file1_activate." is called
+# __PACKAGE__->show_skeleton_message($me, \@_, __PACKAGE__, "$Glade::PerlRun::pixmaps_directory/glade2perl_logo.xpm");
+#
+#} # End of sub on_file1_activate
+#
+#sub on_help1_activate {
+# my ($class, $data, $object, $instance, $event) = @_;
+# my $me = __PACKAGE__."->on_help1_activate";
+# # Get ref to hash of all widgets on our form
+# my $form = $__PACKAGE__::all_forms->{$instance};
+#
+# # REPLACE the line below with the actions to be taken when __PACKAGE__."->on_help1_activate." is called
+# __PACKAGE__->show_skeleton_message($me, \@_, __PACKAGE__, "$Glade::PerlRun::pixmaps_directory/glade2perl_logo.xpm");
+#
+#} # End of sub on_help1_activate
+
+
+use vars qw($quit_dialog);
+#$quit_dialog = quit_dialog->new;
+
+sub on_quit1_activate {
+ my ($class, $data, $object, $instance, $event) = @_;
+# my $me = __PACKAGE__."->on_quit1_activate";
+ # Get ref to hash of all widgets on our form
+# my $form = $__PACKAGE__::all_forms->{$instance};
+
+ $quit_dialog ||= quit_dialog->new;
+
+ #should disable window1 too
+
+ $quit_dialog->TOPLEVEL->show;
+
+}
+
+{
+ package quit_dialog;
+
+ sub on_quit_no_clicked {
+ my ($class, $data, $object, $instance, $event) = @_;
+ $class->get_toplevel->hide;
+ }
+
+ sub on_quit_yes_clicked {
+ my ($class, $data, $object, $instance, $event) = @_;
+ #exit;
+ Gtk->main_quit;
+ }
+}
+
+use vars qw($about_dialog);
+
+sub on_about1_activate {
+ my ($class, $data, $object, $instance, $event) = @_;
+
+ $about_dialog ||= about_dialog->new;
+
+ #should disable window1 too
+
+ $about_dialog->TOPLEVEL->show;
+
+}
+
+{
+ package about_dialog;
+
+ sub on_about_button_clicked {
+ my ($class, $data, $object, $instance, $event) = @_;
+ $class->get_toplevel->hide;
+ }
+
+}
+
+use vars qw($connect_dialog);
+
+sub on_connect1_activate {
+ my ($class, $data, $object, $instance, $event) = @_;
+
+ $connect_dialog ||= connect_dialog->new;
+
+ $connect_dialog->read_sessions;
+
+ #should disable window1 too
+
+ $connect_dialog->TOPLEVEL->show;
+
+}
+
+{
+ package connect_dialog;
+
+ use vars qw( $datasource $username $password ); #shouldn't be globals...
+# $datasource = '';
+# $username = '';
+# $password = '';
+
+ use vars qw( %session_username %session_password ); #ick more
+
+ use subs qw( save_session );
+
+ sub on_abortconnect_button_clicked {
+ my ($class, $data, $object, $instance, $event) = @_;
+ $class->get_toplevel->hide;
+ }
+
+ sub on_connect_button_clicked {
+ my ($class, $data, $object, $instance, $event) = @_;
+
+ # dbh shouldn't be global. alas. window1 should pass a ref to connect dialog or something.
+ use DBI;
+ use DBIx::DBSchema 0.19;
+ $@ = '';
+ if ( $window1::dbh =
+ eval { DBI->connect($datasource, $username, $password,
+ { RaiseError => 0, PrintError => 0 },
+ )
+ }
+ ) {
+
+ save_session($datasource, $username, $password)
+ unless exists $session_username{$datasource};
+
+ $class->get_toplevel->hide;
+
+ #shouldn't be global
+ $window1::ick_global_window1->TOPLEVEL->set_title("gtkdbi - $datasource");
+ $window1::ick_global_window1->FORM->{'entry1'}->set_text("Connected to $datasource");
+
+ #$window1::schema = new_odbc DBIx::DBSchema $window1::dbh;
+ #DBI::type_info Pg driver returned no results for type 23 at /usr/local/share/perl/5.6.1/DBIx/DBSchema/Table.pm line 172.
+ $window1::schema = new_native DBIx::DBSchema $window1::dbh;
+
+# warn $window1::schema->pretty_print;
+
+ foreach my $table ( $window1::schema->tables ) {
+ #make a
+ warn $table;
+
+ #maybe this should go in a sub around resultview
+ my $sth = $window1::dbh->prepare("SELECT * FROM $table") or do {
+ warn "should pop up an error message ". $window1::dbh->errstr;
+ next;
+ };
+ $sth->execute or do {
+ warn "should pop up an error message ". $sth->errstr;
+ next;
+ };
+
+ my $rows = $sth->fetchall_arrayref({});
+
+ #my $view = resultview->new( $table, [ $schema->table($table)->columns ], [] );
+ #my($window, $label) = resultview->new( $table, [ $window1::schema->table($table)->columns ], [] );
+ my($window, $label) = resultview->new( $table, [ $window1::schema->table($table)->columns ], $rows );
+
+ $window1::ick_global_window1->FORM->{'notebook1'}->append_page($window, $label);
+
+ # $forms->{'window1'}{'notebook1'}->append_page($forms->{'window1'}{'scrolledwindow1'}, $widgets->{'tablelabel1'} );
+# $widgets->{'tablelabel1'}->show;
+# $forms->{'window1'}{'tablelabel1'} = $widgets->{'tablelabel1'};
+# $forms->{'window1'}{'tablelabel1'}->set_alignment(0.5, 0.5 );
+# $forms->{'window1'}{'vbox1'}->set_child_packing($forms->{'window1'}{'notebook1'}, 1, 1, 0, 'start' );
+
+
+ }
+
+ } else {
+ warn "should pop up an error message $DBI::errstr $@";
+ }
+
+ }
+
+ sub on_datasource_entry_changed {
+ my ($class, $data, $object, $instance, $event) = @_;
+ $datasource = $class->get_text;
+ }
+
+ sub on_username_entry_changed {
+ my ($class, $data, $object, $instance, $event) = @_;
+ $username = $class->get_text;
+ }
+
+ sub on_password_entry_changed {
+ my ($class, $data, $object, $instance, $event) = @_;
+ $password = $class->get_text;
+ }
+
+ sub on_savesession_button_clicked {
+ my ($class, $data, $object, $instance, $event) = @_;
+
+ save_session($datasource, $username, $password);
+
+ }
+
+ #sub, not method
+ sub save_session {
+ my($datasource, $username, $password) = @_;
+ #this is very lame and embarassing but it works for now.
+ open(CONF, ">>$ENV{HOME}/.gtkdbi") or do {
+ warn "should pop up an error message: can't open $ENV{HOME}/.gtkdbi: $!";
+ #error dialog
+ return;
+ };
+ print CONF "$datasource\t$username\t$password\n";
+ close CONF;
+ }
+
+ #method
+ sub read_sessions {
+ my $self = shift;
+ #this is very lame and embarassing but it works for now.
+ open(CONF, "<$ENV{HOME}/.gtkdbi") or return;
+ while (<CONF>) {
+ chomp;
+ my($datasource, $username, $password) = split(/\t/, $_);
+ $session_username{$datasource} = $username;
+ $session_password{$datasource} = $password;
+ my $menuitem = new Gtk::MenuItem($datasource);
+ my $class = ref($self);
+ $menuitem->signal_connect('activate', "$class\::on_session_optionmenu_changed", $datasource );
+ $self->FORM->{'session_optionmenu_menu'}->append( $menuitem );
+ $menuitem->show;
+ }
+ close CONF;
+ }
+
+ sub on_session_optionmenu_changed {
+ my( $self, $data ) = @_;
+
+ # via $window1:: ???? ! this is getting worse and worse.
+ $window1::connect_dialog->FORM->{'datasource_entry'}->set_text($data);
+ $window1::connect_dialog->FORM->{'username_entry'}->set_text($session_username{$data});
+ $window1::connect_dialog->FORM->{'password_entry'}->set_text($session_password{$data});
+ }
+
+}
+
+#################################3
+
+package resultview;
+
+sub new {
+ my ( $self, $labeltext, $columns, $rows ) = @_;
+
+ my $widgets;
+ my $forms;
+
+ #ganked from a glade-constructed gtkdbiUI.pm
+
+ # Construct a GtkScrolledWindow 'scrolledwindow1'
+ $widgets->{'scrolledwindow1'} = new Gtk::ScrolledWindow( undef, undef);
+ $widgets->{'scrolledwindow1'}->set_policy('always', 'always' );
+ $widgets->{'scrolledwindow1'}->border_width(0 );
+ $widgets->{'scrolledwindow1'}->hscrollbar->set_update_policy('continuous' );
+ $widgets->{'scrolledwindow1'}->vscrollbar->set_update_policy('continuous' );
+ $widgets->{'scrolledwindow1'}->show;
+ $forms->{'window1'}{'scrolledwindow1'} = $widgets->{'scrolledwindow1'};
+ #
+ # Construct a GtkViewport 'viewport1'
+ $widgets->{'viewport1'} = new Gtk::Viewport(new Gtk::Adjustment( 0.0, 0.0, 101.0, 0.1, 1.0, 1.0), new Gtk::Adjustment( 0.0, 0.0, 101.0, 0.1, 1.0, 1.0) );
+ $widgets->{'viewport1'}->set_shadow_type('in' );
+ $forms->{'window1'}{'scrolledwindow1'}->add_with_viewport($widgets->{'viewport1'} );
+ $widgets->{'viewport1'}->show;
+ $forms->{'window1'}{'viewport1'} = $widgets->{'viewport1'};
+ #
+ # Construct a GtkHBox 'hbox1'
+ $widgets->{'hbox1'} = new Gtk::HBox(0, 0 );
+ $forms->{'window1'}{'viewport1'}->add($widgets->{'hbox1'} );
+ $widgets->{'hbox1'}->show;
+ $forms->{'window1'}{'hbox1'} = $widgets->{'hbox1'};
+
+ foreach my $column ( @$columns ) {
+ #
+ # Construct a GtkVBox 'vbox2'
+ #$widgets->{'vbox2'} = new Gtk::VBox(0, 0 );
+ my $vbox = new Gtk::VBox(0, 0 );
+ #$forms->{'window1'}{'hbox1'}->add($widgets->{'vbox2'} );
+ $forms->{'window1'}{'hbox1'}->add($vbox);
+ #$widgets->{'vbox2'}->show;
+ $vbox->show;
+ #$forms->{'window1'}{'vbox2'} = $widgets->{'vbox2'};
+ #
+ # Construct a GtkButton 'button1'
+ #$widgets->{'button1'} = new Gtk::Button(_('button1'));
+ my $button = new Gtk::Button($column);
+ #$forms->{'window1'}{'vbox2'}->add($widgets->{'button1'} );
+ $vbox->add($button );
+ #$widgets->{'button1'}->show;
+ $button->show;
+ #$forms->{'window1'}{'button1'} = $widgets->{'button1'};
+ #$forms->{'window1'}{'button1'}->can_focus(1 );
+ $button->can_focus(1 );
+ #$forms->{'window1'}{'vbox2'}->set_child_packing($forms->{'window1'}{'button1'}, 0, 0, 0, 'start' );
+ $vbox->set_child_packing($button, 0, 0, 0, 'start' );
+ #
+ # Construct a GtkEntry 'entry2'
+ foreach my $row ( @$rows ) {
+ #$widgets->{'entry2'} = new Gtk::Entry;
+ my $entry = new Gtk::Entry;
+ #$forms->{'window1'}{'vbox2'}->add($widgets->{'entry2'} );
+ $vbox->add($entry );
+ #$widgets->{'entry2'}->show;
+ $entry->show;
+ #$forms->{'window1'}{'entry2'} = $widgets->{'entry2'};
+ $entry->can_focus(1 );
+ #$entry->set_text(_('') );
+ $entry->set_text($row->{$column});
+ $entry->set_max_length(0 );
+ $entry->set_visibility(1 );
+ $entry->set_editable(1 );
+
+ #$forms->{'window1'}{'vbox2'}->set_child_packing($forms->{'window1'}{'entry2'}, 0, 0, 0, 'start' );
+ $vbox->set_child_packing($entry, 0, 0, 0, 'start' );
+ }
+
+ #$forms->{'window1'}{'hbox1'}->set_child_packing($forms->{'window1'}{'vbox2'}, 1, 1, 0, 'start' );
+ $forms->{'window1'}{'hbox1'}->set_child_packing($vbox, 1, 1, 0, 'start' );
+ }
+
+# #
+# # Construct a GtkVBox 'vbox3'
+# $widgets->{'vbox3'} = new Gtk::VBox(0, 0 );
+# $forms->{'window1'}{'hbox1'}->add($widgets->{'vbox3'} );
+# $widgets->{'vbox3'}->show;
+# $forms->{'window1'}{'vbox3'} = $widgets->{'vbox3'};
+# #
+# # Construct a GtkButton 'button2'
+# $widgets->{'button2'} = new Gtk::Button(_('button2'));
+# $forms->{'window1'}{'vbox3'}->add($widgets->{'button2'} );
+# $widgets->{'button2'}->show;
+# $forms->{'window1'}{'button2'} = $widgets->{'button2'};
+# $forms->{'window1'}{'button2'}->can_focus(1 );
+# $forms->{'window1'}{'vbox3'}->set_child_packing($forms->{'window1'}{'button2'}, 0, 0, 0, 'start' );
+# #
+# # Construct a GtkEntry 'entry3'
+# $widgets->{'entry3'} = new Gtk::Entry;
+# $forms->{'window1'}{'vbox3'}->add($widgets->{'entry3'} );
+# $widgets->{'entry3'}->show;
+# $forms->{'window1'}{'entry3'} = $widgets->{'entry3'};
+# $forms->{'window1'}{'entry3'}->can_focus(1 );
+# $forms->{'window1'}{'entry3'}->set_text(_('') );
+# $forms->{'window1'}{'entry3'}->set_max_length(0 );
+# $forms->{'window1'}{'entry3'}->set_visibility(1 );
+# $forms->{'window1'}{'entry3'}->set_editable(1 );
+# $forms->{'window1'}{'vbox3'}->set_child_packing($forms->{'window1'}{'entry3'}, 0, 0, 0, 'start' );
+# $forms->{'window1'}{'hbox1'}->set_child_packing($forms->{'window1'}{'vbox3'}, 1, 1, 0, 'start' );
+
+ #
+ # Construct a GtkLabel 'tablelabel1'
+ #$widgets->{'tablelabel1'} = new Gtk::Label(_('tabletable1'));
+ my $label = new Gtk::Label($labeltext);
+ #$widgets->{'tablelabel1'}->set_justify('center' );
+ $label->set_justify('center' );
+ #$widgets->{'tablelabel1'}->set_line_wrap(0 );
+ $label->set_line_wrap(0 );
+
+ ( $widgets->{'scrolledwindow1'}, $label );
+
+# $forms->{'window1'}{'notebook1'}->append_page($forms->{'window1'}{'scrolledwindow1'}, $widgets->{'tablelabel1'} );
+# $widgets->{'tablelabel1'}->show;
+# $forms->{'window1'}{'tablelabel1'} = $widgets->{'tablelabel1'};
+# $forms->{'window1'}{'tablelabel1'}->set_alignment(0.5, 0.5 );
+# $forms->{'window1'}{'vbox1'}->set_child_packing($forms->{'window1'}{'notebook1'}, 1, 1, 0, 'start' );
+
+
+}
+
+1;
+
+__END__
+
+#===============================================================================
+#==== Documentation
+#===============================================================================
+=pod
+
+=head1 NAME
+
+gtkdbi - version 0.01 Tue Oct 23 01:49:12 PDT 2001
+
+No description
+
+=head1 SYNOPSIS
+
+ use gtkdbi;
+
+ To construct the window object and show it call
+
+ Gtk->init;
+ my $window = window1->new;
+ $window->TOPLEVEL->show;
+ Gtk->main;
+
+ OR use the shorthand for the above calls
+
+ window1->app_run;
+
+=head1 DESCRIPTION
+
+Unfortunately, the author has not yet written any documentation :-(
+
+=head1 AUTHOR
+
+Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>
+
+=cut
diff --git a/src/gtkdbiSIGS.pm b/src/gtkdbiSIGS.pm
new file mode 100644
index 0000000..837e683
--- /dev/null
+++ b/src/gtkdbiSIGS.pm
@@ -0,0 +1,642 @@
+#!/usr/bin/perl -w
+#
+# This is the (re)generated signal handler class
+# You can cut and paste the skeleton signal handler subs from this file
+# into the relevant classes in your application or its subclasses
+#
+# DO NOT EDIT THIS FILE, ANY CHANGES THAT YOU MAKE WILL BE LOST WHEN
+# THIS FILE WILL BE OVERWRITTEN BY THE NEXT RUN OF Glade::PerlGenerate
+#
+#==============================================================================
+#=== This is the 'connect_dialog' class
+#==============================================================================
+package connect_dialog;
+require 5.000; use strict 'vars', 'refs', 'subs';
+# UI class 'connect_dialog' (version 0.01)
+#
+# Copyright (c) Date Tue Oct 23 01:49:12 PDT 2001
+# Author Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>
+#
+## Unspecified copying policy, please contact the author\n# Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>
+#
+#==============================================================================
+# This perl source file was automatically generated by
+# Glade::PerlGenerate version 0.59 - Wed Jun 20 14:48:25 BST 2001
+# Copyright (c) Author Dermot Musgrove <dermot.musgrove\@virgin.net>
+#
+# from Glade file /home/ivan/gtkdbi/gtkdbi.glade
+# Thu Jan 10 08:02:21 PST 2002
+#==============================================================================
+
+BEGIN {
+ use src::gtkdbiUI;
+} # End of sub BEGIN
+
+sub app_run {
+ my ($class) = @_;
+ $class->load_translations('gtkdbi');
+ # You can use the line below to load a test .mo file before it is installed in
+ # the normal place (eg /usr/local/share/locale/C/LC_MESSAGES/gtkdbi.mo)
+# $class->load_translations('gtkdbi', 'test', undef, '/home/ivan/gtkdbi/ppo/gtkdbi.mo');
+ Gtk->init;
+ my $window = $class->new;
+ $window->TOPLEVEL->show;
+
+ # Put any extra UI initialisation (eg signal_connect) calls here
+
+ # Now let Gtk handle signals
+ Gtk->main;
+
+ $window->TOPLEVEL->destroy;
+
+ return $window;
+
+} # End of sub app_run
+
+#===============================================================================
+#=== Below are the default signal handlers for 'connect_dialog' class
+#===============================================================================
+sub about_Form {
+ my ($class) = @_;
+ my $gtkversion =
+ Gtk->major_version.".".
+ Gtk->minor_version.".".
+ Gtk->micro_version;
+ my $name = $0;
+ my $message =
+ __PACKAGE__." ("._("version")." $VERSION - $DATE)\n".
+ _("Written by")." $AUTHOR \n\n".
+ _("No description")." \n\n".
+ "Gtk ". _("version").": $gtkversion\n".
+ "Gtk-Perl "._("version").": $Gtk::VERSION\n".
+ _("run from file").": $name";
+ __PACKAGE__->message_box($message, _("About")." \u".__PACKAGE__, [_('Dismiss'), _('Quit Program')], 1,
+ "$Glade::PerlRun::pixmaps_directory/glade2perl_logo.xpm", 'left' );
+} # End of sub about_Form
+
+sub destroy_Form {
+ my ($class, $data, $object, $instance) = @_;
+ Gtk->main_quit;
+} # End of sub destroy_Form
+
+sub toplevel_hide { shift->get_toplevel->hide }
+sub toplevel_close { shift->get_toplevel->close }
+sub toplevel_destroy { shift->get_toplevel->destroy }
+
+#==============================================================================
+#=== Below are the signal handlers for 'connect_dialog' class
+#==============================================================================
+sub on_abortconnect_button_clicked {
+ my ($class, $data, $object, $instance, $event) = @_;
+ my $me = __PACKAGE__."->on_abortconnect_button_clicked";
+ # Get ref to hash of all widgets on our form
+ my $form = $__PACKAGE__::all_forms->{$instance};
+
+ # REPLACE the line below with the actions to be taken when __PACKAGE__."->on_abortconnect_button_clicked." is called
+ __PACKAGE__->show_skeleton_message($me, \@_, __PACKAGE__, "$Glade::PerlRun::pixmaps_directory/glade2perl_logo.xpm");
+
+} # End of sub on_abortconnect_button_clicked
+
+sub on_connect_button_clicked {
+ my ($class, $data, $object, $instance, $event) = @_;
+ my $me = __PACKAGE__."->on_connect_button_clicked";
+ # Get ref to hash of all widgets on our form
+ my $form = $__PACKAGE__::all_forms->{$instance};
+
+ # REPLACE the line below with the actions to be taken when __PACKAGE__."->on_connect_button_clicked." is called
+ __PACKAGE__->show_skeleton_message($me, \@_, __PACKAGE__, "$Glade::PerlRun::pixmaps_directory/glade2perl_logo.xpm");
+
+} # End of sub on_connect_button_clicked
+
+sub on_datasource_entry_changed {
+ my ($class, $data, $object, $instance, $event) = @_;
+ my $me = __PACKAGE__."->on_datasource_entry_changed";
+ # Get ref to hash of all widgets on our form
+ my $form = $__PACKAGE__::all_forms->{$instance};
+
+ # REPLACE the line below with the actions to be taken when __PACKAGE__."->on_datasource_entry_changed." is called
+ __PACKAGE__->show_skeleton_message($me, \@_, __PACKAGE__, "$Glade::PerlRun::pixmaps_directory/glade2perl_logo.xpm");
+
+} # End of sub on_datasource_entry_changed
+
+sub on_deletesession_button_clicked {
+ my ($class, $data, $object, $instance, $event) = @_;
+ my $me = __PACKAGE__."->on_deletesession_button_clicked";
+ # Get ref to hash of all widgets on our form
+ my $form = $__PACKAGE__::all_forms->{$instance};
+
+ # REPLACE the line below with the actions to be taken when __PACKAGE__."->on_deletesession_button_clicked." is called
+ __PACKAGE__->show_skeleton_message($me, \@_, __PACKAGE__, "$Glade::PerlRun::pixmaps_directory/glade2perl_logo.xpm");
+
+} # End of sub on_deletesession_button_clicked
+
+sub on_password_entry_changed {
+ my ($class, $data, $object, $instance, $event) = @_;
+ my $me = __PACKAGE__."->on_password_entry_changed";
+ # Get ref to hash of all widgets on our form
+ my $form = $__PACKAGE__::all_forms->{$instance};
+
+ # REPLACE the line below with the actions to be taken when __PACKAGE__."->on_password_entry_changed." is called
+ __PACKAGE__->show_skeleton_message($me, \@_, __PACKAGE__, "$Glade::PerlRun::pixmaps_directory/glade2perl_logo.xpm");
+
+} # End of sub on_password_entry_changed
+
+sub on_savesession_button_clicked {
+ my ($class, $data, $object, $instance, $event) = @_;
+ my $me = __PACKAGE__."->on_savesession_button_clicked";
+ # Get ref to hash of all widgets on our form
+ my $form = $__PACKAGE__::all_forms->{$instance};
+
+ # REPLACE the line below with the actions to be taken when __PACKAGE__."->on_savesession_button_clicked." is called
+ __PACKAGE__->show_skeleton_message($me, \@_, __PACKAGE__, "$Glade::PerlRun::pixmaps_directory/glade2perl_logo.xpm");
+
+} # End of sub on_savesession_button_clicked
+
+sub on_username_entry_changed {
+ my ($class, $data, $object, $instance, $event) = @_;
+ my $me = __PACKAGE__."->on_username_entry_changed";
+ # Get ref to hash of all widgets on our form
+ my $form = $__PACKAGE__::all_forms->{$instance};
+
+ # REPLACE the line below with the actions to be taken when __PACKAGE__."->on_username_entry_changed." is called
+ __PACKAGE__->show_skeleton_message($me, \@_, __PACKAGE__, "$Glade::PerlRun::pixmaps_directory/glade2perl_logo.xpm");
+
+} # End of sub on_username_entry_changed
+
+
+
+
+
+
+
+
+
+
+#==============================================================================
+#=== This is the 'quit_dialog' class
+#==============================================================================
+package quit_dialog;
+require 5.000; use strict 'vars', 'refs', 'subs';
+# UI class 'quit_dialog' (version 0.01)
+#
+# Copyright (c) Date Tue Oct 23 01:49:12 PDT 2001
+# Author Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>
+#
+## Unspecified copying policy, please contact the author\n# Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>
+#
+#==============================================================================
+# This perl source file was automatically generated by
+# Glade::PerlGenerate version 0.59 - Wed Jun 20 14:48:25 BST 2001
+# Copyright (c) Author Dermot Musgrove <dermot.musgrove\@virgin.net>
+#
+# from Glade file /home/ivan/gtkdbi/gtkdbi.glade
+# Thu Jan 10 08:02:21 PST 2002
+#==============================================================================
+
+BEGIN {
+ use src::gtkdbiUI;
+} # End of sub BEGIN
+
+sub app_run {
+ my ($class) = @_;
+ $class->load_translations('gtkdbi');
+ # You can use the line below to load a test .mo file before it is installed in
+ # the normal place (eg /usr/local/share/locale/C/LC_MESSAGES/gtkdbi.mo)
+# $class->load_translations('gtkdbi', 'test', undef, '/home/ivan/gtkdbi/ppo/gtkdbi.mo');
+ Gtk->init;
+ my $window = $class->new;
+ $window->TOPLEVEL->show;
+
+ # Put any extra UI initialisation (eg signal_connect) calls here
+
+ # Now let Gtk handle signals
+ Gtk->main;
+
+ $window->TOPLEVEL->destroy;
+
+ return $window;
+
+} # End of sub app_run
+
+#===============================================================================
+#=== Below are the default signal handlers for 'quit_dialog' class
+#===============================================================================
+sub about_Form {
+ my ($class) = @_;
+ my $gtkversion =
+ Gtk->major_version.".".
+ Gtk->minor_version.".".
+ Gtk->micro_version;
+ my $name = $0;
+ my $message =
+ __PACKAGE__." ("._("version")." $VERSION - $DATE)\n".
+ _("Written by")." $AUTHOR \n\n".
+ _("No description")." \n\n".
+ "Gtk ". _("version").": $gtkversion\n".
+ "Gtk-Perl "._("version").": $Gtk::VERSION\n".
+ _("run from file").": $name";
+ __PACKAGE__->message_box($message, _("About")." \u".__PACKAGE__, [_('Dismiss'), _('Quit Program')], 1,
+ "$Glade::PerlRun::pixmaps_directory/glade2perl_logo.xpm", 'left' );
+} # End of sub about_Form
+
+sub destroy_Form {
+ my ($class, $data, $object, $instance) = @_;
+ Gtk->main_quit;
+} # End of sub destroy_Form
+
+sub toplevel_hide { shift->get_toplevel->hide }
+sub toplevel_close { shift->get_toplevel->close }
+sub toplevel_destroy { shift->get_toplevel->destroy }
+
+#==============================================================================
+#=== Below are the signal handlers for 'quit_dialog' class
+#==============================================================================
+sub on_quit_no_clicked {
+ my ($class, $data, $object, $instance, $event) = @_;
+ my $me = __PACKAGE__."->on_quit_no_clicked";
+ # Get ref to hash of all widgets on our form
+ my $form = $__PACKAGE__::all_forms->{$instance};
+
+ # REPLACE the line below with the actions to be taken when __PACKAGE__."->on_quit_no_clicked." is called
+ __PACKAGE__->show_skeleton_message($me, \@_, __PACKAGE__, "$Glade::PerlRun::pixmaps_directory/glade2perl_logo.xpm");
+
+} # End of sub on_quit_no_clicked
+
+sub on_quit_yes_clicked {
+ my ($class, $data, $object, $instance, $event) = @_;
+ my $me = __PACKAGE__."->on_quit_yes_clicked";
+ # Get ref to hash of all widgets on our form
+ my $form = $__PACKAGE__::all_forms->{$instance};
+
+ # REPLACE the line below with the actions to be taken when __PACKAGE__."->on_quit_yes_clicked." is called
+ __PACKAGE__->show_skeleton_message($me, \@_, __PACKAGE__, "$Glade::PerlRun::pixmaps_directory/glade2perl_logo.xpm");
+
+} # End of sub on_quit_yes_clicked
+
+
+
+
+
+
+
+
+
+
+#==============================================================================
+#=== This is the 'error_dialog' class
+#==============================================================================
+package error_dialog;
+require 5.000; use strict 'vars', 'refs', 'subs';
+# UI class 'error_dialog' (version 0.01)
+#
+# Copyright (c) Date Tue Oct 23 01:49:12 PDT 2001
+# Author Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>
+#
+## Unspecified copying policy, please contact the author\n# Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>
+#
+#==============================================================================
+# This perl source file was automatically generated by
+# Glade::PerlGenerate version 0.59 - Wed Jun 20 14:48:25 BST 2001
+# Copyright (c) Author Dermot Musgrove <dermot.musgrove\@virgin.net>
+#
+# from Glade file /home/ivan/gtkdbi/gtkdbi.glade
+# Thu Jan 10 08:02:21 PST 2002
+#==============================================================================
+
+BEGIN {
+ use src::gtkdbiUI;
+} # End of sub BEGIN
+
+sub app_run {
+ my ($class) = @_;
+ $class->load_translations('gtkdbi');
+ # You can use the line below to load a test .mo file before it is installed in
+ # the normal place (eg /usr/local/share/locale/C/LC_MESSAGES/gtkdbi.mo)
+# $class->load_translations('gtkdbi', 'test', undef, '/home/ivan/gtkdbi/ppo/gtkdbi.mo');
+ Gtk->init;
+ my $window = $class->new;
+ $window->TOPLEVEL->show;
+
+ # Put any extra UI initialisation (eg signal_connect) calls here
+
+ # Now let Gtk handle signals
+ Gtk->main;
+
+ $window->TOPLEVEL->destroy;
+
+ return $window;
+
+} # End of sub app_run
+
+#===============================================================================
+#=== Below are the default signal handlers for 'error_dialog' class
+#===============================================================================
+sub about_Form {
+ my ($class) = @_;
+ my $gtkversion =
+ Gtk->major_version.".".
+ Gtk->minor_version.".".
+ Gtk->micro_version;
+ my $name = $0;
+ my $message =
+ __PACKAGE__." ("._("version")." $VERSION - $DATE)\n".
+ _("Written by")." $AUTHOR \n\n".
+ _("No description")." \n\n".
+ "Gtk ". _("version").": $gtkversion\n".
+ "Gtk-Perl "._("version").": $Gtk::VERSION\n".
+ _("run from file").": $name";
+ __PACKAGE__->message_box($message, _("About")." \u".__PACKAGE__, [_('Dismiss'), _('Quit Program')], 1,
+ "$Glade::PerlRun::pixmaps_directory/glade2perl_logo.xpm", 'left' );
+} # End of sub about_Form
+
+sub destroy_Form {
+ my ($class, $data, $object, $instance) = @_;
+ Gtk->main_quit;
+} # End of sub destroy_Form
+
+sub toplevel_hide { shift->get_toplevel->hide }
+sub toplevel_close { shift->get_toplevel->close }
+sub toplevel_destroy { shift->get_toplevel->destroy }
+
+#==============================================================================
+#=== Below are the signal handlers for 'error_dialog' class
+#==============================================================================
+sub on_error_button_clicked {
+ my ($class, $data, $object, $instance, $event) = @_;
+ my $me = __PACKAGE__."->on_error_button_clicked";
+ # Get ref to hash of all widgets on our form
+ my $form = $__PACKAGE__::all_forms->{$instance};
+
+ # REPLACE the line below with the actions to be taken when __PACKAGE__."->on_error_button_clicked." is called
+ __PACKAGE__->show_skeleton_message($me, \@_, __PACKAGE__, "$Glade::PerlRun::pixmaps_directory/glade2perl_logo.xpm");
+
+} # End of sub on_error_button_clicked
+
+
+
+
+
+
+
+
+
+
+#==============================================================================
+#=== This is the 'about_dialog' class
+#==============================================================================
+package about_dialog;
+require 5.000; use strict 'vars', 'refs', 'subs';
+# UI class 'about_dialog' (version 0.01)
+#
+# Copyright (c) Date Tue Oct 23 01:49:12 PDT 2001
+# Author Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>
+#
+## Unspecified copying policy, please contact the author\n# Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>
+#
+#==============================================================================
+# This perl source file was automatically generated by
+# Glade::PerlGenerate version 0.59 - Wed Jun 20 14:48:25 BST 2001
+# Copyright (c) Author Dermot Musgrove <dermot.musgrove\@virgin.net>
+#
+# from Glade file /home/ivan/gtkdbi/gtkdbi.glade
+# Thu Jan 10 08:02:21 PST 2002
+#==============================================================================
+
+BEGIN {
+ use src::gtkdbiUI;
+} # End of sub BEGIN
+
+sub app_run {
+ my ($class) = @_;
+ $class->load_translations('gtkdbi');
+ # You can use the line below to load a test .mo file before it is installed in
+ # the normal place (eg /usr/local/share/locale/C/LC_MESSAGES/gtkdbi.mo)
+# $class->load_translations('gtkdbi', 'test', undef, '/home/ivan/gtkdbi/ppo/gtkdbi.mo');
+ Gtk->init;
+ my $window = $class->new;
+ $window->TOPLEVEL->show;
+
+ # Put any extra UI initialisation (eg signal_connect) calls here
+
+ # Now let Gtk handle signals
+ Gtk->main;
+
+ $window->TOPLEVEL->destroy;
+
+ return $window;
+
+} # End of sub app_run
+
+#===============================================================================
+#=== Below are the default signal handlers for 'about_dialog' class
+#===============================================================================
+sub about_Form {
+ my ($class) = @_;
+ my $gtkversion =
+ Gtk->major_version.".".
+ Gtk->minor_version.".".
+ Gtk->micro_version;
+ my $name = $0;
+ my $message =
+ __PACKAGE__." ("._("version")." $VERSION - $DATE)\n".
+ _("Written by")." $AUTHOR \n\n".
+ _("No description")." \n\n".
+ "Gtk ". _("version").": $gtkversion\n".
+ "Gtk-Perl "._("version").": $Gtk::VERSION\n".
+ _("run from file").": $name";
+ __PACKAGE__->message_box($message, _("About")." \u".__PACKAGE__, [_('Dismiss'), _('Quit Program')], 1,
+ "$Glade::PerlRun::pixmaps_directory/glade2perl_logo.xpm", 'left' );
+} # End of sub about_Form
+
+sub destroy_Form {
+ my ($class, $data, $object, $instance) = @_;
+ Gtk->main_quit;
+} # End of sub destroy_Form
+
+sub toplevel_hide { shift->get_toplevel->hide }
+sub toplevel_close { shift->get_toplevel->close }
+sub toplevel_destroy { shift->get_toplevel->destroy }
+
+#==============================================================================
+#=== Below are the signal handlers for 'about_dialog' class
+#==============================================================================
+sub on_about_button_clicked {
+ my ($class, $data, $object, $instance, $event) = @_;
+ my $me = __PACKAGE__."->on_about_button_clicked";
+ # Get ref to hash of all widgets on our form
+ my $form = $__PACKAGE__::all_forms->{$instance};
+
+ # REPLACE the line below with the actions to be taken when __PACKAGE__."->on_about_button_clicked." is called
+ __PACKAGE__->show_skeleton_message($me, \@_, __PACKAGE__, "$Glade::PerlRun::pixmaps_directory/glade2perl_logo.xpm");
+
+} # End of sub on_about_button_clicked
+
+
+
+
+
+
+
+
+
+
+#==============================================================================
+#=== This is the 'window1' class
+#==============================================================================
+package window1;
+require 5.000; use strict 'vars', 'refs', 'subs';
+# UI class 'window1' (version 0.01)
+#
+# Copyright (c) Date Tue Oct 23 01:49:12 PDT 2001
+# Author Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>
+#
+## Unspecified copying policy, please contact the author\n# Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>
+#
+#==============================================================================
+# This perl source file was automatically generated by
+# Glade::PerlGenerate version 0.59 - Wed Jun 20 14:48:25 BST 2001
+# Copyright (c) Author Dermot Musgrove <dermot.musgrove\@virgin.net>
+#
+# from Glade file /home/ivan/gtkdbi/gtkdbi.glade
+# Thu Jan 10 08:02:21 PST 2002
+#==============================================================================
+
+BEGIN {
+ use src::gtkdbiUI;
+} # End of sub BEGIN
+
+sub app_run {
+ my ($class) = @_;
+ $class->load_translations('gtkdbi');
+ # You can use the line below to load a test .mo file before it is installed in
+ # the normal place (eg /usr/local/share/locale/C/LC_MESSAGES/gtkdbi.mo)
+# $class->load_translations('gtkdbi', 'test', undef, '/home/ivan/gtkdbi/ppo/gtkdbi.mo');
+ Gtk->init;
+ my $window = $class->new;
+ $window->TOPLEVEL->show;
+
+ # Put any extra UI initialisation (eg signal_connect) calls here
+
+ # Now let Gtk handle signals
+ Gtk->main;
+
+ $window->TOPLEVEL->destroy;
+
+ return $window;
+
+} # End of sub app_run
+
+#===============================================================================
+#=== Below are the default signal handlers for 'window1' class
+#===============================================================================
+sub about_Form {
+ my ($class) = @_;
+ my $gtkversion =
+ Gtk->major_version.".".
+ Gtk->minor_version.".".
+ Gtk->micro_version;
+ my $name = $0;
+ my $message =
+ __PACKAGE__." ("._("version")." $VERSION - $DATE)\n".
+ _("Written by")." $AUTHOR \n\n".
+ _("No description")." \n\n".
+ "Gtk ". _("version").": $gtkversion\n".
+ "Gtk-Perl "._("version").": $Gtk::VERSION\n".
+ _("run from file").": $name";
+ __PACKAGE__->message_box($message, _("About")." \u".__PACKAGE__, [_('Dismiss'), _('Quit Program')], 1,
+ "$Glade::PerlRun::pixmaps_directory/glade2perl_logo.xpm", 'left' );
+} # End of sub about_Form
+
+sub destroy_Form {
+ my ($class, $data, $object, $instance) = @_;
+ Gtk->main_quit;
+} # End of sub destroy_Form
+
+sub toplevel_hide { shift->get_toplevel->hide }
+sub toplevel_close { shift->get_toplevel->close }
+sub toplevel_destroy { shift->get_toplevel->destroy }
+
+#==============================================================================
+#=== Below are the signal handlers for 'window1' class
+#==============================================================================
+sub on_about1_activate {
+ my ($class, $data, $object, $instance, $event) = @_;
+ my $me = __PACKAGE__."->on_about1_activate";
+ # Get ref to hash of all widgets on our form
+ my $form = $__PACKAGE__::all_forms->{$instance};
+
+ # REPLACE the line below with the actions to be taken when __PACKAGE__."->on_about1_activate." is called
+ __PACKAGE__->show_skeleton_message($me, \@_, __PACKAGE__, "$Glade::PerlRun::pixmaps_directory/glade2perl_logo.xpm");
+
+} # End of sub on_about1_activate
+
+sub on_connect1_activate {
+ my ($class, $data, $object, $instance, $event) = @_;
+ my $me = __PACKAGE__."->on_connect1_activate";
+ # Get ref to hash of all widgets on our form
+ my $form = $__PACKAGE__::all_forms->{$instance};
+
+ # REPLACE the line below with the actions to be taken when __PACKAGE__."->on_connect1_activate." is called
+ __PACKAGE__->show_skeleton_message($me, \@_, __PACKAGE__, "$Glade::PerlRun::pixmaps_directory/glade2perl_logo.xpm");
+
+} # End of sub on_connect1_activate
+
+sub on_quit1_activate {
+ my ($class, $data, $object, $instance, $event) = @_;
+ my $me = __PACKAGE__."->on_quit1_activate";
+ # Get ref to hash of all widgets on our form
+ my $form = $__PACKAGE__::all_forms->{$instance};
+
+ # REPLACE the line below with the actions to be taken when __PACKAGE__."->on_quit1_activate." is called
+ __PACKAGE__->show_skeleton_message($me, \@_, __PACKAGE__, "$Glade::PerlRun::pixmaps_directory/glade2perl_logo.xpm");
+
+} # End of sub on_quit1_activate
+
+
+
+
+
+
+
+
+
+
+1;
+
+__END__
+
+#===============================================================================
+#==== Documentation
+#===============================================================================
+=pod
+
+=head1 NAME
+
+gtkdbiSIGS - version 0.01 Tue Oct 23 01:49:12 PDT 2001
+
+No description
+
+=head1 SYNOPSIS
+
+ use gtkdbiSIGS;
+
+ To construct the window object and show it call
+
+ Gtk->init;
+ my $window = window1->new;
+ $window->TOPLEVEL->show;
+ Gtk->main;
+
+ OR use the shorthand for the above calls
+
+ window1->app_run;
+
+=head1 DESCRIPTION
+
+Unfortunately, the author has not yet written any documentation :-(
+
+=head1 AUTHOR
+
+Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>
+
+=cut
diff --git a/src/gtkdbiUI.pm b/src/gtkdbiUI.pm
new file mode 100644
index 0000000..93f1fb6
--- /dev/null
+++ b/src/gtkdbiUI.pm
@@ -0,0 +1,1398 @@
+#!/usr/bin/perl -w
+#
+# This is the (re)generated UI construction class.
+#
+# DO NOT EDIT THIS FILE, ANY CHANGES THAT YOU MAKE WILL BE LOST WHEN
+# THIS FILE WILL BE OVERWRITTEN BY THE NEXT RUN OF Glade::PerlGenerate
+#
+#==============================================================================
+#=== This is the 'connect_dialog' class
+#==============================================================================
+package connect_dialog;
+require 5.000; use strict 'vars', 'refs', 'subs';
+# UI class 'connect_dialog' (version 0.01)
+#
+# Copyright (c) Date Tue Oct 23 01:49:12 PDT 2001
+# Author Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>
+#
+## Unspecified copying policy, please contact the author\n# Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>
+#
+#==============================================================================
+# This perl source file was automatically generated by
+# Glade::PerlGenerate version 0.59 - Wed Jun 20 14:48:25 BST 2001
+# Copyright (c) Author Dermot Musgrove <dermot.musgrove\@virgin.net>
+#
+# from Glade file /home/ivan/gtkdbi/gtkdbi.glade
+# Thu Jan 10 08:02:21 PST 2002
+#==============================================================================
+
+BEGIN {
+ # Run-time utilities and vars
+ use Glade::PerlRun;
+ # Existing signal handler modules
+ use vars qw(
+ @ISA
+ %fields
+ %stubs
+ $PACKAGE
+ $VERSION
+ $AUTHOR
+ $DATE
+ $AUTOLOAD
+ $permitted_fields
+ );
+ # Tell interpreter who we are inheriting from
+ @ISA = qw( Glade::PerlRun );
+ $PACKAGE = 'gtkdbi';
+ $VERSION = '0.01';
+ $AUTHOR = 'Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>';
+ $DATE = 'Tue Oct 23 01:49:12 PDT 2001';
+ $permitted_fields = '_permitted_fields';
+} # End of sub BEGIN
+
+ $Glade::PerlRun::pixmaps_directory ||= '/home/ivan/gtkdbi/pixmaps';
+
+%fields = (
+ # These are the data fields that you can set/get using the dynamic
+ # calls provided by AUTOLOAD (and their initial values).
+ # eg $class->FORM($new_value); sets the value of FORM
+ # $current_value = $class->FORM; gets the current value of FORM
+ TOPLEVEL => undef,
+ FORM => undef,
+ PACKAGE => 'gtkdbi',
+ VERSION => '0.01',
+ AUTHOR => 'Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>',
+ DATE => 'Tue Oct 23 01:49:12 PDT 2001',
+ INSTANCE => 'window1',
+ CLASS_HIERARCHY => undef,
+ WIDGET_HIERARCHY => undef,
+);
+
+%stubs = (
+ # These are signal handlers that will cause a message_box to be
+ # displayed by AUTOLOAD if there is not already a sub of that name
+ # in any module specified in 'use_modules'.
+
+ 'on_abortconnect_button_clicked' => undef,
+ 'on_connect_button_clicked' => undef,
+ 'on_datasource_entry_changed' => undef,
+ 'on_deletesession_button_clicked' => undef,
+ 'on_password_entry_changed' => undef,
+ 'on_savesession_button_clicked' => undef,
+ 'on_username_entry_changed' => undef,
+);
+
+sub AUTOLOAD {
+ my $self = shift;
+ my $type = ref($self)
+ or die "$self is not an object so we cannot '$AUTOLOAD'\n",
+ "We were called from ".join(", ", caller)."\n\n";
+ my $name = $AUTOLOAD;
+ $name =~ s/.*://; # strip fully-qualified portion
+
+ if (exists $self->{$permitted_fields}->{$name} ) {
+ # This allows dynamic data methods - see hash fields above
+ # eg $class->UI('new_value');
+ # or $current_value = $class->UI;
+ if (@_) {
+ return $self->{$name} = shift;
+ } else {
+ return $self->{$name};
+ }
+
+ } elsif (exists $stubs{$name} ) {
+ # This shows dynamic signal handler stub message_box - see hash stubs above
+ __PACKAGE__->show_skeleton_message(
+ $AUTOLOAD."\n ("._("AUTOLOADED by")." ".__PACKAGE__.")",
+ [$self, @_],
+ __PACKAGE__,
+ 'glade2perl_logo.xpm');
+
+ } else {
+ die "Can't access method `$name' in class $type\n".
+ "We were called from ".join(", ", caller)."\n\n";
+
+ }
+} # End of sub AUTOLOAD
+
+sub run {
+ my ($class) = @_;
+ $class->load_translations('gtkdbi');
+ # You can use the line below to load a test .mo file before it is installed in
+ # the normal place (eg /usr/local/share/locale/C/LC_MESSAGES/gtkdbi.mo)
+# $class->load_translations('gtkdbi', 'test', undef, '/home/ivan/gtkdbi/ppo/gtkdbi.mo');
+ Gtk->init;
+ my $window = $class->new;
+ $window->TOPLEVEL->show;
+ Gtk->main;
+} # End of sub run
+
+sub DESTROY {
+ # This sub will be called on object destruction
+} # End of sub DESTROY
+
+sub new {
+#
+# This sub will create the UI window
+ my $that = shift;
+ my $class = ref($that) || $that;
+ my $self = {
+ $permitted_fields => \%fields, %fields,
+ _permitted_stubs => \%stubs, %stubs,
+ };
+ my ($forms, $widgets, $data, $work);
+ my $instance = 1;
+ # Get a unique toplevel widget structure
+ while (defined $__PACKAGE__::all_forms->{"connect_dialog-$instance"}) {$instance++;}
+
+
+ #
+ # Construct a GtkWindow 'connect_dialog'
+ $widgets->{'connect_dialog'} = new Gtk::Window;
+ $widgets->{'connect_dialog'}->set_title(_('gtkdbi - Connect') );
+ $widgets->{'connect_dialog'}->position('none' );
+ $widgets->{'connect_dialog'}->set_policy(0, 1, 0 );
+ $widgets->{'connect_dialog'}->set_modal(1 );
+ $widgets->{'connect_dialog'}->realize;
+ $forms->{'connect_dialog'}{'tooltips'} = new Gtk::Tooltips;
+ $forms->{'connect_dialog'}{'accelgroup'} = new Gtk::AccelGroup;
+ $forms->{'connect_dialog'}{'accelgroup'}->attach($widgets->{'connect_dialog'} );
+ $forms->{'connect_dialog'}{'connect_dialog'} = $widgets->{'connect_dialog'};
+ #
+ # Construct a GtkVBox 'vbox4'
+ $widgets->{'vbox4'} = new Gtk::VBox(0, 0 );
+ $forms->{'connect_dialog'}{'connect_dialog'}->add($widgets->{'vbox4'} );
+ $widgets->{'vbox4'}->show;
+ $forms->{'connect_dialog'}{'vbox4'} = $widgets->{'vbox4'};
+ #
+ # Construct a GtkTable 'table2'
+ $widgets->{'table2'} = new Gtk::Table(4, 2, 0 );
+ $widgets->{'table2'}->set_row_spacings(0 );
+ $widgets->{'table2'}->set_col_spacings(0 );
+ $forms->{'connect_dialog'}{'vbox4'}->add($widgets->{'table2'} );
+ $widgets->{'table2'}->show;
+ $forms->{'connect_dialog'}{'table2'} = $widgets->{'table2'};
+ $forms->{'connect_dialog'}{'table2'}->border_width(4 );
+ #
+ # Construct a GtkEntry 'datasource_entry'
+ $widgets->{'datasource_entry'} = new Gtk::Entry;
+ $forms->{'connect_dialog'}{'table2'}->attach($widgets->{'datasource_entry'}, 1, 2, 1, 2, ['expand', 'fill'], [], 0, 0 );
+ $widgets->{'datasource_entry'}->show;
+ $forms->{'connect_dialog'}{'datasource_entry'} = $widgets->{'datasource_entry'};
+ $forms->{'connect_dialog'}{'datasource_entry'}->can_focus(1 );
+ $forms->{'connect_dialog'}{'datasource_entry'}->set_text(_('') );
+ $forms->{'connect_dialog'}{'datasource_entry'}->set_max_length(0 );
+ $forms->{'connect_dialog'}{'datasource_entry'}->set_visibility(1 );
+ $forms->{'connect_dialog'}{'datasource_entry'}->set_editable(1 );
+ #
+ # Construct a GtkEntry 'username_entry'
+ $widgets->{'username_entry'} = new Gtk::Entry;
+ $forms->{'connect_dialog'}{'table2'}->attach($widgets->{'username_entry'}, 1, 2, 2, 3, ['expand', 'fill'], [], 0, 0 );
+ $widgets->{'username_entry'}->show;
+ $forms->{'connect_dialog'}{'username_entry'} = $widgets->{'username_entry'};
+ $forms->{'connect_dialog'}{'username_entry'}->can_focus(1 );
+ $forms->{'connect_dialog'}{'username_entry'}->set_text(_('') );
+ $forms->{'connect_dialog'}{'username_entry'}->set_max_length(0 );
+ $forms->{'connect_dialog'}{'username_entry'}->set_visibility(1 );
+ $forms->{'connect_dialog'}{'username_entry'}->set_editable(1 );
+ #
+ # Construct a GtkEntry 'password_entry'
+ $widgets->{'password_entry'} = new Gtk::Entry;
+ $forms->{'connect_dialog'}{'table2'}->attach($widgets->{'password_entry'}, 1, 2, 3, 4, ['expand', 'fill'], [], 0, 0 );
+ $widgets->{'password_entry'}->show;
+ $forms->{'connect_dialog'}{'password_entry'} = $widgets->{'password_entry'};
+ $forms->{'connect_dialog'}{'password_entry'}->can_focus(1 );
+ $forms->{'connect_dialog'}{'password_entry'}->set_text(_('') );
+ $forms->{'connect_dialog'}{'password_entry'}->set_max_length(0 );
+ $forms->{'connect_dialog'}{'password_entry'}->set_visibility(1 );
+ $forms->{'connect_dialog'}{'password_entry'}->set_editable(1 );
+ #
+ # Construct a GtkLabel 'datasource_label'
+ $widgets->{'datasource_label'} = new Gtk::Label(_('Data Source'));
+ $widgets->{'datasource_label'}->set_justify('right' );
+ $widgets->{'datasource_label'}->set_line_wrap(0 );
+ $forms->{'connect_dialog'}{'table2'}->attach($widgets->{'datasource_label'}, 0, 1, 1, 2, ['fill'], [], 0, 0 );
+ $widgets->{'datasource_label'}->show;
+ $forms->{'connect_dialog'}{'datasource_label'} = $widgets->{'datasource_label'};
+ $forms->{'connect_dialog'}{'datasource_label'}->set_alignment(0, 0.5 );
+ #
+ # Construct a GtkLabel 'username_label'
+ $widgets->{'username_label'} = new Gtk::Label(_('Username'));
+ $widgets->{'username_label'}->set_justify('center' );
+ $widgets->{'username_label'}->set_line_wrap(0 );
+ $forms->{'connect_dialog'}{'table2'}->attach($widgets->{'username_label'}, 0, 1, 2, 3, ['fill'], [], 0, 0 );
+ $widgets->{'username_label'}->show;
+ $forms->{'connect_dialog'}{'username_label'} = $widgets->{'username_label'};
+ $forms->{'connect_dialog'}{'username_label'}->set_alignment(0, 0.5 );
+ #
+ # Construct a GtkLabel 'password_label'
+ $widgets->{'password_label'} = new Gtk::Label(_('Password'));
+ $widgets->{'password_label'}->set_justify('center' );
+ $widgets->{'password_label'}->set_line_wrap(0 );
+ $forms->{'connect_dialog'}{'table2'}->attach($widgets->{'password_label'}, 0, 1, 3, 4, ['fill'], [], 0, 0 );
+ $widgets->{'password_label'}->show;
+ $forms->{'connect_dialog'}{'password_label'} = $widgets->{'password_label'};
+ $forms->{'connect_dialog'}{'password_label'}->set_alignment(0, 0.5 );
+ #
+ # Construct a GtkLabel 'session_label'
+ $widgets->{'session_label'} = new Gtk::Label(_('Session'));
+ $widgets->{'session_label'}->set_justify('center' );
+ $widgets->{'session_label'}->set_line_wrap(0 );
+ $forms->{'connect_dialog'}{'table2'}->attach($widgets->{'session_label'}, 0, 1, 0, 1, ['fill'], [], 0, 0 );
+ $widgets->{'session_label'}->show;
+ $forms->{'connect_dialog'}{'session_label'} = $widgets->{'session_label'};
+ $forms->{'connect_dialog'}{'session_label'}->set_alignment(0, 0.5 );
+ #
+ # Construct a GtkOptionMenu 'session_optionmenu'
+ $widgets->{'session_optionmenu'} = new Gtk::OptionMenu;
+ $forms->{'connect_dialog'}{'table2'}->attach($widgets->{'session_optionmenu'}, 1, 2, 0, 1, ['expand', 'fill'], [], 0, 0 );
+ $widgets->{'session_optionmenu'}->show;
+ $forms->{'connect_dialog'}{'session_optionmenu'} = $widgets->{'session_optionmenu'};
+ $forms->{'connect_dialog'}{'session_optionmenu'}->set_usize(0, 32 );
+ $forms->{'connect_dialog'}{'session_optionmenu'}->can_focus(1 );
+ $widgets->{'session_optionmenu_menu'} = new Gtk::Menu;
+ $forms->{'connect_dialog'}{'session_optionmenu'}->set_menu($widgets->{'session_optionmenu_menu'} );
+ $forms->{'connect_dialog'}{'session_optionmenu_menu'} = $widgets->{'session_optionmenu_menu'};
+ $forms->{'connect_dialog'}{'session_optionmenu'}->set_history( 0 );
+ $forms->{'connect_dialog'}{'vbox4'}->set_child_packing($forms->{'connect_dialog'}{'table2'}, 1, 1, 0, 'start' );
+ #
+ # Construct a GtkHSeparator 'hseparator1'
+ $widgets->{'hseparator1'} = new Gtk::HSeparator;
+ $forms->{'connect_dialog'}{'vbox4'}->add($widgets->{'hseparator1'} );
+ $widgets->{'hseparator1'}->show;
+ $forms->{'connect_dialog'}{'hseparator1'} = $widgets->{'hseparator1'};
+ $forms->{'connect_dialog'}{'vbox4'}->set_child_packing($forms->{'connect_dialog'}{'hseparator1'}, 1, 1, 0, 'start' );
+ #
+ # Construct a GtkHButtonBox 'hbuttonbox2'
+ $widgets->{'hbuttonbox2'} = new Gtk::HButtonBox;
+ $forms->{'connect_dialog'}{'vbox4'}->add($widgets->{'hbuttonbox2'} );
+ $widgets->{'hbuttonbox2'}->show;
+ $forms->{'connect_dialog'}{'hbuttonbox2'} = $widgets->{'hbuttonbox2'};
+ $forms->{'connect_dialog'}{'hbuttonbox2'}->set_layout('spread' );
+ $forms->{'connect_dialog'}{'hbuttonbox2'}->set_spacing(30 );
+ $forms->{'connect_dialog'}{'hbuttonbox2'}->set_child_size(85, 27 );
+ $forms->{'connect_dialog'}{'hbuttonbox2'}->set_child_ipadding(7, 0 );
+ #
+ # Construct a GtkButton 'savesession_button'
+ $widgets->{'savesession_button'} = new Gtk::Button(_('Save Session'));
+ $forms->{'connect_dialog'}{'hbuttonbox2'}->add($widgets->{'savesession_button'} );
+ $widgets->{'savesession_button'}->show;
+ $forms->{'connect_dialog'}{'savesession_button'} = $widgets->{'savesession_button'};
+ $forms->{'connect_dialog'}{'savesession_button'}->can_default(1 );
+ $forms->{'connect_dialog'}{'savesession_button'}->can_focus(1 );
+ #
+ # Construct a GtkButton 'deletesession_button'
+ $widgets->{'deletesession_button'} = new Gtk::Button(_('Delete Session'));
+ $forms->{'connect_dialog'}{'hbuttonbox2'}->add($widgets->{'deletesession_button'} );
+ $widgets->{'deletesession_button'}->show;
+ $forms->{'connect_dialog'}{'deletesession_button'} = $widgets->{'deletesession_button'};
+ $forms->{'connect_dialog'}{'deletesession_button'}->can_default(1 );
+ $forms->{'connect_dialog'}{'deletesession_button'}->can_focus(1 );
+ $forms->{'connect_dialog'}{'vbox4'}->set_child_packing($forms->{'connect_dialog'}{'hbuttonbox2'}, 1, 1, 0, 'start' );
+ #
+ # Construct a GtkHSeparator 'hseparator2'
+ $widgets->{'hseparator2'} = new Gtk::HSeparator;
+ $forms->{'connect_dialog'}{'vbox4'}->add($widgets->{'hseparator2'} );
+ $widgets->{'hseparator2'}->show;
+ $forms->{'connect_dialog'}{'hseparator2'} = $widgets->{'hseparator2'};
+ $forms->{'connect_dialog'}{'vbox4'}->set_child_packing($forms->{'connect_dialog'}{'hseparator2'}, 1, 1, 0, 'start' );
+ #
+ # Construct a GtkHButtonBox 'hbuttonbox3'
+ $widgets->{'hbuttonbox3'} = new Gtk::HButtonBox;
+ $forms->{'connect_dialog'}{'vbox4'}->add($widgets->{'hbuttonbox3'} );
+ $widgets->{'hbuttonbox3'}->show;
+ $forms->{'connect_dialog'}{'hbuttonbox3'} = $widgets->{'hbuttonbox3'};
+ $forms->{'connect_dialog'}{'hbuttonbox3'}->set_layout('edge' );
+ $forms->{'connect_dialog'}{'hbuttonbox3'}->set_spacing(30 );
+ $forms->{'connect_dialog'}{'hbuttonbox3'}->set_child_size(85, 27 );
+ $forms->{'connect_dialog'}{'hbuttonbox3'}->set_child_ipadding(7, 0 );
+ #
+ # Construct a GtkButton 'connect_button'
+ $widgets->{'connect_button'} = new Gtk::Button(_('Connect'));
+ $forms->{'connect_dialog'}{'hbuttonbox3'}->add($widgets->{'connect_button'} );
+ $widgets->{'connect_button'}->show;
+ $forms->{'connect_dialog'}{'connect_button'} = $widgets->{'connect_button'};
+ $forms->{'connect_dialog'}{'connect_button'}->can_default(1 );
+ $forms->{'connect_dialog'}{'connect_button'}->can_focus(1 );
+ #
+ # Construct a GtkButton 'abortconnect_button'
+ $widgets->{'abortconnect_button'} = new Gtk::Button(_('Abort'));
+ $forms->{'connect_dialog'}{'hbuttonbox3'}->add($widgets->{'abortconnect_button'} );
+ $widgets->{'abortconnect_button'}->show;
+ $forms->{'connect_dialog'}{'abortconnect_button'} = $widgets->{'abortconnect_button'};
+ $forms->{'connect_dialog'}{'abortconnect_button'}->can_default(1 );
+ $forms->{'connect_dialog'}{'abortconnect_button'}->can_focus(1 );
+ $forms->{'connect_dialog'}{'vbox4'}->set_child_packing($forms->{'connect_dialog'}{'hbuttonbox3'}, 1, 1, 0, 'start' );
+ #
+ # Connect all signals now that widgets are constructed
+ $forms->{'connect_dialog'}{'datasource_entry'}->signal_connect( 'changed', "$class\::on_datasource_entry_changed", '', 'datasource_entry', "connect_dialog-$instance" );
+ $forms->{'connect_dialog'}{'username_entry'}->signal_connect( 'changed', "$class\::on_username_entry_changed", '', 'username_entry', "connect_dialog-$instance" );
+ $forms->{'connect_dialog'}{'password_entry'}->signal_connect( 'changed', "$class\::on_password_entry_changed", '', 'password_entry', "connect_dialog-$instance" );
+ $forms->{'connect_dialog'}{'savesession_button'}->signal_connect( 'clicked', "$class\::on_savesession_button_clicked", '', 'savesession_button', "connect_dialog-$instance" );
+ $forms->{'connect_dialog'}{'deletesession_button'}->signal_connect( 'clicked', "$class\::on_deletesession_button_clicked", '', 'deletesession_button', "connect_dialog-$instance" );
+ $forms->{'connect_dialog'}{'connect_button'}->signal_connect( 'clicked', "$class\::on_connect_button_clicked", '', 'connect_button', "connect_dialog-$instance" );
+ $forms->{'connect_dialog'}{'abortconnect_button'}->signal_connect( 'clicked', "$class\::on_abortconnect_button_clicked", '', 'abortconnect_button', "connect_dialog-$instance" );
+
+
+ #
+ # Return the constructed UI
+ bless $self, $class;
+ $self->FORM($forms->{'connect_dialog'});
+ $self->TOPLEVEL($self->FORM->{'connect_dialog'});
+ $self->FORM->{'TOPLEVEL'} = ($self->TOPLEVEL);
+ $self->INSTANCE("connect_dialog-$instance");
+ $self->CLASS_HIERARCHY($self->FORM->{'__WH'});
+ $self->WIDGET_HIERARCHY($self->FORM->{'__CH'});
+ $__PACKAGE__::all_forms->{$self->INSTANCE} = $self->FORM;
+
+ return $self;
+} # End of sub new
+
+
+
+
+
+
+
+
+
+#==============================================================================
+#=== This is the 'quit_dialog' class
+#==============================================================================
+package quit_dialog;
+require 5.000; use strict 'vars', 'refs', 'subs';
+# UI class 'quit_dialog' (version 0.01)
+#
+# Copyright (c) Date Tue Oct 23 01:49:12 PDT 2001
+# Author Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>
+#
+## Unspecified copying policy, please contact the author\n# Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>
+#
+#==============================================================================
+# This perl source file was automatically generated by
+# Glade::PerlGenerate version 0.59 - Wed Jun 20 14:48:25 BST 2001
+# Copyright (c) Author Dermot Musgrove <dermot.musgrove\@virgin.net>
+#
+# from Glade file /home/ivan/gtkdbi/gtkdbi.glade
+# Thu Jan 10 08:02:21 PST 2002
+#==============================================================================
+
+BEGIN {
+ # Run-time utilities and vars
+ use Glade::PerlRun;
+ # Existing signal handler modules
+ use vars qw(
+ @ISA
+ %fields
+ %stubs
+ $PACKAGE
+ $VERSION
+ $AUTHOR
+ $DATE
+ $AUTOLOAD
+ $permitted_fields
+ );
+ # Tell interpreter who we are inheriting from
+ @ISA = qw( Glade::PerlRun );
+ $PACKAGE = 'gtkdbi';
+ $VERSION = '0.01';
+ $AUTHOR = 'Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>';
+ $DATE = 'Tue Oct 23 01:49:12 PDT 2001';
+ $permitted_fields = '_permitted_fields';
+} # End of sub BEGIN
+
+ $Glade::PerlRun::pixmaps_directory ||= '/home/ivan/gtkdbi/pixmaps';
+
+%fields = (
+ # These are the data fields that you can set/get using the dynamic
+ # calls provided by AUTOLOAD (and their initial values).
+ # eg $class->FORM($new_value); sets the value of FORM
+ # $current_value = $class->FORM; gets the current value of FORM
+ TOPLEVEL => undef,
+ FORM => undef,
+ PACKAGE => 'gtkdbi',
+ VERSION => '0.01',
+ AUTHOR => 'Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>',
+ DATE => 'Tue Oct 23 01:49:12 PDT 2001',
+ INSTANCE => 'window1',
+ CLASS_HIERARCHY => undef,
+ WIDGET_HIERARCHY => undef,
+);
+
+%stubs = (
+ # These are signal handlers that will cause a message_box to be
+ # displayed by AUTOLOAD if there is not already a sub of that name
+ # in any module specified in 'use_modules'.
+
+ 'on_quit_no_clicked' => undef,
+ 'on_quit_yes_clicked' => undef,
+);
+
+sub AUTOLOAD {
+ my $self = shift;
+ my $type = ref($self)
+ or die "$self is not an object so we cannot '$AUTOLOAD'\n",
+ "We were called from ".join(", ", caller)."\n\n";
+ my $name = $AUTOLOAD;
+ $name =~ s/.*://; # strip fully-qualified portion
+
+ if (exists $self->{$permitted_fields}->{$name} ) {
+ # This allows dynamic data methods - see hash fields above
+ # eg $class->UI('new_value');
+ # or $current_value = $class->UI;
+ if (@_) {
+ return $self->{$name} = shift;
+ } else {
+ return $self->{$name};
+ }
+
+ } elsif (exists $stubs{$name} ) {
+ # This shows dynamic signal handler stub message_box - see hash stubs above
+ __PACKAGE__->show_skeleton_message(
+ $AUTOLOAD."\n ("._("AUTOLOADED by")." ".__PACKAGE__.")",
+ [$self, @_],
+ __PACKAGE__,
+ 'glade2perl_logo.xpm');
+
+ } else {
+ die "Can't access method `$name' in class $type\n".
+ "We were called from ".join(", ", caller)."\n\n";
+
+ }
+} # End of sub AUTOLOAD
+
+sub run {
+ my ($class) = @_;
+ $class->load_translations('gtkdbi');
+ # You can use the line below to load a test .mo file before it is installed in
+ # the normal place (eg /usr/local/share/locale/C/LC_MESSAGES/gtkdbi.mo)
+# $class->load_translations('gtkdbi', 'test', undef, '/home/ivan/gtkdbi/ppo/gtkdbi.mo');
+ Gtk->init;
+ my $window = $class->new;
+ $window->TOPLEVEL->show;
+ Gtk->main;
+} # End of sub run
+
+sub DESTROY {
+ # This sub will be called on object destruction
+} # End of sub DESTROY
+
+sub new {
+#
+# This sub will create the UI window
+ my $that = shift;
+ my $class = ref($that) || $that;
+ my $self = {
+ $permitted_fields => \%fields, %fields,
+ _permitted_stubs => \%stubs, %stubs,
+ };
+ my ($forms, $widgets, $data, $work);
+ my $instance = 1;
+ # Get a unique toplevel widget structure
+ while (defined $__PACKAGE__::all_forms->{"quit_dialog-$instance"}) {$instance++;}
+
+
+ #
+ # Construct a GtkDialog 'quit_dialog'
+ $widgets->{'quit_dialog'} = new Gtk::Dialog;
+ $widgets->{'quit_dialog'}->set_title(_('gtkdbi ') );
+ $widgets->{'quit_dialog'}->position('center' );
+ $widgets->{'quit_dialog'}->set_policy(1, 1, 0 );
+ $widgets->{'quit_dialog'}->set_modal(1 );
+ $widgets->{'quit_dialog'}->realize;
+ $forms->{'quit_dialog'}{'tooltips'} = new Gtk::Tooltips;
+ $forms->{'quit_dialog'}{'accelgroup'} = new Gtk::AccelGroup;
+ $forms->{'quit_dialog'}{'accelgroup'}->attach($widgets->{'quit_dialog'} );
+ $forms->{'quit_dialog'}{'quit_dialog'} = $widgets->{'quit_dialog'};
+ #
+ # Construct a GtkVBox 'dialog-vbox1'
+ $widgets->{'dialog-vbox1'} = $forms->{'quit_dialog'}{'quit_dialog'}->vbox;
+ $widgets->{'dialog-vbox1'}->show;
+ $forms->{'quit_dialog'}{'dialog-vbox1'} = $widgets->{'dialog-vbox1'};
+ #
+ # Construct a GtkHBox 'dialog-action_area1'
+ $widgets->{'dialog-action_area1'} = $forms->{'quit_dialog'}{'quit_dialog'}->action_area;
+ $widgets->{'dialog-action_area1'}->show;
+ $forms->{'quit_dialog'}{'dialog-action_area1'} = $widgets->{'dialog-action_area1'};
+ $forms->{'quit_dialog'}{'dialog-action_area1'}->border_width(10 );
+ #
+ # Construct a GtkHButtonBox 'hbuttonbox1'
+ $widgets->{'hbuttonbox1'} = new Gtk::HButtonBox;
+ $forms->{'quit_dialog'}{'dialog-action_area1'}->add($widgets->{'hbuttonbox1'} );
+ $widgets->{'hbuttonbox1'}->show;
+ $forms->{'quit_dialog'}{'hbuttonbox1'} = $widgets->{'hbuttonbox1'};
+ $forms->{'quit_dialog'}{'hbuttonbox1'}->set_layout('default_style' );
+ $forms->{'quit_dialog'}{'hbuttonbox1'}->set_spacing(30 );
+ $forms->{'quit_dialog'}{'hbuttonbox1'}->set_child_size(85, 27 );
+ $forms->{'quit_dialog'}{'hbuttonbox1'}->set_child_ipadding(7, 0 );
+ #
+ # Construct a GtkButton 'quit_yes'
+ $widgets->{'quit_yes'} = new Gtk::Button(_('Yes'));
+ $forms->{'quit_dialog'}{'hbuttonbox1'}->add($widgets->{'quit_yes'} );
+ $widgets->{'quit_yes'}->show;
+ $forms->{'quit_dialog'}{'quit_yes'} = $widgets->{'quit_yes'};
+ $forms->{'quit_dialog'}{'quit_yes'}->can_default(1 );
+ $forms->{'quit_dialog'}{'quit_yes'}->can_focus(1 );
+ #
+ # Construct a GtkButton 'quit_no'
+ $widgets->{'quit_no'} = new Gtk::Button(_('No'));
+ $forms->{'quit_dialog'}{'hbuttonbox1'}->add($widgets->{'quit_no'} );
+ $widgets->{'quit_no'}->show;
+ $forms->{'quit_dialog'}{'quit_no'} = $widgets->{'quit_no'};
+ $forms->{'quit_dialog'}{'quit_no'}->can_default(1 );
+ $forms->{'quit_dialog'}{'quit_no'}->can_focus(1 );
+ $forms->{'quit_dialog'}{'dialog-action_area1'}->set_child_packing($forms->{'quit_dialog'}{'hbuttonbox1'}, 1, 1, 0, 'start' );
+ $forms->{'quit_dialog'}{'dialog-vbox1'}->set_child_packing($forms->{'quit_dialog'}{'dialog-action_area1'}, 0, 1, 0, 'end' );
+ #
+ # Construct a GtkLabel 'label2'
+ $widgets->{'label2'} = new Gtk::Label(_('Really quit?'));
+ $widgets->{'label2'}->set_justify('center' );
+ $widgets->{'label2'}->set_line_wrap(0 );
+ $forms->{'quit_dialog'}{'dialog-vbox1'}->add($widgets->{'label2'} );
+ $widgets->{'label2'}->show;
+ $forms->{'quit_dialog'}{'label2'} = $widgets->{'label2'};
+ $forms->{'quit_dialog'}{'label2'}->set_alignment(0.5, 0.5 );
+ $forms->{'quit_dialog'}{'label2'}->set_padding(0, 4 );
+ $forms->{'quit_dialog'}{'dialog-vbox1'}->set_child_packing($forms->{'quit_dialog'}{'label2'}, 1, 0, 0, 'start' );
+ #
+ # Connect all signals now that widgets are constructed
+ $forms->{'quit_dialog'}{'quit_yes'}->signal_connect( 'clicked', "$class\::on_quit_yes_clicked", '', 'quit_yes', "quit_dialog-$instance" );
+ $forms->{'quit_dialog'}{'quit_no'}->signal_connect( 'clicked', "$class\::on_quit_no_clicked", '', 'quit_no', "quit_dialog-$instance" );
+
+
+ #
+ # Return the constructed UI
+ bless $self, $class;
+ $self->FORM($forms->{'quit_dialog'});
+ $self->TOPLEVEL($self->FORM->{'quit_dialog'});
+ $self->FORM->{'TOPLEVEL'} = ($self->TOPLEVEL);
+ $self->INSTANCE("quit_dialog-$instance");
+ $self->CLASS_HIERARCHY($self->FORM->{'__WH'});
+ $self->WIDGET_HIERARCHY($self->FORM->{'__CH'});
+ $__PACKAGE__::all_forms->{$self->INSTANCE} = $self->FORM;
+
+ return $self;
+} # End of sub new
+
+
+
+
+
+
+
+
+
+#==============================================================================
+#=== This is the 'error_dialog' class
+#==============================================================================
+package error_dialog;
+require 5.000; use strict 'vars', 'refs', 'subs';
+# UI class 'error_dialog' (version 0.01)
+#
+# Copyright (c) Date Tue Oct 23 01:49:12 PDT 2001
+# Author Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>
+#
+## Unspecified copying policy, please contact the author\n# Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>
+#
+#==============================================================================
+# This perl source file was automatically generated by
+# Glade::PerlGenerate version 0.59 - Wed Jun 20 14:48:25 BST 2001
+# Copyright (c) Author Dermot Musgrove <dermot.musgrove\@virgin.net>
+#
+# from Glade file /home/ivan/gtkdbi/gtkdbi.glade
+# Thu Jan 10 08:02:21 PST 2002
+#==============================================================================
+
+BEGIN {
+ # Run-time utilities and vars
+ use Glade::PerlRun;
+ # Existing signal handler modules
+ use vars qw(
+ @ISA
+ %fields
+ %stubs
+ $PACKAGE
+ $VERSION
+ $AUTHOR
+ $DATE
+ $AUTOLOAD
+ $permitted_fields
+ );
+ # Tell interpreter who we are inheriting from
+ @ISA = qw( Glade::PerlRun );
+ $PACKAGE = 'gtkdbi';
+ $VERSION = '0.01';
+ $AUTHOR = 'Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>';
+ $DATE = 'Tue Oct 23 01:49:12 PDT 2001';
+ $permitted_fields = '_permitted_fields';
+} # End of sub BEGIN
+
+ $Glade::PerlRun::pixmaps_directory ||= '/home/ivan/gtkdbi/pixmaps';
+
+%fields = (
+ # These are the data fields that you can set/get using the dynamic
+ # calls provided by AUTOLOAD (and their initial values).
+ # eg $class->FORM($new_value); sets the value of FORM
+ # $current_value = $class->FORM; gets the current value of FORM
+ TOPLEVEL => undef,
+ FORM => undef,
+ PACKAGE => 'gtkdbi',
+ VERSION => '0.01',
+ AUTHOR => 'Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>',
+ DATE => 'Tue Oct 23 01:49:12 PDT 2001',
+ INSTANCE => 'window1',
+ CLASS_HIERARCHY => undef,
+ WIDGET_HIERARCHY => undef,
+);
+
+%stubs = (
+ # These are signal handlers that will cause a message_box to be
+ # displayed by AUTOLOAD if there is not already a sub of that name
+ # in any module specified in 'use_modules'.
+
+ 'on_error_button_clicked' => undef,
+);
+
+sub AUTOLOAD {
+ my $self = shift;
+ my $type = ref($self)
+ or die "$self is not an object so we cannot '$AUTOLOAD'\n",
+ "We were called from ".join(", ", caller)."\n\n";
+ my $name = $AUTOLOAD;
+ $name =~ s/.*://; # strip fully-qualified portion
+
+ if (exists $self->{$permitted_fields}->{$name} ) {
+ # This allows dynamic data methods - see hash fields above
+ # eg $class->UI('new_value');
+ # or $current_value = $class->UI;
+ if (@_) {
+ return $self->{$name} = shift;
+ } else {
+ return $self->{$name};
+ }
+
+ } elsif (exists $stubs{$name} ) {
+ # This shows dynamic signal handler stub message_box - see hash stubs above
+ __PACKAGE__->show_skeleton_message(
+ $AUTOLOAD."\n ("._("AUTOLOADED by")." ".__PACKAGE__.")",
+ [$self, @_],
+ __PACKAGE__,
+ 'glade2perl_logo.xpm');
+
+ } else {
+ die "Can't access method `$name' in class $type\n".
+ "We were called from ".join(", ", caller)."\n\n";
+
+ }
+} # End of sub AUTOLOAD
+
+sub run {
+ my ($class) = @_;
+ $class->load_translations('gtkdbi');
+ # You can use the line below to load a test .mo file before it is installed in
+ # the normal place (eg /usr/local/share/locale/C/LC_MESSAGES/gtkdbi.mo)
+# $class->load_translations('gtkdbi', 'test', undef, '/home/ivan/gtkdbi/ppo/gtkdbi.mo');
+ Gtk->init;
+ my $window = $class->new;
+ $window->TOPLEVEL->show;
+ Gtk->main;
+} # End of sub run
+
+sub DESTROY {
+ # This sub will be called on object destruction
+} # End of sub DESTROY
+
+sub new {
+#
+# This sub will create the UI window
+ my $that = shift;
+ my $class = ref($that) || $that;
+ my $self = {
+ $permitted_fields => \%fields, %fields,
+ _permitted_stubs => \%stubs, %stubs,
+ };
+ my ($forms, $widgets, $data, $work);
+ my $instance = 1;
+ # Get a unique toplevel widget structure
+ while (defined $__PACKAGE__::all_forms->{"error_dialog-$instance"}) {$instance++;}
+
+
+ #
+ # Construct a GtkDialog 'error_dialog'
+ $widgets->{'error_dialog'} = new Gtk::Dialog;
+ $widgets->{'error_dialog'}->set_title(_('gtkdbi - Error') );
+ $widgets->{'error_dialog'}->position('none' );
+ $widgets->{'error_dialog'}->set_policy(1, 1, 0 );
+ $widgets->{'error_dialog'}->set_modal(1 );
+ $widgets->{'error_dialog'}->realize;
+ $forms->{'error_dialog'}{'tooltips'} = new Gtk::Tooltips;
+ $forms->{'error_dialog'}{'accelgroup'} = new Gtk::AccelGroup;
+ $forms->{'error_dialog'}{'accelgroup'}->attach($widgets->{'error_dialog'} );
+ $forms->{'error_dialog'}{'error_dialog'} = $widgets->{'error_dialog'};
+ #
+ # Construct a GtkVBox 'dialog-vbox3'
+ $widgets->{'dialog-vbox3'} = $forms->{'error_dialog'}{'error_dialog'}->vbox;
+ $widgets->{'dialog-vbox3'}->show;
+ $forms->{'error_dialog'}{'dialog-vbox3'} = $widgets->{'dialog-vbox3'};
+ #
+ # Construct a GtkHBox 'dialog-action_area3'
+ $widgets->{'dialog-action_area3'} = $forms->{'error_dialog'}{'error_dialog'}->action_area;
+ $widgets->{'dialog-action_area3'}->show;
+ $forms->{'error_dialog'}{'dialog-action_area3'} = $widgets->{'dialog-action_area3'};
+ $forms->{'error_dialog'}{'dialog-action_area3'}->border_width(10 );
+ #
+ # Construct a GtkButton 'error_button'
+ $widgets->{'error_button'} = new Gtk::Button(_('OK'));
+ $forms->{'error_dialog'}{'dialog-action_area3'}->add($widgets->{'error_button'} );
+ $widgets->{'error_button'}->show;
+ $forms->{'error_dialog'}{'error_button'} = $widgets->{'error_button'};
+ $forms->{'error_dialog'}{'error_button'}->can_focus(1 );
+ $forms->{'error_dialog'}{'dialog-action_area3'}->set_child_packing($forms->{'error_dialog'}{'error_button'}, 0, 0, 0, 'start' );
+ $forms->{'error_dialog'}{'dialog-vbox3'}->set_child_packing($forms->{'error_dialog'}{'dialog-action_area3'}, 0, 1, 0, 'end' );
+ #
+ # Construct a GtkLabel 'error_label'
+ $widgets->{'error_label'} = new Gtk::Label(_('$ERROR'));
+ $widgets->{'error_label'}->set_justify('center' );
+ $widgets->{'error_label'}->set_line_wrap(0 );
+ $forms->{'error_dialog'}{'dialog-vbox3'}->add($widgets->{'error_label'} );
+ $widgets->{'error_label'}->show;
+ $forms->{'error_dialog'}{'error_label'} = $widgets->{'error_label'};
+ $forms->{'error_dialog'}{'error_label'}->set_alignment(0.5, 0.5 );
+ $forms->{'error_dialog'}{'dialog-vbox3'}->set_child_packing($forms->{'error_dialog'}{'error_label'}, 1, 0, 0, 'start' );
+ #
+ # Connect all signals now that widgets are constructed
+ $forms->{'error_dialog'}{'error_button'}->signal_connect( 'clicked', "$class\::on_error_button_clicked", '', 'error_button', "error_dialog-$instance" );
+
+
+ #
+ # Return the constructed UI
+ bless $self, $class;
+ $self->FORM($forms->{'error_dialog'});
+ $self->TOPLEVEL($self->FORM->{'error_dialog'});
+ $self->FORM->{'TOPLEVEL'} = ($self->TOPLEVEL);
+ $self->INSTANCE("error_dialog-$instance");
+ $self->CLASS_HIERARCHY($self->FORM->{'__WH'});
+ $self->WIDGET_HIERARCHY($self->FORM->{'__CH'});
+ $__PACKAGE__::all_forms->{$self->INSTANCE} = $self->FORM;
+
+ return $self;
+} # End of sub new
+
+
+
+
+
+
+
+
+
+#==============================================================================
+#=== This is the 'about_dialog' class
+#==============================================================================
+package about_dialog;
+require 5.000; use strict 'vars', 'refs', 'subs';
+# UI class 'about_dialog' (version 0.01)
+#
+# Copyright (c) Date Tue Oct 23 01:49:12 PDT 2001
+# Author Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>
+#
+## Unspecified copying policy, please contact the author\n# Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>
+#
+#==============================================================================
+# This perl source file was automatically generated by
+# Glade::PerlGenerate version 0.59 - Wed Jun 20 14:48:25 BST 2001
+# Copyright (c) Author Dermot Musgrove <dermot.musgrove\@virgin.net>
+#
+# from Glade file /home/ivan/gtkdbi/gtkdbi.glade
+# Thu Jan 10 08:02:21 PST 2002
+#==============================================================================
+
+BEGIN {
+ # Run-time utilities and vars
+ use Glade::PerlRun;
+ # Existing signal handler modules
+ use vars qw(
+ @ISA
+ %fields
+ %stubs
+ $PACKAGE
+ $VERSION
+ $AUTHOR
+ $DATE
+ $AUTOLOAD
+ $permitted_fields
+ );
+ # Tell interpreter who we are inheriting from
+ @ISA = qw( Glade::PerlRun );
+ $PACKAGE = 'gtkdbi';
+ $VERSION = '0.01';
+ $AUTHOR = 'Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>';
+ $DATE = 'Tue Oct 23 01:49:12 PDT 2001';
+ $permitted_fields = '_permitted_fields';
+} # End of sub BEGIN
+
+ $Glade::PerlRun::pixmaps_directory ||= '/home/ivan/gtkdbi/pixmaps';
+
+%fields = (
+ # These are the data fields that you can set/get using the dynamic
+ # calls provided by AUTOLOAD (and their initial values).
+ # eg $class->FORM($new_value); sets the value of FORM
+ # $current_value = $class->FORM; gets the current value of FORM
+ TOPLEVEL => undef,
+ FORM => undef,
+ PACKAGE => 'gtkdbi',
+ VERSION => '0.01',
+ AUTHOR => 'Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>',
+ DATE => 'Tue Oct 23 01:49:12 PDT 2001',
+ INSTANCE => 'window1',
+ CLASS_HIERARCHY => undef,
+ WIDGET_HIERARCHY => undef,
+);
+
+%stubs = (
+ # These are signal handlers that will cause a message_box to be
+ # displayed by AUTOLOAD if there is not already a sub of that name
+ # in any module specified in 'use_modules'.
+
+ 'on_about_button_clicked' => undef,
+);
+
+sub AUTOLOAD {
+ my $self = shift;
+ my $type = ref($self)
+ or die "$self is not an object so we cannot '$AUTOLOAD'\n",
+ "We were called from ".join(", ", caller)."\n\n";
+ my $name = $AUTOLOAD;
+ $name =~ s/.*://; # strip fully-qualified portion
+
+ if (exists $self->{$permitted_fields}->{$name} ) {
+ # This allows dynamic data methods - see hash fields above
+ # eg $class->UI('new_value');
+ # or $current_value = $class->UI;
+ if (@_) {
+ return $self->{$name} = shift;
+ } else {
+ return $self->{$name};
+ }
+
+ } elsif (exists $stubs{$name} ) {
+ # This shows dynamic signal handler stub message_box - see hash stubs above
+ __PACKAGE__->show_skeleton_message(
+ $AUTOLOAD."\n ("._("AUTOLOADED by")." ".__PACKAGE__.")",
+ [$self, @_],
+ __PACKAGE__,
+ 'glade2perl_logo.xpm');
+
+ } else {
+ die "Can't access method `$name' in class $type\n".
+ "We were called from ".join(", ", caller)."\n\n";
+
+ }
+} # End of sub AUTOLOAD
+
+sub run {
+ my ($class) = @_;
+ $class->load_translations('gtkdbi');
+ # You can use the line below to load a test .mo file before it is installed in
+ # the normal place (eg /usr/local/share/locale/C/LC_MESSAGES/gtkdbi.mo)
+# $class->load_translations('gtkdbi', 'test', undef, '/home/ivan/gtkdbi/ppo/gtkdbi.mo');
+ Gtk->init;
+ my $window = $class->new;
+ $window->TOPLEVEL->show;
+ Gtk->main;
+} # End of sub run
+
+sub DESTROY {
+ # This sub will be called on object destruction
+} # End of sub DESTROY
+
+sub new {
+#
+# This sub will create the UI window
+ my $that = shift;
+ my $class = ref($that) || $that;
+ my $self = {
+ $permitted_fields => \%fields, %fields,
+ _permitted_stubs => \%stubs, %stubs,
+ };
+ my ($forms, $widgets, $data, $work);
+ my $instance = 1;
+ # Get a unique toplevel widget structure
+ while (defined $__PACKAGE__::all_forms->{"about_dialog-$instance"}) {$instance++;}
+
+
+ #
+ # Construct a GtkDialog 'about_dialog'
+ $widgets->{'about_dialog'} = new Gtk::Dialog;
+ $widgets->{'about_dialog'}->set_title(_('gtkdbi - About') );
+ $widgets->{'about_dialog'}->position('center' );
+ $widgets->{'about_dialog'}->set_policy(1, 1, 0 );
+ $widgets->{'about_dialog'}->set_modal(1 );
+ $widgets->{'about_dialog'}->realize;
+ $forms->{'about_dialog'}{'tooltips'} = new Gtk::Tooltips;
+ $forms->{'about_dialog'}{'accelgroup'} = new Gtk::AccelGroup;
+ $forms->{'about_dialog'}{'accelgroup'}->attach($widgets->{'about_dialog'} );
+ $forms->{'about_dialog'}{'about_dialog'} = $widgets->{'about_dialog'};
+ #
+ # Construct a GtkVBox 'dialog-vbox2'
+ $widgets->{'dialog-vbox2'} = $forms->{'about_dialog'}{'about_dialog'}->vbox;
+ $widgets->{'dialog-vbox2'}->show;
+ $forms->{'about_dialog'}{'dialog-vbox2'} = $widgets->{'dialog-vbox2'};
+ #
+ # Construct a GtkHBox 'dialog-action_area2'
+ $widgets->{'dialog-action_area2'} = $forms->{'about_dialog'}{'about_dialog'}->action_area;
+ $widgets->{'dialog-action_area2'}->show;
+ $forms->{'about_dialog'}{'dialog-action_area2'} = $widgets->{'dialog-action_area2'};
+ $forms->{'about_dialog'}{'dialog-action_area2'}->border_width(10 );
+ #
+ # Construct a GtkButton 'about_button'
+ $widgets->{'about_button'} = new Gtk::Button(_('Ok'));
+ $forms->{'about_dialog'}{'dialog-action_area2'}->add($widgets->{'about_button'} );
+ $widgets->{'about_button'}->show;
+ $forms->{'about_dialog'}{'about_button'} = $widgets->{'about_button'};
+ $forms->{'about_dialog'}{'about_button'}->can_focus(1 );
+ $forms->{'about_dialog'}{'dialog-action_area2'}->set_child_packing($forms->{'about_dialog'}{'about_button'}, 0, 0, 0, 'start' );
+ $forms->{'about_dialog'}{'dialog-vbox2'}->set_child_packing($forms->{'about_dialog'}{'dialog-action_area2'}, 0, 1, 0, 'end' );
+ #
+ # Construct a GtkLabel 'about_label'
+ $widgets->{'about_label'} = new Gtk::Label(_('gtkdbi
+
+A graphical interface to DBI data sources.
+
+http://www.420.am/gtkdbi doesn\'t exist yet.
+
+Ivan Kohler <ivan-gtkdbi@420.am>'));
+ $widgets->{'about_label'}->set_justify('center' );
+ $widgets->{'about_label'}->set_line_wrap(0 );
+ $forms->{'about_dialog'}{'dialog-vbox2'}->add($widgets->{'about_label'} );
+ $widgets->{'about_label'}->show;
+ $forms->{'about_dialog'}{'about_label'} = $widgets->{'about_label'};
+ $forms->{'about_dialog'}{'about_label'}->set_alignment(0.5, 0.5 );
+ $forms->{'about_dialog'}{'about_label'}->set_padding(4, 0 );
+ $forms->{'about_dialog'}{'dialog-vbox2'}->set_child_packing($forms->{'about_dialog'}{'about_label'}, 1, 0, 0, 'start' );
+ #
+ # Connect all signals now that widgets are constructed
+ $forms->{'about_dialog'}{'about_button'}->signal_connect( 'clicked', "$class\::on_about_button_clicked", '', 'about_button', "about_dialog-$instance" );
+
+
+ #
+ # Return the constructed UI
+ bless $self, $class;
+ $self->FORM($forms->{'about_dialog'});
+ $self->TOPLEVEL($self->FORM->{'about_dialog'});
+ $self->FORM->{'TOPLEVEL'} = ($self->TOPLEVEL);
+ $self->INSTANCE("about_dialog-$instance");
+ $self->CLASS_HIERARCHY($self->FORM->{'__WH'});
+ $self->WIDGET_HIERARCHY($self->FORM->{'__CH'});
+ $__PACKAGE__::all_forms->{$self->INSTANCE} = $self->FORM;
+
+ return $self;
+} # End of sub new
+
+
+
+
+
+
+
+
+
+#==============================================================================
+#=== This is the 'window1' class
+#==============================================================================
+package window1;
+require 5.000; use strict 'vars', 'refs', 'subs';
+# UI class 'window1' (version 0.01)
+#
+# Copyright (c) Date Tue Oct 23 01:49:12 PDT 2001
+# Author Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>
+#
+## Unspecified copying policy, please contact the author\n# Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>
+#
+#==============================================================================
+# This perl source file was automatically generated by
+# Glade::PerlGenerate version 0.59 - Wed Jun 20 14:48:25 BST 2001
+# Copyright (c) Author Dermot Musgrove <dermot.musgrove\@virgin.net>
+#
+# from Glade file /home/ivan/gtkdbi/gtkdbi.glade
+# Thu Jan 10 08:02:21 PST 2002
+#==============================================================================
+
+BEGIN {
+ # Run-time utilities and vars
+ use Glade::PerlRun;
+ # Existing signal handler modules
+ use vars qw(
+ @ISA
+ %fields
+ %stubs
+ $PACKAGE
+ $VERSION
+ $AUTHOR
+ $DATE
+ $AUTOLOAD
+ $permitted_fields
+ );
+ # Tell interpreter who we are inheriting from
+ @ISA = qw( Glade::PerlRun );
+ $PACKAGE = 'gtkdbi';
+ $VERSION = '0.01';
+ $AUTHOR = 'Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>';
+ $DATE = 'Tue Oct 23 01:49:12 PDT 2001';
+ $permitted_fields = '_permitted_fields';
+} # End of sub BEGIN
+
+ $Glade::PerlRun::pixmaps_directory ||= '/home/ivan/gtkdbi/pixmaps';
+
+%fields = (
+ # These are the data fields that you can set/get using the dynamic
+ # calls provided by AUTOLOAD (and their initial values).
+ # eg $class->FORM($new_value); sets the value of FORM
+ # $current_value = $class->FORM; gets the current value of FORM
+ TOPLEVEL => undef,
+ FORM => undef,
+ PACKAGE => 'gtkdbi',
+ VERSION => '0.01',
+ AUTHOR => 'Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>',
+ DATE => 'Tue Oct 23 01:49:12 PDT 2001',
+ INSTANCE => 'window1',
+ CLASS_HIERARCHY => undef,
+ WIDGET_HIERARCHY => undef,
+);
+
+%stubs = (
+ # These are signal handlers that will cause a message_box to be
+ # displayed by AUTOLOAD if there is not already a sub of that name
+ # in any module specified in 'use_modules'.
+
+ 'on_about1_activate' => undef,
+ 'on_connect1_activate' => undef,
+ 'on_quit1_activate' => undef,
+);
+
+sub AUTOLOAD {
+ my $self = shift;
+ my $type = ref($self)
+ or die "$self is not an object so we cannot '$AUTOLOAD'\n",
+ "We were called from ".join(", ", caller)."\n\n";
+ my $name = $AUTOLOAD;
+ $name =~ s/.*://; # strip fully-qualified portion
+
+ if (exists $self->{$permitted_fields}->{$name} ) {
+ # This allows dynamic data methods - see hash fields above
+ # eg $class->UI('new_value');
+ # or $current_value = $class->UI;
+ if (@_) {
+ return $self->{$name} = shift;
+ } else {
+ return $self->{$name};
+ }
+
+ } elsif (exists $stubs{$name} ) {
+ # This shows dynamic signal handler stub message_box - see hash stubs above
+ __PACKAGE__->show_skeleton_message(
+ $AUTOLOAD."\n ("._("AUTOLOADED by")." ".__PACKAGE__.")",
+ [$self, @_],
+ __PACKAGE__,
+ 'glade2perl_logo.xpm');
+
+ } else {
+ die "Can't access method `$name' in class $type\n".
+ "We were called from ".join(", ", caller)."\n\n";
+
+ }
+} # End of sub AUTOLOAD
+
+sub run {
+ my ($class) = @_;
+ $class->load_translations('gtkdbi');
+ # You can use the line below to load a test .mo file before it is installed in
+ # the normal place (eg /usr/local/share/locale/C/LC_MESSAGES/gtkdbi.mo)
+# $class->load_translations('gtkdbi', 'test', undef, '/home/ivan/gtkdbi/ppo/gtkdbi.mo');
+ Gtk->init;
+ my $window = $class->new;
+ $window->TOPLEVEL->show;
+ Gtk->main;
+} # End of sub run
+
+sub DESTROY {
+ # This sub will be called on object destruction
+} # End of sub DESTROY
+
+sub new {
+#
+# This sub will create the UI window
+ my $that = shift;
+ my $class = ref($that) || $that;
+ my $self = {
+ $permitted_fields => \%fields, %fields,
+ _permitted_stubs => \%stubs, %stubs,
+ };
+ my ($forms, $widgets, $data, $work);
+ my $instance = 1;
+ # Get a unique toplevel widget structure
+ while (defined $__PACKAGE__::all_forms->{"window1-$instance"}) {$instance++;}
+
+
+ #
+ # Construct a GtkWindow 'window1'
+ $widgets->{'window1'} = new Gtk::Window;
+ $widgets->{'window1'}->set_title(_('gtkdbi - Not Connected') );
+ $widgets->{'window1'}->position('none' );
+ $widgets->{'window1'}->set_policy(0, 1, 0 );
+ $widgets->{'window1'}->set_modal(0 );
+ $widgets->{'window1'}->realize;
+ $forms->{'window1'}{'tooltips'} = new Gtk::Tooltips;
+ $forms->{'window1'}{'accelgroup'} = new Gtk::AccelGroup;
+ $forms->{'window1'}{'accelgroup'}->attach($widgets->{'window1'} );
+ $forms->{'window1'}{'window1'} = $widgets->{'window1'};
+ #
+ # Construct a GtkVBox 'vbox1'
+ $widgets->{'vbox1'} = new Gtk::VBox(0, 0 );
+ $forms->{'window1'}{'window1'}->add($widgets->{'vbox1'} );
+ $widgets->{'vbox1'}->show;
+ $forms->{'window1'}{'vbox1'} = $widgets->{'vbox1'};
+ #
+ # Construct a GtkHandleBox 'handlebox1'
+ $widgets->{'handlebox1'} = new Gtk::HandleBox;
+ $widgets->{'handlebox1'}->set_handle_position('left' );
+ $widgets->{'handlebox1'}->set_shadow_type('out' );
+ $widgets->{'handlebox1'}->set_snap_edge('top' );
+ $forms->{'window1'}{'vbox1'}->add($widgets->{'handlebox1'} );
+ $widgets->{'handlebox1'}->show;
+ $forms->{'window1'}{'handlebox1'} = $widgets->{'handlebox1'};
+ #
+ # Construct a GtkMenuBar 'menubar3'
+ $widgets->{'menubar3'} = new Gtk::MenuBar;
+ $widgets->{'menubar3'}->set_shadow_type('out' );
+ $forms->{'window1'}{'handlebox1'}->add($widgets->{'menubar3'} );
+ $widgets->{'menubar3'}->show;
+ $forms->{'window1'}{'menubar3'} = $widgets->{'menubar3'};
+ #
+ # Construct a GtkMenuItem 'file1'
+ $widgets->{'file1'} = new Gtk::MenuItem(_('File'));
+ $forms->{'window1'}{'menubar3'}->append($widgets->{'file1'} );
+ $widgets->{'file1'}->show;
+ $forms->{'window1'}{'file1'} = $widgets->{'file1'};
+ #
+ # Construct a GtkMenu 'file1_menu'
+ $widgets->{'file1_menu'} = new Gtk::Menu;
+ $forms->{'window1'}{'file1'}->set_submenu($widgets->{'file1_menu'} );
+ $forms->{'window1'}{'file1_menu'} = $widgets->{'file1_menu'};
+ #
+ # Construct a GtkMenuItem 'connect1'
+ $widgets->{'connect1'} = new Gtk::MenuItem(_('Connect'));
+ $forms->{'window1'}{'file1_menu'}->append($widgets->{'connect1'} );
+ $widgets->{'connect1'}->show;
+ $forms->{'window1'}{'connect1'} = $widgets->{'connect1'};
+ #
+ # Construct a GtkMenuItem 'separator1'
+ $widgets->{'separator1'} = new Gtk::MenuItem;
+ $forms->{'window1'}{'file1_menu'}->append($widgets->{'separator1'} );
+ $widgets->{'separator1'}->show;
+ $forms->{'window1'}{'separator1'} = $widgets->{'separator1'};
+ #
+ # Construct a GtkMenuItem 'quit1'
+ $widgets->{'quit1'} = new Gtk::MenuItem(_('Quit'));
+ $forms->{'window1'}{'file1_menu'}->append($widgets->{'quit1'} );
+ $widgets->{'quit1'}->show;
+ $forms->{'window1'}{'quit1'} = $widgets->{'quit1'};
+ #
+ # Construct a GtkMenuItem 'help1'
+ $widgets->{'help1'} = new Gtk::MenuItem(_('Help'));
+ $widgets->{'help1'}->right_justify;
+ $forms->{'window1'}{'menubar3'}->append($widgets->{'help1'} );
+ $widgets->{'help1'}->show;
+ $forms->{'window1'}{'help1'} = $widgets->{'help1'};
+ #
+ # Construct a GtkMenu 'help1_menu'
+ $widgets->{'help1_menu'} = new Gtk::Menu;
+ $forms->{'window1'}{'help1'}->set_submenu($widgets->{'help1_menu'} );
+ $forms->{'window1'}{'help1_menu'} = $widgets->{'help1_menu'};
+ #
+ # Construct a GtkMenuItem 'about1'
+ $widgets->{'about1'} = new Gtk::MenuItem(_('About'));
+ $forms->{'window1'}{'help1_menu'}->append($widgets->{'about1'} );
+ $widgets->{'about1'}->show;
+ $forms->{'window1'}{'about1'} = $widgets->{'about1'};
+ $forms->{'window1'}{'vbox1'}->set_child_packing($forms->{'window1'}{'handlebox1'}, 0, 1, 0, 'start' );
+ #
+ # Construct a GtkNotebook 'notebook1'
+ $widgets->{'notebook1'} = new Gtk::Notebook;
+ $forms->{'window1'}{'vbox1'}->add($widgets->{'notebook1'} );
+ $widgets->{'notebook1'}->show;
+ $forms->{'window1'}{'notebook1'} = $widgets->{'notebook1'};
+ $forms->{'window1'}{'notebook1'}->can_focus(1 );
+ $forms->{'window1'}{'notebook1'}->set_tab_pos('top' );
+ $forms->{'window1'}{'notebook1'}->set_show_tabs(1 );
+ $forms->{'window1'}{'notebook1'}->set_show_border(1 );
+ $forms->{'window1'}{'notebook1'}->set_scrollable(1 );
+ $forms->{'window1'}{'notebook1'}->set_tab_hborder(2 );
+ $forms->{'window1'}{'notebook1'}->set_tab_vborder(2 );
+ #
+ # Construct a GtkScrolledWindow 'scrolledwindow1'
+ $widgets->{'scrolledwindow1'} = new Gtk::ScrolledWindow( undef, undef);
+ $widgets->{'scrolledwindow1'}->set_policy('always', 'always' );
+ $widgets->{'scrolledwindow1'}->border_width(0 );
+ $widgets->{'scrolledwindow1'}->hscrollbar->set_update_policy('continuous' );
+ $widgets->{'scrolledwindow1'}->vscrollbar->set_update_policy('continuous' );
+ $widgets->{'scrolledwindow1'}->show;
+ $forms->{'window1'}{'scrolledwindow1'} = $widgets->{'scrolledwindow1'};
+ #
+ # Construct a GtkViewport 'viewport1'
+ $widgets->{'viewport1'} = new Gtk::Viewport(new Gtk::Adjustment( 0.0, 0.0, 101.0, 0.1, 1.0, 1.0), new Gtk::Adjustment( 0.0, 0.0, 101.0, 0.1, 1.0, 1.0) );
+ $widgets->{'viewport1'}->set_shadow_type('in' );
+ $forms->{'window1'}{'scrolledwindow1'}->add_with_viewport($widgets->{'viewport1'} );
+ $widgets->{'viewport1'}->show;
+ $forms->{'window1'}{'viewport1'} = $widgets->{'viewport1'};
+ #
+ # Construct a GtkHBox 'hbox1'
+ $widgets->{'hbox1'} = new Gtk::HBox(0, 0 );
+ $forms->{'window1'}{'viewport1'}->add($widgets->{'hbox1'} );
+ $widgets->{'hbox1'}->show;
+ $forms->{'window1'}{'hbox1'} = $widgets->{'hbox1'};
+ #
+ # Construct a GtkVBox 'vbox2'
+ $widgets->{'vbox2'} = new Gtk::VBox(0, 0 );
+ $forms->{'window1'}{'hbox1'}->add($widgets->{'vbox2'} );
+ $widgets->{'vbox2'}->show;
+ $forms->{'window1'}{'vbox2'} = $widgets->{'vbox2'};
+ #
+ # Construct a GtkButton 'button1'
+ $widgets->{'button1'} = new Gtk::Button(_('button1'));
+ $forms->{'window1'}{'vbox2'}->add($widgets->{'button1'} );
+ $widgets->{'button1'}->show;
+ $forms->{'window1'}{'button1'} = $widgets->{'button1'};
+ $forms->{'window1'}{'button1'}->can_focus(1 );
+ $forms->{'window1'}{'vbox2'}->set_child_packing($forms->{'window1'}{'button1'}, 0, 0, 0, 'start' );
+ #
+ # Construct a GtkEntry 'entry2'
+ $widgets->{'entry2'} = new Gtk::Entry;
+ $forms->{'window1'}{'vbox2'}->add($widgets->{'entry2'} );
+ $widgets->{'entry2'}->show;
+ $forms->{'window1'}{'entry2'} = $widgets->{'entry2'};
+ $forms->{'window1'}{'entry2'}->can_focus(1 );
+ $forms->{'window1'}{'entry2'}->set_text(_('') );
+ $forms->{'window1'}{'entry2'}->set_max_length(0 );
+ $forms->{'window1'}{'entry2'}->set_visibility(1 );
+ $forms->{'window1'}{'entry2'}->set_editable(1 );
+ $forms->{'window1'}{'vbox2'}->set_child_packing($forms->{'window1'}{'entry2'}, 0, 0, 0, 'start' );
+ $forms->{'window1'}{'hbox1'}->set_child_packing($forms->{'window1'}{'vbox2'}, 1, 1, 0, 'start' );
+ #
+ # Construct a GtkVBox 'vbox3'
+ $widgets->{'vbox3'} = new Gtk::VBox(0, 0 );
+ $forms->{'window1'}{'hbox1'}->add($widgets->{'vbox3'} );
+ $widgets->{'vbox3'}->show;
+ $forms->{'window1'}{'vbox3'} = $widgets->{'vbox3'};
+ #
+ # Construct a GtkButton 'button2'
+ $widgets->{'button2'} = new Gtk::Button(_('button2'));
+ $forms->{'window1'}{'vbox3'}->add($widgets->{'button2'} );
+ $widgets->{'button2'}->show;
+ $forms->{'window1'}{'button2'} = $widgets->{'button2'};
+ $forms->{'window1'}{'button2'}->can_focus(1 );
+ $forms->{'window1'}{'vbox3'}->set_child_packing($forms->{'window1'}{'button2'}, 0, 0, 0, 'start' );
+ #
+ # Construct a GtkEntry 'entry3'
+ $widgets->{'entry3'} = new Gtk::Entry;
+ $forms->{'window1'}{'vbox3'}->add($widgets->{'entry3'} );
+ $widgets->{'entry3'}->show;
+ $forms->{'window1'}{'entry3'} = $widgets->{'entry3'};
+ $forms->{'window1'}{'entry3'}->can_focus(1 );
+ $forms->{'window1'}{'entry3'}->set_text(_('') );
+ $forms->{'window1'}{'entry3'}->set_max_length(0 );
+ $forms->{'window1'}{'entry3'}->set_visibility(1 );
+ $forms->{'window1'}{'entry3'}->set_editable(1 );
+ $forms->{'window1'}{'vbox3'}->set_child_packing($forms->{'window1'}{'entry3'}, 0, 0, 0, 'start' );
+ $forms->{'window1'}{'hbox1'}->set_child_packing($forms->{'window1'}{'vbox3'}, 1, 1, 0, 'start' );
+ #
+ # Construct a GtkLabel 'tablelabel1'
+ $widgets->{'tablelabel1'} = new Gtk::Label(_('tabletable1'));
+ $widgets->{'tablelabel1'}->set_justify('center' );
+ $widgets->{'tablelabel1'}->set_line_wrap(0 );
+ $forms->{'window1'}{'notebook1'}->append_page($forms->{'window1'}{'scrolledwindow1'}, $widgets->{'tablelabel1'} );
+ $widgets->{'tablelabel1'}->show;
+ $forms->{'window1'}{'tablelabel1'} = $widgets->{'tablelabel1'};
+ $forms->{'window1'}{'tablelabel1'}->set_alignment(0.5, 0.5 );
+ $forms->{'window1'}{'vbox1'}->set_child_packing($forms->{'window1'}{'notebook1'}, 1, 1, 0, 'start' );
+ #
+ # Construct a GtkEntry 'entry1'
+ $widgets->{'entry1'} = new Gtk::Entry;
+ $forms->{'window1'}{'vbox1'}->add($widgets->{'entry1'} );
+ $widgets->{'entry1'}->show;
+ $forms->{'window1'}{'entry1'} = $widgets->{'entry1'};
+ $forms->{'window1'}{'entry1'}->can_focus(1 );
+ $forms->{'window1'}{'entry1'}->set_text(_('Not Connected') );
+ $forms->{'window1'}{'entry1'}->set_max_length(0 );
+ $forms->{'window1'}{'entry1'}->set_visibility(1 );
+ $forms->{'window1'}{'entry1'}->set_editable(1 );
+ $forms->{'window1'}{'vbox1'}->set_child_packing($forms->{'window1'}{'entry1'}, 0, 0, 0, 'end' );
+ #
+ # Connect all signals now that widgets are constructed
+ $forms->{'window1'}{'connect1'}->signal_connect( 'activate', "$class\::on_connect1_activate", '', 'connect1', "window1-$instance" );
+ $forms->{'window1'}{'quit1'}->signal_connect( 'activate', "$class\::on_quit1_activate", '', 'quit1', "window1-$instance" );
+ $forms->{'window1'}{'about1'}->signal_connect( 'activate', "$class\::on_about1_activate", '', 'about1', "window1-$instance" );
+
+
+ #
+ # Return the constructed UI
+ bless $self, $class;
+ $self->FORM($forms->{'window1'});
+ $self->TOPLEVEL($self->FORM->{'window1'});
+ $self->FORM->{'TOPLEVEL'} = ($self->TOPLEVEL);
+ $self->INSTANCE("window1-$instance");
+ $self->CLASS_HIERARCHY($self->FORM->{'__WH'});
+ $self->WIDGET_HIERARCHY($self->FORM->{'__CH'});
+ $__PACKAGE__::all_forms->{$self->INSTANCE} = $self->FORM;
+
+ return $self;
+} # End of sub new
+
+
+
+
+
+
+
+
+
+
+1;
+
+__END__
+
+#===============================================================================
+#==== Documentation
+#===============================================================================
+=pod
+
+=head1 NAME
+
+gtkdbi - version 0.01 Tue Oct 23 01:49:12 PDT 2001
+
+No description
+
+=head1 SYNOPSIS
+
+ use gtkdbi;
+
+ To construct the window object and show it call
+
+ Gtk->init;
+ my $window = window1->new;
+ $window->TOPLEVEL->show;
+ Gtk->main;
+
+ OR use the shorthand for the above calls
+
+ window1->app_run;
+
+=head1 DESCRIPTION
+
+Unfortunately, the author has not yet written any documentation :-(
+
+=head1 AUTHOR
+
+Ivan Kohler,Chess room,888-670-SISD,215-996-0824 <ivan\@rootwood.haze.st>
+
+=cut