Spent a few hours too many working on this one over the two days. I basically re-wrote about 20% of the code to make it run more smoothly. I originally thought of it being like an ordinary widget but allowing the various text items to be configured and positioned on screen make it behave more like a cut-down version of a canvas. Probably an overkill, but, there you go! There's just a little more work to do on managing a 'blank screen' and rendering off-screen and then its pretty well finished.
Given this module some attention today. Added some of the more package wide options to the module and created customised handler for setting the month. (For some odd reason months are are counted 0-11 whereas days are 1-31.) There's still a little more to do to this one including the addition of code to store diary details. Here's the working test script to show the range of options at work. The percentage substitution string item %e explores something that I've been toying with, the name of the signal/event that initiated the call. Ok, a script can keep its own internal trace but who knows, it might prove useful. #--------------- # calendarTest.tcl #--------------- # Author: William J Giddings # Date: 07/05/09 #--------------- #!/bin/sh # the next line restarts using tclsh \ exec tclsh "$0" "$@" #--------------- package require Gnocl set cal [gnocl::calendar] $cal configure -day 8 -month 7 -year 1956 $cal configure -rowHeight 1 -colWidth 1 $ca...
Comments