.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Curses::UI::Calendar 3" .TH Curses::UI::Calendar 3 2023-07-25 "perl v5.38.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME Curses::UI::Calendar \- Create and manipulate calendar widgets .SH "CLASS HIERARCHY" .IX Header "CLASS HIERARCHY" .Vb 3 \& Curses::UI::Widget \& | \& +\-\-\-\-Curses::UI::Calendar .Ve .SH SYNOPSIS .IX Header "SYNOPSIS" .Vb 3 \& use Curses::UI; \& my $cui = new Curses::UI; \& my $win = $cui\->add(\*(Aqwindow_id\*(Aq, \*(AqWindow\*(Aq); \& \& my $calendar = $win\->add( \& \*(Aqmycalendar\*(Aq, \*(AqCalendar\*(Aq, \& \-date => \*(Aq2002\-1\-14\*(Aq \& ); \& \& $calendar\->focus(); \& my $date = $calendar\->get(); .Ve .SH DESCRIPTION .IX Header "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: .PP .Vb 11 \& +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ \& | 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 | \& +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ .Ve .PP See exampes/demo\-Curses::UI::Calendar in the distribution for a short demo. .SH "STANDARD OPTIONS" .IX Header "STANDARD OPTIONS" \&\fB\-parent\fR, \fB\-x\fR, \fB\-y\fR, \fB\-width\fR, \fB\-height\fR, \&\fB\-pad\fR, \fB\-padleft\fR, \fB\-padright\fR, \fB\-padtop\fR, \fB\-padbottom\fR, \&\fB\-ipad\fR, \fB\-ipadleft\fR, \fB\-ipadright\fR, \fB\-ipadtop\fR, \fB\-ipadbottom\fR, \&\fB\-title\fR, \fB\-titlefullwidth\fR, \fB\-titlereverse\fR, \fB\-onfocus\fR, \&\fB\-onblur\fR .PP For an explanation of these standard options, see Curses::UI::Widget. .PP \&\fBRemark\fR: \fB\-width\fR and \fB\-height\fR can be set, but this widget really want to have its content space at a minimum size. If your \&\fB\-width\fR or \fB\-height\fR is not large enough, the widget will automatically fix its value. .SH "WIDGET-SPECIFIC OPTIONS" .IX Header "WIDGET-SPECIFIC OPTIONS" .IP \(bu 4 \&\fB\-date\fR < DATE > .Sp 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: .Sp * \fBYYYY-M-D\fR (e.g. 2002\-1\-10 or 2002\-01\-10) .Sp * \fBYYYY/M/D\fR (e.g. 2002/1/10 or 2002/01/10)) .Sp * \fBYYYYMMDD\fR (e.g. 20020110) .Sp * \fBD\-M-YYYY\fR (e.g. 10\-1\-2002 or 10/01/2002) .Sp * \fBD/M/YYYY\fR (e.g. 10/1/2002 or 10/01/2002) .IP \(bu 4 \&\fB\-onchange\fR < CODEREF > .Sp 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. .IP \(bu 4 \&\fB\-drawline\fR < CODEREF > .Sp This option specifies whether or not a line should be drawn under the calendar. .SH METHODS .IX Header "METHODS" .IP \(bu 4 \&\fBnew\fR ( OPTIONS ) .IP \(bu 4 \&\fBlayout\fR ( ) .IP \(bu 4 \&\fBdraw\fR ( BOOLEAN ) .IP \(bu 4 \&\fBfocus\fR ( ) .IP \(bu 4 \&\fBonFocus\fR ( CODEREF ) .IP \(bu 4 \&\fBonBlur\fR ( CODEREF ) .IP \(bu 4 \&\fBintellidraw\fR ( ) .Sp These are standard methods. See Curses::UI::Widget for an explanation of these. .IP \(bu 4 \&\fBget\fR ( ) .Sp This method will return the currently selected date in the format 'YYYY\-MM\-DD'. .IP \(bu 4 \&\fBsetdate\fR ( DATE, [BOOLEAN] ) .Sp Set the selected date of the widget to DATE. See \fB\-date\fR above for the possible formats. The widget will redraw itself, unless BOOLEAN has a true value. .IP \(bu 4 \&\fBonChange\fR ( CODEREF ) .Sp This method can be used to set the \fB\-onchange\fR event handler (see above) after initialization of the calendar. .SH "DEFAULT BINDINGS" .IX Header "DEFAULT BINDINGS" .IP \(bu 4 <\fBtab\fR> .Sp Call the 'loose\-focus' routine. This will have the menubar loose its focus and return the value 'LOOSE_FOCUS' to the calling routine. .IP \(bu 4 <\fBenter\fR>, <\fBspace\fR> .Sp Call the 'date\-select' routine. This will select the date on which the cursor is. .IP \(bu 4 <\fBcursor-left\fR>, <\fBh\fR> .Sp Call the 'date\-prevday' routine. This will have the date cursor go back one day. .IP \(bu 4 <\fBcursor-right\fR, <\fBl\fR> .Sp Call the 'date\-nextday' routine. This will have the date cursor go forward one day. .IP \(bu 4 <\fBcursor-down\fR>, <\fBj\fR> .Sp Call the 'date\-nextweek' routine. This will have the date cursor go forward one week. .IP \(bu 4 <\fBcursor-up\fR>, <\fBk\fR> .Sp Call the 'date\-prevweek' routine. This will have the date cursor go back one week. .IP \(bu 4 <\fBpage-up\fR>, <\fBSHIFT+K\fR> .Sp Call the 'date\-prevmonth' routine. This will have the date cursor go back one month. .IP \(bu 4 <\fBpage-down\fR>, <\fBSHIFT+J\fR> .Sp Call the 'date\-nextmonth' routine. This will have the date cursor go forward one month. .IP \(bu 4 <\fBp\fR>, <\fBSHIFT+H\fR> .Sp Call the 'date\-prevyear' routine. This will have the date cursor go back one year. .IP \(bu 4 <\fBn\fR>, <\fBSHIFT+L\fR> .Sp Call the 'date\-nextyear' routine. This will have the date cursor go forward one year. .IP \(bu 4 <\fBhome\fR>, <\fBCTRL+A\fR>, <\fBc\fR> .Sp Call the 'date\-selected' routine. This will have the date cursor go to the current selected date. .IP \(bu 4 <\fBt\fR> .Sp Call the 'date\-today' routine. This will have the date cursor go to today's date. .SH "SEE ALSO" .IX Header "SEE ALSO" Curses::UI, Curses::UI::Widget, Curses::UI::Common .SH AUTHOR .IX Header "AUTHOR" Copyright (c) 2001\-2002 Maurice Makaay. All rights reserved. .PP Maintained by Marcus Thiesen (marcus@cpan.thiesenweb.de) .PP 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.