blob: bc852d5e644db7f3bd61531a7a75b503327a7f05 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Calendar </title>
<link rel="stylesheet" href="../css/wondrous/styles.css" type="text/css" />
</head>
<body>
<div id="container">
<div id="header">
<h1><a href="../index.html">Rivet</a></h1>
<h2 id="slogan">Webscripting for Tcl'ers</h2>
<div class="clear"></div>
</div>
<div id="body">
<div id="content">
<h2><headline>Calendar </headline>
</h2>
<div class="example">
<!-- p class="title"><b>Example 7. The Calendar package</b></p -->
<p>
Rivet comes with a <b>Calendar</b>
package that provides 3 classes for printing
calendar tables in various forms.
</p>
<p>
The <b>Calendar</b>
class prints ascii calendar tables
<pre class="programlisting">package require Calendar
set c [Calendar #auto]
set c_txt [$c emit]
puts $c_txt
Jul 2010
Su Mo Tu We Th Fr Sa
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
</pre>
</p>
<p>
When it comes to writing web pages <b>HtmlCalendar</b>
is much fancier than
Calendar. <b>HtmlCalendar</b>
allows output customization of the cal table
by controlling the markup and its attributes.
</p>
<pre class="programlisting">package require Calendar
proc ::cal_cell_attributes { day month year weekday } {
if {$weekday == 3} {
return [list class curr_wkday]
}
}
set htmlc [HtmlCalendar #auto]
set html_txt [$htmlc emit -container {table class calendar} -current_weekday 3 \
-cell_function cal_cell_attributes ]
puts $html_txt
</pre>
<p>
with some CSS styling would print
</p>
<p>
<img src="../picts/calendar.png"/>
</p>
<p>
Almost the whole HTML of <b>HtmlCalendar</b>
can be customized.
See the <a href="../manual/calendar_package.html">manual page</a>
for package Calendar for further reading
</p>
</div>
<div class="contentbottom">
<div id="last_modified">Last Modified: 06-11-2011 11:47:35 UTC</div>
</div>
</div>
<div class="sidebar">
<ul>
<li id="rivetexamples">
<h4 class="">Examples</h4>
<ul class="blocklist">
<li class="navitem">
<a href="hello_world.html" class="">Hello world!</a>
</li>
<li class="navitem">
<a href="shaded_table.html" class="">A shaded table</a>
</li>
<li class="navitem">
<a href="var_access.html" class="">Variable Access</a>
</li>
<li class="navitem">
<a href="file_upload.html" class="">File Upload</a>
</li>
<li class="navitem">
<a href="file_download.html" class="">File Download</a>
</li>
<li class="navitem">
<a href="ajax.html" class="">XML and Ajax</a>
</li>
<li class="navitem">
<a href="calendar.html" class="">Calendar</a>
</li>
</ul>
</li>
<li id="main">
<h4 class="">Rivet</h4>
<ul class="blocklist">
<li class="navitem">
<a href="../index.html" class="">Rivet Homepage</a>
</li>
<li class="navitem">
<a href="http://tcl.apache.org/" target="asf">Apache Tcl Home</a>
</li>
<li class="navitem">
<a href="download.html" class="">Getting Rivet</a>
</li>
<li class="navitem">
<a href="hello_world.html" class="">Examples</a>
</li>
<li class="navitem">
<a href="about.html" class="">About Us - Contact</a>
</li>
</ul>
</li>
<li id="manual">
<h4 class="">Manuals</h4>
<ul class="blocklist">
<li class="navitem">
<a href="http://tcl.apache.org/rivet/manual2.0/" target="rivetman2.0">Rivet 2.0 Manual</a>
</li>
<li class="navitem">
<a href="http://tcl.apache.org/rivet/manual2.1/" target="rivetman2.1">Rivet 2.1 Manual</a>
</li>
</ul>
</li>
</ul>
</div>
<div class="clear"></div>
</div>
</div>
<div id="footer">
<div class="footer-content">
<p><a href="http://www.apache.org/">Apache Software Foundation</a> | Design by <a href="http://www.spyka.net">Free CSS Templates</a> | <a href="http://www.justfreetemplates.com">Free Web Templates</a></p>
</div>
</div>
<div style="text-align: center; font-size: 0.75em;">Design downloaded from <a href="http://www.freewebtemplates.com/">free website templates</a>.</div></body>
</html>