The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Tk::TimePick - Perl extension for a graphical user interface to pick timestrings syntax mistake-secure

SYNOPSIS

 use Tk;
 use Tk::TimePick;
 my $mw = MainWindow->new();
 my $tp = $mw->TimePick()->pack();
 my $b = $mw->Button(
        -text           => "Time",
        -command        => sub 
                {
                my $time_as_string = $tp->GetTimeString();
                # my $time_as_string = $tp->GetTime();
                #***
                # Here we do something with the time as string
                #***
                }
        )->pack();
 MainLoop();

DESCRIPTION

 The module protect the application for syntax-mistakes,
 made by users, while insert time specifications.

CONSTRUCTOR AND INITIALIZATION

 use Tk;
 use Tk::TimePick;
 my $mw = MainWindow->new();
 my $tp = $mw->TimePick(
        -order          => "smh",       # default = "hms"
        -separator      => "<>",                # default = ':'
        -maxhours       => 12,          # default = 23
        -seconds                => 30,          # default = (localtime())[0]
        -minutes                => 30,          # default = (localtime())[1]
        -hours          => 12,          # default = (localtime())[2]
        -regextimeformat        => qr/regex for time-string/ # default =  qr/(\d{1,2})(.+?)(\d{1,2})(.+?)(\d{1,2})/o
        )->pack();
 $tp->Subwidget("EntryTime")->configure(
        -font           => "{Times New Roman} 18 {bold}"
        );
 for(qw/
        ButtonSecondsReduce
        ButtonSecondsIncrease
        ButtonMinutesReduce
        ButtonMinutesIncrease
        ButtonHoursReduce
        ButtonHoursIncrease
        /)
        {
        $tp->Subwidget($_)->configure(
                -font           => "{Times New Roman} 14 {bold}",
                );
        }
 for(qw/
        FrameSeconds
        FrameMinutes
        FrameHours
        /)
        {
        $tp->Subwidget($_)->configure(
                -background     => "#00FF00"
                );
        }
 MainLoop();

WIDGET SPECIFIC OPTINOS

-order

The order of hours, minutes and seconds. h = hours, m = minutes, s = seconds "hms" = hours:minutes:seconds (default = "hms")

-separator
 char or string between the numbers (default = ':')
-maxhours
 times in 23 or 12 hours (default = 23)
-seconds
 at the beginning indicated seconds
-minutes
 at the beginning indicated minutes
-hours
 at the beginning indicated hours
-regextimeformat
 a regular expression that fits onto the time format
 (default = qr/(\d{1,2})(.+?)(\d{1,2})(.+?)(\d{1,2})/o)

METHODS

all options can be set or get by the following methods

$object->SetOrder("hms")
$object->GetOrder();
$object->SetSeparator(':')
$object->GetSeparator();
$object->SetSeconds(20)
$object->GetSeconds()
$object->SetMinutes(45)
$object->GetMinutes()
$object->SetHours(7)
$object->GetHours()
$object->SetMaxHours(12)
$object->GetMaxHours()
$object->SetRegexTimeFormat(qr/(\d{1,2})(.+?)(\d{1,2})(.+?)(\d{1,2})/o)
$object->GetRegexTimeFormat()

with the following functions the time-string can be set or get

$object->SetTimeString("23:21:55")
$object->GetTimeString()
$object->SetTime(12, 44, 51)
$object->GetTime()

INSERTED WIDGETS

EntryTime
 shows the time
 no direct user inputs are possible
FrameSeconds
 contains the two buttons "ButtonSecondsReduce" and "ButtonSecondsIncrease"
ButtonSecondsReduce
 reduce the seconds
ButtonSecondsIncrease
 increase the seconds
FrameMinutes
 contains the two buttons "ButtonMinutesReduce" and "ButtonMinutesIncrease"
ButtonMinutesReduce
 reduce the minutes
ButtonMinutesIncrease
 increase the minutes
FrameHours
 contains the two buttons "ButtonHoursReduce" and "ButtonHoursIncrease"
        
ButtonHoursReduce
 reduce the hours
ButtonHoursIncrease
 increase the hours

EXPORT

 None by default.

SEE ALSO

 Tk::DatePick
 http://www.planet-interkom.de/t.knorr/index.html
 torstenknorr@tiscali.de

KEYWORDS

time, user interface,

BUGS

 Maybe you'll find some. Please let me know.

AUTHOR

Torsten Knorr, <torstenknorr@tiscali.de>

COPYRIGHT AND LICENSE

Copyright (C) 2006 by Torsten Knorr

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.9.2 or, at your option, any later version of Perl 5 you may have available.

8 POD Errors

The following errors were encountered while parsing the POD:

Around line 568:

'=item' outside of any '=over'

Around line 598:

You forgot a '=back' before '=head1'

Around line 602:

'=item' outside of any '=over'

Around line 630:

You forgot a '=back' before '=head2'

Around line 632:

'=item' outside of any '=over'

Around line 640:

You forgot a '=back' before '=head1'

Around line 642:

'=item' outside of any '=over'

Around line 683:

You forgot a '=back' before '=head2'