Provided by: libcurses-ui-perl_0.9609-1_all bug

NAME

       Curses::UI::Calendar - Create and manipulate calendar widgets

CLASS HIERARCHY

        Curses::UI::Widget
           |
           +----Curses::UI::Calendar

SYNOPSIS

           use Curses::UI;
           my $cui = new Curses::UI;
           my $win = $cui->add('window_id', 'Window');

           my $calendar = $win->add(
               'mycalendar', 'Calendar',
           -date    => '2002-1-14'
           );

           $calendar->focus();
           my $date = $calendar->get();

DESCRIPTION

       Curses::UI::Calendar is a widget that can be used to create a calendar in which the user
       can select a date. The calendar widget looks like this:

         +----------------------+
         | mmm dd          yyyy |
         +----------------------+
         | su mo tu we th fr sa |
         |                      |
         |       01 02 03 04 05 |
         | 06 07 08 09 10 11 12 |
         | 13 14 15 16 17 18 19 |
         | 20 21 22 23 24 25 26 |
         | 27 28 29 30 31       |
         +----------------------+

       See exampes/demo-Curses::UI::Calendar in the distribution for a short demo.

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.

       Remark: -width and -height can be set, but this widget really want to have its content
       space at a minimum size. If your -width or -height is not large enough, the widget will
       automatically fix its value.

WIDGET-SPECIFIC OPTIONS

-date < DATE >

           This option sets the date to start with.  If you do not specify a date, today's date
           will be used automatically. The format that you can use for this date is one of:

           * YYYY-M-D (e.g. 2002-1-10 or 2002-01-10)

           * YYYY/M/D (e.g. 2002/1/10 or 2002/01/10))

           * YYYYMMDD (e.g. 20020110)

           * D-M-YYYY (e.g. 10-1-2002 or 10/01/2002)

           * D/M/YYYY (e.g. 10/1/2002 or 10/01/2002)

       •   -onchange < CODEREF >

           This sets the onChange event handler for the calendar widget.  If a new date is
           selected, the code in CODEREF will be executed.  It will get the widget reference as
           its argument.

       •   -drawline < CODEREF >

           This option specifies whether or not a line should be drawn under the calendar.

METHODS

new ( OPTIONS )

       •   layout ( )

       •   draw ( BOOLEAN )

       •   focus ( )

       •   onFocus ( CODEREF )

       •   onBlur ( CODEREF )

       •   intellidraw ( )

           These are standard methods. See Curses::UI::Widget for an explanation of these.

       •   get ( )

           This method will return the currently selected date in the format 'YYYY-MM-DD'.

       •   setdate ( DATE, [BOOLEAN] )

           Set the selected date of the widget to DATE. See -date above for the possible formats.
           The widget will redraw itself, unless BOOLEAN has a true value.

       •   onChange ( CODEREF )

           This method can be used to set the -onchange event handler (see above) after
           initialization of the calendar.

DEFAULT BINDINGS

       •   <tab>

           Call the 'loose-focus' routine. This will have the menubar loose its focus and return
           the value 'LOOSE_FOCUS' to the calling routine.

       •   <enter>, <space>

           Call the 'date-select' routine. This will select the date on which the cursor is.

       •   <cursor-left>, <h>

           Call the 'date-prevday' routine. This will have the date cursor go back one day.

       •   <cursor-right, <l>

           Call the 'date-nextday' routine. This will have the date cursor go forward one day.

       •   <cursor-down>, <j>

           Call the 'date-nextweek' routine. This will have the date cursor go forward one week.

       •   <cursor-up>, <k>

           Call the 'date-prevweek' routine. This will have the date cursor go back one week.

       •   <page-up>, <SHIFT+K>

           Call the 'date-prevmonth' routine. This will have the date cursor go back one month.

       •   <page-down>, <SHIFT+J>

           Call the 'date-nextmonth' routine. This will have the date cursor go forward one
           month.

       •   <p>, <SHIFT+H>

           Call the 'date-prevyear' routine. This will have the date cursor go back one year.

       •   <n>, <SHIFT+L>

           Call the 'date-nextyear' routine. This will have the date cursor go forward one year.

       •   <home>, <CTRL+A>, <c>

           Call the 'date-selected' routine. This will have the date cursor go to the current
           selected date.

       •   <t>

           Call the 'date-today' routine. This will have the date cursor go to today's date.

SEE ALSO

       Curses::UI, Curses::UI::Widget, Curses::UI::Common

AUTHOR

       Copyright (c) 2001-2002 Maurice Makaay. All rights reserved.

       Maintained by Marcus Thiesen (marcus@cpan.thiesenweb.de)

       This package is free software and is provided "as is" without express or implied warranty.
       It may be used, redistributed and/or modified under the same terms as perl itself.