michal-josef-spacek / Curses-UI-Time

Create and manipulate time widgets.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NAME
    Curses::UI::Time - Create and manipulate time widgets.

CLASS HIERARCHY
     Curses::UI::Widget
     Curses::UI::ContainerWidget
        |
        +----Curses::UI::ContainerWidget
           --Curses::UI::Label
           --Curses::UI::Number
                |
                +----Curses::UI::Time

SYNOPSIS
     use Curses::UI;

     my $win = $cui->add('window_id', 'Window');
     my $time = $win->add(
             'mynum', 'Curses::UI::Time',
             -time => 1400609240,
     );
     $time->draw;

DESCRIPTION
    Curses::UI::Time is a widget that shows a time in graphic form.

STANDARD OPTIONS
    "-parent", "-x", "-y", "-width", "-height", "-pad", "-padleft",
    "-padright", "-padtop", "-padbottom", "-ipad", "-ipadleft",
    "-ipadright", "-ipadtop", "-ipadbottom", "-title", "-titlefullwidth",
    "-titlereverse", "-onfocus", "-onblur".

    For an explanation of these standard options, see Curses::UI::Widget.

WIDGET-SPECIFIC OPTIONS
    *       "-colon" < NUMBER >

             View colon flag.
             Default value is '1'.

    *       "-date" < DATE_FLAG >

             View date flag.
             Default value is 0.

    *       "-fg" < CHARACTER >

             Foreground color.
             Possible values are defined in Curses::UI::Color.
             Default value is '-1'.

    *       "-time" < TIME >

             Time.
             Default value is actual time.

    *       "-second" < SECOND_FLAG >

             View second flag.
             Default value is 0.

STANDARD METHODS
    "layout", "draw", "intellidraw", "focus", "onFocus", "onBlur".

    For an explanation of these standard methods, see Curses::UI::Widget.

WIDGET-SPECIFIC METHODS
    *       "new(%parameters)"

             Constructor.
             Create widget with volume in graphic form, defined by -volume number.
             Returns object.

    *       "colon()"

             Get or set colon flag.
             Returns colon flag.

    *       "time()"

             Get or set time (and date with -date => 1).
             Returns time in seconds.

EXAMPLE1
     use strict;
     use warnings;

     use Curses::UI;

     # Object.
     my $cui = Curses::UI->new;
 
     # Main window.
     my $win = $cui->add('window_id', 'Window');
 
     # Add volume.
     $win->add(
             undef, 'Curses::UI::Time',
             '-time' => 1400609240,
     );
 
     # Binding for quit.
     $win->set_binding(\&exit, "\cQ", "\cC");
 
     # Loop.
     $cui->mainloop;

     # Output like:
     # ██████ ██████      ██████ ██████
     #     ██ ██  ██  ██  ██  ██     ██
     # ██████ ██  ██      ██  ██     ██
     # ██     ██  ██  ██  ██  ██     ██
     # ██████ ██████      ██████     ██

EXAMPLE2
     use strict;
     use warnings;

     use Curses::UI;

     # Object.
     my $cui = Curses::UI->new(
             -color_support => 1,
     );
 
     # Main window.
     my $win = $cui->add('window_id', 'Window');

     # Add time.
     my $time = $win->add(
             undef, 'Curses::UI::Time',
             '-border' => 1,
             '-second' => 1,
             '-time' => time,
     );
 
     # Binding for quit.
     $win->set_binding(\&exit, "\cQ", "\cC");

     # Timer.
     $cui->set_timer(
             'timer',
             sub {
                     $time->time(time);
                     $cui->draw(1);
                     return;
             },
             1,
     );
 
     # Loop.
     $cui->mainloop;

     # Output like:
     # ┌────────────────────────────────────────────────────┐
     # │    ██     ██      ██████ ██████          ██ ██████ │
     # │    ██     ██  ██  ██  ██ ██  ██  ██      ██ ██  ██ │
     # │    ██     ██      ██  ██ ██  ██          ██ ██████ │
     # │    ██     ██  ██  ██  ██ ██  ██  ██      ██     ██ │
     # │    ██     ██      ██████ ██████          ██ ██████ │
     # └────────────────────────────────────────────────────┘

EXAMPLE3
     use strict;
     use warnings;

     use Curses::UI;

     # Object.
     my $cui = Curses::UI->new(
             -color_support => 1,
     );
 
     # Main window.
     my $win = $cui->add('window_id', 'Window');

     # Add time.
     my $time = $win->add(
             undef, 'Curses::UI::Time',
             '-border' => 1,
             '-date' => 1,
             '-second' => 1,
             '-time' => time,
     );
 
     # Binding for quit.
     $win->set_binding(\&exit, "\cQ", "\cC");

     # Timer.
     $cui->set_timer(
             'timer',
             sub {
                     $time->time(time);
                     $cui->draw(1);
                     return;
             },
             1,
     );
 
     # Loop.
     $cui->mainloop;

     # Output like:
     # ┌────────────────────────────────────────────────────┐
     # │    ██     ██      ██████ ██████      ██  ██ ██████ │
     # │    ██     ██  ██  ██  ██ ██  ██  ██  ██  ██ ██  ██ │
     # │    ██     ██      ██  ██ ██  ██      ██████ ██  ██ │
     # │    ██     ██  ██  ██  ██ ██  ██  ██      ██ ██  ██ │
     # │    ██     ██      ██████ ██████          ██ ██████ │
     # │                                                    │
     # │                      2014-05-24                    │
     # └────────────────────────────────────────────────────┘

DEPENDENCIES
    Curses, Curses::UI::Common, Curses::UI::Label, Curses::UI::Number,
    Curses::UI::Widget, Readonly, Unicode::UTF8.

SEE ALSO
    Task::Curses::UI
        Install the Curses::UI modules.

REPOSITORY
    <https://github.com/michal-josef-spacek/Curses-UI-Time>

AUTHOR
    Michal Josef Špaček <mailto:skim@cpan.org>

    <http://skim.cz>

LICENSE AND COPYRIGHT
    © 2014-2020 Michal Josef Špaček

    BSD 2-Clause License

DEDICATION
    To Czech Perl Workshop 2014 and their organizers.

    tty-clock program.

VERSION
    0.07

About

Create and manipulate time widgets.

License:BSD 2-Clause "Simplified" License


Languages

Language:Perl 100.0%