<TITLE>calendar - Create and manipulate a monthly calendar</TITLE>
<H1>calendar - Create and manipulate a monthly calendar</H1>

</pre><H2>SYNOPSIS</H2>
<B>calendar<I> <I>pathName </I>?<I>options</I>?
</pre><H2>INHERITANCE</H2>
itk::Widget &lt;- calendar
</pre><H2>STANDARD OPTIONS</H2>
<P>
<table cellpadding=5>
<td valign=top>
<B>background</B><br>
</td>
<td valign=top>
<B>cursor</B><br>
</td>
<td valign=top>
<B>foreground</B><br>
</td>
<td valign=top>
</td>
</table>
<P>
See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/options.n.html"> "options" </A> manual entry for details on the standard options.
</pre><H2>ASSOCIATED OPTIONS</H2>
<P>
<table cellpadding=5>
<td valign=top>
<B>int</B><br>
</td></table>
<P>
See the "datefield" manual entry for details on this option.  Note that
this option is needed when the calendar is used in conjunction
with the dateentry widget.  It is necessary for support of international
date formats in versions of Tk less than 8.4.
</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
<P>
<pre>
Name:                   <B>backwardImage</B>
Class:                  <B>Image</B>
Command-Line Switch:	<B>-backwardimage</B>
</pre>
<UL>
Specifies a image to be displayed on the backwards calendar 
button.  This image must have been created previously with 
the <B>image create</B> command.  If none is specified, a default 
is provided.
</UL>
<P>
<pre>
Name:                   <B>buttonForeground</B>
Class:                  <B>Foreground</B>
Command-Line Switch:	<B>-buttonforeground</B>
</pre>
<UL>
Specifies the foreground color of the forward and backward buttons
in any of the forms acceptable to <B>Tk_GetColor</B>.  The default
color is blue.
</UL>
<P>
<pre>
Name:                   <B>command</B>
Class:                  <B>Command</B>
Command-Line Switch:	<B>-command</B>
</pre>
<UL>
Specifies a Tcl script to executed upon selection of a date in the
calendar.  If the command script contains any <B>%</B> characters, 
then the script will not be executed directly.  Instead, a new 
script will be generated by replacing each <B>%</B>, and the 
character following it, with information from the calendar.  The 
replacement depends on the character following the <B>%</B>, as 
defined in the list below.
</UL>
<DL>
<DT> <B>%d</B>
</I></B>
<DD> Replaced with the date selected in the format mm/dd/yyyy.
</DL>
<P>
<pre>
Name:                   <B>currentDateFont</B>
Class:                  <B>Font</B>
Command-Line Switch:	<B>-currentdatefont</B>
</pre>
<UL>
Specifies the font used for the current date text in any of the forms
acceptable to <B>Tk_GetFont</B>.
</UL>
<P>
<pre>
Name:                   <B>dateFont</B>
Class:                  <B>Font</B>
Command-Line Switch:	<B>-datefont</B>
</pre>
<UL>
Specifies the font used for the days of the month text in any of the forms
acceptable to <B>Tk_GetFont</B>.
</UL>
<P>
<pre>
Name:                   <B>dayFont</B>
Class:                  <B>Font</B>
Command-Line Switch:	<B>-dayfont</B>
</pre>
<UL>
Specifies the font used for the days of the week text in any of the forms
acceptable to <B>Tk_GetFont</B>.
</UL>
<P>
<pre>
Name:                   <B>days</B>
Class:                  <B>days</B>
Command-Line Switch:	<B>-days</B>
</pre>
<UL>
Specifies a list of values to be used for the days of the week
text to displayed above the days of the month.  The default value 
is {Su Mo Tu We Th Fr Sa}.
</UL>
<P>
<pre>
Name:                   <B>forewardImage</B>
Class:                  <B>Image</B>
Command-Line Switch:	<B>-forewardimage</B>
</pre>
<UL>
Specifies a image to be displayed on the forewards calendar 
button.  This image must have been created previously with 
the <B>image create</B> command.  If none is specified, a default 
is provided.
</UL>
<P>
<pre>
Name:                   <B>height</B>
Class:                  <B>Height</B>
Command-Line Switch:	<B>-height</B>
</pre>
<UL>
Specifies a desired window height that the calendar widget should 
request from its geometry manager.  The value may be specified in any  
of the forms acceptable to <B>Tk_GetPixels</B>.  The default height
is 165 pixels.
</UL>
<P>
<pre>
Name:                   <B>outline</B>
Class:                  <B>Outline</B>
Command-Line Switch:	<B>-outline</B>
</pre>
<UL>
Specifies the outline color used to surround the days of the month text in
any of the forms acceptable to <B>Tk_GetColor</B>.  The default is the
same color as the background.
</UL>
<P>
<pre>
Name:                   <B>selectColor</B>
Class:                  <B>Foreground</B>
Command-Line Switch:	<B>-selectcolor</B>
</pre>
<UL>
Specifies the color of the ring displayed that distinguishes the 
currently selected date in any of the forms acceptable to 
<B>Tk_GetColor</B>.  The default is red.
</UL>
<P>
<pre>
Name:                   <B>selectThickness</B>
Class:                  <B>SelectThickness</B>
Command-Line Switch:	<B>-selectthickness</B>
</pre>
<UL>
Specifies the thickness of the ring displayed that distinguishes 
the currently selected date.  The default is 3 pixels.
</UL>
<P>
<pre>
Name:                   <B>startday</B>
Class:                  <B>Day</B>
Command-Line Switch:	<B>-startday</B>
</pre>
<UL>
Specifies the starting day for the week: <B>sunday</B>, <B>monday</B>, 
<B>tuesday</B>, <B>wednesday</B>, <B>thursday</B>, <B>friday</B>, or
<B>saturday</B>.  The default is sunday.
</UL>
<P>
<pre>
Name:                   <B>titleFont</B>
Class:                  <B>Font</B>
Command-Line Switch:	<B>-titlefont</B>
</pre>
<UL>
Specifies the font used for the title text which consists of the
month and year.  The font may be given in any of the forms
acceptable to <B>Tk_GetFont</B>.
</UL>
<P>
<pre>
Name:                   <B>weekdayBackground</B>
Class:                  <B>Background</B>
Command-Line Switch:	<B>-weekdaybackground</B>
</pre>
<UL>
Specifies the background color for the weekdays which allows it to
be visually distinguished from the weekend.  The color may be given
in any of the forms acceptable to <B>Tk_GetColor</B>.  The default is
the same as the background.
</UL>
<P>
<pre>
Name:                   <B>weekendBackground</B>
Class:                  <B>Background</B>
Command-Line Switch:	<B>-weekendbackground</B>
</pre>
<UL>
Specifies the background color for the weekends which allows it to
be visually distinguished from the weekdays.  The color may be given
in any of the forms acceptable to <B>Tk_GetColor</B>.  The default is
the same as the background.
</UL>
<P>
<pre>
Name:                   <B>width</B>
Class:                  <B>Width</B>
Command-Line Switch:	<B>-width</B>
</pre>
<UL>
Specifies a desired window width that the calendar widget should 
request from its geometry manager.  The value may be specified in any  
of the forms acceptable to <B>Tk_GetPixels</B>.  The default width
is 200 pixels.
</UL>
<P>
</pre><HR>

