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.06