.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.40) .\" .\" 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 .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . 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 3pm" .TH Curses::UI::Calendar 3pm "2021-01-01" "perl v5.32.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 < \s-1DATE\s0 > .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 * \fB\s-1YYYY/M/D\s0\fR (e.g. 2002/1/10 or 2002/01/10)) .Sp * \fB\s-1YYYYMMDD\s0\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 < \s-1CODEREF\s0 > .Sp This sets the onChange event handler for the calendar widget. If a new date is selected, the code in \s-1CODEREF\s0 will be executed. It will get the widget reference as its argument. .IP "\(bu" 4 \&\fB\-drawline\fR < \s-1CODEREF\s0 > .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 ( \s-1OPTIONS\s0 ) .IP "\(bu" 4 \&\fBlayout\fR ( ) .IP "\(bu" 4 \&\fBdraw\fR ( \s-1BOOLEAN\s0 ) .IP "\(bu" 4 \&\fBfocus\fR ( ) .IP "\(bu" 4 \&\fBonFocus\fR ( \s-1CODEREF\s0 ) .IP "\(bu" 4 \&\fBonBlur\fR ( \s-1CODEREF\s0 ) .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 '\s-1YYYY\-MM\-DD\s0'. .IP "\(bu" 4 \&\fBsetdate\fR ( \s-1DATE,\s0 [\s-1BOOLEAN\s0] ) .Sp Set the selected date of the widget to \s-1DATE.\s0 See \fB\-date\fR above for the possible formats. The widget will redraw itself, unless \s-1BOOLEAN\s0 has a true value. .IP "\(bu" 4 \&\fBonChange\fR ( \s-1CODEREF\s0 ) .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 '\s-1LOOSE_FOCUS\s0' 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>, <\fB\s-1SHIFT+K\s0\fR> .Sp Call the 'date\-prevmonth' routine. This will have the date cursor go back one month. .IP "\(bu" 4 <\fBpage-down\fR>, <\fB\s-1SHIFT+J\s0\fR> .Sp Call the 'date\-nextmonth' routine. This will have the date cursor go forward one month. .IP "\(bu" 4 <\fBp\fR>, <\fB\s-1SHIFT+H\s0\fR> .Sp Call the 'date\-prevyear' routine. This will have the date cursor go back one year. .IP "\(bu" 4 <\fBn\fR>, <\fB\s-1SHIFT+L\s0\fR> .Sp Call the 'date\-nextyear' routine. This will have the date cursor go forward one year. .IP "\(bu" 4 <\fBhome\fR>, <\fB\s-1CTRL+A\s0\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 \*(L"as is\*(R" without express or implied warranty. It may be used, redistributed and/or modified under the same terms as perl itself.