Curses::UI::Calendar − Create and manipulate calendar widgets
Curses::UI::Widget
|
+−−−−Curses::UI::Calendar
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();
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.
−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.
• |
−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.
• |
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.
• |
<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.
Curses::UI, Curses::UI::Widget, Curses::UI::Common
Copyright (c) 2001−2002 Maurice Makaay. All rights reserved.
Maintained by Marcus Thiesen ([email protected])
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.