All pastes #256194 Raw Edit

huhlig

public text v1 · immutable
#256194 ·published 2006-11-23 21:11 UTC
rendered paste body
#!/usr/bin/perl

# Basic Includes
use 5.6.1;
#use strict;
use warnings;
use Getopt::Long;
use Date::Calc qw(:all);
# DB Includes
use DBI qw(:sql_types);
use vars qw( @stores $filename $noopen $db $techemail );
# GUI Includes
use Gtk2;
use Glib qw/TRUE FALSE/;

my $DataBlock;

sub CreateAppWindow {
    # Initialize Gtk2
    Gtk2->init;
    # Create Application Window
    my $ApplicationWindow = Gtk2::Window->new('toplevel');
    # Store Application window in Datablock
    $DataBlock->{'GUI'}->{'AppWindow'}=$ApplicationWindow;
    # When the window is given the "delete_event" signal (this is given
    # by the window manager, usually by the "close" option, or on the
    # titlebar), we ask it to call the delete_event () functio
    # as defined above. No data is passed to the callback function.
    $ApplicationWindow->signal_connect(delete_event => \&delete_event);
    # Here we connect the "destroy" event to a signal handler.
    # This event occurs when we call Gtk2::Widget::destroy on the window,
    # or if we return FALSE in the "delete_event" callback. Perl supports
    # anonymous subs, so we can use one of them for one line callbacks.
    $ApplicationWindow->signal_connect(destroy => sub { Gtk2->main_quit; });
    
    # Show Application Window
    $ApplicationWindow->show;
    
}

sub delete_event
{
	# If you return FALSE in the "delete_event" signal handler,
	# GTK will emit the "destroy" signal. Returning TRUE means
	# you don't want the window to be destroyed.
	# This is useful for popping up 'are you sure you want to quit?'
	# type dialogs.
	print "delete event occurred\n";

	# Change TRUE to FALSE and the main window will be destroyed with
	# a "delete_event".
	return FALSE;
}




{ # Main
    CreateAppWindow();
    Gtk2->main;
}
0;