</pre><H2>DESCRIPTION</H2>
<P>
The <B>calendar</B> command creates a calendar widget for the selection 
of a date, displaying a single month at a time.  Buttons exist on the 
top to change the month in effect turning the pages of a calendar.  As 
a page is turned, the dates for the month are modified.  Selection of 
a date visually marks that date.  The selected value can be monitored 
via the -command option or just retrieved using the get command.  

</pre><H2>METHODS</H2>
<P>
The <B>calendar</B> command creates a new Tcl command whose
name is <I>pathName</I>.  This
command may be used to invoke various
operations on the widget.  It has the following general form:
<pre>
<I>pathName option </I>?<I>arg arg ...</I>?
</pre>
<I>Option</I> and the <I>arg</I>s
determine the exact behavior of the command.  The following
commands are possible for calendar widgets:

</pre><H2>WIDGET-SPECIFIC METHODS</H2>
<DL>
<DT> <I>pathName <B>cget</B> <I>option</I>
</I></B>
<DD> Returns the current value of the configuration option given
by <I>option</I>.
<I>Option</I> may have any of the values accepted by the <B>calendar</B>
command.
</DL>
<DL>
<DT> <I>pathName</I> <B>configure</B> ?<I>option</I>? ?<I>value option value ...</I>?
</I></B>
<DD> Query or modify the configuration options of the widget.
If no <I>option</I> is specified, returns a list describing all of
the available options for <I>pathName</I> (see <B>Tk_ConfigureInfo</B> for
information on the format of this list).  If <I>option</I> is specified
with no <I>value</I>, then the command returns a list describing the
one named option (this list will be identical to the corresponding
sublist of the value returned if no <I>option</I> is specified).  If
one or more <I>option-value</I> pairs are specified, then the command
modifies the given widget option(s) to have the given value(s);  in
this case the command returns an empty string.
<I>Option</I> may have any of the values accepted by the <B>calendar</B>
command.
</DL>
<DL>
<DT> <I>pathName <B>get</B> ?<B>format</B>?
</I></B>
<DD> Returns the currently selected date in a format of 
string or as an integer clock value using the <B>-string</B> and <B>-clicks</B>
format options respectively.  The default is by string.  Reference the 
clock command for more information on obtaining dates and their 
formats.
</DL>
<DL>
<DT> <I>pathName <B>select</B> <I>date</I>
</I></B>
<DD> Changes the currently selected date to the value specified which 
must be in the form of a date string, an integer clock value or as
the keyword "now".  Reference the clock 
command for more information on obtaining dates and their formats.
Note that selecting a date does not change the 
month being shown to that of the date given.  This chore is left
to the <B>show\R command.
</DL>
<DL>
<DT> <I>pathName <B>show</B> <I>date</I>
</I></B>
<DD> Changes the currently displayed date to be that of the date 
argument which must be in the form of a date string, an 
integer clock value or as
the keyword "now".  Reference the clock 
command for more information on obtaining dates and their formats.

