#!/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 'renew_window' class                              
#==============================================================================
package renew_window;
require 5.000; use strict 'vars', 'refs', 'subs';
# UI class 'renew_window' (version 0.01)
# 
# Copyright (c) Date Fri May 30 15:39:11 CDT 2003
# Author David Dynerman <dynerman\@brian.cs.wisc.edu>
#
# Unspecified copying policy, please contact the author\n#  David Dynerman <dynerman\@brian.cs.wisc.edu>
#
#==============================================================================
# This perl source file was automatically generated by 
# Glade::PerlGenerate version 0.56 - Wed Apr 19 02:28:58 BST 2000
# Copyright (c) Author Dermot Musgrove <dermot.musgrove\@virgin.net>
#
# from Glade file /afs/cs.wisc.edu/u/d/y/dynerman/private/work/crashman/crashman.glade
# Fri May 30 15:39:11 CDT 2003
#==============================================================================

BEGIN {
    # Run-time utilities and vars
    use Glade::PerlRun; 
    # Existing signal handler modules
    use vars qw( 
                 @ISA
                 %fields
                 %stubs
                 $VERSION
                 $AUTOLOAD
             );
    # Tell interpreter who we are inheriting from
    @ISA     = qw( Glade::PerlRun );
    $VERSION = '0.01';
} # End of sub BEGIN

    $Glade::PerlRun::pixmaps_directory ||= '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->FORMS($new_value);      sets the value of FORMS
    #    $current_value = $class->FORMS; gets the current value of FORMS
    TOPLEVEL => undef,
    FORM     => undef,
    PACKAGE  => 'crashman',
    VERSION  => '0.01',
    AUTHOR   => 'David Dynerman <dynerman\@brian.cs.wisc.edu>',
    DATE     => 'Fri May 30 15:39:11 CDT 2003',
    INSTANCE => 'crashman',
    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_renew_cancel_clicked' => undef,
    'on_renew_ok_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('crashman');
    # 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//LC_MESSAGES/crashman.mo)
