All pastes #255649 Raw Edit

huhlig

public text v1 · immutable
#255649 ·published 2006-11-23 05:56 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);
# GUI Includes
use Tk;
use Tk::NoteBook;
# DB Includes
use DBI qw(:sql_types);
use vars qw( @stores $filename $noopen $db $techemail );

my $DataBlock;

sub CreateMainGUI {
    # Create MainWindow & Notebook
    my $ParentWindow = MainWindow->new();
    my $ParentNotebook = $ParentWindow->NoteBook()->pack( -fill=>'both', -expand=>1 );
    # Store the GUI in our Datablock
    $DataBlock->{'GUI'}->{'ParentWindow'} = $ParentWindow;
    $DataBlock->{'GUI'}->{'ParentNotebook'} = $ParentNotebook;
    # Set the window Size
    $ParentWindow->geometry( "800x600+112+84" );
    $ParentWindow->minsize(  qw(640 480) );
    $ParentWindow->maxsize(  qw(1024 768) );
    $ParentWindow->configure(-title=>"TechCentral - Ruscomp Edition");
    
    $DataBlock->{'GUI'}->{'NotebookTabs'}->{'Tab_Home'} = 
        $ParentNotebook->add( "Tab_Home", -label=>"Home", -createcmd=>\&CreateGUI_HomeTab );
    #my $tab2 = $ParentNotebook->add( "Tab-Settings", -label=>"Settings", -raisecmd=>\&getCurrentTime);
    #my $tab3 = $ParentNotebook->add( "Tab-OpenOrderReport", -label=>"Open Order Report", -state=>'disabled' );
    #my $tab4 = $ParentNotebook->add( "Tab-OrderSearchEntry", -label=>"Order Search", -state=>'disabled' );
    #my $tab4 = $ParentNotebook->add( "Tab-OrderSearchResults", -label=>"Order Search Results", -state=>'disabled' );

    $DataBlock->{'GUI'}->{'NotebookTabs'}->{'Tab_Home'}->Label( -textvariable=>\$starttime )->pack( -expand=>1 );
    #$tab2->Label( -textvariable=>\$raisetime )->pack( -expand=>1 );
    #$tab3->Button( -text=>'Quit', -command=>sub{ exit; } )->pack( -expand=>1 );

}

CreateMainGUI();
MainLoop;

sub CreateGUI_HomeTab {
    my $HomeTabGrid = $DataBlock->{'GUI'}->{'NotebookTabs'}->{'Tab_Home'}->Frame()->pack ( -side => 'top' ) ;
    #
    # Page Generation
    ##############################
    ## Create New Ticket Button
    $DataBlock->{'GUI'}->{'NotebookTabs'}->{'Tab_Home'}->Button( 
        -text=>'Create New Ticket', 
        -command=>sub{ 
            $DataBlock->{'GUI'}->{'NotebookTabs'}->{'Tab_Home'} = 
                $DataBlock->{'GUI'}->{'ParentNotebook'}->add( 
                    "Tab-NewOrder", 
                    -label=>"New Order", 
                    -raisecmd=>\&getCurrentTime #ToDo: Fix this entry
                    
                );
        },
        -state=>'disabled',
    )->grid(-column => 2, -row => 2);
    
    ##############################
    ## Create Order Search Button
    $DataBlock->{'GUI'}->{'NotebookTabs'}->{'Tab_Home'}->Button( 
        -text=>'Order Search', 
        -command=>sub{ 
            $DataBlock->{'GUI'}->{'NotebookTabs'}->{'Tab_Home'} = 
                $DataBlock->{'GUI'}->{'ParentNotebook'}->add( 
                    "Tab-OrderSearch", 
                    -label=>"Order Search", 
                    -raisecmd=>\&getCurrentTime #ToDo: Fix this entry
                );
        }, 
        -state=>'disabled'
    )->grid(-column => 2, -row => 4);
    
    ##############################
    ## Create Open Order Report Button
    $DataBlock->{'GUI'}->{'NotebookTabs'}->{'Tab_Home'}->Button( 
        -text=>'Open Order Report', 
        -command=>sub{ 
            $DataBlock->{'GUI'}->{'NotebookTabs'}->{'Tab_Home'} = 
                $DataBlock->{'GUI'}->{'ParentNotebook'}->add( 
                    "Tab-OOReport", 
                    -label=>"New Order", 
                    -raisecmd=>\&getCurrentTime #ToDo: Fix this entry
                );
        },
        -state=>'disabled'
    )->grid(-column => 2, -row => 6);
    
    ##############################
    ## Create Statistics Button
    $DataBlock->{'GUI'}->{'NotebookTabs'}->{'Tab_Home'}->Button( 
        -text=>'Statistics', 
        -command=>sub{ 
            $DataBlock->{'GUI'}->{'NotebookTabs'}->{'Tab_Home'} = 
                $DataBlock->{'GUI'}->{'ParentNotebook'}->add( 
                    "Tab-Statistics", 
                    -label=>"Statistics", 
                    -raisecmd=>\&getCurrentTime #ToDo: Fix this entry
                );
        },
        -state=>'disabled'
    )->grid(-column => 2, -row => 8);
    
    ##############################
    ## Create Settings Button
    $DataBlock->{'GUI'}->{'NotebookTabs'}->{'Tab_Home'}->Button( 
        -text=>'Settings', 
        -command=>sub{ 
            $DataBlock->{'GUI'}->{'NotebookTabs'}->{'Tab_Settings'} = 
                $DataBlock->{'GUI'}->{'ParentNotebook'}->add( 
                    "Tab-Settings", 
                    -label=>"Settings", 
                    -raisecmd=>\&CreateGUI_SettingsTab
                );
        }
    )->grid(-column => 2, -row => 10);
    
    ##############################
    ## Quit Program
    $DataBlock->{'GUI'}->{'NotebookTabs'}->{'Tab_Home'}->Button( -text=>'Quit', -command=>sub{ exit; } )->grid(-column => 2, -row => 12);
    
}

sub CreateGUI_SettingsTab {
    ##############################
    ## Save Settings
    $DataBlock->{'GUI'}->{'NotebookTabs'}->{'Tab_Settings'}->Button(
        -text=>'Save Settings', 
        -command=>sub{ 
            # Save settings here.
            $DataBlock->{'GUI'}->{'ParentNotebook'}->delete('Tab-Settings');
        },
    )->pack( -expand=>1 );
    
}

sub getStartTime {
  $starttime = "Started at " . localtime;
}

sub getCurrentTime {
  $raisetime = " Last raised at " . localtime;
  $DataBlock->{'GUI'}->{'ParentNotebook'}->pageconfigure( "Sheet 3", -state=>'normal' );
}