</DL>
</pre><H2>COMPONENTS</H2>
<P>
<pre>
Name:                   <B>forward</B>
Class:                  <B>Button</B>
</pre>
<UL>
The forward component provides the button on the upper right of the
calendar that changes the month to be the next.  See the "button" 
widget manual entry for details on the forward component item.
</UL>
<P>
<pre>
Name:                   <B>page</B>
Class:                  <B>Canvas</B>
</pre>
<UL>
The page component provides the canvas on which the title, days of the
week, and days of the month appear.  See the "canvas" widget manual 
entry for details on the page component item.
</UL>
<P>
<pre>
Name:                   <B>backward</B>
Class:                  <B>Button</B>
</pre>
<UL>
The backward component provides the button on the upper right of the
calendar that changes the month to be the next.  See the "button" 
widget manual entry for details on the backward component item.

</UL>
</pre><H2>EXAMPLE</H2>
<pre>
 proc selectCmd {date} {
   puts $date
 }

 calendar .c -command {selectCmd %d} -weekendbackground mistyrose \\
	-weekdaybackground ghostwhite -outline black \\
        -startday wednesday -days {We Th Fr Sa Su Mo Tu}
 pack .c 
</pre>
</pre><H2>AUTHORS</H2>
Mark L. Ulferts
<P>
Michael J. McLennan
</pre><H2>KEYWORDS</H2>
calendar, widget