#    $class->load_translations('crashman', 'test', undef, '/afs/cs.wisc.edu/u/d/y/dynerman/private/work/crashman/ppo/crashman.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->{"renew_window-$instance"}) {$instance++;}


    #
    # Construct a GtkWindow 'renew_window'
    $widgets->{'renew_window'} = new Gtk::Window;
    $widgets->{'renew_window'}->set_title(_('Renew') );
    $widgets->{'renew_window'}->set_name('renew_window');
    $widgets->{'renew_window'}->position('none' );
    $widgets->{'renew_window'}->set_policy(0, 1, 0 );
    $widgets->{'renew_window'}->set_modal(0 );
    $widgets->{'renew_window'}->realize;
    $forms->{'renew_window'}{'tooltips'} = new Gtk::Tooltips;
    $forms->{'renew_window'}{'accelgroup'} = new Gtk::AccelGroup;
    $forms->{'renew_window'}{'accelgroup'}->attach($widgets->{'renew_window'} );
    $forms->{'renew_window'}{'renew_window'} = $widgets->{'renew_window'};
	#
	# Construct a GtkVBox 'vbox3'
	$widgets->{'vbox3'} = new Gtk::VBox(0, 8 );
	$widgets->{'vbox3'}->set_name('vbox3');
	$forms->{'renew_window'}{'renew_window'}->add($widgets->{'vbox3'} );
	$widgets->{'vbox3'}->show;
	$forms->{'renew_window'}{'vbox3'} = $widgets->{'vbox3'};
	$forms->{'renew_window'}{'vbox3'}->border_width(8 );
	    #
	    # Construct a GtkHBox 'hbox2'
	    $widgets->{'hbox2'} = new Gtk::HBox(0, 4 );
	    $widgets->{'hbox2'}->set_name('hbox2');
	    $forms->{'renew_window'}{'vbox3'}->add($widgets->{'hbox2'} );
	    $widgets->{'hbox2'}->show;
	    $forms->{'renew_window'}{'hbox2'} = $widgets->{'hbox2'};
		#
		# Construct a GtkLabel 'due_label'
		$widgets->{'due_label'} = new Gtk::Label(_('New Due Date:'));
		$widgets->{'due_label'}->set_justify('center' );
		$widgets->{'due_label'}->set_line_wrap(1 );
		$widgets->{'due_label'}->set_name('due_label');
		$forms->{'renew_window'}{'hbox2'}->add($widgets->{'due_label'} );
		$widgets->{'due_label'}->show;
		$forms->{'renew_window'}{'due_label'} = $widgets->{'due_label'};
		$forms->{'renew_window'}{'due_label'}->set_alignment(0.5, 0.5 );
		$forms->{'renew_window'}{'hbox2'}->set_child_packing($forms->{'renew_window'}{'due_label'}, 0, 0, 0, 'start' );
		#
		# Construct a GtkCombo 'due_date_combo'
		$widgets->{'due_date_combo'} = new Gtk::Combo;
		$widgets->{'due_date_combo'}->set_case_sensitive(0 );
		$widgets->{'due_date_combo'}->set_use_arrows(1 );
		$widgets->{'due_date_combo'}->set_use_arrows_always(0 );
		$widgets->{'due_date_combo'}->set_name('due_date_combo');
		$widgets->{'due_date_combo'}->set_popdown_strings( '' );
		$forms->{'renew_window'}{'hbox2'}->add($widgets->{'due_date_combo'} );
		$widgets->{'due_date_combo'}->show;
		$forms->{'renew_window'}{'due_date_combo'} = $widgets->{'due_date_combo'};
		    #
		    # Construct a GtkEntry 'due_date_entry'
		    $widgets->{'due_date_entry'} = $forms->{'renew_window'}{'due_date_combo'}->entry;
		    $widgets->{'due_date_entry'}->show;
		    $forms->{'renew_window'}{'due_date_entry'} = $widgets->{'due_date_entry'};
		    $forms->{'renew_window'}{'due_date_entry'}->can_focus(1 );
		    $forms->{'renew_window'}{'due_date_entry'}->set_text(_('') );
		    $forms->{'renew_window'}{'due_date_entry'}->set_max_length(0 );
		    $forms->{'renew_window'}{'due_date_entry'}->set_visibility(1 );
		    $forms->{'renew_window'}{'due_date_entry'}->set_editable(1 );
		$forms->{'renew_window'}{'hbox2'}->set_child_packing($forms->{'renew_window'}{'due_date_combo'}, 1, 1, 0, 'start' );
	    $forms->{'renew_window'}{'vbox3'}->set_child_packing($forms->{'renew_window'}{'hbox2'}, 1, 1, 0, 'start' );
	    #
	    # Construct a GtkHButtonBox 'hbuttonbox2'
	    $widgets->{'hbuttonbox2'} = new Gtk::HButtonBox;
	    $widgets->{'hbuttonbox2'}->set_name('hbuttonbox2');
	    $forms->{'renew_window'}{'vbox3'}->add($widgets->{'hbuttonbox2'} );
	    $widgets->{'hbuttonbox2'}->show;
	    $forms->{'renew_window'}{'hbuttonbox2'} = $widgets->{'hbuttonbox2'};
	    $forms->{'renew_window'}{'hbuttonbox2'}->set_layout('spread' );
	    $forms->{'renew_window'}{'hbuttonbox2'}->set_spacing(30 );
	    $forms->{'renew_window'}{'hbuttonbox2'}->set_child_size(85, 27 );
	    $forms->{'renew_window'}{'hbuttonbox2'}->set_child_ipadding(7, 0 );
		#
		# Construct a GtkButton 'renew_ok'
		$widgets->{'renew_ok'} = new Gtk::Button(_('OK'));
		$widgets->{'renew_ok'}->set_name('renew_ok');
		$forms->{'renew_window'}{'hbuttonbox2'}->add($widgets->{'renew_ok'} );
		$widgets->{'renew_ok'}->show;
		$forms->{'renew_window'}{'renew_ok'} = $widgets->{'renew_ok'};
		$forms->{'renew_window'}{'renew_ok'}->can_default(1 );
		$forms->{'renew_window'}{'renew_ok'}->can_focus(1 );
		#
		# Construct a GtkButton 'renew_cancel'
		$widgets->{'renew_cancel'} = new Gtk::Button(_('Cancel'));
		$widgets->{'renew_cancel'}->set_name('renew_cancel');
		$forms->{'renew_window'}{'hbuttonbox2'}->add($widgets->{'renew_cancel'} );
		$widgets->{'renew_cancel'}->show;
		$forms->{'renew_window'}{'renew_cancel'} = $widgets->{'renew_cancel'};
		$forms->{'renew_window'}{'renew_cancel'}->can_default(1 );
		$forms->{'renew_window'}{'renew_cancel'}->can_focus(1 );
	    $forms->{'renew_window'}{'vbox3'}->set_child_packing($forms->{'renew_window'}{'hbuttonbox2'}, 0, 0, 0, 'start' );
    #
    # Connect all signals now that widgets are constructed
    $forms->{'renew_window'}{'renew_ok'}->signal_connect( 'clicked', "$class\::on_renew_ok_clicked", '', 'renew_ok', "renew_window-$instance" );
    $forms->{'renew_window'}{'renew_cancel'}->signal_connect( 'clicked', "$class\::on_renew_cancel_clicked", '', 'renew_cancel', "renew_window-$instance" );


    #
    # Return the constructed UI
    bless $self, $class;
    $self->FORM($forms->{'renew_window'});
    $self->TOPLEVEL($self->FORM->{'renew_window'});
    $self->INSTANCE("renew_window-$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 'crashman' class                              
#==============================================================================
package crashman;
require 5.000; use strict 'vars', 'refs', 'subs';
# UI class 'crashman' (version 0.01)
# 
# Copyright (c) Date Fri May 30 15:39:11 CDT 2003
# Author David Dynerman <dynerman\@brian.cs.wisc.edu>
#
# Unspecified copying policy, please contact the author\n#  David Dynerman <dynerman\@brian.cs.wisc.edu>
#
#==============================================================================
# This perl source file was automatically generated by 
# Glade::PerlGenerate version 0.56 - Wed Apr 19 02:28:58 BST 2000
# Copyright (c) Author Dermot Musgrove <dermot.musgrove\@virgin.net>
#
# from Glade file /afs/cs.wisc.edu/u/d/y/dynerman/private/work/crashman/crashman.glade
# Fri May 30 15:39:11 CDT 2003
#==============================================================================

BEGIN {
    # Run-time utilities and vars
    use Glade::PerlRun; 
    # Existing signal handler modules
    use vars qw( 
                 @ISA
                 %fields
                 %stubs
                 $VERSION
                 $AUTOLOAD
             );
    # Tell interpreter who we are inheriting from
    @ISA     = qw( Glade::PerlRun );
    $VERSION = '0.01';
} # End of sub BEGIN

    $Glade::PerlRun::pixmaps_directory ||= '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->FORMS($new_value);      sets the value of FORMS
    #    $current_value = $class->FORMS; gets the current value of FORMS
    TOPLEVEL => undef,
    FORM     => undef,
    PACKAGE  => 'crashman',
    VERSION  => '0.01',
    AUTHOR   => 'David Dynerman <dynerman\@brian.cs.wisc.edu>',
    DATE     => 'Fri May 30 15:39:11 CDT 2003',
    INSTANCE => 'crashman',
    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_crashman_clist_button_press_event' => undef,
    'on_crashman_clist_click_column' => undef,
    'on_crashman_clist_select_row' => undef,
    'on_crashman_clist_unselect_row' => undef,
    'on_crashman_destroy' => 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('crashman');
    # 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//LC_MESSAGES/crashman.mo)
#    $class->load_translations('crashman', 'test', undef, '/afs/cs.wisc.edu/u/d/y/dynerman/private/work/crashman/ppo/crashman.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->{"crashman-$instance"}) {$instance++;}


    #
    # Construct a GtkWindow 'crashman'
    $widgets->{'crashman'} = new Gtk::Window;
    $widgets->{'crashman'}->set_title(_('Crash & Burn Disk Management') );
    $widgets->{'crashman'}->set_name('crashman');
    $widgets->{'crashman'}->position('none' );
    $widgets->{'crashman'}->set_policy(0, 1, 0 );
    $widgets->{'crashman'}->set_modal(0 );
    $widgets->{'crashman'}->set_default_size(500, 450 );
    $widgets->{'crashman'}->realize;
    $forms->{'crashman'}{'tooltips'} = new Gtk::Tooltips;
    $forms->{'crashman'}{'accelgroup'} = new Gtk::AccelGroup;
    $forms->{'crashman'}{'accelgroup'}->attach($widgets->{'crashman'} );
    $forms->{'crashman'}{'crashman'} = $widgets->{'crashman'};
	#
	# Construct a GtkVBox 'vbox1'
	$widgets->{'vbox1'} = new Gtk::VBox(0, 8 );
	$widgets->{'vbox1'}->set_name('vbox1');
	$forms->{'crashman'}{'crashman'}->add($widgets->{'vbox1'} );
	$widgets->{'vbox1'}->show;
	$forms->{'crashman'}{'vbox1'} = $widgets->{'vbox1'};
	$forms->{'crashman'}{'vbox1'}->border_width(8 );
	    #
	    # Construct a GtkScrolledWindow 'scrolledwindow1'
	    $widgets->{'scrolledwindow1'} = new Gtk::ScrolledWindow( undef, undef);
	    $widgets->{'scrolledwindow1'}->set_policy('automatic', 'automatic' );
	    $widgets->{'scrolledwindow1'}->border_width(0 );
	    $widgets->{'scrolledwindow1'}->hscrollbar->set_update_policy('continuous' );
	    $widgets->{'scrolledwindow1'}->vscrollbar->set_update_policy('continuous' );
	    $widgets->{'scrolledwindow1'}->set_name('scrolledwindow1');
	    $forms->{'crashman'}{'vbox1'}->add($widgets->{'scrolledwindow1'} );
	    $widgets->{'scrolledwindow1'}->show;
	    $forms->{'crashman'}{'scrolledwindow1'} = $widgets->{'scrolledwindow1'};
		#
		# Construct a GtkCList 'crashman_clist'
		$widgets->{'crashman_clist'} = new Gtk::CList(3 );
		$widgets->{'crashman_clist'}->set_selection_mode('single' );
		$widgets->{'crashman_clist'}->set_border('in' );
		$widgets->{'crashman_clist'}->set_name('crashman_clist');
		$widgets->{'crashman_clist'}->column_titles_show;
		$widgets->{'crashman_clist'}->set_column_width(0, 150 );
		$widgets->{'crashman_clist'}->set_column_width(1, 165 );
		$widgets->{'crashman_clist'}->set_column_width(2, 80 );
		$forms->{'crashman'}{'scrolledwindow1'}->add($widgets->{'crashman_clist'} );
		$widgets->{'crashman_clist'}->show;
		$forms->{'crashman'}{'crashman_clist'} = $widgets->{'crashman_clist'};
		$forms->{'crashman'}{'crashman_clist'}->can_focus(1 );
		    #
		    # Construct a GtkLabel 'disk_column_label'
		    $widgets->{'disk_column_label'} = new Gtk::Label(_('Disk'));
		    $widgets->{'disk_column_label'}->set_justify('center' );
		    $widgets->{'disk_column_label'}->set_line_wrap(0 );
		    $widgets->{'disk_column_label'}->set_name('disk_column_label');
		    $forms->{'crashman'}{'crashman_clist'}->set_column_widget(0, $widgets->{'disk_column_label'} );
		    $widgets->{'disk_column_label'}->show;
		    $forms->{'crashman'}{'disk_column_label'} = $widgets->{'disk_column_label'};
		    $forms->{'crashman'}{'disk_column_label'}->set_alignment(0.5, 0.5 );
		    #
		    # Construct a GtkLabel 'user_column_label'
		    $widgets->{'user_column_label'} = new Gtk::Label(_('User'));
		    $widgets->{'user_column_label'}->set_justify('center' );
		    $widgets->{'user_column_label'}->set_line_wrap(0 );
		    $widgets->{'user_column_label'}->set_name('user_column_label');
		    $forms->{'crashman'}{'crashman_clist'}->set_column_widget(1, $widgets->{'user_column_label'} );
		    $widgets->{'user_column_label'}->show;
		    $forms->{'crashman'}{'user_column_label'} = $widgets->{'user_column_label'};
		    $forms->{'crashman'}{'user_column_label'}->set_alignment(0.5, 0.5 );
		    #
		    # Construct a GtkLabel 'status_column_label'
		    $widgets->{'status_column_label'} = new Gtk::Label(_('Due Date'));
		    $widgets->{'status_column_label'}->set_justify('center' );
		    $widgets->{'status_column_label'}->set_line_wrap(0 );
		    $widgets->{'status_column_label'}->set_name('status_column_label');
		    $forms->{'crashman'}{'crashman_clist'}->set_column_widget(2, $widgets->{'status_column_label'} );
		    $widgets->{'status_column_label'}->show;
		    $forms->{'crashman'}{'status_column_label'} = $widgets->{'status_column_label'};
		    $forms->{'crashman'}{'status_column_label'}->set_alignment(0.5, 0.5 );
	    $forms->{'crashman'}{'vbox1'}->set_child_packing($forms->{'crashman'}{'scrolledwindow1'}, 1, 1, 0, 'start' );
	    #
	    # Construct a GtkScrolledWindow 'scrolledwindow2'
	    $widgets->{'scrolledwindow2'} = new Gtk::ScrolledWindow( undef, undef);
	    $widgets->{'scrolledwindow2'}->set_policy('never', 'automatic' );
	    $widgets->{'scrolledwindow2'}->border_width(0 );
	    $widgets->{'scrolledwindow2'}->hscrollbar->set_update_policy('continuous' );
	    $widgets->{'scrolledwindow2'}->vscrollbar->set_update_policy('continuous' );
	    $widgets->{'scrolledwindow2'}->set_name('scrolledwindow2');
	    $forms->{'crashman'}{'vbox1'}->add($widgets->{'scrolledwindow2'} );
	    $forms->{'crashman'}{'scrolledwindow2'} = $widgets->{'scrolledwindow2'};
		#
		# Construct a GtkText 'comment_area'
		$widgets->{'comment_area'} = new Gtk::Text( undef, undef );
		$widgets->{'comment_area'}->set_editable(0 );
		$widgets->{'comment_area'}->insert(undef, $widgets->{'comment_area'}->style->text('normal'), undef, _(""));
		$widgets->{'comment_area'}->set_name('comment_area');
		$forms->{'crashman'}{'scrolledwindow2'}->add($widgets->{'comment_area'} );
		$widgets->{'comment_area'}->show;
		$forms->{'crashman'}{'comment_area'} = $widgets->{'comment_area'};
		$forms->{'crashman'}{'comment_area'}->can_focus(1 );
	    $forms->{'crashman'}{'vbox1'}->set_child_packing($forms->{'crashman'}{'scrolledwindow2'}, 0, 0, 0, 'start' );
    #
    # Connect all signals now that widgets are constructed
    $forms->{'crashman'}{'crashman'}->signal_connect( 'destroy', "$class\::on_crashman_destroy", '', 'crashman', "crashman-$instance" );
    $forms->{'crashman'}{'crashman_clist'}->signal_connect( 'button_press_event', "$class\::on_crashman_clist_button_press_event", '', 'crashman_clist', "crashman-$instance" );
    $forms->{'crashman'}{'crashman_clist'}->signal_connect( 'click_column', "$class\::on_crashman_clist_click_column", '', 'crashman_clist', "crashman-$instance" );
    $forms->{'crashman'}{'crashman_clist'}->signal_connect( 'select_row', "$class\::on_crashman_clist_select_row", '', 'crashman_clist', "crashman-$instance" );
    $forms->{'crashman'}{'crashman_clist'}->signal_connect( 'unselect_row', "$class\::on_crashman_clist_unselect_row", '', 'crashman_clist', "crashman-$instance" );


    #
    # Return the constructed UI
    bless $self, $class;
    $self->FORM($forms->{'crashman'});
    $self->TOPLEVEL($self->FORM->{'crashman'});
    $self->INSTANCE("crashman-$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 'input_window' class                              
#==============================================================================
package input_window;
require 5.000; use strict 'vars', 'refs', 'subs';
# UI class 'input_window' (version 0.01)
# 
# Copyright (c) Date Fri May 30 15:39:11 CDT 2003
# Author David Dynerman <dynerman\@brian.cs.wisc.edu>
#
# Unspecified copying policy, please contact the author\n#  David Dynerman <dynerman\@brian.cs.wisc.edu>
#
#==============================================================================
# This perl source file was automatically generated by 
# Glade::PerlGenerate version 0.56 - Wed Apr 19 02:28:58 BST 2000
# Copyright (c) Author Dermot Musgrove <dermot.musgrove\@virgin.net>
#
# from Glade file /afs/cs.wisc.edu/u/d/y/dynerman/private/work/crashman/crashman.glade
# Fri May 30 15:39:11 CDT 2003
#==============================================================================

BEGIN {
    # Run-time utilities and vars
    use Glade::PerlRun; 
    # Existing signal handler modules
    use vars qw( 
                 @ISA
                 %fields
                 %stubs
                 $VERSION
                 $AUTOLOAD
             );
    # Tell interpreter who we are inheriting from
    @ISA     = qw( Glade::PerlRun );
    $VERSION = '0.01';
} # End of sub BEGIN

    $Glade::PerlRun::pixmaps_directory ||= '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->FORMS($new_value);      sets the value of FORMS
    #    $current_value = $class->FORMS; gets the current value of FORMS
    TOPLEVEL => undef,
    FORM     => undef,
    PACKAGE  => 'crashman',
    VERSION  => '0.01',
    AUTHOR   => 'David Dynerman <dynerman\@brian.cs.wisc.edu>',
    DATE     => 'Fri May 30 15:39:11 CDT 2003',
    INSTANCE => 'crashman',
    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_input_cancel_clicked' => undef,
    'on_input_ok_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('crashman');
    # 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//LC_MESSAGES/crashman.mo)
#    $class->load_translations('crashman', 'test', undef, '/afs/cs.wisc.edu/u/d/y/dynerman/private/work/crashman/ppo/crashman.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->{"input_window-$instance"}) {$instance++;}


    #
    # Construct a GtkWindow 'input_window'
    $widgets->{'input_window'} = new Gtk::Window;
    $widgets->{'input_window'}->set_title(_('Input') );
    $widgets->{'input_window'}->set_name('input_window');
    $widgets->{'input_window'}->position('none' );
    $widgets->{'input_window'}->set_policy(1, 1, 0 );
    $widgets->{'input_window'}->set_modal(0 );
    $widgets->{'input_window'}->realize;
    $forms->{'input_window'}{'tooltips'} = new Gtk::Tooltips;
    $forms->{'input_window'}{'accelgroup'} = new Gtk::AccelGroup;
    $forms->{'input_window'}{'accelgroup'}->attach($widgets->{'input_window'} );
    $forms->{'input_window'}{'input_window'} = $widgets->{'input_window'};
	#
	# Construct a GtkVBox 'vbox2'
	$widgets->{'vbox2'} = new Gtk::VBox(0, 8 );
	$widgets->{'vbox2'}->set_name('vbox2');
	$forms->{'input_window'}{'input_window'}->add($widgets->{'vbox2'} );
	$widgets->{'vbox2'}->show;
	$forms->{'input_window'}{'vbox2'} = $widgets->{'vbox2'};
	$forms->{'input_window'}{'vbox2'}->border_width(8 );
	    #
	    # Construct a GtkHBox 'hbox1'
	    $widgets->{'hbox1'} = new Gtk::HBox(0, 4 );
	    $widgets->{'hbox1'}->set_name('hbox1');
	    $forms->{'input_window'}{'vbox2'}->add($widgets->{'hbox1'} );
	    $widgets->{'hbox1'}->show;
	    $forms->{'input_window'}{'hbox1'} = $widgets->{'hbox1'};
		#
		# Construct a GtkLabel 'input_label'
		$widgets->{'input_label'} = new Gtk::Label(_('Username:'));
		$widgets->{'input_label'}->set_justify('center' );
		$widgets->{'input_label'}->set_line_wrap(0 );
		$widgets->{'input_label'}->set_name('input_label');
		$forms->{'input_window'}{'hbox1'}->add($widgets->{'input_label'} );
		$widgets->{'input_label'}->show;
		$forms->{'input_window'}{'input_label'} = $widgets->{'input_label'};
		$forms->{'input_window'}{'input_label'}->set_alignment(0.5, 0.5 );
		$forms->{'input_window'}{'hbox1'}->set_child_packing($forms->{'input_window'}{'input_label'}, 0, 0, 0, 'start' );
		#
		# Construct a GtkEntry 'input_text'
		$widgets->{'input_text'} = new Gtk::Entry;
		$widgets->{'input_text'}->set_name('input_text');
		$forms->{'input_window'}{'hbox1'}->add($widgets->{'input_text'} );
		$widgets->{'input_text'}->show;
		$forms->{'input_window'}{'input_text'} = $widgets->{'input_text'};
		$forms->{'input_window'}{'input_text'}->can_focus(1 );
		$forms->{'input_window'}{'input_text'}->set_text(_('') );
		$forms->{'input_window'}{'input_text'}->set_max_length(0 );
		$forms->{'input_window'}{'input_text'}->set_visibility(1 );
		$forms->{'input_window'}{'input_text'}->set_editable(1 );
		$forms->{'input_window'}{'hbox1'}->set_child_packing($forms->{'input_window'}{'input_text'}, 1, 1, 0, 'start' );
	    $forms->{'input_window'}{'vbox2'}->set_child_packing($forms->{'input_window'}{'hbox1'}, 1, 1, 0, 'start' );
	    #
	    # Construct a GtkHButtonBox 'hbuttonbox1'
	    $widgets->{'hbuttonbox1'} = new Gtk::HButtonBox;
	    $widgets->{'hbuttonbox1'}->set_name('hbuttonbox1');
	    $forms->{'input_window'}{'vbox2'}->add($widgets->{'hbuttonbox1'} );
	    $widgets->{'hbuttonbox1'}->show;
	    $forms->{'input_window'}{'hbuttonbox1'} = $widgets->{'hbuttonbox1'};
	    $forms->{'input_window'}{'hbuttonbox1'}->set_layout('spread' );
	    $forms->{'input_window'}{'hbuttonbox1'}->set_spacing(30 );
	    $forms->{'input_window'}{'hbuttonbox1'}->set_child_size(85, 27 );
	    $forms->{'input_window'}{'hbuttonbox1'}->set_child_ipadding(7, 0 );
		#
		# Construct a GtkButton 'input_ok'
		$widgets->{'input_ok'} = new Gtk::Button(_('OK'));
		$widgets->{'input_ok'}->set_name('input_ok');
		$forms->{'input_window'}{'hbuttonbox1'}->add($widgets->{'input_ok'} );
		$widgets->{'input_ok'}->show;
		$forms->{'input_window'}{'input_ok'} = $widgets->{'input_ok'};
		$forms->{'input_window'}{'input_ok'}->can_default(1 );
		$forms->{'input_window'}{'input_ok'}->can_focus(1 );
		#
		# Construct a GtkButton 'input_cancel'
		$widgets->{'input_cancel'} = new Gtk::Button(_('Cancel'));
		$widgets->{'input_cancel'}->set_name('input_cancel');
		$forms->{'input_window'}{'hbuttonbox1'}->add($widgets->{'input_cancel'} );
		$widgets->{'input_cancel'}->show;
		$forms->{'input_window'}{'input_cancel'} = $widgets->{'input_cancel'};
		$forms->{'input_window'}{'input_cancel'}->can_default(1 );
		$forms->{'input_window'}{'input_cancel'}->can_focus(1 );
	    $forms->{'input_window'}{'vbox2'}->set_child_packing($forms->{'input_window'}{'hbuttonbox1'}, 1, 1, 0, 'start' );
    #
    # Connect all signals now that widgets are constructed
    $forms->{'input_window'}{'input_ok'}->signal_connect( 'clicked', "$class\::on_input_ok_clicked", '', 'input_ok', "input_window-$instance" );
    $forms->{'input_window'}{'input_cancel'}->signal_connect( 'clicked', "$class\::on_input_cancel_clicked", '', 'input_cancel', "input_window-$instance" );


    #
    # Return the constructed UI
    bless $self, $class;
    $self->FORM($forms->{'input_window'});
    $self->TOPLEVEL($self->FORM->{'input_window'});
    $self->INSTANCE("input_window-$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

crashmanUI - version 0.01 Fri May 30 15:39:11 CDT 2003

No description

=head1 SYNOPSIS

 use crashmanUI;

 if ($we_want_to_subclass_this_class) {
   # Inherit the AUTOLOAD dynamic methods from crashman
   *AUTOLOAD = \&crashman::AUTOLOAD;

   # Tell interpreter who we are inheriting from
   use vars qw( @ISA ); @ISA = qw( crashman );
 }
 
 To construct the window object and show it call
 
 Gtk->init;
 my $window = crashman->new;
 $window->TOPLEVEL->show;
 Gtk->main;
 
 OR use the shorthand for the above calls
 
 crashman->run;

=head1 DESCRIPTION

Unfortunately, the author has not yet written any documentation :-(

=head1 AUTHOR

David Dynerman <dynerman\@brian.cs.wisc.edu>

=cut
