Curses::UI::Calendar3pm
Create and manipulate calendar widgets
Usage
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();
Class hierarchy
Curses::UI::Widget|+----Curses::UI::Calendar
Overview
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.
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.
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
-dateabove 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
-onchangeevent 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.
Releases
12 releases since Debian 3.1 (Sarge); the text changed 6 times.