summaryrefslogtreecommitdiff
path: root/itcl/iwidgets/demos
diff options
context:
space:
mode:
Diffstat (limited to 'itcl/iwidgets/demos')
-rw-r--r--itcl/iwidgets/demos/buttonbox13
-rw-r--r--itcl/iwidgets/demos/calendar26
-rw-r--r--itcl/iwidgets/demos/canvasprintbox22
-rw-r--r--itcl/iwidgets/demos/canvasprintdialog31
-rw-r--r--itcl/iwidgets/demos/catalog407
-rw-r--r--itcl/iwidgets/demos/checkbox12
-rw-r--r--itcl/iwidgets/demos/combobox16
-rw-r--r--itcl/iwidgets/demos/dateentry12
-rw-r--r--itcl/iwidgets/demos/datefield12
-rw-r--r--itcl/iwidgets/demos/demo.html42
-rw-r--r--itcl/iwidgets/demos/dialog47
-rw-r--r--itcl/iwidgets/demos/dialogshell35
-rw-r--r--itcl/iwidgets/demos/disjointlistbox9
-rw-r--r--itcl/iwidgets/demos/entryfield33
-rw-r--r--itcl/iwidgets/demos/extbutton15
-rw-r--r--itcl/iwidgets/demos/extfileselectionbox9
-rw-r--r--itcl/iwidgets/demos/extfileselectiondialog15
-rw-r--r--itcl/iwidgets/demos/feedback18
-rw-r--r--itcl/iwidgets/demos/fileselectionbox9
-rw-r--r--itcl/iwidgets/demos/fileselectiondialog15
-rw-r--r--itcl/iwidgets/demos/finddialog222
-rw-r--r--itcl/iwidgets/demos/hierarchy154
-rw-r--r--itcl/iwidgets/demos/html/buttonbox.n.html217
-rw-r--r--itcl/iwidgets/demos/html/calendar.n.html363
-rw-r--r--itcl/iwidgets/demos/html/canvasprintbox.n.html303
-rw-r--r--itcl/iwidgets/demos/html/canvasprintdialog.n.html250
-rw-r--r--itcl/iwidgets/demos/html/checkbox.n.html209
-rw-r--r--itcl/iwidgets/demos/html/combobox.n.html484
-rw-r--r--itcl/iwidgets/demos/html/dateentry.n.html238
-rw-r--r--itcl/iwidgets/demos/html/datefield.n.html248
-rw-r--r--itcl/iwidgets/demos/html/dialog.n.html199
-rw-r--r--itcl/iwidgets/demos/html/dialogshell.n.html269
-rw-r--r--itcl/iwidgets/demos/html/disjointlistbox.n.html361
-rw-r--r--itcl/iwidgets/demos/html/entryfield.n.html340
-rw-r--r--itcl/iwidgets/demos/html/extbutton.n.html160
-rw-r--r--itcl/iwidgets/demos/html/extfileselectionbox.n.html467
-rw-r--r--itcl/iwidgets/demos/html/extfileselectiondialog.n.html375
-rw-r--r--itcl/iwidgets/demos/html/feedback.n.html168
-rw-r--r--itcl/iwidgets/demos/html/fileselectionbox.n.html456
-rw-r--r--itcl/iwidgets/demos/html/fileselectiondialog.n.html339
-rw-r--r--itcl/iwidgets/demos/html/finddialog.n.html392
-rw-r--r--itcl/iwidgets/demos/html/hierarchy.n.html673
-rw-r--r--itcl/iwidgets/demos/html/hyperhelp.n.html258
-rw-r--r--itcl/iwidgets/demos/html/iwidgets4.0.0UserCmds.html66
-rw-r--r--itcl/iwidgets/demos/html/labeledframe.n.html210
-rw-r--r--itcl/iwidgets/demos/html/labeledwidget.n.html224
-rw-r--r--itcl/iwidgets/demos/html/mainwindow.n.html373
-rw-r--r--itcl/iwidgets/demos/html/menubar.n.html686
-rw-r--r--itcl/iwidgets/demos/html/messagebox.n.html358
-rw-r--r--itcl/iwidgets/demos/html/messagedialog.n.html279
-rw-r--r--itcl/iwidgets/demos/html/notebook.n.html509
-rw-r--r--itcl/iwidgets/demos/html/optionmenu.n.html316
-rw-r--r--itcl/iwidgets/demos/html/panedwindow.n.html352
-rw-r--r--itcl/iwidgets/demos/html/promptdialog.n.html313
-rw-r--r--itcl/iwidgets/demos/html/pushbutton.n.html175
-rw-r--r--itcl/iwidgets/demos/html/radiobox.n.html211
-rw-r--r--itcl/iwidgets/demos/html/scopedobject.n.html96
-rw-r--r--itcl/iwidgets/demos/html/scrolledcanvas.n.html343
-rw-r--r--itcl/iwidgets/demos/html/scrolledframe.n.html258
-rw-r--r--itcl/iwidgets/demos/html/scrolledhtml.n.html406
-rw-r--r--itcl/iwidgets/demos/html/scrolledlistbox.n.html452
-rw-r--r--itcl/iwidgets/demos/html/scrolledtext.n.html367
-rw-r--r--itcl/iwidgets/demos/html/selectionbox.n.html389
-rw-r--r--itcl/iwidgets/demos/html/selectiondialog.n.html314
-rw-r--r--itcl/iwidgets/demos/html/shell.n.html219
-rw-r--r--itcl/iwidgets/demos/html/spindate.n.html614
-rw-r--r--itcl/iwidgets/demos/html/spinint.n.html269
-rw-r--r--itcl/iwidgets/demos/html/spinner.n.html308
-rw-r--r--itcl/iwidgets/demos/html/spintime.n.html604
-rw-r--r--itcl/iwidgets/demos/html/tabnotebook.n.html860
-rw-r--r--itcl/iwidgets/demos/html/tabset.n.html681
-rw-r--r--itcl/iwidgets/demos/html/timeentry.n.html256
-rw-r--r--itcl/iwidgets/demos/html/timefield.n.html206
-rw-r--r--itcl/iwidgets/demos/html/toolbar.n.html351
-rw-r--r--itcl/iwidgets/demos/html/watch.n.html324
-rw-r--r--itcl/iwidgets/demos/hyperhelp14
-rw-r--r--itcl/iwidgets/demos/images/box.xbm14
-rw-r--r--itcl/iwidgets/demos/images/clear.gifbin0 -> 279 bytes
-rw-r--r--itcl/iwidgets/demos/images/close.gifbin0 -> 249 bytes
-rw-r--r--itcl/iwidgets/demos/images/copy.gifbin0 -> 269 bytes
-rw-r--r--itcl/iwidgets/demos/images/cut.gifbin0 -> 179 bytes
-rw-r--r--itcl/iwidgets/demos/images/exit.gifbin0 -> 396 bytes
-rw-r--r--itcl/iwidgets/demos/images/find.gifbin0 -> 386 bytes
-rw-r--r--itcl/iwidgets/demos/images/help.gifbin0 -> 591 bytes
-rw-r--r--itcl/iwidgets/demos/images/line.xbm14
-rw-r--r--itcl/iwidgets/demos/images/mag.gifbin0 -> 183 bytes
-rw-r--r--itcl/iwidgets/demos/images/new.gifbin0 -> 212 bytes
-rw-r--r--itcl/iwidgets/demos/images/open.gifbin0 -> 258 bytes
-rw-r--r--itcl/iwidgets/demos/images/oval.xbm14
-rw-r--r--itcl/iwidgets/demos/images/paste.gifbin0 -> 376 bytes
-rw-r--r--itcl/iwidgets/demos/images/points.xbm14
-rw-r--r--itcl/iwidgets/demos/images/poly.gifbin0 -> 141 bytes
-rw-r--r--itcl/iwidgets/demos/images/print.gifbin0 -> 263 bytes
-rw-r--r--itcl/iwidgets/demos/images/ruler.gifbin0 -> 174 bytes
-rw-r--r--itcl/iwidgets/demos/images/save.gifbin0 -> 270 bytes
-rw-r--r--itcl/iwidgets/demos/images/select.gifbin0 -> 124 bytes
-rw-r--r--itcl/iwidgets/demos/images/text.xbm14
-rw-r--r--itcl/iwidgets/demos/iwidgets.gifbin0 -> 7727 bytes
-rw-r--r--itcl/iwidgets/demos/labeledframe47
-rw-r--r--itcl/iwidgets/demos/labeledwidget23
-rw-r--r--itcl/iwidgets/demos/mainwindow163
-rw-r--r--itcl/iwidgets/demos/menubar76
-rw-r--r--itcl/iwidgets/demos/messagebox32
-rw-r--r--itcl/iwidgets/demos/messagedialog20
-rw-r--r--itcl/iwidgets/demos/notebook71
-rw-r--r--itcl/iwidgets/demos/optionmenu12
-rw-r--r--itcl/iwidgets/demos/panedwindow30
-rw-r--r--itcl/iwidgets/demos/promptdialog21
-rw-r--r--itcl/iwidgets/demos/pushbutton17
-rw-r--r--itcl/iwidgets/demos/radiobox14
-rw-r--r--itcl/iwidgets/demos/scopedobject16
-rw-r--r--itcl/iwidgets/demos/scrolledcanvas45
-rw-r--r--itcl/iwidgets/demos/scrolledframe29
-rw-r--r--itcl/iwidgets/demos/scrolledhtml14
-rw-r--r--itcl/iwidgets/demos/scrolledlistbox30
-rw-r--r--itcl/iwidgets/demos/scrolledtext13
-rw-r--r--itcl/iwidgets/demos/selectionbox12
-rw-r--r--itcl/iwidgets/demos/selectiondialog22
-rw-r--r--itcl/iwidgets/demos/shell11
-rw-r--r--itcl/iwidgets/demos/spindate9
-rw-r--r--itcl/iwidgets/demos/spinint29
-rw-r--r--itcl/iwidgets/demos/spinner28
-rw-r--r--itcl/iwidgets/demos/spintime9
-rw-r--r--itcl/iwidgets/demos/tabnotebook72
-rw-r--r--itcl/iwidgets/demos/tabset16
-rw-r--r--itcl/iwidgets/demos/timeentry7
-rw-r--r--itcl/iwidgets/demos/timefield12
-rw-r--r--itcl/iwidgets/demos/toolbar45
-rw-r--r--itcl/iwidgets/demos/watch16
129 files changed, 20377 insertions, 0 deletions
diff --git a/itcl/iwidgets/demos/buttonbox b/itcl/iwidgets/demos/buttonbox
new file mode 100644
index 00000000000..f5a15c0013b
--- /dev/null
+++ b/itcl/iwidgets/demos/buttonbox
@@ -0,0 +1,13 @@
+# ----------------------------------------------------------------------
+# DEMO: buttonbox in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+iwidgets::buttonbox .bb
+
+.bb add OK -text OK -command "puts OK"
+.bb add Apply -text Apply -command "puts Apply"
+.bb add Cancel -text Cancel -command "puts Cancel"
+.bb default OK
+
+pack .bb -expand yes -fill both
diff --git a/itcl/iwidgets/demos/calendar b/itcl/iwidgets/demos/calendar
new file mode 100644
index 00000000000..ab656ea1d51
--- /dev/null
+++ b/itcl/iwidgets/demos/calendar
@@ -0,0 +1,26 @@
+# ----------------------------------------------------------------------
+# DEMO: calendar in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+option add *Calendar.buttonForeground black
+option add *Calendar.outline black
+option add *Calendar.weekdayBackground white
+option add *Calendar.weekendBackground mistyrose
+option add *Calendar.selectColor red
+. configure -background white
+
+iwidgets::calendar .cal
+pack .cal -expand yes -fill both
+
+iwidgets::optionmenu .days -labeltext "Start Day:" -command {
+ set day [.days get]
+ .cal configure -startday $day -days $caldays($day)
+}
+pack .days -padx 4 -pady 4
+
+array set caldays {
+ sunday {S M T W T F S}
+ monday {Mo Tu We Th Fr Sa Su}
+}
+.days insert end sunday monday
diff --git a/itcl/iwidgets/demos/canvasprintbox b/itcl/iwidgets/demos/canvasprintbox
new file mode 100644
index 00000000000..0591b43514c
--- /dev/null
+++ b/itcl/iwidgets/demos/canvasprintbox
@@ -0,0 +1,22 @@
+# ----------------------------------------------------------------------
+# DEMO: canvasprintbox in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+option add *textBackground seashell
+
+#
+# Make a canvas for the main application:
+#
+canvas .c -width 200 -height 200 -background white
+pack .c
+
+.c create rectangle 30 30 150 150 -fill blue
+.c create oval 70 70 190 190 -fill red
+.c create polygon 60 50 110 180 10 180 -fill green
+.c create text 100 5 -anchor n -text "Example Drawing"
+
+iwidgets::canvasprintbox .pcb -printcmd "lpr" -pagesize "A4"
+
+.pcb setcanvas .c
+
diff --git a/itcl/iwidgets/demos/canvasprintdialog b/itcl/iwidgets/demos/canvasprintdialog
new file mode 100644
index 00000000000..c628280ca4c
--- /dev/null
+++ b/itcl/iwidgets/demos/canvasprintdialog
@@ -0,0 +1,31 @@
+# ----------------------------------------------------------------------
+# DEMO: canvasprintdialog in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+option add *textBackground seashell
+
+#
+# Make a canvas for the main application:
+#
+canvas .c -width 200 -height 200 -background white
+pack .c
+
+.c create rectangle 30 30 150 150 -fill blue
+.c create oval 70 70 190 190 -fill red
+.c create polygon 60 50 110 180 10 180 -fill green
+.c create text 100 5 -anchor n -text "Example Drawing"
+
+button .print -text "Print..." -command {
+ if {[.pcd activate]} {
+ puts "use command \".pcd print\" to really print"
+ } else {
+ puts "aborted"
+ }
+}
+pack .print
+
+iwidgets::canvasprintdialog .pcd -modality application \
+ -printcmd "lpr" -pagesize "A4"
+
+.pcd setcanvas .c
diff --git a/itcl/iwidgets/demos/catalog b/itcl/iwidgets/demos/catalog
new file mode 100644
index 00000000000..cbaa66695de
--- /dev/null
+++ b/itcl/iwidgets/demos/catalog
@@ -0,0 +1,407 @@
+#!/bin/sh
+# ----------------------------------------------------------------------
+# PROGRAM: demo program for [incr Widgets]
+# ----------------------------------------------------------------------
+# Michael J. McLennan
+# Bell Labs Innovations for Lucent Technologies
+# mmclennan@lucent.com
+# http://www.tcltk.com/itcl/
+# ======================================================================
+# Copyright (c) 1993-1998 Lucent Technologies, Inc.
+# ======================================================================
+#\
+exec wish8.4 "$0"
+
+package require Iwidgets 4.0
+
+# ----------------------------------------------------------------------
+option add *Scrolledtext.textBackground white startupFile
+option add *Scrolledlistbox.textBackground white startupFile
+option add *Scrolledhtml.textBackground white startupFile
+option add *Scrolledhtml.padX 10 startupFile
+option add *boxColor blue startupFile
+option add *boxTextColor white startupFile
+
+# ----------------------------------------------------------------------
+# USAGE: iw_demo_file <name>
+#
+# Returns the proper demo file name for a demo called <name>.
+# ----------------------------------------------------------------------
+proc iw_demo_file {name} {
+ global iwidgets::library
+ return [file join $library demos $name]
+}
+
+# ----------------------------------------------------------------------
+# USAGE: iw_demo_manpage <name>
+#
+# Returns the proper man page file for a demo called <name>.
+# ----------------------------------------------------------------------
+proc iw_demo_manpage {name} {
+ global iwidgets::library
+ return [file join $library demos html $name.n.html]
+}
+
+# ----------------------------------------------------------------------
+# USAGE: iw_load_demo <name>
+#
+# Loads a demo program with the given <name>. Demos can be written
+# as if they will pop up in the main application window, but they will
+# pop up inside the tab notebook instead.
+# ----------------------------------------------------------------------
+proc iw_load_demo {name} {
+ global widgets
+
+ catch {eval destroy [winfo children $widgets(info-example)]}
+ iw_lock on
+ iw_status "Loading..."
+
+ set win [frame $widgets(info-example).inner]
+ pack $win -expand yes
+
+ set loadcmd {
+ set fid [open [iw_demo_file $name] r]
+ set code [read $fid]
+ close $fid
+ }
+ if {[catch $loadcmd result] == 0} {
+ regsub -all "(\"|\{|\\\[| |\n|^|\t)((\\.\[A-Za-z0-9\]+)+)" \
+ $code "\\1$win\\2" code
+ regsub -all "(\"|\{|\\\[| |\n|^)(\\. )" \
+ $code "\\1$win " code
+ if {[catch {uplevel #0 $code} result] == 0} {
+ $widgets(info-code) clear
+ $widgets(info-code) import [iw_demo_file $name]
+ iw_draw_hier $name
+ iw_load_manpage $name
+ iw_lock off
+ iw_status ""
+ return
+ }
+ }
+ catch {eval destroy [winfo children $win]}
+ label $win.err -background white -wraplength 4i \
+ -text "Can't load demo:\n$result"
+ pack $win.err -expand yes
+ iw_lock off
+ iw_status ""
+}
+
+# overload a few critical functions that might be used by demo programs...
+rename exit tcl_exit
+proc exit {{status 0}} {
+ # do nothing
+}
+
+rename puts tcl_puts
+proc puts {args} {
+ global widgets
+ if {[llength $args] == 1} {
+ iw_status [lindex $args 0]
+ } else {
+ eval tcl_puts $args
+ }
+}
+
+# ----------------------------------------------------------------------
+# USAGE: iw_load_manpage
+#
+# Loads the man page for the current demo. Man pages are not
+# automatically loaded unless the man page viewer is visible.
+# This procedure checks to see if the viewer is visible, and loads
+# the man page if needed.
+# ----------------------------------------------------------------------
+set iwManPage ""
+proc iw_load_manpage {{name ""}} {
+ global widgets iwManPage
+
+ if {[winfo ismapped $widgets(info-manpage)]} {
+ if {$name == ""} {
+ set name [$widgets(list) getcurselection]
+ }
+ if {$name != $iwManPage} {
+ iw_lock on
+ iw_status "Loading man page..."
+ $widgets(info-manpage) import [iw_demo_manpage $name]
+ iw_lock off
+ iw_status ""
+ place forget $widgets(info-manpage-feedback)
+ }
+ set iwManPage $name
+ }
+}
+
+# ----------------------------------------------------------------------
+# USAGE: iw_manpage_progress
+#
+# Handles the progress meter whenever an HTML man page is rendered.
+# If the progress meter is not showing, it is put up, and the current
+# state is updated. If the meter is at 100%, it is taken down.
+# ----------------------------------------------------------------------
+proc iw_manpage_progress {n} {
+ global widgets remaining
+
+ if {![winfo ismapped $widgets(info-manpage-feedback)]} {
+ $widgets(info-manpage-feedback) configure -steps $n
+ $widgets(info-manpage-feedback) reset
+ place $widgets(info-manpage-feedback) -relx 0.5 -rely 0.5 \
+ -anchor c -width 200
+ update
+ set remaining $n
+ }
+
+ $widgets(info-manpage-feedback) step [expr $remaining - $n]
+ set remaining $n
+}
+
+# ----------------------------------------------------------------------
+# USAGE: iw_status <message>
+#
+# Displays a status <message> near the top of the window.
+# ----------------------------------------------------------------------
+proc iw_status {message} {
+ global widgets
+ $widgets(status) configure -text $message
+ update
+}
+
+# ----------------------------------------------------------------------
+# USAGE: iw_lock <state>
+#
+# Locks or unlocks the main window. Sets a grab on the main menu,
+# so that all events are sent to it.
+# ----------------------------------------------------------------------
+proc iw_lock {state} {
+ global widgets
+ if {$state} {
+ grab set $widgets(mainMenu)
+ . configure -cursor watch
+ } else {
+ grab release $widgets(mainMenu)
+ . configure -cursor ""
+ }
+}
+
+# ----------------------------------------------------------------------
+# USAGE: iw_draw_hier <name>
+#
+# Queries the hierarchy for a particular class in demo <name> and
+# draws a class diagram into a display window. Usually invoked when
+# a demo is loaded to display the class hierarchy for the associated
+# widget.
+# ----------------------------------------------------------------------
+proc iw_draw_hier {name} {
+ global widgets
+ set canv $widgets(info-hier)
+ $canv delete all
+
+ set class [string toupper [string index $name 0]][string tolower [string range $name 1 end]]
+
+ if {[catch [list namespace eval iwidgets [list itcl::find classes $class]]] == 0} {
+ set objs [namespace eval iwidgets [list itcl::find objects -class $class]]
+ if {[llength $objs]} {
+ update idletasks
+ set bases [[lindex $objs 0] info heritage]
+ iw_draw_level [lrange $bases 1 end] $canv [lindex $bases 0]
+ set bbox [$canv bbox all]
+
+ $canv move all [expr [lindex $bbox 0] * -1] [expr [lindex $bbox 1] * -1]
+
+ $canv xview moveto 0
+ $canv yview moveto 0
+
+ set bbox [$canv bbox all]
+ set x [expr ([winfo width $widgets(info)] / 2) - ([lindex $bbox 2] / 2)]
+ set y 10
+ $canv move all $x $y
+ }
+ }
+}
+
+# ----------------------------------------------------------------------
+# USAGE: iw_draw_level <bases> <canv> <class>
+#
+# Draws one level of the hierarchy for <class>.
+# ----------------------------------------------------------------------
+proc iw_draw_level {bases canv class} {
+ set org [iw_draw_box $canv $class]
+ set top $org
+
+ set offset 0
+
+ if {[llength $bases]} {
+ $canv lower [$canv create line $offset $org \
+ $offset [expr $top-10] \
+ -40 [expr $top-10] \
+ -24 [expr $top-10] \
+ -20 [expr $top-16] \
+ -16 [expr $top-10] \
+ -20 [expr $top-16] \
+ -20 [expr $top-26]]
+ $canv move all 20 [expr -($top-26+$org)]
+
+ set del [iw_draw_level [lrange $bases 1 end] $canv [lindex $bases 0]]
+ $canv move all -20 [expr $top-26+$org]
+ set top [expr $top+$del-30+$org]
+ incr offset 4
+ }
+
+ return $top
+}
+
+# ----------------------------------------------------------------------
+# USAGE: iw_draw_box <canv> <class>
+#
+# Draws one box for a class hierarchy onto a canvas window.
+# ----------------------------------------------------------------------
+proc iw_draw_box {canv class} {
+ set bg [option get $canv boxColor BoxColor]
+ set textbg [option get $canv boxTextColor BoxTextColor]
+
+ set cname [string trimleft $class :]
+ $canv create text 0 0 -anchor center -text $cname \
+ -fill $textbg -tags $class
+
+ set bbox [$canv bbox $class]
+ set x0 [expr [lindex $bbox 0]-4]
+ set y0 [expr [lindex $bbox 1]-4]
+ set x1 [expr [lindex $bbox 2]+4]
+ set y1 [expr [lindex $bbox 3]+4]
+
+ $canv create rectangle $x0 $y0 $x1 $y1 \
+ -outline black -fill $bg
+
+ $canv raise $class
+
+ return $y0
+}
+
+# ----------------------------------------------------------------------
+wm title . {[incr Widgets] Demo}
+wm geometry . 750x440
+
+frame .mbar -borderwidth 2 -relief raised
+pack .mbar -fill x
+set widgets(mainMenu) [menubutton .mbar.main -text "Main" -menu .mbar.main.m]
+pack .mbar.main -side left
+
+menu .mbar.main.m
+.mbar.main.m add command -label "About..." -command {.about activate}
+.mbar.main.m add separator
+.mbar.main.m add command -label "Quit" -command tcl_exit
+
+iwidgets::panedwindow .pw -orient vertical
+pack .pw -expand yes -fill both
+
+.pw add "widgets"
+set pane [.pw childsite "widgets"]
+set widgets(list) $pane.wlist
+
+iwidgets::scrolledlistbox $widgets(list) -labeltext "Select a widget:" \
+ -selectioncommand {iw_load_demo [$widgets(list) getcurselection]} \
+ -labelpos nw -vscrollmode dynamic -hscrollmode none \
+ -exportselection no
+pack $widgets(list) -expand yes -fill both -padx 8
+
+.pw add "info"
+set pane [.pw childsite "info"]
+set widgets(info) $pane.info
+
+.pw fraction 25 75
+
+set widgets(status) [label $pane.status]
+pack $pane.status -anchor w
+
+iwidgets::tabnotebook $widgets(info) -tabpos s
+pack $widgets(info) -expand yes -fill both
+
+set widgets(info-example) [$widgets(info) add -label "Example"]
+$widgets(info-example) configure -background white
+
+set win [$widgets(info) add -label "Example Code"]
+set widgets(info-code) [iwidgets::scrolledtext $win.code \
+ -wrap none -vscrollmode dynamic -hscrollmode none]
+pack $widgets(info-code) -expand yes -fill both -padx 4 -pady 4
+
+set win [$widgets(info) add -label "Inheritance"]
+set widgets(info-hier) [iwidgets::scrolledcanvas $win.canv -textbackground white \
+ -vscrollmode dynamic -hscrollmode dynamic]
+pack $widgets(info-hier) -expand yes -fill both -padx 4 -pady 4
+
+set win [$widgets(info) add -label "Man Page"]
+set widgets(info-manpage) [iwidgets::scrolledhtml $win.html \
+ -wrap word -vscrollmode dynamic -hscrollmode none \
+ -feedback "iw_manpage_progress" \
+ -linkcommand "$win.html import -link"]
+pack $widgets(info-manpage) -expand yes -fill both -padx 4 -pady 4
+
+set widgets(info-manpage-feedback) [iwidgets::feedback $win.html.fb \
+ -borderwidth 2]
+
+bind $widgets(info-manpage) <Map> {iw_load_manpage}
+
+$widgets(info) select "Example"
+
+# ----------------------------------------------------------------------
+# "About" window
+# ----------------------------------------------------------------------
+iwidgets::dialog .about -title {About: [incr Widgets] Demo} -modality none
+.about hide "Apply"
+.about hide "Help"
+.about hide "Cancel"
+.about buttonconfigure "OK" -command ".about deactivate"
+.about default "OK"
+
+set win [.about childsite]
+label $win.title -text {[incr Widgets]}
+pack $win.title
+catch {$win.title configure -font -*-helvetica-bold-o-normal-*-*-180-*}
+
+set file [file join ${iwidgets::library} demos iwidgets.gif]
+label $win.icon -image [image create photo -file $file]
+pack $win.icon -side left
+
+label $win.by -text "Contributed By"
+pack $win.by
+catch {$win.by configure -font -*-helvetica-medium-r-normal-*-*-100-*}
+
+label $win.authors -text "Mark L. Ulferts
+Sue Yockey
+John Sigler
+Bill Scott
+Alfredo Jahn
+Tako Schotanus
+Kris Raney
+John Tucker
+Mitch Gorman
+John Reekie
+Ken Copeland
+Tony Parent
+Chad Smith
+and
+Michael McLennan
+"
+pack $win.authors
+catch {$win.authors configure -font -*-helvetica-medium-o-normal-*-*-120-*}
+
+# ----------------------------------------------------------------------
+# Load up a list of demos...
+# ----------------------------------------------------------------------
+foreach file [lsort [glob [file join ${iwidgets::library} demos *]]] {
+ set name [file tail $file]
+ if {![file isdirectory $file] && ![string match *.* $name]
+ && ![string match catalog $name]
+ && ![string match scopedobject $name]} {
+ if {$name == "mainwindow"} {
+ # This demo is doesn't work well with the catalog
+ # so we skip it.
+
+ continue
+ }
+ $widgets(list) insert end $name
+ }
+}
+$widgets(list) selection set 0
+uplevel #0 [$widgets(list) cget -selectioncommand]
+
+
diff --git a/itcl/iwidgets/demos/checkbox b/itcl/iwidgets/demos/checkbox
new file mode 100644
index 00000000000..c405a027a8b
--- /dev/null
+++ b/itcl/iwidgets/demos/checkbox
@@ -0,0 +1,12 @@
+# ----------------------------------------------------------------------
+# DEMO: checkbox in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+iwidgets::checkbox .cb -labeltext Styles
+.cb add bold -text Bold
+.cb add italic -text Italic
+.cb add underline -text Underline
+.cb select underline
+
+pack .cb -padx 10 -pady 10 -fill both -expand yes
diff --git a/itcl/iwidgets/demos/combobox b/itcl/iwidgets/demos/combobox
new file mode 100644
index 00000000000..32a20227b0d
--- /dev/null
+++ b/itcl/iwidgets/demos/combobox
@@ -0,0 +1,16 @@
+# ----------------------------------------------------------------------
+# DEMO: combobox in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+option add *textBackground seashell
+
+iwidgets::combobox .cb -labeltext "Font:" -labelpos w -selectioncommand {
+ puts "selected: [.cb getcurselection]"
+}
+
+.cb insert list end Ariel Courier Helvetica Knarly Lucida \
+ Rumpus Symbol Times "Zapf Dingbats"
+
+.cb selection set Times
+pack .cb
diff --git a/itcl/iwidgets/demos/dateentry b/itcl/iwidgets/demos/dateentry
new file mode 100644
index 00000000000..068e7dde5dc
--- /dev/null
+++ b/itcl/iwidgets/demos/dateentry
@@ -0,0 +1,12 @@
+# ----------------------------------------------------------------------
+# DEMO: dateentry in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+proc returnCmd {} {
+ puts [.de get]
+}
+
+iwidgets::dateentry .de -labeltext "Date:" -command returnCmd
+pack .de -fill x -expand yes -padx 10 -pady 10
+
diff --git a/itcl/iwidgets/demos/datefield b/itcl/iwidgets/demos/datefield
new file mode 100644
index 00000000000..03b33a54932
--- /dev/null
+++ b/itcl/iwidgets/demos/datefield
@@ -0,0 +1,12 @@
+# ----------------------------------------------------------------------
+# DEMO: datefield in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+proc returnCmd {} {
+ puts [.df get]
+}
+
+iwidgets::datefield .df -labeltext "Date (International Format):" \
+ -command returnCmd -int 1
+pack .df -fill x -expand yes -padx 10 -pady 10
diff --git a/itcl/iwidgets/demos/demo.html b/itcl/iwidgets/demos/demo.html
new file mode 100644
index 00000000000..2da81a8a186
--- /dev/null
+++ b/itcl/iwidgets/demos/demo.html
@@ -0,0 +1,42 @@
+<title>Demo HTML Page</title>
+<body bgcolor="white" link="blue" vlink="NavyBlue" alink="red">
+<center>
+<img src="iwidgets.gif" alt="iwidgets logo"> <br>
+</center>
+<blockquote>
+<h2>Display Your HTML Pages</h2>
+<p>
+Now you can write all of your documentation in HTML format!
+You can publish it on the World Wide Web, or bundle it with
+your tool and display it using
+a <a href="html/hyperhelp.n.html">hyperhelp</a>
+or <a href="html/scrolledhtml.n.html">scrolledhtml</a> widget.
+
+<p>
+<hr size=3 width=95% align=center noshade>
+<p>
+
+Most of the usual HTML tags are recognized and supported.<br>
+So you can include things like:
+<p>
+<ul>
+<li> block quotes
+<li> <b>bold</b>
+<li> <tt>code</tt>
+<li> color images
+<li> definition lists
+<li> directory lists
+<li> <i>italic</i>
+<li> preformatted text
+<li> <sup>sup</sup>erscript
+<li> unordered lists
+<li> ...and much, <em>much</em> more!
+</ul>
+
+<p>
+<hr size=3 width=95% align=center noshade>
+<p>
+
+<big>Build it. Document it. Let us display it.</big>
+</blockquote>
+</body>
diff --git a/itcl/iwidgets/demos/dialog b/itcl/iwidgets/demos/dialog
new file mode 100644
index 00000000000..17890eb8d4b
--- /dev/null
+++ b/itcl/iwidgets/demos/dialog
@@ -0,0 +1,47 @@
+# ----------------------------------------------------------------------
+# DEMO: dialog in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+iwidgets::radiobox .rb -labelpos nw \
+ -labeltext "Use modality to\nlock up your\napplication:"
+pack .rb -padx 4 -pady 4
+
+.rb add none -text "-modality none"
+.rb add application -text "-modality application"
+.rb add global -text "-modality global"
+.rb select none
+
+button .activate -text "Push Me" -command {
+ .d configure -modality [.rb get]
+ .d activate
+}
+pack .activate
+
+#
+# Build a generic dialog
+#
+iwidgets::dialog .d
+.d buttonconfigure OK -command {
+ puts "pushed: OK"
+ .d deactivate 1
+}
+.d buttonconfigure Apply -command {
+ puts "pushed: Apply"
+}
+.d buttonconfigure Cancel -command {
+ puts "pushed: Cancel"
+ .d deactivate 0
+}
+.d buttonconfigure Help -command {
+ puts "pushed: Help"
+}
+
+#
+# Add something to the top of the dialog...
+#
+set win [.d childsite]
+label $win.ex -text "Standard Dialog\n(put your widgets here)" \
+ -background black -foreground white \
+ -width 40 -height 5
+pack $win.ex -expand yes -fill both -padx 4 -pady 4
diff --git a/itcl/iwidgets/demos/dialogshell b/itcl/iwidgets/demos/dialogshell
new file mode 100644
index 00000000000..1e3cd408ce1
--- /dev/null
+++ b/itcl/iwidgets/demos/dialogshell
@@ -0,0 +1,35 @@
+# ----------------------------------------------------------------------
+# DEMO: dialogshell in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+iwidgets::radiobox .rb -labeltext "Use modality to\nlock up your\napplication:"
+pack .rb -padx 4 -pady 4
+
+.rb add none -text "-modality none"
+.rb add application -text "-modality application"
+.rb add global -text "-modality global"
+.rb select none
+
+button .activate -text "Push Me" -command {
+ .ds configure -modality [.rb get]
+ .ds activate
+}
+pack .activate
+
+#
+# Build a generic dialog
+#
+iwidgets::dialogshell .ds
+
+.ds add dismiss -text "Dismiss" -command {.ds deactivate}
+.ds default dismiss
+
+#
+# Add something to the top of the dialog...
+#
+set win [.ds childsite]
+label $win.ex -text "Minimal Dialog\n(put your widgets here)" \
+ -background black -foreground white \
+ -width 40 -height 5
+pack $win.ex -expand yes -fill both -padx 4 -pady 4
diff --git a/itcl/iwidgets/demos/disjointlistbox b/itcl/iwidgets/demos/disjointlistbox
new file mode 100644
index 00000000000..e0149037ee8
--- /dev/null
+++ b/itcl/iwidgets/demos/disjointlistbox
@@ -0,0 +1,9 @@
+# ----------------------------------------------------------------------
+# DEMO: disjointlistbox in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+iwidgets::disjointlistbox .dlb
+pack .dlb -padx 10 -pady 10 -fill both -expand yes
+
+.dlb insertlhs {black white red blue yellow green magenta}
diff --git a/itcl/iwidgets/demos/entryfield b/itcl/iwidgets/demos/entryfield
new file mode 100644
index 00000000000..da278a8fd80
--- /dev/null
+++ b/itcl/iwidgets/demos/entryfield
@@ -0,0 +1,33 @@
+# ----------------------------------------------------------------------
+# DEMO: entryfield in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+option add *textBackground seashell
+. configure -background white
+
+iwidgets::entryfield .login -labeltext "Login:" -labelpos nw \
+ -command { focus [.passwd component entry] }
+pack .login -padx 4 -pady 4
+
+iwidgets::entryfield .passwd -labeltext "Password:" -labelpos nw -show "\267" \
+ -command { focus [.phone component entry] }
+pack .passwd -padx 4 -pady 4
+
+iwidgets::entryfield .phone -labeltext "Phone:" -labelpos nw \
+ -command { focus [.login component entry] } \
+ -validate {check_phonenum %W "%c"}
+pack .phone -padx 4 -pady 4
+
+proc check_phonenum {entry char} {
+ set current [$entry get]
+ set len [string length $current]
+ if {$len == 3 || $len == 7} {
+ $entry delete 0 end
+ $entry insert 0 "$current-"
+ }
+ if {$len < 12 && [string match {[0-9]} $char]} {
+ return 1
+ }
+ return 0
+}
diff --git a/itcl/iwidgets/demos/extbutton b/itcl/iwidgets/demos/extbutton
new file mode 100644
index 00000000000..5a199a7b5d9
--- /dev/null
+++ b/itcl/iwidgets/demos/extbutton
@@ -0,0 +1,15 @@
+# ----------------------------------------------------------------------
+# DEMO: extbutton in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+iwidgets::extbutton .eb1 -text "Bitmap example" -bitmap info \
+ -background bisque -activeforeground red -bitmapforeground blue \
+ -defaultring 1 -command {puts "Bisque is beautiful"}
+
+iwidgets::extbutton .eb2 -text "Image example" -bd 3 -image \
+ [image create photo -file $iwidgets::library/demos/images/clear.gif] \
+ -font 9x15bold -background lightgreen -imagepos e \
+ -activebackground lightyellow
+
+pack .eb1 .eb2 -pady 8
diff --git a/itcl/iwidgets/demos/extfileselectionbox b/itcl/iwidgets/demos/extfileselectionbox
new file mode 100644
index 00000000000..3c5ff7b292b
--- /dev/null
+++ b/itcl/iwidgets/demos/extfileselectionbox
@@ -0,0 +1,9 @@
+# ----------------------------------------------------------------------
+# DEMO: extfileselectionbox in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+option add *textBackground seashell
+
+iwidgets::extfileselectionbox .fsb -width 4i -height 4i
+pack .fsb
diff --git a/itcl/iwidgets/demos/extfileselectiondialog b/itcl/iwidgets/demos/extfileselectiondialog
new file mode 100644
index 00000000000..8cac6c0b0a3
--- /dev/null
+++ b/itcl/iwidgets/demos/extfileselectiondialog
@@ -0,0 +1,15 @@
+# ----------------------------------------------------------------------
+# DEMO: extfileselectiondialog in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+iwidgets::extfileselectiondialog .efsd -modality application
+
+button .select -text "Files..." -command {
+ if {[.efsd activate]} {
+ puts "selected: [.efsd get]"
+ } else {
+ puts ""
+ }
+}
+pack .select -side left
diff --git a/itcl/iwidgets/demos/feedback b/itcl/iwidgets/demos/feedback
new file mode 100644
index 00000000000..232b5083a79
--- /dev/null
+++ b/itcl/iwidgets/demos/feedback
@@ -0,0 +1,18 @@
+# ----------------------------------------------------------------------
+# DEMO: feedback in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+. configure -background white
+
+iwidgets::feedback .fb -labeltext "Status " -steps 22
+pack .fb -padx 4 -pady 4
+
+button .go -text "Go" -command {
+ .fb reset
+ for {set i 0} {$i < 22} {incr i} {
+ .fb step
+ after 100
+ }
+}
+pack .go -padx 4 -pady 4
diff --git a/itcl/iwidgets/demos/fileselectionbox b/itcl/iwidgets/demos/fileselectionbox
new file mode 100644
index 00000000000..5945d7896dc
--- /dev/null
+++ b/itcl/iwidgets/demos/fileselectionbox
@@ -0,0 +1,9 @@
+# ----------------------------------------------------------------------
+# DEMO: fileselectionbox in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+option add *textBackground seashell
+
+iwidgets::fileselectionbox .fsb -width 4i -height 4i
+pack .fsb
diff --git a/itcl/iwidgets/demos/fileselectiondialog b/itcl/iwidgets/demos/fileselectiondialog
new file mode 100644
index 00000000000..56d1650a6b4
--- /dev/null
+++ b/itcl/iwidgets/demos/fileselectiondialog
@@ -0,0 +1,15 @@
+# ----------------------------------------------------------------------
+# DEMO: fileselectiondialog in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+iwidgets::fileselectiondialog .fsd -modality application
+
+button .select -text "Files..." -command {
+ if {[.fsd activate]} {
+ puts "selected: [.fsd get]"
+ } else {
+ puts ""
+ }
+}
+pack .select -side left
diff --git a/itcl/iwidgets/demos/finddialog b/itcl/iwidgets/demos/finddialog
new file mode 100644
index 00000000000..25bf193b076
--- /dev/null
+++ b/itcl/iwidgets/demos/finddialog
@@ -0,0 +1,222 @@
+# ----------------------------------------------------------------------
+# DEMO: finddialog in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+#
+# Demo script for the Finddialog class
+#
+proc find {} {
+ if {! [winfo exists .findd]} {
+ iwidgets::finddialog .findd -textwidget .st
+ }
+
+ .findd center .st
+ .findd activate
+}
+
+iwidgets::scrolledtext .st -visibleitems 50x14 -wrap none
+pack .st
+
+button .findb -text "Press to Search Text" -command find
+pack .findb -pady 5
+
+.st insert end "
+ The Declaration of Independence
+ (Adopted in Congress 4 July 1776)
+
+When, in the course of human events, it becomes necessary for one
+people to dissolve the political bonds which have connected them with
+another, and to assume among the powers of the earth, the separate and
+equal station to which the laws of nature and of nature's God entitle
+them, a decent respect to the opinions of mankind requires that they
+should declare the causes which impel them to the separation.
+
+We hold these truths to be self-evident, that all men are created
+equal, that they are endowed by their Creator with certain unalienable
+rights, that among these are life, liberty and the pursuit of
+happiness. That to secure these rights, governments are instituted
+among men, deriving their just powers form the consent of the
+governed. That whenever any form of government becomes destructive to
+these ends, it is the right of the people to alter or to abolish it,
+and to institute new government, laying its foundation on such
+principles and organizing its powers in such form, as to them shall
+seem most likely to effect their safety and happiness. Prudence,
+indeed, will dictate that governments long established should not be
+changed for light and transient causes; and accordingly all experience
+hath shown that mankind are more disposed to suffer, while evils are
+sufferable, than to right themselves by abolishing the forms to which
+they are accustomed. But when a long train of abuses and usurpations,
+pursuing invariably the same object evinces a design to reduce them
+under absolute despotism, it is their right, it is their duty, to
+throw off such government, and to provide new guards for their future
+security. --Such has been the patient sufferance of these colonies;
+and such is now the necessity which constrains them to alter their
+former systems of government. The history of the present King of Great
+Britain is a history of repeated injuries and usurpations, all having
+in direct object the establishment of an absolute tyranny over these
+states. To prove this, let facts be submitted to a candid world.
+
+He has refused his assent to laws, the most wholesome and necessary
+for the public good.
+
+He has forbidden his governors to pass laws of immediate and pressing
+importance, unless suspended in their operation till his assent should
+be obtained; and when so suspended, he has utterly neglected to attend
+to them.
+
+He has refused to pass other laws for the accommodation of large
+districts of people, unless those people would relinquish the right of
+representation in the legislature, a right inestimable to them and
+formidable to tyrants only.
+
+He has called together legislative bodies at places unusual,
+uncomfortable, and distant from the depository of their public
+records, for the sole purpose of fatiguing them into compliance with
+his measures.
+
+He has dissolved representative houses repeatedly, for opposing with
+manly firmness his invasions on the rights of the people.
+
+He has refused for a long time, after such dissolutions, to cause
+others to be elected; whereby the legislative powers, incapable of
+annihilation, have returned to the people at large for their exercise;
+the state remaining in the meantime exposed to all the dangers of
+invasion from without, and convulsions within.
+
+He has endeavored to prevent the population of these states; for that
+purpose obstructing the laws for naturalization of foreigners;
+refusing to pass others to encourage their migration hither, and
+raising the conditions of new appropriations of lands.
+
+He has obstructed the administration of justice, by refusing his
+assent to laws for establishing judiciary powers.
+
+He has made judges dependent on his will alone, for the tenure of
+their offices, and the amount and payment of their salaries.
+
+He has erected a multitude of new offices, and sent hither swarms of
+officers to harass our people, and eat out their substance.
+
+He has kept among us, in times of peace, standing armies without the
+consent of our legislature.
+
+He has affected to render the military independent of and superior to
+civil power.
+
+He has combined with others to subject us to a jurisdiction foreign to
+our constitution, and unacknowledged by our laws; giving his assent to
+their acts of pretended legislation:
+
+For quartering large bodies of armed troops among us:
+
+For protecting them, by mock trial, from punishment for any murders
+which they should commit on the inhabitants of these states:
+
+For cutting off our trade with all parts of the world:
+
+For imposing taxes on us without our consent:
+
+For depriving us in many cases, of the benefits of trial by jury:
+
+For transporting us beyond seas to be tried for pretended offenses:
+
+For abolishing the free system of English laws in a neighboring
+province, establishing therein an arbitrary government, and enlarging
+its boundaries so as to render it at once an example and fit
+instrument for introducing the same absolute rule in these colonies:
+
+For taking away our charters, abolishing our most valuable laws, and
+altering fundamentally the forms of our governments:
+
+For suspending our own legislatures, and declaring themselves invested
+with power to legislate for us in all cases whatsoever.
+
+He has abdicated government here, by declaring us out of his
+protection and waging war against us.
+
+He has plundered our seas, ravaged our coasts, burned our towns, and
+destroyed the lives of our people.
+
+He is at this time transporting large armies of foreign mercenaries to
+complete the works of death, desolation and tyranny, already begun
+with circumstances of cruelty and perfidy scarcely paralleled in the
+most barbarous ages, and totally unworthy the head of a civilized
+nation.
+
+He has constrained our fellow citizens taken captive on the high seas
+to bear arms against their country, to become the executioners of
+their friends and brethren, or to fall themselves by their hands.
+
+He has excited domestic insurrections amongst us, and has endeavored
+to bring on the inhabitants of our frontiers, the merciless Indian
+savages, whose known rule of warfare, is undistinguished destruction
+of all ages, sexes and conditions.
+
+In every stage of these oppressions we have petitioned for redress in
+the most humble terms: our repeated petitions have been answered only
+by repeated injury. A prince, whose character is thus marked by every
+act which may define a tyrant, is unfit to be the ruler of a free
+people.
+
+Nor have we been wanting in attention to our British brethren. We have
+warned them from time to time of attempts by their legislature to
+extend an unwarrantable jurisdiction over us. We have reminded them of
+the circumstances of our emigration and settlement here. We have
+appealed to their native justice and magnanimity, and we have conjured
+them by the ties of our common kindred to disavow these usurpations,
+which, would inevitably interrupt our connections and
+correspondence. We must, therefore, acquiesce in the necessity, which
+denounces our separation, and hold them, as we hold the rest of
+mankind, enemies in war, in peace friends.
+
+We, therefore, the representatives of the United States of America, in
+General Congress, assembled, appealing to the Supreme Judge of the
+world for the rectitude of our intentions, do, in the name, and by the
+authority of the good people of these colonies, solemnly publish and
+declare, that these united colonies are, and of right ought to be free
+and independent states; that they are absolved from all allegiance to
+the British Crown, and that all political connection between them and
+the state of Great Britain, is and ought to be totally dissolved; and
+that as free and independent states, they have full power to levy war,
+conclude peace, contract alliances, establish commerce, and to do all
+other acts and things which independent states may of right do. And
+for the support of this declaration, with a firm reliance on the
+protection of Divine Providence, we mutually pledge to each other our
+lives, our fortunes and our sacred honor.
+
+New Hampshire: Josiah Bartlett, William Whipple, Matthew Thornton
+
+Massachusetts: John Hancock, Samual Adams, John Adams, Robert Treat
+Paine, Elbridge Gerry
+
+Rhode Island: Stephen Hopkins, William Ellery
+
+Connecticut: Roger Sherman, Samuel Huntington, William Williams,
+Oliver Wolcott
+
+New York: William Floyd, Philip Livingston, Francis Lewis, Lewis
+Morris
+
+New Jersey: Richard Stockton, John Witherspoon, Francis Hopkinson,
+John Hart, Abraham Clark
+
+Pennsylvania: Robert Morris, Benjamin Rush, Benjamin Franklin, John
+Morton, George Clymer, James Smith, George Taylor, James Wilson,
+George Ross
+
+Delaware: Caesar Rodney, George Read, Thomas McKean
+
+Maryland: Samuel Chase, William Paca, Thomas Stone, Charles Carroll of
+Carrollton
+
+Virginia: George Wythe, Richard Henry Lee, Thomas Jefferson, Benjamin
+Harrison, Thomas Nelson, Jr., Francis Lightfoot Lee, Carter Braxton
+
+North Carolina: William Hooper, Joseph Hewes, John Penn
+
+South Carolina: Edward Rutledge, Thomas Heyward, Jr., Thomas Lynch,
+Jr., Arthur Middleton
+
+Georgia: Button Gwinnett, Lyman Hall, George Walton
+"
diff --git a/itcl/iwidgets/demos/hierarchy b/itcl/iwidgets/demos/hierarchy
new file mode 100644
index 00000000000..efe26ca4e81
--- /dev/null
+++ b/itcl/iwidgets/demos/hierarchy
@@ -0,0 +1,154 @@
+# ----------------------------------------------------------------------
+# DEMO: hierarchy in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+# This demo displays a users file system starting at thier HOME
+# directory. You can change the starting directory by setting the
+# environment variable SHOWDIR.
+#
+if {![info exists env(SHOWDIR)]} {
+ set env(SHOWDIR) $env(HOME)
+}
+
+# ----------------------------------------------------------------------
+# PROC: get_files file
+#
+# Used as the -querycommand for the hierarchy viewer. Returns the
+# list of files under a particular directory. If the file is "",
+# then the SHOWDIR is used as the directory. Otherwise, the node itself
+# is treated as a directory. The procedure returns a unique id and
+# the text to be displayed for each file. The unique id is the complete
+# path name and the text is the file name.
+# ----------------------------------------------------------------------
+proc get_files {file} {
+ global env
+
+ if {$file == ""} {
+ set dir $env(SHOWDIR)
+ } else {
+ set dir $file
+ }
+
+ if {[catch {cd $dir}] != 0} {
+ return ""
+ }
+
+ set rlist ""
+
+ foreach file [lsort [glob -nocomplain *]] {
+ lappend rlist [list [file join $dir $file] $file]
+ }
+
+ return $rlist
+}
+
+# ----------------------------------------------------------------------
+# PROC: select_node tags status
+#
+# Select/Deselect the node given the tags and current selection status.
+# The unique id which is the complete file path name is mixed in with
+# all the tags for the node. So, we'll find it by searching for our
+# SHOWDIR and then doing the selection or deselection.
+# ----------------------------------------------------------------------
+proc select_node {tags status} {
+ global env
+
+ set uid [lindex $tags [lsearch -regexp $tags $env(SHOWDIR)]]
+
+ if {$status} {
+ .h selection remove $uid
+ } else {
+ .h selection add $uid
+ }
+}
+
+# ----------------------------------------------------------------------
+# PROC: expand_node tags
+#
+# Expand the node given the tags. The unique id which is the complete
+# file path name is mixed in with all the tags for the node. So, we'll
+# find it by searching for our SHOWDIR and then doing the expansion.
+# ----------------------------------------------------------------------
+proc expand_node {tags} {
+ global env
+
+ set uid [lindex $tags [lsearch -regexp $tags $env(SHOWDIR)]]
+
+ .h expand $uid
+}
+
+# ----------------------------------------------------------------------
+# PROC: collapse_node tags
+#
+# Collapse the node given the tags. The unique id which is the complete
+# file path name is mixed in with all the tags for the node. So, we'll
+# find it by searching for our SHOWDIR and then doing the collapse.
+# ----------------------------------------------------------------------
+proc collapse_node {tags} {
+ global env
+
+ set uid [lindex $tags [lsearch -regexp $tags $env(SHOWDIR)]]
+
+ .h collapse $uid
+}
+
+# ----------------------------------------------------------------------
+# PROC: expand_recursive
+#
+# Recursively expand all the file nodes in the hierarchy.
+# ----------------------------------------------------------------------
+proc expand_recursive {node} {
+ set files [get_files $node]
+
+ foreach tagset $files {
+ set uid [lindex $tagset 0]
+
+ .h expand $uid
+
+ if {[get_files $uid] != {}} {
+ expand_recursive $uid
+ }
+ }
+}
+
+# ----------------------------------------------------------------------
+# PROC: expand_all
+#
+# Expand all the file nodes in the hierarchy.
+# ----------------------------------------------------------------------
+proc expand_all {} {
+ expand_recursive ""
+}
+
+# ----------------------------------------------------------------------
+# PROC: collapse_all
+#
+# Collapse all the nodes in the hierarchy.
+# ----------------------------------------------------------------------
+proc collapse_all {} {
+ .h configure -querycommand "get_files %n"
+}
+
+#
+# Create the hierarchy mega-widget, adding commands to both the item
+# and background popup menus.
+#
+iwidgets::hierarchy .h -querycommand "get_files %n" -visibleitems 30x15 \
+ -labeltext $env(SHOWDIR) -selectcommand "select_node %n %s"
+pack .h -side left -expand yes -fill both
+
+.h component itemMenu add command -label "Select" \
+ -command {select_node [.h current] 0}
+.h component itemMenu add command -label "Deselect" \
+ -command {select_node [.h current] 1}
+.h component itemMenu add separator
+.h component itemMenu add command -label "Expand" \
+ -command {expand_node [.h current]}
+.h component itemMenu add command -label "Collapse" \
+ -command {collapse_node [.h current]}
+
+.h component bgMenu add command -label "Expand All" -command expand_all
+.h component bgMenu add command -label "Collapse All" -command collapse_all
+.h component bgMenu add command -label "Clear Selections" \
+ -command {.h selection clear}
diff --git a/itcl/iwidgets/demos/html/buttonbox.n.html b/itcl/iwidgets/demos/html/buttonbox.n.html
new file mode 100644
index 00000000000..94002d3a7e0
--- /dev/null
+++ b/itcl/iwidgets/demos/html/buttonbox.n.html
@@ -0,0 +1,217 @@
+<TITLE>buttonbox - Create and manipulate a manager widget for buttons</TITLE>
+<H1>buttonbox - Create and manipulate a manager widget for buttons</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>buttonbox<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- buttonbox
+</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>
+</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>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>orient</B>
+Class: <B>Orient</B>
+Command-Line Switch: <B>-orient</B>
+</pre>
+<UL>
+Orientation of the button box: <B>horizontal</B> or <B>vertical</B>. The default
+is horizontal.
+</UL>
+<P>
+<pre>
+Name: <B>padX</B>
+Class: <B>PadX</B>
+Command-Line Switch: <B>-padx</B>
+</pre>
+<UL>
+Specifies a non-negative padding distance to leave between the button group and
+the outer edge of the button box in the x direction. The value may be
+given in any of the forms acceptable to <B>Tk_GetPixels</B>. The default
+is 5 pixels.
+</UL>
+<P>
+<pre>
+Name: <B>padY</B>
+Class: <B>PadY</B>
+Command-Line Switch: <B>-pady</B>
+</pre>
+<UL>
+Specifies a non-negative padding distance to leave between the button group and
+the outer edge of the button box in the y direction. The value may be given
+in any of the forms acceptable to <B>Tk_GetPixels</B>. The default is 5 pixels.
+</UL>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>buttonbox</B> command creates a manager widget for controlling
+buttons. The button box also supports the display and invocation
+of a default button. The button box can be configured either horizontally
+or vertically.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>buttonbox</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.
+<P>
+Many of the widget commands for the buttonbox take as one argument an
+indicator of which button of the button box to operate on. These
+indicators are called <I>indexes</I> and allow reference and manipulation
+of buttons regardless of their current map state. buttonbox indexes
+may be specified in any of the following forms:
+<DL>
+<DT> <I>number</I>
+</I></B>
+<DD> Specifies the button numerically, where 0 corresponds to the
+left/top-most button of the button box.
+</DL>
+<DL>
+<DT> <B>end</B>
+</I></B>
+<DD> Indicates the right/bottom-most button of the button box.
+</DL>
+<DL>
+<DT> <B>default</B>
+</I></B>
+<DD> Indicates the current default button of the button box. This is the
+button with the default ring displayed.
+</DL>
+<DL>
+<DT> <I>pattern</I>
+</I></B>
+<DD> If the index doesn't satisfy one of the above forms then this
+form is used. <I>Pattern</I> is pattern-matched against the tag of
+each button in the button box, in order from left/top to right/left,
+until a matching entry is found. The rules of <B>Tcl_StringMatch</B>
+are used.
+
+</DL>
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<DL>
+<DT> <I>pathName <B>add</B> <I>tag</I> <I>args</I>
+</I></B>
+<DD> Add a button distinguished by <I>tag</I> to the end of the button box.
+If additional arguments are present they specify options to be applied
+to the button. See <B>PushButton</B> for information on the options
+available.
+</DL>
+<DL>
+<DT> <I>pathName <B>buttonconfigure</B> <I>index</I> ?<I>options</I>?
+</I></B>
+<DD> This command is similar to the <B>configure</B> command, except that
+it applies to the options for an individual button,
+whereas <B>configure</B> applies to the options for the button box as a whole.
+<I>Options</I> may have any of the values accepted by the <B>PushButton</B>
+command. If <I>options</I> are specified, options are modified
+as indicated in the command and the command returns an empty string.
+If no <I>options</I> are specified, returns a list describing
+the current options for entry <I>index</I> (see <B>Tk_ConfigureInfo</B> for
+information on the format of this list).
+</DL>
+<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>buttonbox</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>buttonbox</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>default</B> <I>index</I>
+</I></B>
+<DD> Sets the default button to the button given by <I>index</I>. This causes
+the default ring to appear arround the specified button.
+</DL>
+<DL>
+<DT> <I>pathName <B>delete</B> <I>index</I>
+</I></B>
+<DD> Deletes the button given by <I>index</I> from the button box.
+</DL>
+<DL>
+<DT> <I>pathName <B>hide</B> <I>index</I>
+</I></B>
+<DD> Hides the button denoted by <I>index</I>. This doesn't remove the button
+permanently, just inhibits its display.
+</DL>
+<DL>
+<DT> <I>pathName <B>index <I>index</I>
+</I></B>
+<DD> Returns the numerical index corresponding to <I>index</I>.
+</DL>
+<DL>
+<DT> <I>pathName <B>insert <I>index</I> <I>tag</I> ?<I>option value option value ...</I>?
+</I></B>
+<DD> Same as the <B>add</B> command except that it inserts the new
+button just before the one given by <I>index</I>, instead of appending
+to the end of the button box. The <I>option</I>, and <I>value</I>
+arguments have the same interpretation as for the <B>add</B> widget
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>invoke</B> <I>?index?</I>
+</I></B>
+<DD> Invoke the command associated with a button. If no arguments
+are given then the current default button is invoked, otherwise the argument
+is expected to be a button <I>index</I>.
+</DL>
+<DL>
+<DT> <I>pathName <B>show</B> <I>index</I>
+</I></B>
+<DD> Display a previously hidden button denoted by <I>index</I>.
+</DL>
+</pre><H2>EXAMPLE</H2>
+<pre>
+ buttonbox .bb
+
+ .bb add Yes -text Yes -command "puts Yes"
+ .bb add No -text No -command "puts No"
+ .bb add Maybe -text Maybe -command "puts Maybe"
+ .bb default Yes
+
+ pack .bb -expand yes -fill both
+</pre>
+</pre><H2>AUTHORS</H2>
+Bret A. Schuhmacher
+<P>
+Mark L. Ulferts
+</pre><H2>KEYWORDS</H2>
+buttonbox, pushbutton, button, widget
diff --git a/itcl/iwidgets/demos/html/calendar.n.html b/itcl/iwidgets/demos/html/calendar.n.html
new file mode 100644
index 00000000000..cb1cbb52908
--- /dev/null
+++ b/itcl/iwidgets/demos/html/calendar.n.html
@@ -0,0 +1,363 @@
+<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
diff --git a/itcl/iwidgets/demos/html/canvasprintbox.n.html b/itcl/iwidgets/demos/html/canvasprintbox.n.html
new file mode 100644
index 00000000000..9bb16a79692
--- /dev/null
+++ b/itcl/iwidgets/demos/html/canvasprintbox.n.html
@@ -0,0 +1,303 @@
+<TITLE>canvasprintbox - Create and manipulate a canvas print box widget</TITLE>
+<H1>canvasprintbox - Create and manipulate a canvas print box widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>canvasprintbox<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- Canvasprintbox
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeBackground</B><br>
+<B>foreground</B><br>
+<B>insertBackground</B><br>
+<B>insertWidth</B><br>
+<B>selectBackground</B><br>
+</td>
+<td valign=top>
+<B>background</B><br>
+<B>highlightBackground</B><br>
+<B>insertBorderWidth</B><br>
+<B>relief</B><br>
+<B>selectBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>highlightColor</B><br>
+<B>insertOffTime</B><br>
+<B>repeatDelay</B><br>
+<B>selectForeground</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+<B>highlightThickness</B><br>
+<B>insertOnTime</B><br>
+<B>repeatInterval</B><br>
+</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>
+<UL>
+</UL>
+<P>
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>filename</B>
+Class: <B>FileName</B>
+Command-Line Switch: <B>-filename</B>
+</pre>
+<UL>
+The file to write the postscript output to (Only when output
+is set to "file"). If posterizing is turned on and <B>hpagecnt</B>
+and/or <B>vpagecnt</B> is more than 1, x.y is appended to the filename
+where x is the horizontal page number and y the vertical page number.
+</UL>
+<P>
+<pre>
+Name: <B>hpagecnt</B>
+Class: <B>PageCnt</B>
+Command-Line Switch: <B>-hpagecnt</B>
+</pre>
+<UL>
+Is used in combination with <B>posterize</B> to determine over
+how many pages the output should be distributed. This
+attribute specifies how many pages should be used horizontaly.
+Any change to this attribute will automatically update the "stamp".
+Defaults to 1.
+</UL>
+<P>
+<pre>
+Name: <B>orient</B>
+Class: <B>Orient</B>
+Command-Line Switch: <B>-orient</B>
+</pre>
+<UL>
+Determines the orientation of the output to the printer (or file).
+It can take the value "portrait" or "landscape" (default). Changes
+to this attribute will be reflected immediately in the "stamp".
+Defaults to "landscape" but will be changed automaticaly to the value
+deemed appropiate for the current canvas. Setting this attribute
+when the canvasprintbox is first constructed (instead of using the
+"configure" method) will turn off the auto adjustment of this attribute.
+</UL>
+<P>
+<pre>
+Name: <B>output</B>
+Class: <B>Output</B>
+Command-Line Switch: <B>-output</B>
+</pre>
+<UL>
+Specifies where the postscript output should go: to the printer
+or to a file. Can take on the values "printer" or "file".
+The corresponding entry-widget will reflect the contents of
+either the <B>printcmd</B> attribute or the <B>filename</B> attribute.
+Defaults to "printer".
+</UL>
+<P>
+<pre>
+Name: <B>pageSize</B>
+Class: <B>PageSize</B>
+Command-Line Switch: <B>-pagesize</B>
+</pre>
+<UL>
+The pagesize the printer supports. Changes to this attribute
+will be reflected immediately in the "stamp".
+Defaults to "a4".
+</UL>
+<P>
+<pre>
+Name: <B>posterize</B>
+Class: <B>Posterize</B>
+Command-Line Switch: <B>-posterize</B>
+</pre>
+<UL>
+Indicates if posterizing is turned on or not. Posterizing
+the output means that it is possible to distribute the
+output over more than one page. This way it is possible to
+print a canvas/region which is larger than the specified
+pagesize without stretching. If used in combination with
+stretching it can be used to "blow up" the contents of a
+canvas to as large as size as you want (See attributes:
+hpagecnt and vpagecnt). Any change to this attribute will
+automatically update the "stamp".
+Defaults to 0.
+</UL>
+<P>
+<pre>
+Name: <B>printCmd</B>
+Class: <B>PrintCmd</B>
+Command-Line Switch: <B>-printcmd</B>
+</pre>
+<UL>
+The command to execute when printing the postscript output.
+The command will get the postscript directed to its standard
+input (Only when output is set to "printer").
+Defaults to "lpr".
+</UL>
+<P>
+<pre>
+Name: <B>printRegion</B>
+Class: <B>PrintRegion</B>
+Command-Line Switch: <B>-printregion</B>
+</pre>
+<UL>
+A list of four coordinates specifying which part of the canvas to print.
+An empty list means that the canvas' entire <B>scrollregion</B> should be
+printed. Any change to this attribute will automatically update the "stamp".
+Defaults to an empty list.
+</UL>
+<P>
+<pre>
+Name: <B>stretch</B>
+Class: <B>Stretch</B>
+Command-Line Switch: <B>-stretch</B>
+</pre>
+<UL>
+Determines if the output should be stretched to fill the
+page (as defined by the attribute pagesize) as large as
+possible. The aspect-ratio of the output will be retained
+and the output will never fall outside of the boundaries
+of the page.
+Defaults to 0 but will be changed automaticaly to the value
+deemed appropiate for the current canvas. Setting this attribute
+when the canvasprintbox is first constructed (instead of using the
+"configure" method) will turn off the auto adjustment of this attribute.
+</UL>
+<P>
+<pre>
+Name: <B>vPageCnt</B>
+Class: <B>PageCnt</B>
+Command-Line Switch: <B>-vpagecnt</B>
+</pre>
+<UL>
+Is used in combination with "posterize" to determine over
+how many pages the output should be distributed. This
+attribute specifies how many pages should be used verticaly.
+Any change to this attribute will automatically update the "stamp".
+Defaults to 1.
+</UL>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+Implements a print box for printing the contents of a canvas widget
+to a printer or a file. It is possible to specify page orientation, the
+number of pages to print the image on and if the output should be
+stretched to fit the page. Options exist to control the appearance and
+actions of the widget.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>canvasprintbox</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 canvasprintbox 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>canvasprintbox</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>canvasprintbox</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>getoutput</B>
+</I></B>
+<DD> Returns the value of the <B>printercmd</B> or <B>filename</B> option
+depending on the current setting of <B>output</B>.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>print</B>
+</I></B>
+<DD> Perfrom the actual printing of the canvas using the current settings of
+all the attributes. Returns a boolean indicating wether the printing was
+successful or not.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>refresh</B>
+</I></B>
+<DD> Retrieves the current value for all edit fields and updates
+the stamp accordingly. Is useful for Apply-buttons.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>setcanvas</B> <I>canvas</I>
+</I></B>
+<DD> This is used to set the <I>canvas</I> that has to be printed.
+A stamp-sized copy will automatically be drawn to show how the
+output would look with the current settings.
+</DL>
+<DL>
+<DT> <I>pathName <B>stop</B>
+</I></B>
+<DD> Stops the drawing of the "stamp". I'm currently unable to detect
+when a Canvasprintbox gets destroyed or withdrawn. It's therefore
+advised that you perform a stop before you do something like that.
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name: <B>prtflentry</B>
+Class: <B>Entry</B>
+</pre>
+<UL>
+The prtflentry component is the entry field for user input of the
+<B>filename</B> or <B>printer</B> command (depending on the value of
+<B>output</B>).
+</UL>
+<P>
+<pre>
+Name: <B>hpcnt</B>
+Class: <B>Entry</B>
+</pre>
+<UL>
+The hpcnt component is the entry field for user input of the number of
+pages to use horizontaly when <B>posterize</B> is turned on.
+</UL>
+</table>
+<pre>
+Name: <B>vpcnt</B>
+Class: <B>Entry</B>
+</pre>
+<UL>
+The vpcnt component is the entry field for user input of the number of
+pages to use verticaly when <B>posterize</B> is turned on.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+canvasprintbox .fsb -orient landscape -stretch 1
+pack .fsb -padx 10 -pady 10 -fill both -expand yes
+</pre>
+</pre><H2>AUTHOR</H2>
+Tako Schotanus
+</pre><H2>KEYWORDS</H2>
+canvasprintbox, widget
diff --git a/itcl/iwidgets/demos/html/canvasprintdialog.n.html b/itcl/iwidgets/demos/html/canvasprintdialog.n.html
new file mode 100644
index 00000000000..d1ca1dea7c7
--- /dev/null
+++ b/itcl/iwidgets/demos/html/canvasprintdialog.n.html
@@ -0,0 +1,250 @@
+<TITLE>canvasprintdialog - Create and manipulate a canvas print dialog widget</TITLE>
+<H1>canvasprintdialog - Create and manipulate a canvas print dialog widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>canvasprintdialog<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Toplevel &lt;- Dialogshell &lt;- Dialog &lt;- Canvasprintdialog
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeBackground</B><br>
+<B>foreground</B><br>
+<B>insertBackground</B><br>
+<B>insertWidth</B><br>
+<B>selectBackground</B><br>
+</td>
+<td valign=top>
+<B>background</B><br>
+<B>highlightBackground</B><br>
+<B>insertBorderWidth</B><br>
+<B>relief</B><br>
+<B>selectBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>highlightColor</B><br>
+<B>insertOffTime</B><br>
+<B>repeatDelay</B><br>
+<B>selectForeground</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+<B>highlightThickness</B><br>
+<B>insertOnTime</B><br>
+<B>repeatInterval</B><br>
+</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>filename</B><br>
+<B>pagesize</B><br>
+<B>vpagecnt</B><br>
+</td>
+<td valign=top>
+<B>hpagecnt</B><br>
+<B>posterize</B><br>
+</td>
+<td valign=top>
+<B>orient</B><br>
+<B>printcmd</B><br>
+</td>
+<td valign=top>
+<B>output</B><br>
+<B>printregion</B><br>
+</td>
+</table>
+<P>
+See the "canvasprintbox" widget manual entry for details on the above
+associated options.
+
+</pre><H2>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>buttonBoxPadX</B><br>
+<B>padY</B><br>
+</td>
+<td valign=top>
+<B>buttonBoxPadY</B><br>
+<B>separator</B><br>
+</td>
+<td valign=top>
+<B>buttonBoxPos</B><br>
+<B>thickness</B><br>
+</td>
+<td valign=top>
+<B>padX</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="dialogshell.n.html"> "dialogshell" </A> widget manual entry for details on the above
+inherited options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>master</B><br>
+</td>
+<td valign=top>
+<B>modality</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "shell" widget manual entry for details on the above
+inherited options.
+<P>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>title</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "Toplevel" widget manual entry for details on the above
+inherited options.
+<P>
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>canvasprintdialog</B> command creates a print dialog for printing
+the contents of a canvas widget to a printer or a file. It is possible
+to specify page orientation, the number of pages to print the image on
+and if the output should be stretched to fit the page.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>canvasprintdialog</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 canvasprintdialog widgets:
+</pre><H2>ASSOCIATED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>getoutput</B><br>
+</td>
+<td valign=top>
+<B>setcanvas</B><br>
+</td>
+<td valign=top>
+<B>refresh</B><br>
+</td>
+<td valign=top>
+<B>print</B><br>
+</td>
+</table>
+<P>
+See the "canvasprintbox" class manual entry for details on the
+associated methods.
+</pre><H2>INHERITED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>add</B><br>
+<B>insert</B><br>
+</td>
+<td valign=top>
+<B>buttonconfigure</B><br>
+<B>invoke</B><br>
+</td>
+<td valign=top>
+<B>default</B><br>
+<B>show</B><br>
+</td>
+<td valign=top>
+<B>hide</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="buttonbox.n.html"> "buttonbox" </A> widget manual entry for details on the above
+inherited methods.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activate</B><br>
+</td>
+<td valign=top>
+<B>deactivate</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="dialogshell.n.html"> "dialogshell" </A> widget manual entry for details on the above
+inherited methods.
+
+</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>canvasprintdialog</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>canvasprintdialog</B>
+command.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name: <B>cpb</B>
+Class: <B>Canvasprintbox</B>
+</pre>
+<UL>
+The cpb component is the canvas print box for the canvas print dialog.
+See the "canvasprintbox" widget manual entry for details on the cpb
+component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+ canvasprintdialog .cpb
+ .cpb activate
+</pre>
+</pre><H2>AUTHOR</H2>
+Tako Schotanus
+</pre><H2>KEYWORDS</H2>
+canvasprintdialog, canvasprintbox, dialog, widget
diff --git a/itcl/iwidgets/demos/html/checkbox.n.html b/itcl/iwidgets/demos/html/checkbox.n.html
new file mode 100644
index 00000000000..d0959b2a221
--- /dev/null
+++ b/itcl/iwidgets/demos/html/checkbox.n.html
@@ -0,0 +1,209 @@
+<TITLE>checkbox - Create and manipulate a checkbox widget</TITLE>
+<H1>checkbox - Create and manipulate a checkbox widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>checkbox<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- labeledframe &lt;- checkbox
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>background</B><br>
+<B>foreground</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>relief</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+<B>selectColor</B><br>
+</td>
+<td valign=top>
+<B>disabledForeground</B><br>
+</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>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>labelBitmap</B><br>
+<B>labelPos</B><br>
+</td>
+<td valign=top>
+<B>labelFont</B><br>
+<B>labelText</B><br>
+</td>
+<td valign=top>
+<B>labelImage</B><br>
+<B>labelVariable</B><br>
+</td>
+<td valign=top>
+<B>labelMargin</B><br>
+</td>
+</table>
+<P>
+See the "labeledframe" class manual entry for details on the
+inherited options.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>command</B>
+Class: <B>Command</B>
+Command-Line Switch: <B>-command</B>
+</pre>
+<UL>
+Specifies a Tcl command procedure to be evaluated following a change in
+the current check box selection.
+</UL>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>checkbox</B> command creates a check button box widget
+capable of adding, inserting, deleting, selecting, and configuring
+checkbuttons as well as obtaining the currently selected button.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>checkbox</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.
+<P>
+Many of the widget commands for the <B>checkbox</B> take as one argument an
+indicator of which checkbutton of the checkbox to operate on. These indicators
+are called <I>indexes</I> and allow reference and manipulation of checkbuttons.
+Checkbox indexes may be specified in any of the following forms:
+<DL>
+<DT> <I>number</I>
+</I></B>
+<DD> Specifies the checkbutton numerically, where 0 corresponds to the top
+checkbutton of the checkbox.
+</DL>
+<DL>
+<DT> <B>end</B>
+</I></B>
+<DD> Indicates the last checkbutton of the checkbox.
+</DL>
+<DL>
+<DT> <I>pattern</I>
+</I></B>
+<DD> If the index doesn't satisfy one of the above forms then this
+form is used. <I>Pattern</I> is pattern-matched against the tag of
+each checkbutton in the checkbox, in order from top to bottom,
+until a matching entry is found. The rules of <B>Tcl_StringMatch</B>
+are used.
+
+</DL>
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<DL>
+<DT> <I>pathName <B>add</B> <I>tag</I> ?<I>option value option value</I>?
+</I></B>
+<DD> Adds a new checkbutton to the checkbuttond window on the bottom. The command
+takes additional options which are passed on to the checkbutton as construction
+arguments. These include the standard Tk checkbutton options. The tag is
+returned.
+</DL>
+<DL>
+<DT> <I>pathName <B>buttonconfigure</B> <I>index</I> ?<I>options</I>?
+</I></B>
+<DD> This command is similar to the <B>configure</B> command, except that
+it applies to the options for an individual checkbutton,
+whereas <B>configure</B>applies to the options for the checkbox as a whole.
+<I>Options</I> may have any of the values accepted by the <B>add</B>
+widget command. If <I>options</I> are specified, options are modified
+as indicated in the command and the command returns an empty string.
+If no <I>options</I> are specified, returns a list describing
+the current options for entry <I>index</I> (see <B>Tk_ConfigureInfo</B> for
+information on the format of this list).
+</DL>
+<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>checkbox</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>checkbox</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>delete</B> <I>index</I>
+</I></B>
+<DD> Deletes a specified checkbutton given an <I>index</I>.
+</DL>
+<DL>
+<DT> <I>pathName <B>deselect</B> <I>index</I>
+</I></B>
+<DD> Deselects a specified checkbutton given an <I>index</I>.
+</DL>
+<DL>
+<DT> <I>pathName <B>flash</B> <I>index</I>
+</I></B>
+<DD> Flashes a specified checkbutton given an <I>index</I>.
+</DL>
+<DL>
+<DT> <I>pathName <B>get</B> ?<I>index</I>?
+</I></B>
+<DD> Returns the tags of the currently selected checkbuttons or the
+selection status of specific checkbutton when given an index.
+</DL>
+<DL>
+<DT> <I>pathName <B>index</B> <I>index</I>
+</I></B>
+<DD> Returns the numerical index corresponding to index.
+</DL>
+<DL>
+<DT> <I>pathName <B>insert <I>index</I> <I>tag</I> ?<I>option value option value ...</I>?
+</I></B>
+<DD> Same as the <B>add</B> command except that it inserts the new
+checkbutton just before the one given by <I>index</I>, instead of appending
+to the end of the checkbox. The <I>option</I>, and <I>value</I>
+arguments have the same interpretation as for the <B>add</B> widget
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>select</B> <I>index</I>
+</I></B>
+<DD> Selects a specified checkbutton given an <I>index</I>.
+
+</DL>
+</pre><H2>EXAMPLE</H2>
+<pre>
+ checkbox .cb -labeltext Styles
+ .cb add bold -text Bold
+ .cb add italic -text Italic
+ .cb add underline -text Underline
+ .cb select underline
+
+ pack .cb -padx 10 -pady 10 -fill both -expand yes
+</pre>
+
+</pre><H2>AUTHOR</H2>
+John A. Tucker
+</pre><H2>KEYWORDS</H2>
+checkbox, widget
diff --git a/itcl/iwidgets/demos/html/combobox.n.html b/itcl/iwidgets/demos/html/combobox.n.html
new file mode 100644
index 00000000000..cbf845c748f
--- /dev/null
+++ b/itcl/iwidgets/demos/html/combobox.n.html
@@ -0,0 +1,484 @@
+<TITLE>combobox - Create and manipulate combination box widgets</TITLE>
+<H1>combobox - Create and manipulate combination box widgets</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>combobox<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- LabeledWidget &lt;- Entryfield &lt;- Combobox
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B></B><br>
+cursor<br>
+highlightColor<br>
+insertWidth<br>
+insertWidth<br>
+selectBorderWidth<br>
+</td>
+<td valign=top>
+<B><br>
+justify<br>
+highlightThickness<br>
+insertBackground<br>
+insertBorderWidth<br>
+textVariable<br>
+</td>
+<td valign=top>
+background<br>
+exportSelection<br>
+relief<br>
+insertOffTime<br>
+selectForeground<br>
+</B></I><br>
+</td>
+<td valign=top>
+borderWidth<br>
+foreground<br>
+width<br>
+insertOnTime<br>
+selectBackground<br>
+</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>hscrollmode</B><br>
+</td>
+<td valign=top>
+<B>textBackground</B><br>
+</td>
+<td valign=top>
+<B>textFont</B><br>
+</td>
+<td valign=top>
+<B>vscrollmode</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="scrolledlistbox.n.html"> "scrolledlistbox" </A> manual entry for details on the above inherited
+options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>show</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/entry.n.html"> "entry" </A> manual entry for details on the above inherited option.
+</pre><H2>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>childSitePos</B><br>
+<B>invalid</B><br>
+</td>
+<td valign=top>
+<B>command</B><br>
+<B>textBackground</B><br>
+</td>
+<td valign=top>
+<B>fixed</B><br>
+<B>textFont</B><br>
+</td>
+<td valign=top>
+<B>focusCommand</B><br>
+<B>validate</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="entryfield.n.html"> "entryfield" </A> class manual entry for details on the inherited options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>labelBitmap</B><br>
+<B>labelPos</B><br>
+</td>
+<td valign=top>
+<B>labelFont</B><br>
+<B>labelText</B><br>
+</td>
+<td valign=top>
+<B>labelImage</B><br>
+<B>labelVariable</B><br>
+</td>
+<td valign=top>
+<B>labelMargin</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="labeledwidget.n.html"> "labeledwidget" </A> class manual entry for details on the
+inherited options.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>arrowRelief</B>
+Class: <B>Relief</B>
+Command-Line Switch: <B>-arrowrelief</B>
+</pre>
+<UL>
+Specifies the relief style to use for a dropdown Combobox's arrow
+button in a normal (not depressed) state. Acceptable values
+are <B>raised</B>, <B>sunken</B>, <B>flat</B>, <B>ridge</B>, and <B>groove</B>.
+Sunken is discouraged as this is the relief used to indicate a depressed
+state. This option has no effect on simple Comboboxes. The default is raised.
+</UL>
+<P>
+<pre>
+Name: <B>completion</B>
+Class: <B>Completion</B>
+Command-Line Switch: <B>-completion</B>
+</pre>
+<UL>
+Boolean given in any of the forms acceptable to <B>Tcl_GetBoolean</B> which
+determines whether insertions into the entry field, whether from the
+keyboard or programmatically via the <B>insert</B> method, are
+automatically completed with the first matching item from the listbox. The
+default is true.
+</UL>
+<P>
+<pre>
+Name: <B>dropdown</B>
+Class: <B>Dropdown</B>
+Command-Line Switch: <B>-dropdown</B>
+</pre>
+<UL>
+Boolean describing the Combobox layout style given in any of the forms
+acceptable to <B>Tcl_GetBoolean</B>. If true, the Combobox
+will be a dropdown style
+widget which displays an entry field and an arrow button which when activated
+will pop up a scrollable list of items. If false, a simple Combobox style
+will be used which has an entry field and a scrollable list beneath it
+which is always visible. Both styles allow an optional label for the entry
+field area. The default is true.
+</UL>
+<P>
+<pre>
+Name: <B>editable</B>
+Class: <B>Editable</B>
+Command-Line Switch: <B>-editable</B>
+</pre>
+<UL>
+Boolean describing whether or not the text entry area is editable
+by the user. If true the user can add items to the combobox by entering text
+into the entry area and then pressing Return. If false, the list of items is
+non-editable and can only be changed by calling the insert or delete
+methods. (The value in the entry field can still be modified by selecting
+from the list.) Given in any of the forms acceptable to <B>Tcl_GetBoolean</B>.
+The default is true.
+</UL>
+<P>
+<pre>
+Name: <B>grab</B>
+Class: <B>Grab</B>
+Command-Line Switch: <B>-grab</B>
+</pre>
+<UL>
+This option sets the grab scope for the appearance of the listbox in
+drop-down comboboxes. It can be either global or local. The default is
+local.
+</UL>
+<P>
+<pre>
+Name: <B>listHeight</B>
+Class: <B>Height</B>
+Command-Line Switch: <B>-listheight</B>
+</pre>
+<UL>
+Height of the listbox specified in any of the forms acceptable to
+<B>Tk_GetPixels</B>. The default is 150 pixels.
+</UL>
+<P>
+<pre>
+Name: <B>margin</B>
+Class: <B>Margin</B>
+Command-Line Switch: <B>-margin</B>
+</pre>
+<UL>
+Specifies the width in pixels between the entry component and the arrow button
+for a dropdown Combobox given in any of the forms acceptable to
+<B>Tk_GetPixels</B>. This option has no effect on a simple Combobox. The
+default is 1.
+</UL>
+<P>
+<pre>
+Name: <B>popupCursor</B>
+Class: <B>Cursor</B>
+Command-Line Switch: <B>-popupcursor</B>
+</pre>
+<UL>
+Specifies the cursor to be used for dropdown style listboxes. The value
+may have any of the forms acceptable to <B>Tk_GetCursor</B>. The default is
+arrow.
+</UL>
+<P>
+<pre>
+Name: <B>selectionCommand</B>
+Class: <B>SelectionCommand</B>
+Command-Line Switch: <B>-selectioncommand</B>
+</pre>
+<UL>
+Specifies a Tcl command procedure which is called when an item in the
+listbox area is selected. The item will be selected in the list, the listbox
+will be removed if it is a dropdown Combobox, and the selected item's
+text will be inserted into the entry field before the -selectioncommand proc is
+called. The default is {}.
+</UL>
+<P>
+<pre>
+Name: <B>state</B>
+Class: <B>State</B>
+Command-Line Switch: <B>-state</B>
+</pre>
+<UL>
+Specifies the overall state of the Combobox megawidget. Can be either
+normal or disabled. If the Combobox is disabled, no text can be entered
+into the entry field, no selection can be made in the listbox, and the
+arrowBtn component is disabled. The default is normal.
+</UL>
+<P>
+<pre>
+Name: <B>unique</B>
+Class: <B>Unique</B>
+Command-Line Switch: <B>-unique</B>
+</pre>
+<UL>
+Boolean describing whether or not duplicate items are allowed in the combobox
+list. If true, then duplicates are not allowed to be inserted. If false, a
+duplicate entry causes selection of the item. Given in any of the forms
+acceptable to <B>Tcl_GetBoolean</B>. The default is true.
+</UL>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>combobox</B> command creates an enhanced entry field widget with an
+optional associated label and a scrollable list. When an item is selected in
+the list area of a Combobox, its value is then displayed in the entry field
+text area. Functionally similar to an Optionmenu, the Combobox adds (optional)
+list scrolling and (optional) item editing and inserting capabilities.
+<P>
+There are two basic styles of Comboboxes (determined by the -dropdown option):
+dropdown and simple. The dropdown style adds an arrow button to the right of
+the entry field which when activated will pop up (and down) the scrolled
+listbox beneath the entry field. The simple (non-dropdown) Combobox
+permanently displays the listbox beneath the entry field and has no
+arrow button. Either style allows an optional entry field label.
+</pre><H2>METHODS</H2>
+<P>
+The <B>combobox</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 Combobox widgets:
+</pre><H2>ASSOCIATED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>icursor</B><br>
+</td>
+<td valign=top>
+<B>scan</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/entry.n.html"> "entry" </A> manual entries for details on the above associated methods.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>curselection</B><br>
+<B>xview</B><br>
+</td>
+<td valign=top>
+<B>index</B><br>
+<B>yview</B><br>
+</td>
+<td valign=top>
+<B>see</B><br>
+</td>
+<td valign=top>
+<B>size</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/listbox.n.html"> "listbox" </A> manual entries for details on the above associated methods.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>getcurselection</B><br>
+</td>
+<td valign=top>
+<B>justify</B><br>
+</td>
+<td valign=top>
+<B>sort</B><br>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="scrolledlistbox.n.html"> "scrolledlistbox" </A> manual entries for details on the above associated
+methods.
+<P>
+</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>combobox</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>clear</B> ?<B>component</B>?
+</I></B>
+<DD> Clears the contents from one or both components. Valid component values
+are <B>list</B>, or <B>entry</B>. With no component specified, both are cleared.
+</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>combobox</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>delete <I>component</I> <I>first</I> ?<I>last</I>?
+</I></B>
+<DD> Delete one or more elements from a given component, <B>list</B> or <B>entry</B>.
+If a list item to be removed is currently selected (displayed in the entry
+field area), the entry field will be cleared.
+</DL>
+<DL>
+<DT> <I>pathName <B>get ?<I>index</I>? </B></I>
+</I></B>
+<DD> With no arguments, returns the contents currently in the entry
+field area. With a single argument, returns the contents of the
+listbox item at the indicated index.
+</DL>
+<DL>
+<DT> <I>pathName <B>insert</B> <I>component</I> <I>index</I> <I>element</I> ?<I>element element ...</I>?
+</I></B>
+<DD> Insert one or more new elements into the given component, <B>list</B> or
+<B>entry</B>, just before the element given by <I>index</I>.
+</DL>
+<DL>
+<DT> <I>pathName <B>selection</B> <I>option</I> <I>first</I> ?<I>last</I>?
+</I></B>
+<DD> Adjust the selection within the listbox component and updates the contents
+of the entry field component to the value of the selected item. See the
+"listbox" manual entry for more details on parameter options.
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name: <B>entry</B>
+Class: <B>Entry</B>
+</pre>
+<UL>
+Text entry area where the current selection is displayed. If the
+Combobox is editable and its state is normal, the user can edit the
+contents of this item.
+</UL>
+<P>
+<pre>
+Name: <B>list</B>
+Class: <B>Scrolledlistbox</B>
+</pre>
+<UL>
+Scrollable list which stores all the items which the user can select
+from. For dropdown Comboboxes, this component is hidden until the user pops it
+up by pressing on the arrow button to the right of the entry component. For
+simple Comboboxes this component is always visible just beneath the entry
+component.
+</UL>
+</pre><H2>DEFAULT BINDINGS</H2>
+<P>
+The Combobox generally has the same bindings as its primary component items -
+the Scrolledlistbox and Entryfield. However it also adds these:
+<P>
+[1] Button-1 mouse press on the arrow key of a dropdown Combobox causes the
+list to be popped up. If the combobox is non-editable, a Button-1 press on the
+entry field area will also pop up the list.
+<P>
+[2] Button-1 mouse press anywhere on the display removes a dropdown listbox
+which has been popped up, unless the keypress is upon one of the Combobox
+scrollbars which scrolls the list. If it is pressed upon an item in the list
+area, that item will be selected before the list is removed.
+<P>
+[3] Button-3 mouse press on the arrow key of a dropdown Combobox causes the
+next item to be selected. Shift-Button-3 causes the previous item to be
+selected.
+<P>
+[4] Escape keypress removes a dropdown list which has been popped up.
+<P>
+[5] The &lt;space&gt; and &lt;Return&gt; keystrokes select the current item. They also
+remove the popped up list for dropdown comboboxes.
+<P>
+[6] Up and Down arrow keypresses from the entry field and arrow button
+component cause the previous and next items in the listbox to be selected
+respectively. Ctl-P and Ctl-N are similarly mapped for emacs emulation.
+<P>
+[7] Entry field and arrow button component Shift-Up and Shift-Down arrow keys
+pop up and down the listbox of a dropdown Combobox. The arrow button component
+also maps &lt;Return&gt; and &lt;space&gt; similarly.
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+ proc selectCmd {} {
+ puts stdout "[.cb2 getcurselection]"
+ }
+
+ #
+ # Non-editable Dropdown Combobox
+ #
+ combobox .cb1 -labeltext Month: \\
+ -selectioncommand {puts "selected: [.cb1 getcurselection]"} \\
+ -editable false -listheight 185 -popupcursor hand1
+ .cb1 insert list end Jan Feb Mar Apr May June Jul Aug Sept Oct Nov Dec
+
+ #
+ # Editable Dropdown Combobox
+ #
+ combobox .cb2 -labeltext "Operating System:" -selectioncommand selectCmd
+ .cb2 insert list end Linux HP-UX SunOS Solaris Irix
+ .cb2 insert entry end L
+
+ pack .cb1 -padx 10 -pady 10 -fill x
+ pack .cb2 -padx 10 -pady 10 -fill x
+
+</pre>
+</pre><H2>ORIGINAL AUTHOR</H2>
+John S. Sigler
+</pre><H2>CURRENT MAINTAINER</H2>
+Mitch Gorman (logain@erols.com)
+</pre><H2>KEYWORDS</H2>
+combobox, entryfield, scrolledlistbox, itk::Widget, entry, listbox, widget,
+iwidgets
diff --git a/itcl/iwidgets/demos/html/dateentry.n.html b/itcl/iwidgets/demos/html/dateentry.n.html
new file mode 100644
index 00000000000..28738a5f55f
--- /dev/null
+++ b/itcl/iwidgets/demos/html/dateentry.n.html
@@ -0,0 +1,238 @@
+<TITLE>dateentry - Create and manipulate a dateentry widget</TITLE>
+<H1>dateentry - Create and manipulate a dateentry widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>dateentry<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- LabeledWidget &lt;- Datefield &lt;- Dateentry
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>background</B><br>
+<B>foreground</B><br>
+<B>justify</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>highlightColor</B><br>
+<B>relief</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+<B>highlightThickness</B><br>
+</td>
+<td valign=top>
+<B>exportSelection</B><br>
+<B>insertBackground</B><br>
+</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>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>disabledForeground</B><br>
+<B>labelMargin</B><br>
+<B>state</B><br>
+</td>
+<td valign=top>
+<B>labelBitmap</B><br>
+<B>labelPos</B><br>
+</td>
+<td valign=top>
+<B>labelFont</B><br>
+<B>labelText</B><br>
+</td>
+<td valign=top>
+<B>labelImage</B><br>
+<B>labelVariable</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="labeledwidget.n.html"> "labeledwidget" </A> class manual entry for details on these
+inherited options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>command</B><br>
+<B>textFont</B><br>
+</td>
+<td valign=top>
+<B>int</B><br>
+<B>iq</B><br>
+</td>
+<td valign=top>
+<B>state</B><br>
+</td>
+<td valign=top>
+<B>textBackground</B><br>
+</td>
+</table>
+<P>
+See the "datefield" class manual entry for details on these
+inherited options.
+</pre><H2>ASSOCIATED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>backwardImage</B><br>
+<B>dateFont</B><br>
+<B>outline</B><br>
+<B>titleFont</B><br>
+</td>
+<td valign=top>
+<B>buttonForeground</B><br>
+<B>dayFont</B><br>
+<B>selectColor</B><br>
+<B>weekdayBackground</B><br>
+</td>
+<td valign=top>
+<B>command</B><br>
+<B>days</B><br>
+<B>selectThickness</B><br>
+<B>weekendBackground</B><br>
+</td>
+<td valign=top>
+<B>currentDateFont</B><br>
+<B>forwardImage</B><br>
+<B>startDay</B><br>
+</td>
+</table>
+<P>
+See the "calendar" manual entry for details on the associated options.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>grab</B>
+Class: <B>Grab</B>
+Command-Line Switch: <B>-grab</B>
+</pre>
+<UL>
+Specifies the grab level, <B>local</B> or <B>global</B>, to be obtained before
+bringing up the popup calendar. The default is global. For more information
+concerning grab levels, consult the documentation for Tk's <B>grab</B> command.
+</UL>
+<P>
+<pre>
+Name: <B>icon</B>
+Class: <B>Icon</B>
+Command-Line Switch: <B>-icon</B>
+</pre>
+<UL>
+Specifies the calendar icon image to be used in the dateentry.
+This image must have been created previously with
+the <B>image create</B> command. Should one not be provided,
+then one will be generated, pixmap if possible, bitmap otherwise.
+</UL>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>dateentry</B> command creates a quicken style date entry field
+with a popup calendar by combining the datefield and calendar
+widgets together. This allows a user to enter the date via the
+keyboard or by using the mouse and selecting the calendar icon
+which brings up a popup calendar.
+</pre>
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>dateentry</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 dateentry widgets:
+</pre><H2>INHERITED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>get</B><br>
+</td>
+<td valign=top>
+<B>isvalid</B><br>
+</td>
+<td valign=top>
+<B>show</B><br>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "datefield" manual entry for details on the associated methods.
+</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>dateentry</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>dateentry</B>
+command.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name: <B>label</B>
+Class: <B>Label</B>
+</pre>
+<UL>
+The label component provides a label component to used to identify the date.
+See the "label" widget manual entry for details on the label component item.
+</UL>
+<P>
+<pre>
+Name: <B>iconbutton</B>
+Class: <B>Label</B>
+</pre>
+<UL>
+The iconbutton component provides a labelbutton component to act as a
+lightweight button
+displaying the calendar icon. Upon pressing the labelbutton, the calendar
+appears. See the "label" widget manual entry for details on the
+labelbutton component item.
+</UL>
+<P>
+<pre>
+Name: <B>date</B>
+Class: <B>Entry</B>
+</pre>
+<UL>
+The date component provides the entry field for date input and display.
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/entry.n.html"> "entry" </A> widget manual entry for details on the date component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+ dateentry .de
+ pack .de
+</pre>
+</pre><H2>AUTHOR</H2>
+Mark L. Ulferts
+<P>
+</pre><H2>KEYWORDS</H2>
+dateentry, widget
diff --git a/itcl/iwidgets/demos/html/datefield.n.html b/itcl/iwidgets/demos/html/datefield.n.html
new file mode 100644
index 00000000000..8180c42ae35
--- /dev/null
+++ b/itcl/iwidgets/demos/html/datefield.n.html
@@ -0,0 +1,248 @@
+<TITLE>datefield - Create and manipulate a date field widget</TITLE>
+<H1>datefield - Create and manipulate a date field widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>datefield<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- LabeledWidget &lt;- datefield
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>background</B><br>
+<B>foreground</B><br>
+<B>justify</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>highlightColor</B><br>
+<B>relief</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+<B>highlightThickness</B><br>
+</td>
+<td valign=top>
+<B>exportSelection</B><br>
+<B>insertBackground</B><br>
+</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>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>disabledForeground</B><br>
+<B>labelMargin</B><br>
+<B>state</B><br>
+</td>
+<td valign=top>
+<B>labelBitmap</B><br>
+<B>labelPos</B><br>
+</td>
+<td valign=top>
+<B>labelFont</B><br>
+<B>labelText</B><br>
+</td>
+<td valign=top>
+<B>labelImage</B><br>
+<B>labelVariable</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="labeledwidget.n.html"> "labeledwidget" </A> class manual entry for details on the
+inherited options.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>childSitePos</B>
+Class: <B>Position</B>
+Command-Line Switch: <B>-childsitepos</B>
+</pre>
+<UL>
+Specifies the position of the child site in the date field: <B>n</B>,
+<B>s</B>, <B>e</B>, or <B>w</B>. The default is e.
+</UL>
+<P>
+<pre>
+Name: <B>command</B>
+Class: <B>Command</B>
+Command-Line Switch: <B>-command</B>
+</pre>
+<UL>
+Specifies a Tcl command to be executed upon detection of a Return key
+press event.
+</UL>
+<P>
+<pre>
+Name: <B>gmt</B>
+Class: <B>GMT</B>
+Command-Line Switch: <B>-gmt</B>
+</pre>
+<UL>
+Determines whether the date is calculated relative to Greenwich
+Mean Time. Accepts a boolean value. The default is no.
+</UL>
+<P>
+<pre>
+Name: <B>int</B>
+Class: <B>DateFormat</B>
+Command-Line Switch: <B>-int</B>
+</pre>
+<UL>
+Used to specify international date formats. This option must be
+a boolean value. When set to true, the date is formatted as
+YYYY-MM-DD. When set to false, it is formatted as MM/DD/YYYY. Note
+that this format is driven by the 'clock scan' command and that
+YYYY-MM-DD is supported in Tk 8.4 or later. The default is no.
+</UL>
+<P>
+<pre>
+Name: <B>iq</B>
+Class: <B>Iq</B>
+Command-Line Switch: <B>-iq</B>
+</pre>
+<UL>
+Specifies the level of intelligence to be shown in the actions
+taken by the datefield during the processing of keypress events.
+Valid settings include <B>high</B>, <B>average</B>, and <B>low</B>.
+With a high iq,the date prevents the user from typing in an
+invalid date. For example, if the current date is 05/31/1997 and
+the user changes the month to 04, then the day will be instantly
+modified for them to be 30. In addition, leap years are fully
+taken into account. With average iq, the month is limited to the
+values of 01-12, but it is possible to type in an invalid day.
+A setting of low iq instructs the widget to do no validity
+checking at all during date entry. With both average and low
+iq levels, it is assumed that the validity will be determined
+at a later time using the date's <B>isvalid</B> command.
+</UL>
+<P>
+<pre>
+Name: <B>state</B>
+Class: <B>State</B>
+Command-Line Switch: <B>-state</B>
+</pre>
+<UL>
+Specifies one of two states for the datefield: <B>normal</B> or <B>disabled</B>.
+If the datefield is disabled then input is not accepted. The default is
+normal.
+</UL>
+<P>
+<pre>
+Name: <B>textBackground</B>
+Class: <B>Background</B>
+Command-Line Switch: <B>-textbackground</B>
+</pre>
+<UL>
+Background color for inside textual portion of the entry field. The value
+may be given in any of the forms acceptable to <B>Tk_GetColor</B>.
+</UL>
+<P>
+<pre>
+Name: <B>textFont</B>
+Class: <B>Font</B>
+Command-Line Switch: <B>-textfont</B>
+</pre>
+<UL>
+Name of font to use for display of text in datefield. The value
+may be given in any of the forms acceptable to <B>Tk_GetFont</B>.
+</UL>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>datefield</B> command creates an enhanced text entry widget for
+the purpose of date entry with various degrees of built-in intelligence.
+</pre>
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>datefield</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 datefield 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>datefield</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>datefield</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>get</B> ?<B>format</B>?
+</I></B>
+<DD> Returns the current contents of the datefield 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>isvalid</B>
+</I></B>
+<DD> Returns a boolean indication of the validity of the currently
+displayed date value. For example, 03/03/1960 is valid whereas
+02/29/1997 is invalid.
+</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. The date may be specified either as a string, an
+integer clock value or 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>date</B>
+Class: <B>Entry</B>
+</pre>
+<UL>
+The date component provides the entry field for date input and display.
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/entry.n.html"> "entry" </A> widget manual entry for details on the date component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+ proc returnCmd {} {
+ puts [.df get]
+ }
+
+ datefield .df -command returnCmd
+ pack .df -fill x -expand yes -padx 10 -pady 10
+</pre>
+</pre><H2>AUTHOR</H2>
+Mark L. Ulferts
+<P>
+</pre><H2>KEYWORDS</H2>
+datefield, widget
diff --git a/itcl/iwidgets/demos/html/dialog.n.html b/itcl/iwidgets/demos/html/dialog.n.html
new file mode 100644
index 00000000000..8a0ab079972
--- /dev/null
+++ b/itcl/iwidgets/demos/html/dialog.n.html
@@ -0,0 +1,199 @@
+<TITLE>dialog - Create and manipulate a dialog widget</TITLE>
+<H1>dialog - Create and manipulate a dialog widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>dialog<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Toplevel &lt;- Shell &lt;- Dialogshell &lt;- Dialog
+</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>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>buttonBoxPadX</B><br>
+<B>padY</B><br>
+</td>
+<td valign=top>
+<B>buttonBoxPadY</B><br>
+<B>separator</B><br>
+</td>
+<td valign=top>
+<B>buttonBoxPos</B><br>
+<B>thickness</B><br>
+</td>
+<td valign=top>
+<B>padX</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="dialogshell.n.html"> "dialogshell" </A> manual entry for details on the above inherited options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>height</B><br>
+</td>
+<td valign=top>
+<B>master</B><br>
+</td>
+<td valign=top>
+<B>modality</B><br>
+</td>
+<td valign=top>
+<B>width</B><br>
+</td>
+</table>
+<P>
+See the "shell" manual entry for details on the above inherited options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>title</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "Toplevel" manual entry for details on the above inherited options.
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>dialog</B> command creates a dialog box providing standard
+buttons and a child site for use in derived classes. The buttons
+include ok, apply, cancel, and help. Methods and Options exist to
+configure the buttons and their containing box.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>dialog</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 dialog widgets:
+</pre><H2>INHERITED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>add</B><br>
+<B>index</B><br>
+</td>
+<td valign=top>
+<B>buttonconfigure</B><br>
+<B>insert</B><br>
+</td>
+<td valign=top>
+<B>default</B><br>
+<B>invoke</B><br>
+</td>
+<td valign=top>
+<B>hide</B><br>
+<B>show</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="buttonbox.n.html"> "buttonbox" </A> manual entry for details on the above inherited methods.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>childsite</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="dialogshell.n.html"> "dialogshell" </A> manual entry for details on the above inherited methods.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activate</B><br>
+</td>
+<td valign=top>
+<B>center</B><br>
+</td>
+<td valign=top>
+<B>deactivate</B><br>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "shell" manual entry for details on the above inherited methods.
+
+</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>dialog</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>dialog</B>
+command.
+
+</DL>
+</pre><H2>EXAMPLE</H2>
+<pre>
+ dialog .d -modality global
+ .d buttonconfigure OK -command {puts OK; .d deactivate 1}
+ .d buttonconfigure Apply -command {puts Apply}
+ .d buttonconfigure Cancel -command {puts Cancel; .d deactivate 0}
+ .d buttonconfigure Help -command {puts Help}
+
+ listbox [.d childsite].lb -relief sunken
+ pack [.d childsite].lb -expand yes -fill both
+
+ if {[.d activate]} {
+ puts "Exit via OK button"
+ } else {
+ puts "Exit via Cancel button"
+ }
+</pre>
+</pre><H2>AUTHORS</H2>
+Mark L. Ulferts
+<P>
+Bret A. Schuhmacher
+</pre><H2>KEYWORDS</H2>
+dialog, dialogshell, shell, widget
diff --git a/itcl/iwidgets/demos/html/dialogshell.n.html b/itcl/iwidgets/demos/html/dialogshell.n.html
new file mode 100644
index 00000000000..8996e2d62dc
--- /dev/null
+++ b/itcl/iwidgets/demos/html/dialogshell.n.html
@@ -0,0 +1,269 @@
+<TITLE>dialogshell - Create and manipulate a dialog shell widget</TITLE>
+<H1>dialogshell - Create and manipulate a dialog shell widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>dialogshell<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Toplevel &lt;- Shell &lt;- Dialogshell
+</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>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>height</B><br>
+</td>
+<td valign=top>
+<B>master</B><br>
+</td>
+<td valign=top>
+<B>modality</B><br>
+</td>
+<td valign=top>
+<B>width</B><br>
+</td>
+</table>
+<P>
+See the "shell" manual entry for details on the above inherited options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>title</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "Toplevel" manual entry for details on the above inherited options.
+
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>buttonBoxPadX</B>
+Class: <B>Pad</B>
+Command-Line Switch: <B>-buttonboxpadx</B>
+</pre>
+<UL>
+Specifies a non-negative padding distance to leave between the button group and
+the outer edge of the button box in the x direction. The value may be
+given in any of the forms accpetable to <B>Tk_GetPixels</B>. The default
+is 5 pixels.
+</UL>
+<P>
+<pre>
+Name: <B>buttonBoxPadY</B>
+Class: <B>Pad</B>
+Command-Line Switch: <B>-buttonboxpady</B>
+</pre>
+<UL>
+Specifies a non-negative padding distance to leave between the button group and
+the outer edge of the button box in the y direction. The value may be
+given in any of the forms accpetable to <B>Tk_GetPixels</B>. The default
+is 5 pixels.
+</UL>
+<P>
+<pre>
+Name: <B>buttonBoxPos</B>
+Class: <B>Position</B>
+Command-Line Switch: <B>-buttonboxpos</B>
+</pre>
+<UL>
+Attaches buttons to the given side of the dialog: <B>n</B>, <B>s</B>,
+<B>e</B> or <B>w</B>. The default is s.
+</UL>
+<P>
+<pre>
+Name: <B>padX</B>
+Class: <B>Pad</B>
+Command-Line Switch: <B>-padx</B>
+</pre>
+<UL>
+Specifies a padding distance for the childsite in the X-direction in
+any of the forms acceptable to <B>Tk_GetPixels</B>. The default is 10.
+</UL>
+<P>
+<pre>
+Name: <B>padY</B>
+Class: <B>Pad</B>
+Command-Line Switch: <B>-pady</B>
+</pre>
+<UL>
+Specifies a padding distance for the childsite in the Y-direction in
+any of the forms acceptable to <B>Tk_GetPixels</B>. The default is 10.
+</UL>
+<P>
+<pre>
+Name: <B>separator</B>
+Class: <B>Separator</B>
+Command-Line Switch: <B>-separator</B>
+</pre>
+<UL>
+Specifies whether a line is drawn to separate the
+buttons from the dialog box contents in any of the forms
+acceptable to <B>Tcl_GetBoolean</B>. The default is true.
+</UL>
+<P>
+<pre>
+Name: <B>thickness</B>
+Class: <B>Thickness</B>
+Command-Line Switch: <B>-thickness</B>
+</pre>
+<UL>
+Specifies the thickness of the separator in any of the forms acceptable
+to <B>Tk_GetPixels</B>. The default is 3 pixels.
+</UL>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>dialogshell</B> command creates a dialog shell which is a top
+level widget composed of a button box, separator, and child site area.
+The class also has methods to control button construction.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>dialogshell</B> command create 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 dialogshell widgets:
+</pre><H2>INHERITED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activate</B><br>
+</td>
+<td valign=top>
+<B>center</B><br>
+</td>
+<td valign=top>
+<B>deactivate</B><br>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "shell" manual entry for details on the above inherited methods.
+</pre><H2>ASSOCIATED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>add</B><br>
+<B>hide</B><br>
+<B>show</B><br>
+</td>
+<td valign=top>
+<B>buttonconfigure</B><br>
+<B>index</B><br>
+</td>
+<td valign=top>
+<B>default</B><br>
+<B>insert</B><br>
+</td>
+<td valign=top>
+<B>delete</B><br>
+<B>invoke</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="buttonbox.n.html"> "buttonbox" </A> manual entry for details on the associated methods.
+</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>dialogshell</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>childsite</B>
+</I></B>
+<DD> Returns the pathname of the child site widget.
+</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>dialogshell</B>
+command.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name: <B>dschildsite</B>
+Class: <B>frame</B>
+</pre>
+<UL>
+The dschildsite component is the user child site for the dialog shell. See
+the "frame" widget manual entry for details on the dschildsite component item.
+</UL>
+<P>
+<pre>
+Name: <B>separator</B>
+Class: <B>frame</B>
+</pre>
+<UL>
+The separator component devides the area between the user child site and
+the button box. See the "frame" widget manual entry for details on the
+separator component item.
+</UL>
+<P>
+<pre>
+Name: <B>bbox</B>
+Class: <B>ButtonBox</B>
+</pre>
+<UL>
+The bbox component is the button box containing the buttons for the dialog
+shell. See the "ButtonBox" widget manual entry for details on the
+bbox component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+ dialogshell .ds -modality none
+
+ .ds add OK -text "OK"
+ .ds add Cancel -text "Cancel"
+ .ds default OK
+
+ .ds activate
+</pre>
+</pre><H2>AUTHOR</H2>
+Mark L. Ulferts
+</pre><H2>KEYWORDS</H2>
+dialogshell, dialog, shell, widget
diff --git a/itcl/iwidgets/demos/html/disjointlistbox.n.html b/itcl/iwidgets/demos/html/disjointlistbox.n.html
new file mode 100644
index 00000000000..d860aec2466
--- /dev/null
+++ b/itcl/iwidgets/demos/html/disjointlistbox.n.html
@@ -0,0 +1,361 @@
+<TITLE>iwidgets::disjointlistbox - Create and manipulate a disjointlistbox widget</TITLE>
+<H1>iwidgets::disjointlistbox - Create and manipulate a disjointlistbox widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>iwidgets::disjointlistbox<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- iwidgets::Disjointlistbox
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B><br>
+activeForeground<br>
+buttonPlacement<br>
+highlightColor<br>
+</td>
+<td valign=top>
+activeBackground<br>
+activeRelief<br>
+clientData<br>
+highlightThickness<br>
+</td>
+<td valign=top>
+selectBorderWidth<br>
+background<br>
+cursor<br>
+disabledForeground<br>
+</td>
+<td valign=top>
+selectForeground<br>
+borderWidth<br>
+foreground<br>
+elementBorderWidth</B></I><br>
+</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>lhsButtonLabel</B><br>
+</td>
+<td valign=top>
+<B>rhsButtonLabel</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/button.n.html"> "button" </A> widget manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>labelFont</B><br>
+</td>
+<td valign=top>
+<B>lhsLabelText</B><br>
+</td>
+<td valign=top>
+<B>rhsLabelText</B><br>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "label" widget manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>jump</B><br>
+</td>
+<td valign=top>
+<B>troughColor</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/scrollbar.n.html"> "scrollbar" </A> widget class manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>textBackground</B><br>
+</td>
+<td valign=top>
+<B>textFont</B><br>
+</td>
+<td valign=top>
+<B>lhsItems</B><br>
+</td>
+<td valign=top>
+<B>rhsItems</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="scrolledlistbox.n.html"> "scrolledlistbox" </A> widget manual entry for details on the above
+associated options.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>buttonPlacement</B>
+Class: <B>ButtonPlacement</B>
+Command-Line Switch: <B>-buttonplacement</B>
+</pre>
+<UL>
+Specifies the placement of the insertion and removal buttons relative to the
+scrolledlistbox widgets<B>n</B>,
+<B>bottom</B>, or <B>center</B>. The default is bottom.
+</UL>
+<P>
+<pre>
+Name: <B>lhsLabelText</B>
+Class: <B>LabelText</B>
+Command-Line Switch: <B>-lhslabeltext</B>
+</pre>
+<UL>
+Specifies the text for the label of the lhs scrolledlistbox.
+The default is "Available".
+</UL>
+<P>
+<pre>
+Name: <B>rhsLabelText</B>
+Class: <B>LabelText</B>
+Command-Line Switch: <B>-rhslabeltext</B>
+</pre>
+<UL>
+Specifies the text for the label of the rhs scrolledlistbox.
+The default is "Available".
+</UL>
+<P>
+<pre>
+Name: <B>lhsButtonLabel</B>
+Class: <B>LabelText</B>
+Command-Line Switch: <B>-lhsbuttonlabel</B>
+</pre>
+<UL>
+Specifies the text for the button of the lhs scrolledlistbox.
+The default is "Insert &gt;&gt;".
+</UL>
+<P>
+<pre>
+Name: <B>rhsButtonLabel</B>
+Class: <B>LabelText</B>
+Command-Line Switch: <B>-rhsbuttonlabel</B>
+</pre>
+<UL>
+Specifies the text for the button of the rhs scrolledlistbox.
+The default is "&lt;&lt; Remove".
+</UL>
+<P>
+<pre>
+Name: <B>lhsSortOption</B>
+Class: <B>LhsSortOption</B>
+Command-Line Switch: <B>-lhssortoption</B>
+</pre>
+<UL>
+Specifies the sort function to be applied to the lhs scrolledlistbox
+after items are inserted. Accepts the same sort options as the scrolledlistbox
+sort method (Tcl's lsort command). If "none" is specified, the inserted
+items are appended to the end of the list, and no sorting is performed.
+The default is "increasing".
+</UL>
+<P>
+<pre>
+Name: <B>rhsSortOption</B>
+Class: <B>RhsSortOption</B>
+Command-Line Switch: <B>-rhssortoption</B>
+</pre>
+<UL>
+Specifies the sort function to be applied to the rhs scrolledlistbox
+after items are inserted. Accepts the same sort options as the scrolledlistbox
+sort method (Tcl's lsort command). If "none" is specified, the inserted
+items are appended to the end of the list, and no sorting is performed.
+The default is "increasing".
+</UL>
+<P>
+</pre><HR>
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>iwidgets::disjointlistbox</B> command creates a disjoint pair of listboxs
+similar to the OSF/Motif "Book" printing dialog of the "FrameMaker"
+program. It is implementation constists of a two Scrolledlistboxs,
+2 buttons, and 2 labels.
+
+The disjoint behavior of this widget exists between the interaction of
+the two Scrolledlistboxes with one another. That is, a given instance
+of a Disjointlistbox will never exist, without the aid of a hack magician,
+which has Scrolledlistbox widgets with items in common. That means the
+relationship between the two is maintained similar to that of disjoint sets.
+
+Users may transfer items between the two Listbox widgets using the
+the two buttons.
+
+Options exists which include the ability to configure the "items" displayed by
+the 2 Scrolledlistboxes and to control the placement of the insertion and
+removal buttons.
+</pre><H2>METHODS</H2>
+<P>
+The <B>iwidgets::disjointlistbox</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 disjointlistbox 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>iwidgets::disjointlistbox</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>iwidgets::disjointlistbox</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>setlhs</B>
+</I></B>
+<DD> Set the current contents of the left-most Scrolledlistbox with the input list
+of items. Removes all (if any) items from the right-most Scrolledlistbox
+which exist in the input list option to maintain the disjoint property
+between the two
+</DL>
+<DL>
+<DT> <I>pathName <B>setrhs</B>
+</I></B>
+<DD> Set the current contents of the right-most Scrolledlistbox with the input list
+of items. Removes all (if any) items from the left-most Scrolledlistbox
+which exist in the input list option to maintain the disjoint property
+between the two
+</DL>
+<DL>
+<DT> <I>pathName <B>getlhs</B>
+</I></B>
+<DD> Returns the current contents of the left-most Scrolledlistbox
+</DL>
+<DL>
+<DT> <I>pathName <B>getrhs</B>
+</I></B>
+<DD> Returns the current contents of the right-most Scrolledlistbox
+</DL>
+<DL>
+<DT> <I>pathName <B>insertlhs</B>
+</I></B>
+<DD> Add the input list of items to the current contents of the left-most
+Scrolledlistbox. Removes all (if any) items from the right-most Scrolledlistbox
+which exist in the input list option to maintain the disjoint property
+between the two
+</DL>
+<DL>
+<DT> <I>pathName <B>insertrhs</B>
+</I></B>
+<DD> Add the input list of items to the current contents of the right-most
+Scrolledlistbox. Removes all (if any) items from the left-most Scrolledlistbox
+which exist in the input list option to maintain the disjoint property
+between the two.
+</DL>
+<DL>
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name: <B>lhs</B>
+Class: <B>Scrolledlistbox</B>
+</pre>
+<UL>
+The lhs component is the scrolledlistbox for the rhs button.
+See the <A HREF="scrolledlistbox.n.html"> "scrolledlistbox" </A> widget manual entry for details on the lhs
+component item.
+</UL>
+<P>
+<pre>
+Name: <B>rhs</B>
+Class: <B>Scrolledlistbox</B>
+</pre>
+<UL>
+The rhs component is the scrolledlistbox for the rhs button.
+See the <A HREF="scrolledlistbox.n.html"> "scrolledlistbox" </A> widget manual entry for details on the rhs
+component item.
+</UL>
+<P>
+<pre>
+Name: <B>lhsbutton</B>
+Class: <B>utton</B>
+</pre>
+<UL>
+The lhsbutton component is the button for users to remove selected items
+from the lhs Scrolledlistbox.
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/button.n.html"> "button" </A> widget manual entry for details on the lhs button component.
+</UL>
+<P>
+<pre>
+Name: <B>rhsbutton</B>
+Class: <B>Button</B>
+</pre>
+<UL>
+The rhsbutton component is the button for users to remove selected items
+from the rhs Scrolledlistbox.
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/button.n.html"> "button" </A> widget manual entry for details on the rhs button component.
+</UL>
+<P>
+<pre>
+Name: <B>lhsCount</B>
+Class: <B>Label</B>
+</pre>
+<UL>
+The lhsCount component is the label for displaying a count of the current items in
+the Scrolledlistbox.
+See the "Label" widget manual entry for details on the lhsCount label component.
+</UL>
+<P>
+<pre>
+Name: <B>rhsCount</B>
+Class: <B>Label</B>
+</pre>
+<UL>
+The rhsCount component is the label for displaying a count of the current items in
+the Scrolledlistbox.
+See the "Label" widget manual entry for details on the rhsCount label component.
+</UL>
+</table>
+<UL>
+</UL>
+</pre><H2>EXAMPLE</H2>
+<pre>
+package require Iwidgets 4.0
+iwidgets::disjointlistbox .dlb
+pack .dlb -padx 10 -pady 10 -fill both -expand yes
+</pre>
+</pre><H2>AUTHOR(S)</H2>
+John A. Tucker
+</pre>
+Anthony Parent
+</pre><H2>KEYWORDS</H2>
+disjointlistbox, widget
diff --git a/itcl/iwidgets/demos/html/entryfield.n.html b/itcl/iwidgets/demos/html/entryfield.n.html
new file mode 100644
index 00000000000..ac46172e1f5
--- /dev/null
+++ b/itcl/iwidgets/demos/html/entryfield.n.html
@@ -0,0 +1,340 @@
+<TITLE>entryfield - Create and manipulate a entry field widget</TITLE>
+<H1>entryfield - Create and manipulate a entry field widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>entryfield<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- LabeledWidget &lt;- entryfield
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>background</B><br>
+<B>foreground</B><br>
+<B>insertBorderWidth</B><br>
+<B>justify</B><br>
+<B>selectForeground</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>highlightColor</B><br>
+<B>insertOffTime</B><br>
+<B>relief</B><br>
+<B>textVariable</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+<B>highlightThickness</B><br>
+<B>insertOnTime</B><br>
+<B>selectBackground</B><br>
+<B>width</B><br>
+</td>
+<td valign=top>
+<B>exportSelection</B><br>
+<B>insertBackground</B><br>
+<B>insertWidth</B><br>
+<B>selectBorderWidth</B><br>
+</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>show</B><br>
+</td>
+<td valign=top>
+<B>state</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/entry.n.html"> "entry" </A> manual entry for details on the associated options.
+</pre><H2>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>disabledForeground</B><br>
+<B>labelMargin</B><br>
+<B>state</B><br>
+</td>
+<td valign=top>
+<B>labelBitmap</B><br>
+<B>labelPos</B><br>
+</td>
+<td valign=top>
+<B>labelFont</B><br>
+<B>labelText</B><br>
+</td>
+<td valign=top>
+<B>labelImage</B><br>
+<B>labelVariable</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="labeledwidget.n.html"> "labeledwidget" </A> class manual entry for details on the
+inherited options.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>childSitePos</B>
+Class: <B>Position</B>
+Command-Line Switch: <B>-childsitepos</B>
+</pre>
+<UL>
+Specifies the position of the child site in the entry field: <B>n</B>,
+<B>s</B>, <B>e</B>, or <B>w</B>. The default is e.
+</UL>
+<P>
+<pre>
+Name: <B>command</B>
+Class: <B>Command</B>
+Command-Line Switch: <B>-command</B>
+</pre>
+<UL>
+Specifies a Tcl command to be executed upon detection of a Return key
+press event.
+</UL>
+<P>
+<pre>
+Name: <B>fixed</B>
+Class: <B>Fixed</B>
+Command-Line Switch: <B>-fixed</B>
+</pre>
+<UL>
+Restrict entry to the specified number of chars. A value of 0, which is the
+default, denotes no limit. The value is the maximum number of chars the
+user may type into the field, regardles of field width. For example,
+if the field width is set to 20 and the fixed value is 10, the user will
+only be able to type 10 characters into the field which is 20 characters long.
+</UL>
+<P>
+<pre>
+Name: <B>focusCommand</B>
+Class: <B>Command</B>
+Command-Line Switch: <B>-focuscommand</B>
+</pre>
+<UL>
+Specifies a Tcl command to be executed upon reception of focus.
+</UL>
+<P>
+<pre>
+Name: <B>invalid</B>
+Class: <B>Command</B>
+Command-Line Switch: <B>-invalid</B>
+</pre>
+<UL>
+Specifies a Tcl command to be executed upon determination of invalid input.
+The default is bell.
+</UL>
+<P>
+<pre>
+Name: <B>textBackground</B>
+Class: <B>Background</B>
+Command-Line Switch: <B>-textbackground</B>
+</pre>
+<UL>
+Background color for inside textual portion of the entry field. The value
+may be given in any of the forms acceptable to <B>Tk_GetColor</B>.
+</UL>
+<P>
+<pre>
+Name: <B>textFont</B>
+Class: <B>Font</B>
+Command-Line Switch: <B>-textfont</B>
+</pre>
+<UL>
+Name of font to use for display of text in entryfield. The value
+may be given in any of the forms acceptable to <B>Tk_GetFont</B>.
+</UL>
+<P>
+<pre>
+Name: <B>validate</B>
+Class: <B>Command</B>
+Command-Line Switch: <B>-validate</B>
+</pre>
+<UL>
+The validate option allows specification of a validation mechanism. Standard
+character validation such as <B>numeric</B>, <B>alphabetic</B>, <B>integer</B>,
+<B>hexidecimal</B>, <B>real</B>, and <B>alphanumeric</B> can be handled through
+the use of keywords. Should more
+extensive validation be necessary, the value may contain the name of
+a command script. The script should return a boolean value. True for
+valid, false for invalid. If false is returned, then the procedure
+associated with the invalid option will be invoked.
+If the validation 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 entryfield. The replacement
+depends on the character following the <B>%</B>, as defined in the
+list below.
+</UL>
+<DL>
+<DT> <B>%c</B>
+</I></B>
+<DD> Replaced with the current input character.
+</DL>
+<DL>
+<DT> <B>%P</B>
+</I></B>
+<DD> Replaced with the contents of the entryfield modified to include the latest
+keystoke. This is equivalent to peeking at the future contents, enabling
+rejection prior to the update.
+</DL>
+<DL>
+<DT> <B>%S</B>
+</I></B>
+<DD> Replaced with the current contents of the entryfield prior to the latest
+keystroke being added.
+</DL>
+<DL>
+<DT> <B>%W</B>
+</I></B>
+<DD> Replaced with the entryfield widget pathname.
+</DL>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>entryfield</B> command creates an enhanced text entry widget with an
+optional associated label. Addtional options support validation and
+establishing a upper limit on the number of characters which may be
+entered in the field.
+</pre>
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>entryfield</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 entryfield widgets:
+</pre><H2>ASSOCIATED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>delete</B><br>
+<B>insert</B><br>
+</td>
+<td valign=top>
+<B>get</B><br>
+<B>scan</B><br>
+</td>
+<td valign=top>
+<B>icursor</B><br>
+<B>selection</B><br>
+</td>
+<td valign=top>
+<B>index</B><br>
+<B>xview</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/entry.n.html"> "entry" </A> manual entry for details on the associated methods.
+</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>entryfield</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>childsite</B>
+</I></B>
+<DD> Returns the path name of the child site.
+</DL>
+<DL>
+<DT> <I>pathName <B>clear</B>
+</I></B>
+<DD> Clear entry widget
+</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>entryfield</B>
+command.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name: <B>efchildsite</B>
+Class: <B>frame</B>
+</pre>
+<UL>
+The efchildsite component is the user child site for the entry field. See
+the "frame" widget manual entry for details on the efchildsite component item.
+</UL>
+<P>
+<pre>
+Name: <B>entry</B>
+Class: <B>entry</B>
+</pre>
+<UL>
+The entry component provides the entry field for user text input and display.
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/entry.n.html"> "entry" </A> widget manual entry for details on the entry component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+ option add *textBackground white
+
+ proc returnCmd {} {
+ puts stdout "Return Pressed"
+ }
+
+ proc invalidCmd {} {
+ puts stdout "Alphabetic contents invalid"
+ }
+
+ entryfield .ef -command returnCmd
+
+ entryfield .fef -labeltext "Fixed:" -fixed 10 -width 12
+
+ entryfield .nef -labeltext "Numeric:" -validate numeric -width 12
+
+ entryfield .aef -labeltext "Alphabetic:" \\
+ -validate alphabetic -width 12 -invalid invalidCmd
+
+ entryfield .pef -labeltext "Password:" \\
+ -show \267 -width 12 -command returnCmd
+
+ Labeledwidget::alignlabels .ef .fef .nef .aef .pef
+
+ pack .ef -fill x -expand yes -padx 10 -pady 5
+ pack .fef -fill x -expand yes -padx 10 -pady 5
+ pack .nef -fill x -expand yes -padx 10 -pady 5
+ pack .aef -fill x -expand yes -padx 10 -pady 5
+ pack .pef -fill x -expand yes -padx 10 -pady 5
+</pre>
+</pre><H2>AUTHORS</H2>
+Sue Yockey
+<P>
+Mark L. Ulferts
+<P>
+</pre><H2>KEYWORDS</H2>
+entryfield, widget
diff --git a/itcl/iwidgets/demos/html/extbutton.n.html b/itcl/iwidgets/demos/html/extbutton.n.html
new file mode 100644
index 00000000000..99cc59652c7
--- /dev/null
+++ b/itcl/iwidgets/demos/html/extbutton.n.html
@@ -0,0 +1,160 @@
+<TITLE>extbutton - Extends the behavior of the Tk button</TITLE>
+<H1>extbutton - Extends the behavior of the Tk button</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>extbutton <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+<I>itk::Widget &lt;- extbutton</I>
+</pre><H2>STANDARD OPTIONS</H2>
+<P><I>
+<table cellpadding=5>
+<td valign=top>
+<B>activebackground</B><br>
+<B>bd</B><br>
+<B>foreground</B><br>
+<B>text</B><br>
+</td>
+<td valign=top>
+<B>activeforeground</B><br>
+<B>cursor</B><br>
+<B>image</B><br>
+</td>
+<td valign=top>
+<B>bitmap</B><br>
+<B>disabledforeground</B><br>
+<B>justify</B><br>
+</td>
+<td valign=top>
+<B>background</B><br>
+<B>font</B><br>
+<B>relief</B><br>
+</td>
+</table>
+</I>
+<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>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>bitmapforeground</B>
+Class: <B>Foreground</B>
+Command-Line Switch: <B>-bitmapforeground</B>
+</pre>
+<UL>
+Configures the foreground color of the bitmap.
+</UL>
+<P>
+<pre>
+Name: <B>command</B>
+Class: <B>Command</B>
+Command-Line Switch: <B>-command</B>
+</pre>
+<UL>
+Associate a command with the extbutton. Simulates a Tk button's
+-command option. Invoked by either &lt;1&gt; events or by explicitly
+calling the public invoke() method.
+</UL>
+<P>
+<pre>
+Name: <B>defaultring</B>
+Class: <B>DefaultRing</B>
+Command-Line Switch: <B>-defaultring</B>
+</pre>
+<UL>
+Boolean describing whether the extbutton displays its default ring given in
+any of the forms acceptable to <B>Tcl_GetBoolean</B>. The default is false.
+</UL>
+<P>
+<pre>
+Name: <B>defaultringpad</B>
+Class: <B>Pad</B>
+Command-Line Switch: <B>-defaultringpad</B>
+</pre>
+<UL>
+Specifies the amount of space to be allocated to the indentation of the
+default ring ring given in any of the forms acceptable to <B>Tcl_GetPixels</B>.
+The option has no effect if the defaultring option is set to false. The
+default is 4 pixels.
+</UL>
+<P>
+<pre>
+Name: <B>imagePos</B>
+Class: <B>Position</B>
+Command-Line Switch: <B>-imagepos</B>
+</pre>
+<UL>
+Specifies the image position relative to the message text: <B>n</B>, <B>ne</B>,
+<B>nw</B>, <B>s</B>, <B>se</B>, <B>sw</B>, <B>w</B>, <B>wn</B>, <B>ws</B>, <B>e</B>,
+<B>en</B>, or <B>es</B>. The default is w.
+</UL>
+<P>
+<pre>
+Name: <B>ringBackground</B>
+Class: <B>Background</B>
+Command-Line Switch: <B>-ringbackground</B>
+</pre>
+<UL>
+Configures the background color of the default ring frame (if -defaultring
+is set to boolean true).
+</UL>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>extbutton</B> extends the behavior of the atomic Tk button by
+allowing text and an image or bitmap to coexist. The user may use
+the -image or -bitmap options to specify an image as well as the
+-imagepos option to specify image position relative to the text.
+Note that the extbutton is not intended to be used without an
+image/bitmap. There will be an emtpy space next to the text if
+no image/bitmap is specified.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>extbutton</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>
+
+</pre><H2>INHERITED METHODS</H2>
+Each of the following methods are inherited from itk::Archetype. See that
+man page for details.
+<pre>
+<I>pathName <B>cget</B>
+pathName <B>component</B>
+pathName <B>config</B>
+pathName <B>configure</B></I>
+</pre>
+
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<DL>
+<DT> <I><B>pathName invoke
+</I></B>
+<DD> Evaluates the command fragment associated with the -command option.
+</DL>
+<DL>
+<DT> <I><B>pathName flash
+</I></B>
+<DD> Simulates the Tk button's flash command.
+</DL>
+</pre><H2>EXAMPLES</H2>
+<pre>
+</B>
+iwidgets::extbutton .eb -text "Bitmap example" -bitmap info \
+ -background bisque -activeforeground red -bitmapforeground blue \
+ -defaultring 1 -command {puts "Bisque is beautiful"}
+pack .eb -expand 1
+
+iwidgets::extbutton .eb -text "Image example" -relief ridge -image \
+ [image create photo -file $itk::library/../iwidgets/demos/images/clear.gif] \
+ -font 9x15bold -background lightgreen -imagepos e \
+ -activebackground lightyellow
+pack .eb -expand 1
+
+</pre><H2>AUTHOR</H2>
+Chad Smith
+</pre><H2>KEYWORDS</H2>
+button, pushbutton
diff --git a/itcl/iwidgets/demos/html/extfileselectionbox.n.html b/itcl/iwidgets/demos/html/extfileselectionbox.n.html
new file mode 100644
index 00000000000..55d33027bd8
--- /dev/null
+++ b/itcl/iwidgets/demos/html/extfileselectionbox.n.html
@@ -0,0 +1,467 @@
+<TITLE>extfileselectionbox - Create and manipulate a file selection box widget</TITLE>
+<H1>extfileselectionbox - Create and manipulate a file selection box widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>extfileselectionbox<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- Extfileselectionbox
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeBackground</B><br>
+<B>foreground</B><br>
+<B>insertBorderWidth</B><br>
+<B>selectBackground</B><br>
+</td>
+<td valign=top>
+<B>background</B><br>
+<B>highlightColor</B><br>
+<B>insertOffTime</B><br>
+<B>selectBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>highlightThickness</B><br>
+<B>insertOnTime</B><br>
+<B>selectForeground</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+<B>insertBackground</B><br>
+<B>insertWidth</B><br>
+</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>popupCursor</B><br>
+</td>
+<td valign=top>
+<B>textBackground</B><br>
+</td>
+<td valign=top>
+<B>textFont</B><br>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="combobox.n.html"> "combobox" </A> widget manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>labelFont</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="labeledwidget.n.html"> "labeledwidget" </A> widget manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>sashCursor</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="panedwindow.n.html"> "panedwindow" </A> widget manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeRelief</B><br>
+</td>
+<td valign=top>
+<B>elementBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>jump</B><br>
+</td>
+<td valign=top>
+<B>troughColor</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/scrollbar.n.html"> "scrollbar" </A> widget class manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>textBackground</B><br>
+</td>
+<td valign=top>
+<B>textFont</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="scrolledlistbox.n.html"> "scrolledlistbox" </A> widget manual entry for details on the above
+associated options.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>childSitePos</B>
+Class: <B>Position</B>
+Command-Line Switch: <B>-childsitepos</B>
+</pre>
+<UL>
+Specifies the position of the child site in the extended fileselection
+box: <B>n</B>, <B>s</B>, <B>e</B>, <B>w</B>, <B>top</B>, or <B>bottom</B>.
+The default is s.
+</UL>
+<P>
+<pre>
+Name: <B>directory</B>
+Class: <B>Directory</B>
+Command-Line Switch: <B>-directory</B>
+</pre>
+<UL>
+Specifies the initial default directory. The default is the present
+working directory.
+</UL>
+<P>
+<pre>
+Name: <B>dirSearchCommand</B>
+Class: <B>Command</B>
+Command-Line Switch: <B>-dirsearchcommand</B>
+</pre>
+<UL>
+Specifies a Tcl command to be executed to perform a directory search.
+The command will receive the current working directory and filter
+mask as arguments. The command should return a list of files which
+will be placed into the directory list.
+</UL>
+<P>
+<pre>
+Name: <B>dirsLabel</B>
+Class: <B>Text</B>
+Command-Line Switch: <B>-dirslabel</B>
+</pre>
+<UL>
+Specifies the text of the label for the directory list. The default is
+"Directories".
+</UL>
+<P>
+<pre>
+Name: <B>dirsOn</B>
+Class: <B>DirsOn</B>
+Command-Line Switch: <B>-dirson</B>
+</pre>
+<UL>
+Specifies whether or not to display the directory list. The
+value may be given in any of the forms acceptable to <B>Tcl_GetBoolean</B>.
+The default is true.
+</UL>
+<P>
+<pre>
+Name: <B>fileSearchCommand</B>
+Class: <B>Command</B>
+Command-Line Switch: <B>-filesearchcommand</B>
+</pre>
+<UL>
+Specifies a Tcl command to be executed to perform a file search.
+The command will receive the current working directory and filter
+mask as arguments. The command should return a list of files which
+will be placed into the file list.
+</UL>
+<P>
+<pre>
+Name: <B>filesLabel</B>
+Class: <B>Text</B>
+Command-Line Switch: <B>-fileslabel</B>
+</pre>
+<UL>
+Specifies the text of the label for the files list. The default is "Files".
+</UL>
+<P>
+<pre>
+Name: <B>filesOn</B>
+Class: <B>FilesOn</B>
+Command-Line Switch: <B>-fileson</B>
+</pre>
+<UL>
+Specifies whether or not to display the files list. The
+value may be given in any of the forms acceptable to <B>Tcl_GetBoolean</B>.
+The default is true.
+</UL>
+<P>
+<pre>
+Name: <B>fileType</B>
+Class: <B>FileType</B>
+Command-Line Switch: <B>-filetype</B>
+</pre>
+<UL>
+Specify the type of files which may appear in the file list: <B>regular</B>,
+<B>directory</B>, or <B>any</B>. The default is regular.
+</UL>
+<P>
+<pre>
+Name: <B>filterCommand</B>
+Class: <B>Command</B>
+Command-Line Switch: <B>-filtercommand</B>
+</pre>
+<UL>
+Specifies a Tcl command to be executed upon hitting the Return key
+in the filter combobox widget.
+</UL>
+<P>
+<pre>
+Name: <B>filterLabel</B>
+Class: <B>Text</B>
+Command-Line Switch: <B>-filterlabel</B>
+</pre>
+<UL>
+Specifies the text of the label for the filter combobox. The default is
+"Filter".
+</UL>
+<P>
+<pre>
+Name: <B>filterOn</B>
+Class: <B>FilterOn</B>
+Command-Line Switch: <B>-filteron</B>
+</pre>
+<UL>
+Specifies whether or not to display the filter combobox. The
+value may be given in any of the forms acceptable to <B>Tcl_GetBoolean</B>.
+The default is true.
+</UL>
+<P>
+<pre>
+Name: <B>height</B>
+Class: <B>Height</B>
+Command-Line Switch: <B>-height</B>
+</pre>
+<UL>
+Specifies the height of the selection box. The value may be specified in
+any of the forms acceptable to Tk_GetPixels. The default is 300 pixels.
+</UL>
+<P>
+<pre>
+Name: <B>invalid</B>
+Class: <B>Command</B>
+Command-Line Switch: <B>-invalid</B>
+</pre>
+<UL>
+Command to be executed should the filter contents be proven
+invalid. The default is {bell}.
+</UL>
+<P>
+<pre>
+Name: <B>mask</B>
+Class: <B>Mask</B>
+Command-Line Switch: <B>-mask</B>
+</pre>
+<UL>
+Specifies the initial file mask string. The default is "*".
+</UL>
+<P>
+<pre>
+Name: <B>noMatchString</B>
+Class: <B>NoMatchString</B>
+Command-Line Switch: <B>-nomatchstring</B>
+</pre>
+<UL>
+Specifies the string to be displayed in the files list should no files
+match the mask. The default is "".
+</UL>
+<P>
+<pre>
+Name: <B>selectDirCommand</B>
+Class: <B>Command</B>
+Command-Line Switch: <B>-selectdirommand</B>
+</pre>
+<UL>
+Specifies a Tcl command to be executed following selection of a
+directory in the directory list.
+</UL>
+<P>
+<pre>
+Name: <B>selectFileCommand</B>
+Class: <B>Command</B>
+Command-Line Switch: <B>-selectfileommand</B>
+</pre>
+<UL>
+Specifies a Tcl command to be executed following selection of a
+file in the files list.
+</UL>
+<P>
+<pre>
+Name: <B>selectionCommand</B>
+Class: <B>Command</B>
+Command-Line Switch: <B>-selectioncommand</B>
+</pre>
+<UL>
+Specifies a Tcl command to be executed upon hitting the Return key
+in the selection combobox widget.
+</UL>
+<P>
+<pre>
+Name: <B>selectionLabel</B>
+Class: <B>Text</B>
+Command-Line Switch: <B>-selectionlabel</B>
+</pre>
+<UL>
+Specifies the text of the label for the selection combobox. The default
+is "Selection".
+</UL>
+<P>
+<pre>
+Name: <B>selectionOn</B>
+Class: <B>SelectionOn</B>
+Command-Line Switch: <B>-selectionon</B>
+</pre>
+<UL>
+Specifies whether or not to display the selection combobox. The
+value may be given in any of the forms acceptable to <B>Tcl_GetBoolean</B>.
+The default is true.
+</UL>
+<P>
+<pre>
+Name: <B>width</B>
+Class: <B>Width</B>
+Command-Line Switch: <B>-width</B>
+</pre>
+<UL>
+Specifies the width of the selection box. The value may be specified in
+any of the forms acceptable to Tk_GetPixels. The default is 350 pixels.
+</UL>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>extfileselectionbox</B> command creates an extended file
+selection box which is slightly different than the fileselectionbox widget.
+The differences are mostly cosmetic in that the listboxes are
+within a panedwindow and the entryfields for the filter and selection
+have been replaced by comboboxes. Other than that the interface is
+practically the same.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>extfileselectionbox</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 extfileselectionbox 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>extfileselectionbox</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>childsite</B>
+</I></B>
+<DD> Returns the child site widget path name.
+</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>extfileselectionbox</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>filter</B>
+</I></B>
+<DD> Update the current contents of the extended file selection box based
+on the current filter combobox value.
+</DL>
+<DL>
+<DT> <I>pathName <B>get</B>
+</I></B>
+<DD> Returns the current value of the selection combobox widget.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name: <B>dirs</B>
+Class: <B>Scrolledlistbox</B>
+</pre>
+<UL>
+The dirs component is the directory list box for the extended fileselection
+box. See the "scrolledlistbox" widget manual entry for details on the dirs
+component item.
+</UL>
+<P>
+<pre>
+Name: <B>files</B>
+Class: <B>Scrolledlistbox</B>
+</pre>
+<UL>
+The files component is the file list box for the extended fileselection box.
+See the <A HREF="scrolledlistbox.n.html"> "scrolledlistbox" </A> widget manual entry for details on the files
+component item.
+</UL>
+<P>
+<pre>
+Name: <B>filter</B>
+Class: <B>Combobox</B>
+</pre>
+<UL>
+The filter component is the field for user input of the filter value.
+See the <A HREF="combobox.n.html"> "combobox" </A> widget manual entry for details on the filter
+component item.
+</UL>
+<P>
+<pre>
+Name: <B>selection</B>
+Class: <B>Combobox</B>
+</pre>
+<UL>
+The selection component is the field for user input of the currently
+selected file value. See the "combobox" widget manual entry for details
+on the selection component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+extfileselectionbox .fsb
+pack .fsb -padx 10 -pady 10 -fill both -expand yes
+</pre>
+</pre><H2>AUTHORS</H2>
+Mark L. Ulferts
+<P>
+Anthony Parent
+</pre><H2>KEYWORDS</H2>
+extfileselectionbox, widget
diff --git a/itcl/iwidgets/demos/html/extfileselectiondialog.n.html b/itcl/iwidgets/demos/html/extfileselectiondialog.n.html
new file mode 100644
index 00000000000..b3b956ace3e
--- /dev/null
+++ b/itcl/iwidgets/demos/html/extfileselectiondialog.n.html
@@ -0,0 +1,375 @@
+<TITLE>extfileselectiondialog - Create and manipulate a file selection dialog widget</TITLE>
+<H1>extfileselectiondialog - Create and manipulate a file selection dialog widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>extfileselectiondialog<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Toplevel &lt;- Shell &lt;- Dialogshell &lt;- Dialog &lt;- Extfileselectiondialog
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeBackground</B><br>
+<B>foreground</B><br>
+<B>insertBorderWidth</B><br>
+<B>selectBackground</B><br>
+</td>
+<td valign=top>
+<B>background</B><br>
+<B>highlightColor</B><br>
+<B>insertOffTime</B><br>
+<B>selectBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>highlightThickness</B><br>
+<B>insertOnTime</B><br>
+<B>selectForeground</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+<B>insertBackground</B><br>
+<B>insertWidth</B><br>
+</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>popupCursor</B><br>
+</td>
+<td valign=top>
+<B>textBackground</B><br>
+</td>
+<td valign=top>
+<B>textFont</B><br>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="combobox.n.html"> "combobox" </A> widget manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>childSitePos</B><br>
+<B>dirsOn</B><br>
+<B>filesOn</B><br>
+<B>invalid</B><br>
+<B>selectionOn</B><br>
+</td>
+<td valign=top>
+<B>directory</B><br>
+<B>filesLabel</B><br>
+<B>fileType</B><br>
+<B>mask</B><br>
+</td>
+<td valign=top>
+<B>dirsLabel</B><br>
+<B>filesLabelOn</B><br>
+<B>filterLabel</B><br>
+<B>noMatchString</B><br>
+</td>
+<td valign=top>
+<B>dirSearchCommand</B><br>
+<B>fileSearchCommand</B><br>
+<B>filterOn</B><br>
+<B>selectionLabel</B><br>
+</td>
+</table>
+<P>
+See the "extfileselectionbox" widget manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>labelFont</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="labeledwidget.n.html"> "labeledwidget" </A> widget manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>sashCursor</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="panedwindow.n.html"> "panedwindow" </A> widget manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>labelFont</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="labeledwidget.n.html"> "labeledwidget" </A> widget manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeRelief</B><br>
+</td>
+<td valign=top>
+<B>elementBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>jump</B><br>
+</td>
+<td valign=top>
+<B>troughColor</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/scrollbar.n.html"> "scrollbar" </A> widget class manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>textBackground</B><br>
+</td>
+<td valign=top>
+<B>textFont</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="scrolledlistbox.n.html"> "scrolledlistbox" </A> widget manual entry for details on the above
+associated options.
+
+</pre><H2>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>buttonBoxPadX</B><br>
+<B>padY</B><br>
+</td>
+<td valign=top>
+<B>buttonBoxPadY</B><br>
+<B>separator</B><br>
+</td>
+<td valign=top>
+<B>buttonBoxPos</B><br>
+<B>thickness</B><br>
+</td>
+<td valign=top>
+<B>padX</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="dialogshell.n.html"> "dialogshell" </A> widget manual entry for details on the above
+inherited options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>height</B><br>
+</td>
+<td valign=top>
+<B>master</B><br>
+</td>
+<td valign=top>
+<B>modality</B><br>
+</td>
+<td valign=top>
+<B>width</B><br>
+</td>
+</table>
+<P>
+See the "shell" widget manual entry for details on the above
+inherited options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>title</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "Toplevel" widget manual entry for details on the above
+inherited options.
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>extfileselectiondialog</B> command creates an extended file
+selection dialog which is slightly different than the
+fileselectiondialog widget.
+The differences are mostly cosmetic in that the listboxes are
+within a panedwindow and the entryfields for the filter and selection
+have been replaced by comboboxes. Other than that the interface is
+practically the same.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>extfileselectiondialog</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 extfileselectiondialog widgets:
+</pre><H2>ASSOCIATED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>get</B><br>
+</td>
+<td valign=top>
+<B>childsite</B><br>
+</td>
+<td valign=top>
+<B>filter</B><br>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="fileselectionbox.n.html"> "fileselectionbox" </A> class manual entry for details on the
+associated methods.
+</pre><H2>INHERITED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>add</B><br>
+<B>insert</B><br>
+</td>
+<td valign=top>
+<B>buttonconfigure</B><br>
+<B>invoke</B><br>
+</td>
+<td valign=top>
+<B>default</B><br>
+<B>show</B><br>
+</td>
+<td valign=top>
+<B>hide</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="buttonbox.n.html"> "buttonbox" </A> widget manual entry for details on the above
+inherited methods.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activate</B><br>
+</td>
+<td valign=top>
+<B>center</B><br>
+</td>
+<td valign=top>
+<B>deactivate</B><br>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "shell" widget manual entry for details on the above
+inherited methods.
+
+</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>extfileselectiondialog</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>extfileselectiondialog</B>
+command.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name: <B>fsb</B>
+Class: <B>Fileselectionbox</B>
+</pre>
+<UL>
+The fsb component is the extfileselectionbox for the extfileselectiondialog.
+See the "extfileselectionbox" widget manual entry for details on the fsb
+component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+ #
+ # Non-modal example
+ #
+ proc okCallback {} {
+ puts "You selected [.nmfsd get]"
+ .nmfsd deactivate
+ }
+
+ extfileselectiondialog .nmfsd -title Non-Modal
+ .nmfsd buttonconfigure OK -command okCallback
+
+ .nmfsd activate
+
+ #
+ # Modal example
+ #
+ extfileselectiondialog .mfsd -modality application
+ .mfsd center
+
+ if {[.mfsd activate]} {
+ puts "You selected [.mfsd get]"
+ } else {
+ puts "You cancelled the dialog"
+ }
+</pre>
+</pre><H2>AUTHORS</H2>
+Mark L. Ulferts
+<P>
+Anthony L. Parent
+</pre><H2>KEYWORDS</H2>
+extfileselectiondialog, extfileselectionbox, dialog, dialogshell, shell, widget
diff --git a/itcl/iwidgets/demos/html/feedback.n.html b/itcl/iwidgets/demos/html/feedback.n.html
new file mode 100644
index 00000000000..b2d3bca96b2
--- /dev/null
+++ b/itcl/iwidgets/demos/html/feedback.n.html
@@ -0,0 +1,168 @@
+<TITLE>feedback - Create and manipulate a feedback widget to display feedback on</TITLE>
+<H1>feedback - Create and manipulate a feedback widget to display feedback on</H1>
+
+the current status of an ongoing operation to the user.
+</pre><H2>SYNOPSIS</H2>
+<B>feedback<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- Labeledwidget &lt;- Feedback
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>background</B><br>
+<B>highlightThickness</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+</td>
+<td valign=top>
+<B>foreground</B><br>
+</td>
+<td valign=top>
+<B>highlightColor</B><br>
+</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>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>labelBitmap</B><br>
+<B>labelPos</B><br>
+</td>
+<td valign=top>
+<B>labelFont</B><br>
+<B>labelText</B><br>
+</td>
+<td valign=top>
+<B>labelImage</B><br>
+<B>labelVariable</B><br>
+</td>
+<td valign=top>
+<B>labelMargin</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="labeledwidget.n.html"> "labeledwidget" </A> class manual entry for details on the inherited options.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>barcolor</B>
+Class: <B>BarColor</B>
+Command-Line Switch: <B>-barcolor</B>
+</pre>
+<UL>
+Specifies the color of the status bar, in any of the forms
+acceptable to <B>Tk_GetColor</B>. The default is DodgerBlue.
+</UL>
+<P>
+<pre>
+Name: <B>barheight</B>
+Class: <B>BarHeight</B>
+Command-Line Switch: <B>-barheight</B>
+</pre>
+<UL>
+Specifies the height of the status bar, in any of the forms
+acceptable to <B>Tk_GetPixels</B>. The default is 20.
+</UL>
+<P>
+<pre>
+Name: <B>troughColor</B>
+Class: <B>TroughColor</B>
+Command-Line Switch: <B>-troughcolor</B>
+</pre>
+<UL>
+Specifies the color of the frame in which the status bar sits,
+in any of the forms acceptable to <B>Tk_GetColor</B>. The default is white.
+</UL>
+<P>
+<pre>
+Name: <B>steps</B>
+Class: <B>Steps</B>
+Command-Line Switch: <B>-steps</B>
+</pre>
+<UL>
+Specifies the total number of steps for the status bar. The default is 10.
+</UL>
+<P>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>feedback</B> command creates a widget to display feedback on
+the current status of an ongoing operation to the user. Display is given as
+a percentage and as a thermometer type bar. Options exist for adding a label
+and controlling its position.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>feedback</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 scrolledtext 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>scrolledhtml</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>feedback</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>reset</B>
+</I></B>
+<DD> Reset the current number of steps completed to 0, and configures the
+percentage complete label text to 0%
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>step</B> ?<I>inc</I>?
+</I></B>
+<DD> Increase the current number of steps completed by the amount specified
+by <I>inc</I>. <I>Inc</I> defaults to 1.
+
+</DL>
+</pre><H2>EXAMPLE</H2>
+<pre>
+ feedback .fb -labeltext "Status" -steps 20
+ pack .fb -padx 10 -pady 10 -fill both -expand yes
+
+ for {set i 0} {$i &lt; 20} {incr i} {
+ .fb step
+ after 500
+ }
+</pre>
+</pre><H2>ACKNOWLEDGEMENTS</H2>
+Sam Shen
+<UL>
+This code is based largely on his feedback.tcl code from tk inspect. The
+original feedback code is copyright 1995 Lawrence Berkeley Laboratory.
+</UL>
+<P>
+</pre><H2>AUTHOR</H2>
+Kris Raney
+</pre><H2>KEYWORDS</H2>
+feedback, widget
diff --git a/itcl/iwidgets/demos/html/fileselectionbox.n.html b/itcl/iwidgets/demos/html/fileselectionbox.n.html
new file mode 100644
index 00000000000..99a9e4412f3
--- /dev/null
+++ b/itcl/iwidgets/demos/html/fileselectionbox.n.html
@@ -0,0 +1,456 @@
+<TITLE>fileselectionbox - Create and manipulate a file selection box widget</TITLE>
+<H1>fileselectionbox - Create and manipulate a file selection box widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>fileselectionbox<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- Fileselectionbox
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeBackground</B><br>
+<B>foreground</B><br>
+<B>insertBorderWidth</B><br>
+<B>selectBackground</B><br>
+</td>
+<td valign=top>
+<B>background</B><br>
+<B>highlightColor</B><br>
+<B>insertOffTime</B><br>
+<B>selectBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>highlightThickness</B><br>
+<B>insertOnTime</B><br>
+<B>selectForeground</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+<B>insertBackground</B><br>
+<B>insertWidth</B><br>
+</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>textBackground</B><br>
+</td>
+<td valign=top>
+<B>textFont</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="entryfield.n.html"> "entryfield" </A> widget manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>labelFont</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="labeledwidget.n.html"> "labeledwidget" </A> widget manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeRelief</B><br>
+</td>
+<td valign=top>
+<B>elementBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>jump</B><br>
+</td>
+<td valign=top>
+<B>troughColor</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/scrollbar.n.html"> "scrollbar" </A> widget class manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>textBackground</B><br>
+</td>
+<td valign=top>
+<B>textFont</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="scrolledlistbox.n.html"> "scrolledlistbox" </A> widget manual entry for details on the above
+associated options.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>childSitePos</B>
+Class: <B>Position</B>
+Command-Line Switch: <B>-childsitepos</B>
+</pre>
+<UL>
+Specifies the position of the child site in the selection box: <B>n</B>,
+<B>s</B>, <B>e</B>, <B>w</B>, <B>top</B>, <B>bottom</B>, or <B>center</B>. The
+default is s.
+</UL>
+</table>
+<UL>
+Specifies a Tcl command procedure which is called when an file list item is
+double clicked. Typically this occurs when mouse button 1 is double
+clicked over a file name.
+</UL>
+<P>
+<pre>
+Name: <B>directory</B>
+Class: <B>Directory</B>
+Command-Line Switch: <B>-directory</B>
+</pre>
+<UL>
+Specifies the initial default directory. The default is the present
+working directory.
+</UL>
+<P>
+<pre>
+Name: <B>dirSearchCommand</B>
+Class: <B>Command</B>
+Command-Line Switch: <B>-dirsearchcommand</B>
+</pre>
+<UL>
+Specifies a Tcl command to be executed to perform a directory search.
+The command will receive the current working directory and filter
+mask as arguments. The command should return a list of files which
+will be placed into the directory list.
+</UL>
+<P>
+<pre>
+Name: <B>dirsLabel</B>
+Class: <B>Text</B>
+Command-Line Switch: <B>-dirslabel</B>
+</pre>
+<UL>
+Specifies the text of the label for the directory list. The default is
+"Directories".
+</UL>
+<P>
+<pre>
+Name: <B>dirsOn</B>
+Class: <B>DirsOn</B>
+Command-Line Switch: <B>-dirson</B>
+</pre>
+<UL>
+Specifies whether or not to display the directory list. The
+value may be given in any of the forms acceptable to <B>Tcl_GetBoolean</B>.
+The default is true.
+</UL>
+<P>
+<pre>
+Name: <B>fileSearchCommand</B>
+Class: <B>Command</B>
+Command-Line Switch: <B>-filesearchcommand</B>
+</pre>
+<UL>
+Specifies a Tcl command to be executed to perform a file search.
+The command will receive the current working directory and filter
+mask as arguments. The command should return a list of files which
+will be placed into the file list.
+</UL>
+<P>
+<pre>
+Name: <B>filesLabel</B>
+Class: <B>Text</B>
+Command-Line Switch: <B>-fileslabel</B>
+</pre>
+<UL>
+Specifies the text of the label for the files list. The default is "Files".
+</UL>
+<P>
+<pre>
+Name: <B>filesOn</B>
+Class: <B>FilesOn</B>
+Command-Line Switch: <B>-fileson</B>
+</pre>
+<UL>
+Specifies whether or not to display the files list. The
+value may be given in any of the forms acceptable to <B>Tcl_GetBoolean</B>.
+The default is true.
+</UL>
+<P>
+<pre>
+Name: <B>fileType</B>
+Class: <B>FileType</B>
+Command-Line Switch: <B>-filetype</B>
+</pre>
+<UL>
+Specify the type of files which may appear in the file list: <B>regular</B>,
+<B>directory</B>, or <B>any</B>. The default is regular.
+</UL>
+<P>
+<pre>
+Name: <B>filterCommand</B>
+Class: <B>Command</B>
+Command-Line Switch: <B>-filtercommand</B>
+</pre>
+<UL>
+Specifies a Tcl command to be executed upon hitting the Return key
+in the filter entry widget.
+</UL>
+<P>
+<pre>
+Name: <B>filterLabel</B>
+Class: <B>Text</B>
+Command-Line Switch: <B>-filterlabel</B>
+</pre>
+<UL>
+Specifies the text of the label for the filter entry field. The default is
+"Filter".
+</UL>
+<P>
+<pre>
+Name: <B>filterOn</B>
+Class: <B>FilterOn</B>
+Command-Line Switch: <B>-filteron</B>
+</pre>
+<UL>
+Specifies whether or not to display the filter entry. The
+value may be given in any of the forms acceptable to <B>Tcl_GetBoolean</B>.
+The default is true.
+</UL>
+<P>
+<pre>
+Name: <B>height</B>
+Class: <B>Height</B>
+Command-Line Switch: <B>-height</B>
+</pre>
+<UL>
+Specifies the height of the selection box. The value may be specified in
+any of the forms acceptable to Tk_GetPixels. The default is 360 pixels.
+</UL>
+<P>
+<pre>
+Name: <B>invalid</B>
+Class: <B>Command</B>
+Command-Line Switch: <B>-invalid</B>
+</pre>
+<UL>
+Command to be executed should the filter contents be proven
+invalid. The default is {bell}.
+</UL>
+<P>
+<pre>
+Name: <B>mask</B>
+Class: <B>Mask</B>
+Command-Line Switch: <B>-mask</B>
+</pre>
+<UL>
+Specifies the initial file mask string. The default is "*".
+</UL>
+<P>
+<pre>
+Name: <B>noMatchString</B>
+Class: <B>NoMatchString</B>
+Command-Line Switch: <B>-nomatchstring</B>
+</pre>
+<UL>
+Specifies the string to be displayed in the files list should no files
+match the mask. The default is "".
+</UL>
+<P>
+<pre>
+Name: <B>selectDirCommand</B>
+Class: <B>Command</B>
+Command-Line Switch: <B>-selectdirommand</B>
+</pre>
+<UL>
+Specifies a Tcl command to be executed following selection of a
+directory in the directory list.
+</UL>
+<P>
+<pre>
+Name: <B>selectFileCommand</B>
+Class: <B>Command</B>
+Command-Line Switch: <B>-selectfileommand</B>
+</pre>
+<UL>
+Specifies a Tcl command to be executed following selection of a
+file in the files list.
+</UL>
+<P>
+<pre>
+Name: <B>selectionCommand</B>
+Class: <B>Command</B>
+Command-Line Switch: <B>-selectioncommand</B>
+</pre>
+<UL>
+Specifies a Tcl command to be executed upon hitting the Return key
+in the selection entry widget.
+</UL>
+<P>
+<pre>
+Name: <B>selectionLabel</B>
+Class: <B>Text</B>
+Command-Line Switch: <B>-selectionlabel</B>
+</pre>
+<UL>
+Specifies the text of the label for the selection entry field. The default
+is "Selection".
+</UL>
+<P>
+<pre>
+Name: <B>selectionOn</B>
+Class: <B>SelectionOn</B>
+Command-Line Switch: <B>-selectionon</B>
+</pre>
+<UL>
+Specifies whether or not to display the selection entry. The
+value may be given in any of the forms acceptable to <B>Tcl_GetBoolean</B>.
+The default is true.
+</UL>
+<P>
+<pre>
+Name: <B>width</B>
+Class: <B>Width</B>
+Command-Line Switch: <B>-width</B>
+</pre>
+<UL>
+Specifies the width of the selection box. The value may be specified in
+any of the forms acceptable to Tk_GetPixels. The default is 470 pixels.
+</UL>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>fileselectionbox</B> command creates a file selection box similar
+to the OSF/Motif standard Xmfileselectionbox composite widget. The
+fileselectionbox is composed of directory and file scrolled lists as
+well as filter and selection entry fields. Bindings are in place such that
+selection of a directory list item loads the filter entry field and
+selection of a file list item loads the selection entry field. Options
+exist to control the appearance and actions of the widget.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>fileselectionbox</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 fileselectionbox 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>fileselectionbox</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>childsite</B>
+</I></B>
+<DD> Returns the child site widget path name.
+</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>fileselectionbox</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>filter</B>
+</I></B>
+<DD> Update the current contents of the file selection box based on the current
+filter entry field value.
+</DL>
+<DL>
+<DT> <I>pathName <B>get</B>
+</I></B>
+<DD> Returns the current value of the selection entry widget.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name: <B>dirs</B>
+Class: <B>Scrolledlistbox</B>
+</pre>
+<UL>
+The dirs component is the directory list box for the file selection box.
+See the <A HREF="scrolledlistbox.n.html"> "scrolledlistbox" </A> widget manual entry for details on the dirs
+component item.
+</UL>
+<P>
+<pre>
+Name: <B>files</B>
+Class: <B>Scrolledlistbox</B>
+</pre>
+<UL>
+The files component is the file list box for the file selection box.
+See the <A HREF="scrolledlistbox.n.html"> "scrolledlistbox" </A> widget manual entry for details on the files
+component item.
+</UL>
+<P>
+<pre>
+Name: <B>filter</B>
+Class: <B>Entryfield</B>
+</pre>
+<UL>
+The filter component is the entry field for user input of the filter value.
+See the <A HREF="entryfield.n.html"> "entryfield" </A> widget manual entry for details on the filter
+component item.
+</UL>
+<P>
+<pre>
+Name: <B>selection</B>
+Class: <B>Entryfield</B>
+</pre>
+<UL>
+The selection component is the entry field for user input of the currently
+selected file value. See the "entryfield" widget manual entry for details
+on the selection component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+fileselectionbox .fsb
+pack .fsb -padx 10 -pady 10 -fill both -expand yes
+</pre>
+</pre><H2>AUTHOR</H2>
+Mark L. Ulferts
+</pre><H2>KEYWORDS</H2>
+fileselectionbox, widget
diff --git a/itcl/iwidgets/demos/html/fileselectiondialog.n.html b/itcl/iwidgets/demos/html/fileselectiondialog.n.html
new file mode 100644
index 00000000000..e5553189c12
--- /dev/null
+++ b/itcl/iwidgets/demos/html/fileselectiondialog.n.html
@@ -0,0 +1,339 @@
+<TITLE>fileselectiondialog - Create and manipulate a file selection dialog widget</TITLE>
+<H1>fileselectiondialog - Create and manipulate a file selection dialog widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>fileselectiondialog<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Toplevel &lt;- Shell &lt;- Dialogshell &lt;- Dialog &lt;- Fileselectiondialog
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeBackground</B><br>
+<B>foreground</B><br>
+<B>insertBorderWidth</B><br>
+<B>selectBackground</B><br>
+</td>
+<td valign=top>
+<B>background</B><br>
+<B>highlightColor</B><br>
+<B>insertOffTime</B><br>
+<B>selectBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>highlightThickness</B><br>
+<B>insertOnTime</B><br>
+<B>selectForeground</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+<B>insertBackground</B><br>
+<B>insertWidth</B><br>
+</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>textBackground</B><br>
+</td>
+<td valign=top>
+<B>textFont</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="entryfield.n.html"> "entryfield" </A> widget manual entry for details on the above associated
+options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>childSitePos</B><br>
+<B>dirsOn</B><br>
+<B>filesOn</B><br>
+<B>invalid</B><br>
+<B>selectionOn</B><br>
+</td>
+<td valign=top>
+<B>directory</B><br>
+<B>filesLabel</B><br>
+<B>fileType</B><br>
+<B>mask</B><br>
+</td>
+<td valign=top>
+<B>dirsLabel</B><br>
+<B>filesLabelOn</B><br>
+<B>filterLabel</B><br>
+<B>noMatchString</B><br>
+</td>
+<td valign=top>
+<B>dirSearchCommand</B><br>
+<B>fileSearchCommand</B><br>
+<B>filterOn</B><br>
+<B>selectionLabel</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="fileselectionbox.n.html"> "fileselectionbox" </A> widget manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>labelFont</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="labeledwidget.n.html"> "labeledwidget" </A> widget manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>textBackground</B><br>
+</td>
+<td valign=top>
+<B>textFont</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="scrolledlistbox.n.html"> "scrolledlistbox" </A> widget manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeRelief</B><br>
+</td>
+<td valign=top>
+<B>elementBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>jump</B><br>
+</td>
+<td valign=top>
+<B>troughColor</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/scrollbar.n.html"> "scrollbar" </A> widget class manual entry for details on the above
+associated options.
+
+</pre><H2>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>buttonBoxPadX</B><br>
+<B>padY</B><br>
+</td>
+<td valign=top>
+<B>buttonBoxPadY</B><br>
+<B>separator</B><br>
+</td>
+<td valign=top>
+<B>buttonBoxPos</B><br>
+<B>thickness</B><br>
+</td>
+<td valign=top>
+<B>padX</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="dialogshell.n.html"> "dialogshell" </A> widget manual entry for details on the above
+inherited options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>height</B><br>
+</td>
+<td valign=top>
+<B>master</B><br>
+</td>
+<td valign=top>
+<B>modality</B><br>
+</td>
+<td valign=top>
+<B>width</B><br>
+</td>
+</table>
+<P>
+See the "shell" widget manual entry for details on the above
+inherited options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>title</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "Toplevel" widget manual entry for details on the above
+inherited options.
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>fileselectiondialog</B> command creates a file selection dialog
+similar to the OSF/Motif standard composite widget. The
+fileselectiondialog is derived from the Dialog class and is composed of
+a FileSelectionBox with attributes set to manipulate the dialog buttons.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>fileselectiondialog</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 fileselectiondialog widgets:
+</pre><H2>ASSOCIATED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>get</B><br>
+</td>
+<td valign=top>
+<B>childsite</B><br>
+</td>
+<td valign=top>
+<B>filter</B><br>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="fileselectionbox.n.html"> "fileselectionbox" </A> class manual entry for details on the
+associated methods.
+</pre><H2>INHERITED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>add</B><br>
+<B>insert</B><br>
+</td>
+<td valign=top>
+<B>buttonconfigure</B><br>
+<B>invoke</B><br>
+</td>
+<td valign=top>
+<B>default</B><br>
+<B>show</B><br>
+</td>
+<td valign=top>
+<B>hide</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="buttonbox.n.html"> "buttonbox" </A> widget manual entry for details on the above
+inherited methods.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activate</B><br>
+</td>
+<td valign=top>
+<B>center</B><br>
+</td>
+<td valign=top>
+<B>deactivate</B><br>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "shell" widget manual entry for details on the above
+inherited methods.
+
+</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>fileselectiondialog</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>fileselectiondialog</B>
+command.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name: <B>fsb</B>
+Class: <B>Fileselectionbox</B>
+</pre>
+<UL>
+The fsb component is the file selection box for the file selection dialog.
+See the <A HREF="fileselectionbox.n.html"> "fileselectionbox" </A> widget manual entry for details on the fsb
+component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+ #
+ # Non-modal example
+ #
+ proc okCallback {} {
+ puts "You selected [.nmfsd get]"
+ .nmfsd deactivate
+ }
+
+ fileselectiondialog .nmfsd -title Non-Modal
+ .nmfsd buttonconfigure OK -command okCallback
+
+ .nmfsd activate
+
+ #
+ # Modal example
+ #
+ fileselectiondialog .mfsd -modality application
+ .mfsd center
+
+ if {[.mfsd activate]} {
+ puts "You selected [.mfsd get]"
+ } else {
+ puts "You cancelled the dialog"
+ }
+</pre>
+</pre><H2>AUTHOR</H2>
+Mark L. Ulferts
+</pre><H2>KEYWORDS</H2>
+fileselectiondialog, fileselectionbox, dialog, dialogshell, shell, widget
diff --git a/itcl/iwidgets/demos/html/finddialog.n.html b/itcl/iwidgets/demos/html/finddialog.n.html
new file mode 100644
index 00000000000..6c578972bdb
--- /dev/null
+++ b/itcl/iwidgets/demos/html/finddialog.n.html
@@ -0,0 +1,392 @@
+<TITLE>finddialog - Create and manipulate a find dialog widget</TITLE>
+<H1>finddialog - Create and manipulate a find dialog widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>finddialog<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Toplevel &lt;- Shell &lt;- Dialogshell &lt;- Finddialog
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeBackground</B><br>
+<B>cursor</B><br>
+<B>highlightColor</B><br>
+<B>insertOffTime</B><br>
+<B>selectBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>activeForeground</B><br>
+<B>disabledForeground</B><br>
+<B>highlightThickness</B><br>
+<B>insertOnTime</B><br>
+<B>selectColor</B><br>
+</td>
+<td valign=top>
+<B>background</B><br>
+<B>font</B><br>
+<B>insertBackground</B><br>
+<B>insertWidth</B><br>
+<B>selectForeground</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>foreground</B><br>
+<B>insertBorderWidth</B><br>
+<B>selectBackground</B><br>
+</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>selectColor</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "checkbutton" widget manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>selectColor</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="entryfield.n.html"> "entryfield" </A> widget manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>labelFont</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="labeledwidget.n.html"> "labeledwidget" </A> widget manual entry for details on the above
+associated options.
+</pre><H2>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>buttonBoxPadX</B><br>
+<B>padY</B><br>
+</td>
+<td valign=top>
+<B>buttonBoxPadY</B><br>
+<B>separator</B><br>
+</td>
+<td valign=top>
+<B>buttonBoxPos</B><br>
+<B>thickness</B><br>
+</td>
+<td valign=top>
+<B>padX</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="dialogshell.n.html"> "dialogshell" </A> widget manual entry for details on the above
+inherited options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>height</B><br>
+</td>
+<td valign=top>
+<B>master</B><br>
+</td>
+<td valign=top>
+<B>modality</B><br>
+</td>
+<td valign=top>
+<B>width</B><br>
+</td>
+</table>
+<P>
+See the "shell" widget manual entry for details on the above
+inherited options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>title</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "Toplevel" widget manual entry for details on the above
+inherited options.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>clearCommand</B>
+Class: <B>Command</B>
+Command-Line Switch: <B>-clearcommand</B>
+</pre>
+<UL>
+Specifies a command to be invoked following a clear operation.
+The option is meant to be used as means of notification that the
+clear has taken place and allow other actions to take place such
+as disabling a find again menu.
+</UL>
+<P>
+<pre>
+Name: <B>matchCommand</B>
+Class: <B>Command</B>
+Command-Line Switch: <B>-matchcommand</B>
+</pre>
+<UL>
+Specifies a command to be invoked following a find operation.
+The command is called with a match point as an argument which identifies
+where exactly where in the text or scrolledtext widget that the match
+is located. Should a match not be found the match point is {}. The
+option is meant to be used as a means of notification that the
+find operation has completed and allow other actions to take place
+such as disabling a find again menu option if the match point was {}.
+</UL>
+<P>
+<pre>
+Name: <B>patternBackground</B>
+Class: <B>Background</B>
+Command-Line Switch: <B>-patternbackground</B>
+</pre>
+<UL>
+Specifies the background color of the text matching the search
+pattern. It may have any of the forms accepted by Tk_GetColor.
+The default is gray44.
+</UL>
+<P>
+<pre>
+Name: <B>patternForeground</B>
+Class: <B>Background</B>
+Command-Line Switch: <B>-patternforeground</B>
+</pre>
+<UL>
+Specifies the foreground color of the text matching the search
+pattern. It may have any of the forms accepted by Tk_GetColor.
+The default is white.
+</UL>
+<P>
+<pre>
+Name: <B>searchBackground</B>
+Class: <B>Background</B>
+Command-Line Switch: <B>-searchbackground</B>
+</pre>
+<UL>
+Specifies the background color of the line containing the matching
+the search pattern. It may have any of the forms accepted by Tk_GetColor.
+The default is gray77.
+</UL>
+<P>
+<pre>
+Name: <B>searchForeground</B>
+Class: <B>Background</B>
+Command-Line Switch: <B>-searchforeground</B>
+</pre>
+<UL>
+Specifies the foreground color of the line containing the matching
+the search pattern. It may have any of the forms accepted by Tk_GetColor.
+The default is black.
+</UL>
+<P>
+<pre>
+Name: <B>textWidget</B>
+Class: <B>TextWidget</B>
+Command-Line Switch: <B>-textwidget</B>
+</pre>
+<UL>
+Specifies the text or scrolledtext widget to be searched.
+</UL>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>finddialog</B> command creates a find dialog that works in
+conjunction with a text or scrolledtext widget to provide a means
+of performing search operations. The user is prompted for a text
+pattern to be found in the text or scrolledtext widget. The
+search can be for all occurances, by regular expression, considerate
+of the case, or backwards.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>finddialog</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 finddialog widgets:
+</pre><H2>INHERITED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>add</B><br>
+<B>invoke</B><br>
+</td>
+<td valign=top>
+<B>buttonconfigure</B><br>
+<B>show</B><br>
+</td>
+<td valign=top>
+<B>default</B><br>
+</td>
+<td valign=top>
+<B>hide</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="buttonbox.n.html"> "buttonbox" </A> widget manual entry for details on the above
+inherited methods.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activate</B><br>
+</td>
+<td valign=top>
+<B>center</B><br>
+</td>
+<td valign=top>
+<B>deactivate</B><br>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "shell" widget manual entry for details on the above
+inherited methods.
+</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>finddialog</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>clear</B>
+</I></B>
+<DD> Clears the pattern in the entry field and the pattern matchin
+indicators in the text or scrolledtext widget.
+</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>finddialog</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>find</B>
+</I></B>
+<DD> Search for a specific text string in the text widget given by
+the -textwidget option. This method is the standard callback
+for the Find button. It is made available such that it can be
+bound to a find again action.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name: <B>all</B>
+Class: <B>Checkbutton</B>
+</pre>
+<UL>
+The all component specifies that all the matches of the pattern should be
+found when performing the search. See the "checkbutton" widget manual
+entry for details on the all component item.
+</UL>
+<P>
+<pre>
+Name: <B>backwards</B>
+Class: <B>Checkbutton</B>
+</pre>
+<UL>
+The backwards component specifies that the search should continue in
+a backwards direction towards the beginning of the text or scrolledtext
+widget. See the "checkbutton" widget manual entry for details on the
+backwards component item.
+</UL>
+<P>
+<pre>
+Name: <B>case</B>
+Class: <B>Checkbutton</B>
+</pre>
+<UL>
+The case component specifies that the case of the pattern should be
+taken into consideration when performing the search. See the
+"checkbutton" widget manual entry for details on the case component item.
+</UL>
+<P>
+<pre>
+Name: <B>pattern</B>
+Class: <B>Entryfield</B>
+</pre>
+<UL>
+The pattern component provides the pattern entry field. See the
+"entryfield" widget manual entry for details on the pattern component item.
+</UL>
+<P>
+<pre>
+Name: <B>regexp</B>
+Class: <B>Checkbutton</B>
+</pre>
+<UL>
+The regexp component specifies that the pattern is a regular expression.
+See the "checkbutton" widget manual entry for details on the regexp
+component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+ scrolledtext .st
+ pack .st
+ .st insert end "Now is the time for all good men\\n"
+ .st insert end "to come to the aid of their country"
+
+ finddialog .fd -textwidget .st
+ .fd center .st
+ .fd activate
+</pre>
+</pre><H2>AUTHOR</H2>
+Mark L. Ulferts
+</pre><H2>KEYWORDS</H2>
+finddialog, dialogshell, shell, widget
+
diff --git a/itcl/iwidgets/demos/html/hierarchy.n.html b/itcl/iwidgets/demos/html/hierarchy.n.html
new file mode 100644
index 00000000000..2fddd9e7030
--- /dev/null
+++ b/itcl/iwidgets/demos/html/hierarchy.n.html
@@ -0,0 +1,673 @@
+<TITLE>hierarchy - Create and manipulate a hierarchy widget</TITLE>
+<H1>hierarchy - Create and manipulate a hierarchy widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>hierarchy<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- Labeledwidget &lt;- Scrolledwidget &lt;- Hierarchy
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeBackground</B><br>
+<B>cursor</B><br>
+<B>highlightThickness</B><br>
+</td>
+<td valign=top>
+<B>activeForeground</B><br>
+<B>disabledForeground</B><br>
+<B>relief</B><br>
+</td>
+<td valign=top>
+<B>background</B><br>
+<B>foreground</B><br>
+<B>selectBackground</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>highlightColor</B><br>
+<B>selectForeground</B><br>
+</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>activeRelief</B><br>
+</td>
+<td valign=top>
+<B>elementBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>jump</B><br>
+</td>
+<td valign=top>
+<B>troughColor</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/scrollbar.n.html"> "scrollbar" </A> widget manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>spacing1</B><br>
+</td>
+<td valign=top>
+<B>spacing2</B><br>
+</td>
+<td valign=top>
+<B>spacing3</B><br>
+</td>
+<td valign=top>
+<B>tabs</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/text.n.html"> "text" </A> widget manual entry for details on the above
+associated options.
+</pre><H2>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>labelBitmap</B><br>
+<B>labelPos</B><br>
+</td>
+<td valign=top>
+<B>labelFont</B><br>
+<B>labelText</B><br>
+</td>
+<td valign=top>
+<B>labelImage</B><br>
+<B>labelVariable</B><br>
+</td>
+<td valign=top>
+<B>labelMargin</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="labeledwidget.n.html"> "labeledwidget" </A> class manual entry for details on the inherited options.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>alwaysQuery</B>
+Class: <B>AlwaysQuery</B>
+Command-Line Switch: <B>-alwaysquery</B>
+</pre>
+<UL>
+Boolean flag which tells the hierarchy widget weather or not
+each refresh of the display should be via a new query using
+the command value of the -querycommand option or use the values
+previous found the last time the query was made. The default
+is no.
+</UL>
+<P>
+<pre>
+Name: <B>closedIcon</B>
+Class: <B>Icon</B>
+Command-Line Switch: <B>-closedicon</B>
+</pre>
+<UL>
+Specifies the name of an existing closed icon image to be used in the
+hierarchy before those nodes that are collapsed. Should one not be
+provided, then a folder icon will be generated, pixmap if possible,
+bitmap otherwise.
+</UL>
+<P>
+<pre>
+Name: <B>expanded</B>
+Class: <B>Expanded</B>
+Command-Line Switch: <B>-expanded</B>
+</pre>
+<UL>
+When true, the hierarchy will be completely expanded when it
+is first displayed. A fresh display can be triggered by
+resetting the -querycommand option. The default is false.
+</UL>
+<P>
+<pre>
+Name: <B>filter</B>
+Class: <B>Filter</B>
+Command-Line Switch: <B>-filter</B>
+</pre>
+<UL>
+When true only the branch nodes and selected items are displayed.
+This gives a compact view of important items. The default is false.
+</UL>
+<P>
+<pre>
+Name: <B>height</B>
+Class: <B>Height</B>
+Command-Line Switch: <B>-height</B>
+</pre>
+<UL>
+Specifies the height of the hierarchy as an entire unit.
+The value may be specified in any of the forms acceptable to
+<B>Tk_GetPixels</B>. Any additional space needed to display the other
+components such as labels, margins, and scrollbars force the hierarchy
+to be compressed. A value of zero along with the same value for
+the width causes the value given for the visibleitems option
+to be applied which administers geometry constraints in a different
+manner. The default height is zero.
+</UL>
+<P>
+<pre>
+Name: <B>iconCommand</B>
+Class: <B>Command</B>
+Command-Line Switch: <B>-iconcommand</B>
+</pre>
+<UL>
+Specifies a command to be executed upon user selection via mouse button
+one of any additional icons given in the values returned by the command
+associated with the -querycommand option. If this command contains "%n",
+it is replaced with the name of the node the icon belongs to. Should it
+contain "%i" then the icon name is substituted.
+</UL>
+<P>
+<pre>
+Name: <B>markBackground</B>
+Class: <B>Foreground</B>
+Command-Line Switch: <B>-markbackground</B>
+</pre>
+<UL>
+Specifies the background color to use when displaying marked nodes.
+</UL>
+<P>
+<pre>
+Name: <B>markForeground</B>
+Class: <B>Background</B>
+Command-Line Switch: <B>-markforeground</B>
+</pre>
+<UL>
+Specifies the foreground color to use when displaying marked nodes.
+</UL>
+<P>
+<pre>
+Name: <B>menuCursor</B>
+Class: <B>Cursor</B>
+Command-Line Switch: <B>-menucursor</B>
+</pre>
+<UL>
+Specifies the mouse cursor to be used for the item and background
+menus. The value may have any of the forms accept able to Tk_GetCursor.
+</UL>
+<P>
+<pre>
+Name: <B>nodeIcon</B>
+Class: <B>Icon</B>
+Command-Line Switch: <B>-nodeicon</B>
+</pre>
+<UL>
+Specifies the name of an existing node icon image to be used in the
+hierarchy before those nodes that are leafs. Should one not be provided,
+then a dog-eared page icon will be generated, pixmap if possible, bitmap
+otherwise.
+</UL>
+<P>
+<pre>
+Name: <B>openIcon</B>
+Class: <B>Icon</B>
+Command-Line Switch: <B>-openicon</B>
+</pre>
+<UL>
+Specifies the name of an existing open icon image to be used in the
+hierarchy before those nodes that are expanded. Should one not be provided,
+then an open folder icon will be generated, pixmap if possible, bitmap
+otherwise.
+</UL>
+<P>
+<pre>
+Name: <B>queryCommand</B>
+Class: <B>Command</B>
+Command-Line Switch: <B>-querycommand</B>
+</pre>
+<UL>
+Specifies the command executed to query the contents of each node. If this
+command contains "%n", it is replaced with the name of the desired
+node. In its simpilest form it should return the children of the
+given node as a list which will be depicted in the display.
+Since the names of the children are used as tags in the underlying
+text widget, each child must be unique in the hierarchy. Due to
+the unique requirement, the nodes shall be reffered to as uids
+or uid in the singular sense. The format of returned list is
+</UL>
+<UL>
+ {uid [uid ...]}
+</UL>
+<UL>
+ where uid is a unique id and primary key for the hierarchy entry
+</UL>
+<UL>
+Should the unique requirement pose a problem, the list returned
+can take on another more extended form which enables the
+association of text to be displayed with the uids. The uid must
+still be unique, but the text does not have to obey the unique
+rule. In addition, the format also allows the specification of
+additional tags to be used on the same entry in the hierarchy
+as the uid and additional icons to be displayed just before
+the node. The tags and icons are considered to be the property of
+the user in that the hierarchy widget will not depend on any of
+their values. The extended format is
+</UL>
+<UL>
+ {{uid [text [tags [icons]]]} {uid [text [tags [icons]]]} ...}
+</UL>
+<UL>
+ where uid is a unique id and primary key for the hierarchy entry
+ text is the text to be displayed for this uid
+ tags is a list of user tags to be applied to the entry
+ icons is a list of icons to be displayed in front of the text
+</UL>
+<UL>
+The hierarchy widget does a look ahead from each node to determine
+if the node has a children. This can be cost some performace with
+large hierarchies. User's can avoid this by providing a hint in
+the user tags. A tag of "leaf" or "branch" tells the hierarchy
+widget the information it needs to know thereby avoiding the look
+ahead operation.
+</UL>
+<P>
+<pre>
+Name: <B>hscrollMode</B>
+Class: <B>ScrollMode</B>
+Command-Line Switch: <B>-hscrollmode</B>
+</pre>
+<UL>
+Specifies the the display mode to be used for the horizontal
+scrollbar: <B>static, dynamic,</B> or <B>none</B>. In static mode, the
+scroll bar is displayed at all times. Dynamic mode displays the
+scroll bar as required, and none disables the scroll bar display. The
+default is static.
+</UL>
+<P>
+<pre>
+Name: <B>sbWidth</B>
+Class: <B>Width</B>
+Command-Line Switch: <B>-sbwidth</B>
+</pre>
+<UL>
+Specifies the width of the scrollbar in any of the forms
+acceptable to <B>Tk_GetPixels</B>.
+</UL>
+<P>
+<pre>
+Name: <B>scrollMargin</B>
+Class: <B>Margin</B>
+Command-Line Switch: <B>-scrollmargin</B>
+</pre>
+<UL>
+Specifies the distance between the text portion of the hierarchy and
+the scrollbars in any of the forms acceptable to <B>Tk_GetPixels</B>. The
+default is 3 pixels.
+</UL>
+<P>
+<pre>
+Name: <B>textBackground</B>
+Class: <B>Background</B>
+Command-Line Switch: <B>-textbackground</B>
+</pre>
+<UL>
+Specifies the background color for the text portion of the hierarchy in
+any of the forms acceptable to <B>Tk_GetColor</B>.
+</UL>
+<P>
+<pre>
+Name: <B>textFont</B>
+Class: <B>Font</B>
+Command-Line Switch: <B>-textfont</B>
+</pre>
+<UL>
+Specifies the font to be used in the text portion of the hierarchy.
+</UL>
+<P>
+<pre>
+Name: <B>visibleitems</B>
+Class: <B>VisibleItems</B>
+Command-Line Switch: <B>-visibleitems</B>
+</pre>
+<UL>
+Specifies the widthxheight in characters and lines for the hierarchy.
+This option is only administered if the width and height options
+are both set to zero, otherwise they take precedence. The default value
+is 80x24. With the visibleitems option engaged, geometry constraints
+are maintained only on the text portion of the hierarchy. The size of
+the other components such as
+labels, margins, and scroll bars, are additive and independent,
+effecting the overall size of the hierarchy. In contrast,
+should the width and height options have non zero values, they
+are applied to the hierarchy as a whole. The hierarchy
+is compressed or expanded to maintain the geometry constraints.
+</UL>
+<P>
+<pre>
+Name: <B>vscrollMode</B>
+Class: <B>ScrollMode</B>
+Command-Line Switch: <B>-vscrollmode</B>
+</pre>
+<UL>
+Specifies the the display mode to be used for the vertical
+scrollbar: <B>static, dynamic,</B> or <B>none</B>. In static mode, the
+scroll bar is displayed at all times. Dynamic mode displays the
+scroll bar as required, and none disables the scroll bar display. The
+default is static.
+</UL>
+<P>
+<pre>
+Name: <B>width</B>
+Class: <B>Width</B>
+Command-Line Switch: <B>-width</B>
+</pre>
+<UL>
+Specifies the width of the hierarchy as an entire unit.
+The value may be specified in any of the forms acceptable to
+<B>Tk_GetPixels</B>. Any additional space needed to display the other
+components such as labels, margins, and scrollbars force the text portion
+of the hierarchy
+to be compressed. A value of zero along with the same value for
+the height causes the value given for the visibleitems option
+to be applied which administers geometry constraints in a different
+manner. The default width is zero.
+</UL>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>hierarchy</B> command creates a hierarchical data view widget.
+It allows the graphical management of a a list of nodes that can be
+expanded or collapsed. Individual nodes can be highlighted.
+Clicking with the right mouse button on any item brings up a
+special item menu. Clicking on the background area brings up
+a different popup menu. Options exist to provide user control over
+the loading of the nodes and actions associated with node selection.
+Since the hierarchy is based on the scrolledtext widget, it includes
+options to control the method in which the scrollbars are displayed,
+i.e. statically or dynamically. Options also exist for adding a
+label to the hierarchy and controlling its position.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>hierarchy</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 hierarchy widgets:
+</pre><H2>ASSOCIATED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>bbox</B><br>
+<B>dlineinfo</B><br>
+<B>insert</B><br>
+<B>tag</B><br>
+</td>
+<td valign=top>
+<B>compare</B><br>
+<B>dump</B><br>
+<B>scan</B><br>
+<B>window</B><br>
+</td>
+<td valign=top>
+<B>debug</B><br>
+<B>get</B><br>
+<B>search</B><br>
+<B>xview</B><br>
+</td>
+<td valign=top>
+<B>delete</B><br>
+<B>index</B><br>
+<B>see</B><br>
+<B>yview</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/text.n.html"> "text" </A> manual entry for details on the standard methods.
+
+</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>hierarchy</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>clear</B>
+</I></B>
+<DD> Removes all items from the hierarchy display including all tags and icons.
+The display will remain empty until the -filter or -querycommand
+options are set.
+</DL>
+<DL>
+<DT> <I>pathName <B>collapse</B> <I>uid</I>
+</I></B>
+<DD> Collapses the hierarchy beneath the node with the specified unique id by
+one level. Since this can take a moment for large hierarchies, the
+cursor will be changed to a watch during the collapse. Also, if any
+of the nodes beneath the node being collapsed are selected, their
+status is changed to unselected.
+</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>hierarchy</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>current</B>
+</I></B>
+<DD> Returns the tags for the node that was most recently selected by the
+right mouse button when the item menu was posted. Usually used by the code
+in the item menu to figure out what item is being manipulated.
+</DL>
+<DL>
+<DT> <I>pathName <B>draw</B> ?<I>when</I>?
+</I></B>
+<DD> Performs a complete redraw of the entire hierarchy. When may be either -now
+or -eventually where the latter means the draw can be performed after idle.
+</DL>
+<DL>
+<DT> <I>pathName <B>expand</B> <I>uid</I>
+</I></B>
+<DD> Expands the hierarchy beneath the node with the specified unique id by
+one level. Since this can take a moment for large hierarchies, the cursor
+will be changed to a watch during the expansion.
+</DL>
+<DL>
+<DT> <I>pathName <B>mark</B> <I>option ?arg arg ...?</I>
+</I></B>
+<DD> This command is used to manipulate marks which is quite similar to
+selection, adding a secondary means of hilighting an item in the
+hierarchy. The exact behavior of the command depends on the
+<I>option</I> argument that follows the <B>mark</B> argument. The
+following forms of the command are currently supported:
+</DL>
+<UL>
+<DL>
+<DT> <I>pathName <B>mark clear</B>
+</I></B>
+<DD> Clears all the currently marked nodes in the hierarchy.
+</DL>
+<DL>
+<DT> <I>pathName <B>mark add <I>uid </I>?<I>uid uid ...</I>?
+</I></B>
+<DD> Marks the nodes with the specified uids in the hierarchy using the
+<B>-markbackground</B> and <B>-markforeground</B> options and without
+affecting the mark state of any other nodes that were already
+marked.
+</DL>
+<DL>
+<DT> <I>pathName <B>mark remove <I>uid </I>?<I>uid uid ...</I>?
+</I></B>
+<DD> Unmarks the nodes with the specified uids in the hierarchy without
+affecting the mark state of any other nodes that were already
+marked.
+</DL>
+<DL>
+<DT> <I>pathName <B>mark get</B>
+</I></B>
+<DD> Returns a list of the unique ids that are currently marked.
+</DL>
+</UL>
+<DL>
+<DT> <I>pathName <B>refresh</B> <I>uid</I>
+</I></B>
+<DD> Performs a redraw of a specific node that has the given uid. If the node
+is not currently visible or in other words already drawn on the text,
+then no action is taken.
+</DL>
+<DL>
+<DT> <I>pathName <B>prune</B> <I>uid</I>
+</I></B>
+<DD> Removes the node specified by the given uid from the hierarchy. Should
+the node have children, then all of its children will be removed as well.
+</DL>
+<DL>
+<DT> <I>pathName <B>selection</B> <I>option </I>?<I>arg arg ...</I>?
+</I></B>
+<DD> This command is used to manipulate the selection of nodes in the
+hierarchy. The exact behavior of the command depends on the
+<I>option</I> argument that follows the <B>selection</B> argument. The
+following forms of the command are currently supported:
+</DL>
+<UL>
+<DL>
+<DT> <I>pathName <B>selection clear</B>
+</I></B>
+<DD> Clears all the currently selected nodes in the hierarchy.
+</DL>
+<DL>
+<DT> <I>pathName <B>selection add <I>uid </I>?<I>uid uid ...</I>?
+</I></B>
+<DD> Selects the nodes with the specified uids in the hierarchy using the
+<B>-selectionbackground</B> and <B>-selectionforeground</B> options and without
+affecting the selection state of any other nodes that were already
+selected.
+</DL>
+<DL>
+<DT> <I>pathName <B>selection remove <I>uid </I>?<I>uid uid ...</I>?
+</I></B>
+<DD> Deselects the nodes with the specified uids in the hierarchy without
+affecting the selection state of any other nodes that were already
+selected.
+</DL>
+<DL>
+<DT> <I>pathName <B>selection get</B>
+</I></B>
+<DD> Returns a list of the unique ids that are currently selected.
+</DL>
+</UL>
+A nodes selection status is also dependent on it being visible. If a
+node is selected and its parent is then collapsed making the selected
+node not visible, then its selection status is changed to unselected.
+<DL>
+<DT> <I>pathName <B>toggle</B> <I>uid</I>
+</I></B>
+<DD> Toggles the hierarchy beneath the node with the specified unique id. If
+the hierarchy is currently expanded, then it is collapsed, and vice-versa.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name: <B>list</B>
+Class: <B>Text</B>
+</pre>
+<UL>
+The list component is the text widget in which the hierarchy is displayed.
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/text.n.html"> "text" </A> widget manual entry for details on the text component item.
+</UL>
+<P>
+<pre>
+Name: <B>bgMenu</B>
+Class: <B>Menu</B>
+</pre>
+<UL>
+The bgMenu component is the popup menu which is displayed upon pressing
+the right mouse button in the background, i.e. not over a specific node. Menu
+items can be added along with their commands via the component command.
+See the "menu" widget manual entry for details on the bgMenu component item.
+</UL>
+<P>
+<pre>
+Name: <B>horizsb</B>
+Class: <B>Scrollbar</B>
+</pre>
+<UL>
+The horizsb component is the horizontal scroll bar. See the "scrollbar"
+widget manual entry for details on the horizsb component item.
+</UL>
+<P>
+<pre>
+Name: <B>itemMenu</B>
+Class: <B>Menu</B>
+</pre>
+<UL>
+The itemMenu component is the popup menu which is displayed upon selection
+of a hierarchy node with the right mouse button. Menu items can be
+added along with their commands via the component command. See the "menu"
+widget manual entry for details on the itemMenu component item.
+</UL>
+<P>
+<pre>
+Name: <B>vertsb</B>
+Class: <B>Scrollbar</B>
+</pre>
+<UL>
+The vertsb component is the vertical scroll bar. See the "scrollbar" widget
+manual entry for details on the vertsb component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+proc get_files {file} {
+ global env
+
+ if {$file == ""} {
+ set dir $env(HOME)
+ } else {
+ set dir $file
+ }
+
+ if {[catch {cd $dir}] != 0} {
+ return ""
+ }
+
+ set rlist ""
+
+ foreach file [lsort [glob -nocomplain *]] {
+ lappend rlist [list [file join $dir $file] $file]
+ }
+
+ return $rlist
+}
+
+hierarchy .h -querycommand "get_files %n" -visibleitems 30x15 \
+ -labeltext $env(HOME)
+pack .h -side left -expand yes -fill both
+</pre>
+</pre><H2>AUTHORS</H2>
+Mark L. Ulferts
+<P>
+Michael J. McLennan
+</pre><H2>KEYWORDS</H2>
+hierarchy, text, widget
diff --git a/itcl/iwidgets/demos/html/hyperhelp.n.html b/itcl/iwidgets/demos/html/hyperhelp.n.html
new file mode 100644
index 00000000000..8be35c4aa1b
--- /dev/null
+++ b/itcl/iwidgets/demos/html/hyperhelp.n.html
@@ -0,0 +1,258 @@
+<TITLE>hyperhelp - Create and manipulate a hyperhelp widget</TITLE>
+<H1>hyperhelp - Create and manipulate a hyperhelp widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>hyperhelp<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Toplevel &lt;- shell &lt;- hyperhelp
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeBackground</B><br>
+<B>cursor</B><br>
+<B>highlightThickness</B><br>
+<B>insertOnTime</B><br>
+<B>relief</B><br>
+<B>selectBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>background</B><br>
+<B>exportSelection</B><br>
+<B>insertBackground</B><br>
+<B>insertWidth</B><br>
+<B>repeatDelay</B><br>
+<B>selectForeground</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>foreground</B><br>
+<B>insertBorderWidth<br>
+<B>padX</B><br>
+<B>repeatInterval</B><br>
+<B>setGrid</B><br>
+</td>
+<td valign=top>
+<B>closecmd</B><br>
+<B>highlightColor</B><br>
+<B>insertOffTime</B><br>
+<B>padY</B><br>
+<B>selectBackground</B><br>
+</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>hscrollmode</B><br>
+<B>fontsize</B><br>
+<B>width</B><br>
+<B>unknownimage</B><br>
+</td>
+<td valign=top>
+<B>vscrollmode</B><br>
+<B>fixedfont</B><br>
+<B>height</B><br>
+</td>
+<td valign=top>
+<B>textbackground</B><br>
+<B>link</B><br>
+<B>state</B><br>
+</td>
+<td valign=top>
+<B>fontname</B><br>
+<B>linkhighlight</B><br>
+<B>wrap</B><br>
+</td>
+</table>
+<P>
+See the "scrolledhtml" widget manual entry for details on the above
+associated options.
+</pre><H2>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>modality</B><br>
+</td>
+<td valign=top>
+<B>title</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "shell" manual entry for details on the above inherited options.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>topics</B>
+Class: <B>Topics</B>
+Command-Line Switch: <B>-topics</B>
+</pre>
+<UL>
+Specifies a list of help topics in the form {?<I>topic</I>? ... }. <I>Topic</I>
+may either be a topic name, in which case the
+document associated with the topic should be in the file
+<B>helpdir</B>/<I>topic</I>.html, or it may be of the form
+{<I>name</I> <I>file</I>}. In the latter case, <I>name</I> is displayed in the
+topic menu, and selecting the name loads <I>file</I>. If file has a relative
+path, it is assumed to be relative to helpdir.
+</UL>
+<P>
+<pre>
+Name: <B>helpdir</B>
+Class: <B>Directory</B>
+Command-Line Switch: <B>-helpdir</B>
+</pre>
+<UL>
+Specifies the directory where help files are located.
+</UL>
+<P>
+<pre>
+Name: <B>closeCmd</B>
+Class: <B>CloseCmd</B>
+Command-Line Switch: <B>-closecmd</B>
+</pre>
+<UL>
+Specifies the tcl command to be executed when the close option is selected
+from the topics menu.
+</UL>
+<P>
+<pre>
+Name: <B>maxHistory</B>
+Class: <B>MaxHistory</B>
+Command-Line Switch: <B>-maxhistory</B>
+</pre>
+<UL>
+Specifies the maximum number of entries stored in the history list
+</UL>
+<P>
+<pre>
+Name: <B>beforelink</B>
+Class: <B>BeforeLink</B>
+Command-Line Switch: <B>-beforelink</B>
+</pre>
+<UL>
+Specifies a command to be eval'ed before a new link is displayed. The path
+of the link to be displayed is appended before evaling the command. A suggested
+use might be to busy the widget while a new page is being displayed.
+</UL>
+<P>
+<pre>
+Name: <B>afterlink</B>
+Class: <B>AfterLink</B>
+Command-Line Switch: <B>-afterlink</B>
+</pre>
+<UL>
+Specifies a command to be eval'ed after a new link is completely displayed.
+The path of the link that was displayed is appended before evaling the command.
+</UL>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>hyperhelp</B> command creates a shell window with a pulldown menu
+showing a list of topics. The topics are displayed by importing a HTML
+formatted file named <B>helpdir</B>/<I>topic</I>.html. For a list of
+supported HTML tags, see <B>scrolledhtml(n)</B>.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>hyperhelp</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 dialog widgets:
+</pre><H2>INHERITED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activate</B><br>
+</td>
+<td valign=top>
+<B>center</B><br>
+</td>
+<td valign=top>
+<B>childsite</B><br>
+</td>
+<td valign=top>
+<B>deactivate</B><br>
+</td>
+</table>
+<P>
+See the "shell" manual entry for details on the above inherited methods.
+
+</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>hyperhelp</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>hyperhelp</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>showtopic</B> <I>topic</I>
+</I></B>
+<DD> Display html file <B>helpdir</B>/<I>topic</I>.html. <I>Topic</I> may
+optionally be of the form <I>topicname</I>#<I>anchorname</I>. In
+this form, either <I>topicname</I> or <I>anchorname</I> or both may be empty. If
+<I>topicname</I> is empty, the current topic is assumed. If <I>anchorname</I>
+is empty, the top of the document is assumed
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>followlink</B> <I>href</I>
+</I></B>
+<DD> Display html file <I>href</I>. <I>Href</I> may
+be optionally be of the form <I>filename</I>#<I>anchorname</I>. In
+this form, either <I>filename</I> or <I>anchorname</I> or both may be empty. If
+<I>filename</I> is empty, the current document is assumed. If <I>anchorname</I>
+is empty, the top of the document is assumed.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>forward</B>
+</I></B>
+<DD> Display html file one forward in history list, if applicable.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>back</B>
+</I></B>
+<DD> Display html file one back in history list, if applicable.
+
+</DL>
+</pre><H2>EXAMPLE</H2>
+<pre>
+ hyperhelp .h -topics { Intro Help } -helpdir ~/help
+ .h showtopic Intro
+
+</pre>
+</pre><H2>AUTHOR</H2>
+Kris Raney
+</pre><H2>KEYWORDS</H2>
+hyperhelp, html, help, shell, widget
diff --git a/itcl/iwidgets/demos/html/iwidgets4.0.0UserCmds.html b/itcl/iwidgets/demos/html/iwidgets4.0.0UserCmds.html
new file mode 100644
index 00000000000..8288c289e23
--- /dev/null
+++ b/itcl/iwidgets/demos/html/iwidgets4.0.0UserCmds.html
@@ -0,0 +1,66 @@
+<HTML>
+<HEADER>
+<TITLE> iwidgets4.0.0 User Commands </TITLE>
+</HEADER>
+<BODY BGCOLOR = "#FFFFFF">
+<CENTER>
+<H5>iwidgets4.0.0 User Commands</H5>
+</CENTER>
+<HR ALIGN=CENTER WIDTH="80%">
+<UL>
+<LI> <A HREF="buttonbox.n.html" TARGET="ManPage"> buttonbox </A>
+<LI> <A HREF="calendar.n.html" TARGET="ManPage"> calendar </A>
+<LI> <A HREF="canvasprintbox.n.html" TARGET="ManPage"> canvasprintbox </A>
+<LI> <A HREF="canvasprintdialog.n.html" TARGET="ManPage"> canvasprintdialog </A>
+<LI> <A HREF="checkbox.n.html" TARGET="ManPage"> checkbox </A>
+<LI> <A HREF="combobox.n.html" TARGET="ManPage"> combobox </A>
+<LI> <A HREF="dateentry.n.html" TARGET="ManPage"> dateentry </A>
+<LI> <A HREF="datefield.n.html" TARGET="ManPage"> datefield </A>
+<LI> <A HREF="dialog.n.html" TARGET="ManPage"> dialog </A>
+<LI> <A HREF="dialogshell.n.html" TARGET="ManPage"> dialogshell </A>
+<LI> <A HREF="disjointlistbox.n.html" TARGET="ManPage"> disjointlistbox </A>
+<LI> <A HREF="entryfield.n.html" TARGET="ManPage"> entryfield </A>
+<LI> <A HREF="extbutton.n.html" TARGET="ManPage"> extbutton </A>
+<LI> <A HREF="extfileselectionbox.n.html" TARGET="ManPage"> extfileselectionbox </A>
+<LI> <A HREF="extfileselectiondialog.n.html" TARGET="ManPage"> extfileselectiondialog </A>
+<LI> <A HREF="feedback.n.html" TARGET="ManPage"> feedback </A>
+<LI> <A HREF="fileselectionbox.n.html" TARGET="ManPage"> fileselectionbox </A>
+<LI> <A HREF="fileselectiondialog.n.html" TARGET="ManPage"> fileselectiondialog </A>
+<LI> <A HREF="finddialog.n.html" TARGET="ManPage"> finddialog </A>
+<LI> <A HREF="hierarchy.n.html" TARGET="ManPage"> hierarchy </A>
+<LI> <A HREF="hyperhelp.n.html" TARGET="ManPage"> hyperhelp </A>
+<LI> <A HREF="labeledframe.n.html" TARGET="ManPage"> labeledframe </A>
+<LI> <A HREF="labeledwidget.n.html" TARGET="ManPage"> labeledwidget </A>
+<LI> <A HREF="mainwindow.n.html" TARGET="ManPage"> mainwindow </A>
+<LI> <A HREF="menubar.n.html" TARGET="ManPage"> menubar </A>
+<LI> <A HREF="messagebox.n.html" TARGET="ManPage"> messagebox </A>
+<LI> <A HREF="messagedialog.n.html" TARGET="ManPage"> messagedialog </A>
+<LI> <A HREF="notebook.n.html" TARGET="ManPage"> notebook </A>
+<LI> <A HREF="optionmenu.n.html" TARGET="ManPage"> optionmenu </A>
+<LI> <A HREF="panedwindow.n.html" TARGET="ManPage"> panedwindow </A>
+<LI> <A HREF="promptdialog.n.html" TARGET="ManPage"> promptdialog </A>
+<LI> <A HREF="pushbutton.n.html" TARGET="ManPage"> pushbutton </A>
+<LI> <A HREF="radiobox.n.html" TARGET="ManPage"> radiobox </A>
+<LI> <A HREF="scopedobject.n.html" TARGET="ManPage"> scopedobject </A>
+<LI> <A HREF="scrolledcanvas.n.html" TARGET="ManPage"> scrolledcanvas </A>
+<LI> <A HREF="scrolledframe.n.html" TARGET="ManPage"> scrolledframe </A>
+<LI> <A HREF="scrolledhtml.n.html" TARGET="ManPage"> scrolledhtml </A>
+<LI> <A HREF="scrolledlistbox.n.html" TARGET="ManPage"> scrolledlistbox </A>
+<LI> <A HREF="scrolledtext.n.html" TARGET="ManPage"> scrolledtext </A>
+<LI> <A HREF="selectionbox.n.html" TARGET="ManPage"> selectionbox </A>
+<LI> <A HREF="selectiondialog.n.html" TARGET="ManPage"> selectiondialog </A>
+<LI> <A HREF="shell.n.html" TARGET="ManPage"> shell </A>
+<LI> <A HREF="spindate.n.html" TARGET="ManPage"> spindate </A>
+<LI> <A HREF="spinint.n.html" TARGET="ManPage"> spinint </A>
+<LI> <A HREF="spinner.n.html" TARGET="ManPage"> spinner </A>
+<LI> <A HREF="spintime.n.html" TARGET="ManPage"> spintime </A>
+<LI> <A HREF="tabnotebook.n.html" TARGET="ManPage"> tabnotebook </A>
+<LI> <A HREF="tabset.n.html" TARGET="ManPage"> tabset </A>
+<LI> <A HREF="timeentry.n.html" TARGET="ManPage"> timeentry </A>
+<LI> <A HREF="timefield.n.html" TARGET="ManPage"> timefield </A>
+<LI> <A HREF="toolbar.n.html" TARGET="ManPage"> toolbar </A>
+<LI> <A HREF="watch.n.html" TARGET="ManPage"> watch </A>
+</UL>
+
+</BODY>
+</HTML>
diff --git a/itcl/iwidgets/demos/html/labeledframe.n.html b/itcl/iwidgets/demos/html/labeledframe.n.html
new file mode 100644
index 00000000000..3fa283bc110
--- /dev/null
+++ b/itcl/iwidgets/demos/html/labeledframe.n.html
@@ -0,0 +1,210 @@
+<TITLE>labeledframe - Create and manipulate a labeled frame widget</TITLE>
+<H1>labeledframe - Create and manipulate a labeled frame widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>labeledframe<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Archetype &lt;- labeledframe
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>background</B><br>
+<B>relief</B><br>
+</td>
+<td valign=top>
+<B>borderwidth</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+</td>
+<td valign=top>
+<B>foreground</B><br>
+</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>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>iPadX</B>
+Class: <B>IPad</B>
+Command-Line Switch: <B>-ipadx</B>
+</pre>
+<UL>
+Specifies horizontal padding space between the border and the childsite.
+The value may have any of the forms acceptable to <B>Tk_GetPixels</B>.
+The default is 0.
+</UL>
+<P>
+<pre>
+Name: <B>iPadY</B>
+Class: <B>IPad</B>
+Command-Line Switch: <B>-ipady</B>
+</pre>
+<UL>
+Specifies vertical padding space between the border and the childsite.
+The value may have any of the forms acceptable to <B>Tk_GetPixels</B>.
+The default is 0.
+</UL>
+<P>
+<pre>
+Name: <B>labelBitmap</B>
+Class: <B>Bitmap</B>
+Command-Line Switch: <B>-labelbitmap</B>
+</pre>
+<UL>
+Specifies a bitmap to display in the label, in any of the forms
+acceptable to <B>Tk_GetBitmap</B>. This option overrides the <I>labeltext</I>
+option.
+</UL>
+<P>
+<pre>
+Name: <B>labelImage</B>
+Class: <B>Image</B>
+Command-Line Switch: <B>-labelimage</B>
+</pre>
+<UL>
+Specifies a image to be used as the label. The image may be any of the
+values created by the <B>image create</B> command. This option overrides
+both the <I>labelbitmap</I> and <I>labeletext</I> options.
+</UL>
+<P>
+<pre>
+Name: <B>labelMargin</B>
+Class: <B>Margin</B>
+Command-Line Switch: <B>-labelmargin</B>
+</pre>
+<UL>
+Specifies the distance between the inner ede of the hull frames relief,
+and the label in any of the forms acceptable to <B>Tk_GetPixels</B>.
+The default is 10 pixels.
+</UL>
+<P>
+<pre>
+Name: <B>labelText</B>
+Class: <B>Text</B>
+Command-Line Switch: <B>-labeltext</B>
+</pre>
+<UL>
+Specifies the text of the label around the childsite.
+</UL>
+<P>
+<pre>
+Name: <B>labelVariable</B>
+Class: <B>Variable</B>
+Command-Line Switch: <B>-labelvariable</B>
+</pre>
+<UL>
+Specifies the text variable of the label around the childsite.
+</UL>
+<P>
+<pre>
+Name: <B>labelFont</B>
+Class: <B>Font</B>
+Command-Line Switch: <B>-labelfont</B>
+</pre>
+<UL>
+Specifies the font of the label around the childsite.
+</UL>
+<P>
+<pre>
+Name: <B>labelPos</B>
+Class: <B>Position</B>
+Command-Line Switch: <B>-labelpos</B>
+</pre>
+<UL>
+Specifies the position of the label within the grooved relief of the hull widget.
+<B> ne, n, nw, se, s, sw, en, e, es, wn, w, ws</B> Default is <B>n</B>.
+</UL>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>labeledframe</B> command creates a hull frame with a
+grooved relief, a label positioned within the grooved relief of
+the hull frame, and a frame childsite. The frame childsite can filled with any
+widget via a derived class or though the use of the childsite method.
+This class was designed to be a general purpose base class for supporting the
+combination of labeled frame and a childsite. The options include the
+ability to position the label at configurable locations within the
+grooved relief of the hull frame, and control the display of the label.
+</pre><H2>METHODS</H2>
+<P>
+The <B>labeledframe</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 labeledframe widgets:
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<DL>
+<DT> <I>pathName <B>childsite</B>
+</I></B>
+<DD> Return the path name of the child site.
+</DL>
+<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>labeledframe</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>labeledframe</B>
+command.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name: <B>label</B>
+Class: <B>label</B>
+</pre>
+<UL>
+The label component provides the label for the labeled widget. See the
+"label" widget manual entry for details on the label component item.
+</UL>
+</table>
+<P>
+
+</pre><H2>EXAMPLE</H2>
+<UL>
+The labeledframe was primarily meant to be a base class. The
+Radiobox is a good example of a derived classe of the labeledframe class.
+In order to provide equal support for composite classes, the 'childsite' methods
+also exists. The following is an example of 'childsite' method usage.
+</UL>
+<P>
+<pre>
+ labeledframe .lw -labeltext "Entry Frame" -labelpos n
+ pack .lw -fill both -expand yes -padx 10 -pady 10
+ set cs [.lw childsite]
+
+ pack [Entryfield $cs.entry1 -labeltext "Name:"] -side top -fill x
+ pack [Spinint $cs.entry2 -labeltext "Number:"] -side top -fill x
+ pack [Pushbutton $cs.entry3 -text "Details:"] -side top -fill x
+
+</pre>
+</pre><H2>AUTHOR</H2>
+John A. Tucker
+</pre><H2>KEYWORDS</H2>
+labeledframe, widget
diff --git a/itcl/iwidgets/demos/html/labeledwidget.n.html b/itcl/iwidgets/demos/html/labeledwidget.n.html
new file mode 100644
index 00000000000..9a01a815b24
--- /dev/null
+++ b/itcl/iwidgets/demos/html/labeledwidget.n.html
@@ -0,0 +1,224 @@
+<TITLE>labeledwidget - Create and manipulate a labeled widget</TITLE>
+<H1>labeledwidget - Create and manipulate a labeled widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>labeledwidget<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- labeledwidget
+</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>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>disabledForeground</B>
+Class: <B>DisabledForeground</B>
+Command-Line Switch: <B>-disabledforeground</B>
+</pre>
+<UL>
+Specifies the foreground to be used when the state is disabled.
+</UL>
+<P>
+<pre>
+Name: <B>labelBitmap</B>
+Class: <B>Bitmap</B>
+Command-Line Switch: <B>-labelbitmap</B>
+</pre>
+<UL>
+Specifies a bitmap to display in the widget, in any of the forms
+acceptable to <B>Tk_GetBitmap</B>. This option overrides the <I>labeltext</I>
+option.
+</UL>
+<P>
+<pre>
+Name: <B>labelFont</B>
+Class: <B>Font</B>
+Command-Line Switch: <B>-labelfont</B>
+</pre>
+<UL>
+Specifies the font to be used for the label.
+</UL>
+<P>
+<pre>
+Name: <B>labelImage</B>
+Class: <B>Image</B>
+Command-Line Switch: <B>-labelimage</B>
+</pre>
+<UL>
+Specifies a image to be used as the label. The image may be any of the
+values created by the <B>image create</B> command. This option overrides
+both the <I>labelbitmap</I> and <I>labeletext</I> options.
+</UL>
+<P>
+<pre>
+Name: <B>labelMargin</B>
+Class: <B>Margin</B>
+Command-Line Switch: <B>-labelmargin</B>
+</pre>
+<UL>
+Specifies the distance between the childsite and label in any of the forms
+acceptable to <B>Tk_GetPixels</B>. The default is 2 pixel.
+</UL>
+<P>
+<pre>
+Name: <B>labelPos</B>
+Class: <B>Position</B>
+Command-Line Switch: <B>-labelpos</B>
+</pre>
+<UL>
+Specifies the position of the label along the side of the childsite:
+<B>nw</B>, <B>n</B>, <B>ne</B>, <B>sw</B>, <B>s</B>, <B>se</B>, <B>en</B>, <B>e</B>,
+<B>es</B>, <B>wn</B>, <B>w</B>, or <B>ws</B>. The default is w.
+</UL>
+<P>
+<pre>
+Name: <B>labelText</B>
+Class: <B>Text</B>
+Command-Line Switch: <B>-labeltext</B>
+</pre>
+<UL>
+Specifies the text of the label around the childsite.
+</UL>
+<P>
+<pre>
+Name: <B>labelVariable</B>
+Class: <B>Variable</B>
+Command-Line Switch: <B>-labelvariable</B>
+</pre>
+<UL>
+Specifies the text variable of the label around the childsite.
+</UL>
+<P>
+<pre>
+Name: <B>state</B>
+Class: <B>State</B>
+Command-Line Switch: <B>-state</B>
+</pre>
+<UL>
+Specifies one of two states for the label: <B>normal</B> or <B>disabled</B>.
+If the label is disabled then it is displayed in a disabled foreground
+color. The default is normal.
+</UL>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>labeledwidget</B> command creates a labeled widget which contains
+a label and child site. The child site is a frame
+which can filled with any widget via a derived class or though the use
+of the childsite method. This class
+was designed to be a general purpose base class for supporting the
+combination of label widget and a childsite. The options include the
+ability to position the label around the childsite widget, modify the
+font and margin, and control the display of the labels.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>labeledwidget</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 labeledwidget widgets:
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<DL>
+<DT> <I>pathName <B>childsite</B>
+</I></B>
+<DD> Return the path name of the child site.
+</DL>
+<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>labeledwidget</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>labeledwidget</B>
+command.
+
+</DL>
+</pre><H2>STATIC METHODS</H2>
+<DL>
+<DT> <B>Labeledwidget::alignlabels</B> <I>widget</I> ?<I>widget ...</I>?
+</I></B>
+<DD> The alignlabels procedure takes a list of widgets derived from
+the Labeledwidget class and uses the label margin to make each widget
+have the same total space for the combination of label and margin. The
+net effect is to left align the labels. Generally, this method is only
+useful with a label position of w, which is the default.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name: <B>label</B>
+Class: <B>label</B>
+</pre>
+<UL>
+The label component provides the label for the labeled widget. See the
+"label" widget manual entry for details on the label component item.
+</UL>
+<P>
+<pre>
+Name: <B>lwchildsite</B>
+Class: <B>frame</B>
+</pre>
+<UL>
+The lwchildsite component is the user child site for the labeled widget. See
+the "frame" widget manual entry for details on the lwchildsite component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<UL>
+The labeledwidget was primarily meant to be a base class. The
+ScrolledListBox and EntryField are good examples of derived
+classes of the labeledwidget class. In order to provide equal
+support for composite classes, the 'childsite' methods also exists.
+The following is an example of 'childsite' method usage.
+</UL>
+<P>
+<pre>
+ labeledwidget .lw -labeltext "Canvas Widget" -labelpos s
+ pack .lw -fill both -expand yes -padx 10 -pady 10
+
+ set cw [canvas [.lw childsite].c -relief raised -width 200 -height 200]
+ pack $cw -padx 10 -pady 10
+</pre>
+</pre><H2>AUTHOR</H2>
+Mark L. Ulferts
+</pre><H2>KEYWORDS</H2>
+labeledwidget, widget
diff --git a/itcl/iwidgets/demos/html/mainwindow.n.html b/itcl/iwidgets/demos/html/mainwindow.n.html
new file mode 100644
index 00000000000..d9d52881b3d
--- /dev/null
+++ b/itcl/iwidgets/demos/html/mainwindow.n.html
@@ -0,0 +1,373 @@
+<TITLE>mainwindow - Create and manipulate a mainwindow widget</TITLE>
+<H1>mainwindow - Create and manipulate a mainwindow widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>mainwindow<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Toplevel &lt;- shell &lt;- mainwindow
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>background</B><br>
+<B>foreground</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+<B>highlightBackground</B><br>
+</td>
+<td valign=top>
+<B>disabledForeground</B><br>
+<B>highlightColor</B><br>
+</td>
+<td valign=top>
+<B>font</B><br>
+<B>highlightThickness</B><br>
+</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>balloonBackground</B><br>
+<B>balloonForeground</B><br>
+</td>
+<td valign=top>
+<B>balloonDelay1</B><br>
+</td>
+<td valign=top>
+<B>balloonDelay2</B><br>
+</td>
+<td valign=top>
+<B>ballonFont</B><br>
+</td>
+</table>
+<P>
+See the "toolbar" manual entry for details on the above associated options.
+</pre><H2>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>title</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "Toplevel" manual entry for details on the above inherited options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>height</B><br>
+<B>padY</B><br>
+</td>
+<td valign=top>
+<B>master</B><br>
+<B>width</B><br>
+</td>
+<td valign=top>
+<B>modality</B><br>
+</td>
+<td valign=top>
+<B>padX</B><br>
+</td>
+</table>
+<P>
+See the "shell" manual entry for details on the above inherited options.
+
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>helpLine</B>
+Class: <B>HelpLine</B>
+Command-Line Switch: <B>-helpline</B>
+</pre>
+<UL>
+Specifies whether or not to display the help line. The value
+may be given in any of the forms acceptable to Tk_GetBoolean.
+The default is yes.
+</UL>
+<P>
+<pre>
+Name: <B>menuBarBackground</B>
+Class: <B>Background</B>
+Command-Line Switch: <B>-menubarbackground</B>
+</pre>
+<UL>
+Specifies the normal background color for the menubar.
+</UL>
+<P>
+<pre>
+Name: <B>menuBarFont</B>
+Class: <B>Font</B>
+Command-Line Switch: <B>-menubarfont</B>
+</pre>
+<UL>
+Specifies the font to use when drawing text inside the menubar.
+</UL>
+<P>
+<pre>
+Name: <B>menuBarForeround</B>
+Class: <B>Foreground</B>
+Command-Line Switch: <B>-menubarforeground</B>
+</pre>
+<UL>
+Specifies the normal foreground color for the menubar.
+</UL>
+<P>
+<pre>
+Name: <B>statusLine</B>
+Class: <B>StatusLine</B>
+Command-Line Switch: <B>-statusline</B>
+</pre>
+<UL>
+Specifies whether or not to display the status line. The value
+may be given in any of the forms acceptable to Tk_GetBoolean.
+The default is yes.
+</UL>
+<P>
+<pre>
+Name: <B>toolBarBackground</B>
+Class: <B>Background</B>
+Command-Line Switch: <B>-toolbarbackground</B>
+</pre>
+<UL>
+Specifies the normal background color for the toolbar.
+</UL>
+<P>
+<pre>
+Name: <B>toolBarFont</B>
+Class: <B>Font</B>
+Command-Line Switch: <B>-toolbarfont</B>
+</pre>
+<UL>
+Specifies the font to use when drawing text inside the toolbar.
+</UL>
+<P>
+<pre>
+Name: <B>toolBarForeround</B>
+Class: <B>Foreground</B>
+Command-Line Switch: <B>-toolbarforeground</B>
+</pre>
+<UL>
+Specifies the normal foreground color for the toolbar.
+</UL>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>mainwindow</B> command creates a mainwindow shell which contains
+a menubar, toolbar, mousebar, childsite, status line, and help line.
+Each item may be filled and configured to suit individual needs.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>mainwindow</B> command create 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 mainwindow widgets:
+</pre><H2>INHERITED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activate</B><br>
+</td>
+<td valign=top>
+<B>center</B><br>
+</td>
+<td valign=top>
+<B>deactivate</B><br>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "shell" manual entry for details on the above inherited methods.
+</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>mainwindow</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>childsite</B>
+</I></B>
+<DD> Returns the pathname of the child site widget.
+</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>mainwindow</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>menubar</B> ?<I>args</I>?
+</I></B>
+<DD> The <B>menubar</B> method provides access to the menubar. Invoked with
+no arguments it returns the pathname of the menubar. With arguments,
+they are evaluated against the menubar which in effect provides
+access to the entire API of the menubar. See the "menubar" manual
+entry for details on the commands available in the menubar.
+</DL>
+<DL>
+<DT> <I>pathName <B>mousebar</B> ?<I>args</I>?
+</I></B>
+<DD> The <B>mousebar</B> method provides access to the mousebar which is a
+vertical toolbar. Invoked with no arguments it returns the pathname
+of the mousebar. With arguments, they are evaluated against the mousebar
+which in effect provides access to the entire API of the underlying
+toolbar. See the "toolbar" manual entry for details on the commands
+available in the mousebar.
+</DL>
+<DL>
+<DT> <I>pathName <B>msgd</B> ?<I>args</I>?
+</I></B>
+<DD> The <B>msgd</B> method provides access to the messagedialog contained
+in the mainwindow. Invoked with no arguments it returns the pathname
+of the messagedialog. With arguments, they are evaluated against the
+messagedialog which in effect provides access to the entire API of the
+messagedialog. See the "messagedialog" manual
+entry for details on the commands available in the messagedialog.
+</DL>
+<DL>
+<DT> <I>pathName <B>toolbar</B> ?<I>args</I>?
+</I></B>
+<DD> The <B>toolbar</B> method provides access to the toolbar. Invoked with
+no arguments it returns the pathname of the toolbar. With arguments,
+they are evaluated against the toolbar which in effect provides
+access to the entire API of the toolbar. See the "toolbar" manual
+entry for details on the commands available in the toolbar.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name: <B>help</B>
+Class: <B>Label</B>
+</pre>
+<UL>
+The help component provides a location for displaying any help
+strings provided in the menubar, toolbar, or mousebar. See the "label"
+widget manual entry for details on the help component item.
+</UL>
+<P>
+<pre>
+Name: <B>menubar</B>
+Class: <B>Menubar</B>
+</pre>
+<UL>
+The menubar component is the menubar located at the top of the window.
+See the "menubar" widget manual entry for details on the menubar
+component item.
+</UL>
+<P>
+<pre>
+Name: <B>mousebar</B>
+Class: <B>Toolbar</B>
+</pre>
+<UL>
+The mousebar component is the vertical toolbar located on the right side
+of the window. See the "toolbar" widget manual entry for details on
+the mousebar component item.
+</UL>
+<P>
+<pre>
+Name: <B>msgd</B>
+Class: <B>Messagedialog</B>
+</pre>
+<UL>
+The msgd component is a messagedialog which may be reconfigured as needed
+and used repeatedly throughout the application. See the "messagedialog"
+widget manual entry for details on the messagedialog component item.
+</UL>
+<P>
+<pre>
+Name: <B>status</B>
+Class: <B>Label</B>
+</pre>
+<UL>
+The status component provides a location for displaying application
+status information. See the "label" widget manual entry for details
+on the status component item.
+</UL>
+<P>
+<pre>
+Name: <B>toolbar</B>
+Class: <B>Toolbar</B>
+</pre>
+<UL>
+The toolbar component is the horizontal toolbar located on the top
+of the window. See the "toolbar" widget manual entry for details on
+the toolbar component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+ mainwindow .mw
+
+ #
+ # Add a File menubutton
+ #
+ .mw menubar add menubutton file -text "File" -underline 0 -padx 8 -pady 2 \\
+ -menu {options -tearoff no
+ command new -label "New" -underline 0 \\
+ -helpstr "Create a new file"
+ command open -label "Open ..." -underline 0 \\
+ -helpstr "Open an existing file"
+ command save -label "Save" -underline 0 \\
+ -helpstr "Save the current file"
+ command saveas -label "Save As ..." -underline 5 \\
+ -helpstr "Save the file as a differnet name"
+ command print -label "Print" -underline 0 \\
+ -helpstr "Print the file"
+ separator sep1
+ command close -label "Close" -underline 0 \\
+ -helpstr "Close the file"
+ separator sep2
+ command exit -label "Exit" -underline 1 \\
+ -helpstr "Exit this application"
+ }
+
+ #
+ # Install a scrolledtext widget in the childsite.
+ #
+ scrolledtext [.mw childsite].st
+ pack [.mw childsite].st -fill both -expand yes
+
+ #
+ # Activate the main window.
+ #
+ .mw activate
+</pre>
+</pre><H2>AUTHORS</H2>
+Mark L. Ulferts
+<P>
+John A. Tucker
+<P>
+</pre><H2>KEYWORDS</H2>
+mainwindow, shell, widget
diff --git a/itcl/iwidgets/demos/html/menubar.n.html b/itcl/iwidgets/demos/html/menubar.n.html
new file mode 100644
index 00000000000..b045f03b441
--- /dev/null
+++ b/itcl/iwidgets/demos/html/menubar.n.html
@@ -0,0 +1,686 @@
+<TITLE>menubar - Create and manipulate menubar menu widgets</TITLE>
+<H1>menubar - Create and manipulate menubar menu widgets</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>menubar</B> <I>pathName</I> ?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- menubar
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeBackground</B><br>
+<B>activeBorderWidth</B><br>
+<B>activeForeground</B><br>
+<B>anchor</B><br>
+<B>foreground</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>cursor</B><br>
+<B>disabledForeground</B><br>
+<B>font</B><br>
+<B>padX</B><br>
+</td>
+<td valign=top>
+<B>highlightBackground</B><br>
+<B>highligthThickness</B><br>
+<B>highlightColor</B><br>
+<B>justify</B><br>
+</td>
+<td valign=top>
+<B>padY</B><br>
+<B>relief</B><br>
+<B>wrapLength</B><br>
+<B>background</B><br>
+</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>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>helpVariable</B>
+Class: <B>HelpVariable</B>
+Command-Line Switch: <B>-helpvariable</B>
+</pre>
+<UL>
+Specifies the global variable to update whenever the mouse is in motion over a menu entry. This global variable is updated with the current value of the active menu entry's <B>helpStr</B>. Other widgets can "watch" this variable with the trace command, or as is the case with entry or label widgets, they can set their <B>textVariable</B> to the same global variable. This allows for a simple implementation of a help status bar. Whenever the mouse leaves a menu entry, the helpVariable is set to the empty string {}. The mainwindow(1) associates its helpstatus and its menubar in this fashion.
+</UL>
+<P>
+<pre>
+Name: <B>menuButtons</B>
+Class: <B>MenuButtons</B>
+Command-Line Switch: <B>-menubuttons</B>
+</pre>
+<UL>
+The menuButton option is a string which specifies the arrangement of menubuttons on the menubar frame. Each menubutton entry is delimited by the newline character.
+</UL>
+<table cellpadding=5>
+<td valign=top>
+<UL><br>
+-menubuttons<br>
+-text<br>
+-text<br>
+-text<br>
+</td>
+<td valign=top>
+</UL><br>
+{<br>
+File<br>
+Edit<br>
+Options<br>
+</td>
+<td valign=top>
+menubar<br>
+menubutton<br>
+menubutton<br>
+menubutton<br>
+}<br>
+</td>
+<td valign=top>
+.mb<br>
+file<br>
+edit<br>
+options<br>
+</td>
+</table>
+<UL>
+specifies that three menubuttons will be added to the menubar (file, edit, options). Each entry is translated into an add command call.
+</UL>
+<UL>
+The <B>menuButtons</B> option can accept embedded variables, commands, and
+backslash quoting. Embedded variables and commands must be enclosed in
+curly braces ({}) to ensure proper parsing of the substituted values.
+</UL>
+</pre><HR>
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>menubar</B> command creates a new window (given by the <I>pathName</I> argument) and makes it into a <B>menubar</B> menu widget. Additional options, described above may be specified on the command line or in the option database to configure aspects of the menubar such as its colors and font. The <B>menubar</B> command returns its <I>pathName</I> argument. At the time this command is invoked, there must not exist a window named pathName, but pathName's parent must exist.
+<P>
+A <B>menubar</B> is a widget that simplifies the task of creating menu hierarchies. It encapsulates a <B>frame</B> widget, as well as <B>menubuttons</B>, <B>menus</B>, and menu <B>entries</B>. The menubar allows menus to be specified and referenced in a more consistent manner than using Tk to build menus directly.
+
+<B>Menubar</B> allows a menu tree to be expressed in a hierachical "language". The <B>menubar</B> accepts a <B>menuButtons</B> option that allows a list of menubuttons to be added to the menubar. In turn, each menubutton accepts a <B>menu</B> option that specifies a list of menu entries to be added to the menubutton's menu. Cascade entries also accept the <B>menu</B> option for specifying a list of menu entries to be added to the cascade's menu.
+
+Additionally, the menubar allows each component of the menubar system to be referenced by a simple <I>menuPathName</I> syntax. The menubar also extends the set of options for menu entries to include a <B>helpStr</B> option.
+</pre><H2>MENU PATH NAMES</H2>
+<P>
+A <I>menuPathName</I> is a series of component names separated by the `.' character. Each menubar component can be referenced via these <I>menuPathNames</I>. <I>menuPathNames</I> are similar to widget pathNames in Tk. Some correspond directly to a widget pathName (components of type <B>menu</B> or <B>menubutton</B>), others correspond to a menu entry type. Every widget and entry in a menubar can be referenced with the <I>menuPathName</I> naming convention. A menubar can have four types of components:
+<UL>
+<B>frame</B>. A menubar holds exactly one frame which manages menubuttons. The frame is always signified by the `.' character as the path name.
+</UL>
+<UL>
+<B>menubutton</B>. A menubutton corresponds directly to a Tk menubutton. See menubutton(n).
+</UL>
+<UL>
+<B>menu</B>. A menu is attached to a menubutton and corresponds directly to Tk's menu widget. A menu is always signified by the <I>menuPathName</I> ending with the keyword <B>menu</B>. See menu(n).
+</UL>
+<UL>
+<B>entry</B>. An entry corresponds directly to Tk's menu widget entries. Menus consist of a column of one line entries. Entries may be of type: <B>command</B>, <B>checkbutton</B>, <B>radiobutton</B>, <B>separator</B>, or <B>cascade</B>. For a complete description of these types see the discussion on <B>ENTRIES</B> in menu(n).
+</UL>
+<P>
+The suffix of a <I>menuPathName</I> may have the form of:
+<DL>
+<DT> <I>tkWidgetName</I>
+</I></B>
+<DD> Specifies the name of the component, either a <B>frame</B>, <B>menubutton</B>, <B>menu</B>, or an <B>entry</B>. This is the normal naming of widgets. For example, .file references a <B>menubutton</B> named <I>file</I>.
+</DL>
+<P>
+The <I>menuPathName</I> is a series of segment names, each separated by the '.' character. Segment names may be one of the following forms:
+<DL>
+<DT> <I>number</I>
+</I></B>
+<DD> Specifies the index of the the component. For menubuttons, 0 corresponds to the left-most menubutton of the menu bar frame. As an example, <I>.1</I> would correspond to the second menubutton on the menu bar frame.
+<UL>
+For entries, 0 corresponds to the top-most entry of the menu. For example, .file.0 would correspond to the first entry on the menu attached to the menubutton named <I>file</I>.
+</UL>
+</DL>
+<DL>
+<DT> <B>end</B>
+</I></B>
+<DD> Specifes the last component. For menubuttons, it specifies the right-most entry of the menu bar frame. For menu entries, it specifies the bottom-most entry of the menu.
+</DL>
+<DL>
+<DT> <B>last</B>
+</I></B>
+<DD> Same as end.
+</DL>
+<P>
+Finally, menu components always end with the <B>menu</B> keyword. These components are automatically created via the -menu option on menubuttons and cascades or via the <B>add</B> or <B>insert</B> commands.
+<DL>
+<DT> <B>menu</B>
+</I></B>
+<DD> Specifes the menu pane that is associated with the given menubutton prefix. For example, <I>.file.menu</I> specifies the menu pane attached to the <I>.file</I> menubutton.
+</DL>
+<P>
+For example, the path <I>.file.new</I> specifies the entry named new on the menu associated with the file menubutton located on the menu bar. The path <I>.file.menu</I> specifies the menu pane associated with the menubutton <I>.file</I>. The path <I>.last</I> specifies the last menu on the menu bar. The path <I>.0.last</I> would specify the first menu (file) and the last entry on that menu (quit), yielding <I>.file.quit</I>.
+
+As a restriction, the last name segment of <I>menuPathName</I> cannot be one of the keywords last, menu, end, nor may it be a numeric value (integer).
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<P>
+The <B>menubar</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.
+<P>
+In addition, many of the widget commands for menubar take as one argument a path name to a menu component. These path names are called <I>menuPathName</I>s. See the discussion on <B>MENUBAR PATH NAMES</B> above.
+<P>
+The following commands are possible for menubar widgets:
+<DL>
+<DT> <I>pathName</I> <B>add</B> <I>type</I> <I>menuPathName</I> ?<I>option value option value</I>?
+</I></B>
+<DD> Adds either a menu to the menu bar or a menu entry to a menu pane.
+<UL>
+If additional arguments are present, they specify <I>option</I>s available to component type <B>entry</B>. See the man pages for <B>menu</B>(1) in the section on <B>ENTRIES</B>.
+
+If <I>type</I> is one of <B>cascade</B>, <B>checkbutton</B>, <B>command</B>, <B>radiobutton</B>, or <B>separator</B> it adds a new entry to the bottom of the menu denoted by the prefix of <I>menuPathName</I>. If additonal arguments are present, they specify options available to menu <B>entry</B> widgets. In addition, the <B>helpStr</B> option is added by the menubar widget to all components of type entry.
+</UL>
+</DL>
+<UL>
+<DL>
+<DT> <B>-helpstr</B> <I>value</I>
+</I></B>
+<DD> Specifes the string to associate with the entry. When the mouse moves over the associated entry, the variable denoted by <B>helpVariable</B> is set. Another widget can bind to the helpVariable and thus display status help.
+</DL>
+</UL>
+<UL>
+If the type of the component added is <B>menubutton</B> or <B>cascade</B>, a menubutton or cascade is added to the menubar. If additional arguments are present, they specify options available to menubutton or cascade widgets. In addition, the <B>menu</B> option is added by the menubar widget to all menubutton and cascade widgets.
+</UL>
+<UL>
+<DL>
+<DT> <B>-menu</B> <I>menuSpec</I>
+</I></B>
+<DD> This is only valid for <I>menuPathName</I>s of type <B>menubutton</B> or <B>cascade</B>. Specifes an option set and/or a set of entries to place on a menu and associate with the menubutton or cascade. The <B>option</B> keyword allows the menu widget to be configured. Each item in the <I>menuSpec</I> is treated as add commands (each with the possibility of having other -menu options). In this way a menu can be recursively built.
+<UL>
+The last segment of <I>menuPathName</I> cannot be one of the keywords <B>last</B>, <B>menu</B>, <B>end</B>. Additionally, it may not be a <I>number</I>. However the <I>menuPathName</I> may be referenced in this manner (see discussion of <B>COMPONENT PATH NAMES</B>).
+</UL>
+<UL>
+Note that the same curly brace quoting rules apply to <B>-menu</B> option strings as did to <B>-menubuttons</B> option strings. See the earlier discussion on <B>umenubuttons</B> in the "<B>WIDGET-SPECIFIC OPTIONS</B>" section.
+</UL>
+</DL>
+</UL>
+<DL>
+<DT> <I>pathName</I> <B>cget</B> <I>option</I>
+</I></B>
+<DD> Returns the current value of the configuration option given by <I>option</I>.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>configure</B> ?<I>options</I> <I>value</I> <I>option</I> <I>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 <B>pathName</B> (see <B>Tk_ConfigureInfo</B> for information on the format of this list). If <I>option</I> is specified with no value, 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 option is specified). If one or more option-value 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.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>delete</B> <I>menuPathName</I> ?<I>menuPathName2</I>?
+</I></B>
+<DD> If <I>menuPathName</I> is of component type <B>Menubutton</B> or <B>Menu</B>, delete operates on menus. If <I>menuPathName</I> is of component type <B>Entry</B>, delete operates on menu entries.
+
+This command deletes all components between <I>menuPathName</I> and <I>menuPathName2</I> inclusive. If <I>menuPathName2</I> is omitted then it defaults to <I>menuPathName</I>. Returns an empty string.
+
+If <I>menuPathName</I> is of type menubar, then all menus and the menu bar frame will be destroyed. In this case <I>menuPathName2</I> is ignored.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>index</B> <I>menuPathName</I>
+</I></B>
+<DD> If <I>menuPathName</I> is of type menubutton or menu, it returns the position of the menu/menubutton on the menubar frame.
+
+If <I>menuPathName</I> is of type <B>command</B>, <B>separator</B>, <B>radiobutton</B>, <B>checkbutton</B>, or <B>cascade</B>, it returns the menu widget's numerical index for the entry corresponding to <I>menuPathName</I>. If path is not found or the path is equal to ".", a value of -1 is returned.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>insert</B> <I>menuPathName</I> <I>type</I> <I>name</I> ?<I>option</I> <I>value</I>?
+</I></B>
+<DD> Insert a new component named name before the component specified by <I>menuPathName</I>.
+<UL>
+If <I>menuPathName</I> is of type <B>Menubutton</B> or <B>Menu</B>, the new component inserted is of type <B>Menu</B> and given the name name. In this case valid <I>option</I> <I>value</I> pairs are those accepted by menubuttons.
+</UL>
+<UL>
+If <I>menuPathName</I> is of type <B>Entry</B>, the new component inserted is of type <B>entry</B> and given the name <I>name</I>. In this case, valid <I>option</I> <I>value</I> pairs are those accepted by menu entries.
+<I>Name</I> cannot be one of the keywords <B>last</B>, <B>menu</B>, <B>end</B>. Additionally, it may not be a number. However the <I>menuPathName</I> may be referenced in this manner (see discussion of <B>COMPONENT PATH NAMES</B>).
+</UL>
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>invoke</B> <I>menuPathName</I>
+</I></B>
+<DD> Invoke the action of the menu entry denoted by <I>menuPathName</I>. See the sections on the individual entries in the menu(1) man pages. If the menu entry is disabled then nothing happens. If the entry has a command associated with it then the result of that command is returned as the result of the <B>invoke</B> widget command. Otherwise the result is an empty string.
+
+If <I>menuPathName</I> is not a menu entry, an error is issued.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>menucget</B> <I>menuPathName</I> <I>option</I>
+</I></B>
+<DD> Returns the current value of the configuration option given by <I>option</I>. The component type of <I>menuPathName</I> determines the valid available options.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>menuconfigure</B> <I>menuPathName</I> ?<I>option</I> <I>value</I>?
+</I></B>
+<DD> Query or modify the configuration options of the componet of the menubar specified by <I>menuPathName</I>. If no <I>option</I> is specified, returns a list describing all of the available options for <I>menuPathName</I> (see <B>Tk_ConfigureInfo</B> for information on the format of this list). If <I>option</I> is specified with no value, 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 option is specified). If one or more option-value 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. The component type of <I>menuPathName</I> determines the valid available options.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>path</B> ?<I>mode</I>? <I>pattern</I>
+</I></B>
+<DD> Returns a fully formed <I>menuPathName</I> that matches <I>pattern</I>. If no match is found it returns -1. The <I>mode</I> argument indicates how the search is to be matched against <I>pattern</I> and it must have one of the following values:
+</DL>
+<UL>
+<DL>
+<DT> <B>-glob</B>
+</I></B>
+<DD> Pattern is a glob-style pattern which is matched against each component path using the same rules as the string match command.
+</DL>
+<DL>
+<DT> <B>-regexp</B>
+</I></B>
+<DD> Pattern is treated as a regular expression and matched against each component of the <I>menuPathName</I> using the same rules as the regexp command.
+The default mode is -glob.
+</DL>
+</UL>
+<DL>
+<DT> <I>pathName</I> <B>type</B> <I>menuPathName</I>
+</I></B>
+<DD> Returns the type of the component specified by <I>menuPathName</I>. For menu entries, this is the type argument passed to the <B>add</B>/<B>insert</B> widget command when the entry was created, such as <B>command</B> or <B>separator</B>. Othewise it is either a <B>menubutton</B> or a <B>menu</B>.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>yposition</B> <I>menuPathName</I>
+</I></B>
+<DD> Returns a decimal string giving the y-coordinate within the menu window of the topmost pixel in the entry specified by <I>menuPathName</I>. If the <I>menuPathName</I> is not an entry, an error is issued.
+</DL>
+</pre><H2>EXAMPLE ONE: USING GRAMMAR</H2>
+<P>
+The following example creates a menubar with "File", "Edit", "Options" menubuttons. Each of these menubuttons has an associated menu.
+In turn the File menu has menu entries, as well as the Edit
+menu and the Options menu. The Options menu is a tearoff menu
+with selectColor (for radiobuttons) set to blue.
+In addition, the Options menu has a cascade titled More,
+with several menu entries attached to it as well. An entry widget is
+provided to display help status.
+<P>
+menubar .mb -helpvariable helpVar -menubuttons {
+ menubutton file -text File -menu {
+ options -tearoff false
+ command new -label New \\
+ -helpstr "Open new document" \\
+ -command {puts NEW}
+ command close -label Close \\
+ -helpstr "Close current document" \\
+ -command {puts CLOSE}
+ separator sep1
+ command exit -label Exit -command {exit} \\
+ -helpstr "Exit application"
+ }
+ menubutton edit -text Edit -menu {
+ options -tearoff false
+ command undo -label Undo -underline 0 \\
+ -helpstr "Undo last command" \\
+ -command {puts UNDO}
+ separator sep2
+ command cut -label Cut -underline 1 \\
+ -helpstr "Cut selection to clipboard" \\
+ -command {puts CUT}
+ command copy -label Copy -underline 1 \\
+ -helpstr "Copy selection to clipboard" \\
+ -command {puts COPY}
+ command paste -label Paste -underline 0 \\
+ -helpstr "Paste clipboard contents" \\
+ -command {puts PASTE}
+ }
+ menubutton options -text Options -menu {
+ options -tearoff false -selectcolor blue
+ radiobutton byName -variable viewMode \\
+ -value NAME -label "by Name" \\
+ -helpstr "View files by name order" \\
+ -command {puts NAME}
+ radiobutton byDate -variable viewMode \\
+ -value DATE -label "by Date" \\
+ -helpstr "View files by date order" \\
+ -command {puts DATE}
+ cascade prefs -label Preferences -menu {
+ command colors -label Colors... \\
+ -helpstr "Change text colors" \\
+ -command {puts COLORS}
+ command fonts -label Fonts... \\
+ -helpstr "Change text font" \\
+ -command {puts FONT}
+ }
+ }
+
+}
+
+<table cellpadding=5>
+<td valign=top>
+frame<br>
+-height<br>
+-textvariable<br>
+-anchor<br>
+-expand<br>
+-fill<br>
+pack<br>
+-fill<br>
+</pre><H2>EXAMPLE<br>
+Alternatively<br>
+could<br>
+using<br>
+configure<br>
+menubar<br>
+-menubuttons<br>
+-text<br>
+command<br>
+command<br>
+separator<br>
+-label<br>
+edit<br>
+<P><br>
+.edit.undo<br>
+0<br>
+.edit.sep2<br>
+.edit.cut<br>
+1<br>
+.edit.copy<br>
+1<br>
+.edit.paste<br>
+0<br>
+.options<br>
+{<br>
+viewMode<br>
+-label<br>
+byDate<br>
+-value<br>
+Date"<br>
+cascade<br>
+-menu<br>
+-label<br>
+-label<br>
+.mb<br>
+nw<br>
+yes<br>
+option<br>
+the<br>
+evaluated<br>
+the<br>
+positive<br>
+is<br>
+string<br>
+commands,<br>
+However,<br>
+into<br>
+single<br>
+can<br>
+enclosing<br>
+curly<br>
+ensures,<br>
+value<br>
+will<br>
+as<br>
+and<br>
+The<br>
+this<br>
+</UL><br>
+Menu"<br>
+menubar<br>
+menubutton<br>
+menubutton<br>
+-menu<br>
+\\<br>
+-variable<br>
+-onvalue<br>
+0<br>
+-text<br>
+</td>
+<td valign=top>
+.fr<br>
+300<br>
+helpVar<br>
+nw<br>
+yes<br>
+both<br>
+.ef<br>
+x<br>
+TWO:<br>
+the<br>
+be<br>
+the<br>
+methods:<br>
+.mb<br>
+{<br>
+File<br>
+new<br>
+close<br>
+sep1<br>
+Quit<br>
+-text<br>
+.mb<br>
+-label<br>
+.mb<br>
+.mb<br>
+-label<br>
+.mb<br>
+-label<br>
+.mb<br>
+-label<br>
+.mb<br>
+-text<br>
+radiobutton<br>
+\\<br>
+"by<br>
+-variable<br>
+DATE<br>
+}<br>
+.options.prefs<br>
+{<br>
+Colors...<br>
+Fonts...<br>
+-side<br>
+-fill<br>
+</pre><H2>CAVEATS</H2><br>
+as<br>
+<B>-menu</B><br>
+by<br>
+<B>subst</B><br>
+side<br>
+that<br>
+may<br>
+and/or<br>
+substitutions<br>
+more<br>
+word.<br>
+be<br>
+candidate<br>
+braces<br>
+for<br>
+for<br>
+still<br>
+a<br>
+not<br>
+following<br>
+case:<br>
+set<br>
+set<br>
+.mb<br>
+file<br>
+edit<br>
+{<br>
+-label<br>
+{[scope<br>
+1<br>
+}<br>
+Options<br>
+</td>
+<td valign=top>
+-width<br>
+entry<br>
+pack<br>
+-fill<br>
+pack<br>
+-expand<br>
+-anchor<br>
+-expand<br>
+USING<br>
+same<br>
+created<br>
+add<br>
+<P><br>
+.mb<br>
+menubutton<br>
+-menu<br>
+-label<br>
+-label<br>
+command<br>
+}<br>
+Edit<br>
+add<br>
+Undo<br>
+add<br>
+add<br>
+Cut<br>
+add<br>
+Copy<br>
+add<br>
+Paste<br>
+add<br>
+Options<br>
+byName<br>
+-value<br>
+Name"<br>
+viewMode<br>
+-label<br>
+.mb<br>
+-label<br>
+command<br>
+command<br>
+}<br>
+left<br>
+x<br>
+The<br>
+well<br>
+option<br>
+menubar<br>
+command.<br>
+of<br>
+the<br>
+contain<br>
+backslash<br>
+might<br>
+than<br>
+These<br>
+protected<br>
+substitutions<br>
+({}).<br>
+example,<br>
+an<br>
+be<br>
+single<br>
+multiple<br>
+example<br>
+<table><br>
+fileMenuName<br>
+var<br>
+-menubuttons<br>
+-text<br>
+-text<br>
+checkbutton<br>
+Check<br>
+var]}<br>
+\\<br>
+menubutton<br>
+}<br>
+</td>
+<td valign=top>
+300<br>
+.ef<br>
+.mb<br>
+x<br>
+.fr<br>
+yes<br>
+sw<br>
+yes<br>
+METHODS</H2><br>
+menu<br>
+by<br>
+and<br>
+<table><br>
+configure<br>
+file<br>
+{<br>
+New<br>
+Close<br>
+quit<br>
+menubutton<br>
+}<br>
+command<br>
+-underline<br>
+separator<br>
+command<br>
+-underline<br>
+command<br>
+-underline<br>
+command<br>
+-underline<br>
+menubutton<br>
+-menu<br>
+-variable<br>
+NAME<br>
+radiobutton<br>
+\\<br>
+"by<br>
+add<br>
+Preferences<br>
+colors<br>
+fonts<br>
+pack<br>
+-anchor<br>
+-expand<br>
+<B>-menubuttons</B><br>
+as<br>
+is<br>
+with<br>
+The<br>
+this<br>
+option<br>
+variables,<br>
+substitutions.<br>
+expand<br>
+a<br>
+expansions<br>
+by<br>
+in<br>
+This<br>
+a<br>
+option<br>
+treated<br>
+value<br>
+values.<br>
+illustrates<br>
+<UL><br>
+"File<br>
+{}<br>
+{<br>
+{$fileMenuName}<br>
+Edit<br>
+check<br>
+\\<br>
+\\<br>
+-offvalue<br>
+options<br>
+</td>
+</table>
+<UL>
+The variable <I>fileMenuName</I> will expand to "File Menu" when the <B>subst</B> command is used on the menubutton specification. In addition, the [<B>scope</B>...] command will expand to @scope :: var. By enclosing these inside {} they stay as a single value. Note that only {} work for this. [list...], "" etc. will not protect these from the subst command.
+</UL>
+</pre><H2>ACKNOWLEDGMENTS</H2>
+<P>
+Bret Schumaker
+<UL>
+1994 - Early work on a menubar widget.
+</UL>
+<P>
+Mark Ulferts, Mark Harrison, John Sigler
+<UL>
+Invaluable feedback on grammar and usability of the menubar widget
+</UL>
+<P>
+</pre><H2>AUTHOR</H2>
+Bill W. Scott
+</pre><H2>KEYWORDS</H2>
+frame, menu, menubutton, entries, help
+
diff --git a/itcl/iwidgets/demos/html/messagebox.n.html b/itcl/iwidgets/demos/html/messagebox.n.html
new file mode 100644
index 00000000000..98b000e9ae3
--- /dev/null
+++ b/itcl/iwidgets/demos/html/messagebox.n.html
@@ -0,0 +1,358 @@
+<TITLE>messagebox - Create and manipulate a messagebox text widget</TITLE>
+<H1>messagebox - Create and manipulate a messagebox text widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>messagebox<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- Labeledwidget &lt;- Scrolledwidget &lt;- Messagebox
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeBackground</B><br>
+<B>cursor</B><br>
+<B>highlightColor</B><br>
+<B>relief</B><br>
+</td>
+<td valign=top>
+<B>activeForeground</B><br>
+<B>exportSelection</B><br>
+<B>highlightThickness</B><br>
+<B>setGrid</B><br>
+</td>
+<td valign=top>
+<B>background</B><br>
+<B>font</B><br>
+<B>padX</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>foreground</B><br>
+<B>padY</B><br>
+</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>labelBitmap</B><br>
+<B>labelPos</B><br>
+</td>
+<td valign=top>
+<B>labelFont</B><br>
+<B>labelText</B><br>
+</td>
+<td valign=top>
+<B>labelImage</B><br>
+<B>labelVariable</B><br>
+</td>
+<td valign=top>
+<B>labelMargin</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="labeledwidget.n.html"> "labeledwidget" </A> class manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeRelief</B><br>
+</td>
+<td valign=top>
+<B>elementBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>jump</B><br>
+</td>
+<td valign=top>
+<B>troughColor</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/scrollbar.n.html"> "scrollbar" </A> widget manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>height</B><br>
+<B>textBackground</B><br>
+</td>
+<td valign=top>
+<B>hscrollMode</B><br>
+<B>visibleItems</B><br>
+</td>
+<td valign=top>
+<B>sbWidth</B><br>
+<B>vscrollMode</B><br>
+</td>
+<td valign=top>
+<B>scrollMargin</B><br>
+<B>width</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="scrolledtext.n.html"> "scrolledtext" </A> widget manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>spacing1</B><br>
+</td>
+<td valign=top>
+<B>spacing2</B><br>
+</td>
+<td valign=top>
+<B>spacing3</B><br>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/text.n.html"> "text" </A> widget manual entry for details on the above
+associated options.
+
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>fileName</B>
+Class: <B>FileName</B>
+Command-Line Switch: <B>-filename</B>
+</pre>
+<UL>
+Specifies the filename to be displayed in the file selection dialog when
+it pops up during a save of the messagebox contents operation.
+</UL>
+<P>
+<pre>
+Name: <B>maxLines</B>
+Class: <B>MaxLines</B>
+Command-Line Switch: <B>-maxlines</B>
+</pre>
+<UL>
+Specifies the maximum number of lines allowed in the text area of the
+messagebox. When this limit is reached, the oldest line will be deleted
+such that the total number of lines remains <I>maxlines</I>.
+</UL>
+<P>
+<pre>
+Name: <B>saveDir</B>
+Class: <B>SaveDir</B>
+Command-Line Switch: <B>-savedir</B>
+</pre>
+<UL>
+Specifies the default directory to display when the file selection dialog
+pops up during a save of the messagebox contents operation. If this
+parameter is not specified, then the files in the current working directory
+are displayed.
+</UL>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>messagebox</B> command creates
+a scrolled information messages area widget.
+Message types can be user defined and configured. Their options
+include foreground, background, font, bell, and their display
+mode of on or off. This allows message types to defined as needed,
+removed when no longer so, and modified when necessary. An export
+method is provided for file I/O.
+
+<P>
+The number of lines displayed may be limited with
+the default being 1000. When this limit is reached, the oldest line
+is removed. A popup menu which appears when the right mouse button
+has been pressed in the message area has been predefined. The contents
+of the popup menu by default support clearing the area and saving its
+contents to a file. Additional operations may be defined or existing
+operations removed by using the component command to access the
+popup menu.
+
+</pre><H2>MESSAGE TYPES</H2>
+<P>
+The display characteristics of messages issued to the messagebox vary
+with the message type. Types are defined by the user and they may
+be added, removed, and configured. The options of the message type
+control the display include the following:
+<DL>
+<DT> <B>-background <I>color</I>
+</I></B>
+<DD> <I>Color</I> specifies the background color to use for characters
+associated with the message type.
+It may have any of the forms accepted by <B>Tk_GetColor</B>.
+</DL>
+<DL>
+<DT> <B>-bell <I>boolean</I>
+</I></B>
+<DD> Specifies whether or not to ring the bell whenenver a message of this
+type is issued. <I>Boolean</I> may have any of the forms accepted by
+<B>Tk_GetBoolean</B>. The default is 0.
+</DL>
+<DL>
+<DT> <B>-font\ <I>fontName</I>
+</I></B>
+<DD> <I>FontName</I> is the name of a font to use for drawing
+characters. It may have any of the forms accepted
+by Tk_GetFontStruct.
+</DL>
+<DL>
+<DT> <B>-foreground <I>color</I>
+</I></B>
+<DD> <I>Color</I> specifies the foreground color to use for characters
+associated with the message type.
+It may have any of the forms accepted by <B>Tk_GetColor</B>.
+</DL>
+<DL>
+<DT> <B>-show <I>boolean</I>
+</I></B>
+<DD> Specifies whether of not to display this message type when issued.
+<I>Boolean</I> may have any of the forms accepted by
+<B>Tk_GetBoolean</B>. The default is 1.
+
+</DL>
+</pre><H2>METHODS</H2>
+<P>
+The <B>messagebox</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 messagebox 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>messagebox</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>clear</B>
+</I></B>
+<DD> Clear the messagebox of all messages.
+</DL>
+<DL>
+<DT> <I>pathName <B>export</B> <I>filename</I>
+</I></B>
+<DD> Write text to a file. If <I>filename</I> exists then
+contents are replaced with text widget contents.
+</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>messagebox</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>type</B> <I>option</I> <I>msgtype</I> ?<I>arg arg ...</I>?
+</I></B>
+<DD> This command is used to manipulate message types. The behavior of
+the command depends on the option argument that follows the type keyword.
+The following forms of the command are supported:
+</DL>
+<UL>
+<DL>
+</DL>
+<DL>
+<DT> <I>pathName <B>type add</B> <I>msgtype</I> ?<I>option value ...</I>?
+</I></B>
+<DD> Adds a new message type given by <I>msgtype</I> with the display
+properties defined by the option value pairs.
+See MESSAGE TYPES for information on the options that
+are supported.
+</DL>
+<DL>
+<DT> <I>pathName <B>type cget</B> <I>msgtype option</I>
+</I></B>
+<DD> Returns the value of a configuration option for a message type.
+<I>Msgtype</I> identifies the message type, and <I>option</I>
+specifies a particular configuration option, which must be one of
+the ones listed in the section MESSAGE TYPES.
+</DL>
+<DL>
+<DT> <I>pathName <B>type configure <I>msgtype</I> ?<I>option value ...</I>?
+</I></B>
+<DD> Query or modify the configuration options for a message type.
+If no <I>option</I> is specified, returns a list describing all of
+the available options for the message type <I>msgtype</I>.
+If <I>option</I> is specified with no <I>value</I>, then the command
+returns a list describing the one named option.
+If one or more <I>option-value</I> pairs are specified, then the command
+modifies the given option(s) to have the given value(s); in
+this case the command returns an empty string.
+See MESSAGE TYPES for information on the options that
+are supported.
+<I>pathName <B>type remove</B> <I>msgtype</I>
+Removes an existing message type given by <I>msgtype</I>.
+</DL>
+</UL>
+<DL>
+<DT> <I>pathName <B>issue</B> <I>string</I> <I>?level?</I> <I>?tags?</I>
+</I></B>
+<DD> Print a <I>string</I> to the text area at the given level and with
+any additional tags specified.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name: <B>itemMenu</B>
+Class: <B>Menu</B>
+</pre>
+<UL>
+This is the popup menu that gets displayed when you right-click in the
+text area of the messagebox. Its contents may be modified via the component
+command.
+</UL>
+<P>
+<pre>
+Name: <B>text</B>
+Class: <B>Scrolledtext</B>
+</pre>
+<UL>
+The text component is the scrolledtext widget. See the "scrolledtext" widget
+manual entry for details on the text component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+ messagebox .mb -hscrollmode dynamic -labeltext "Messages" -labelpos n \\
+ -height 120 -width 550 -savedir "/tmp" -textbackground #d9d9d9
+
+ pack .mb -padx 5 -pady 5 -fill both -expand yes
+
+ .mb type add ERROR -background red -foreground white -bell 1
+ .mb type add WARNING -background yellow -foreground black
+ .mb type add INFO -background white -foreground black
+
+ .mb issue "This is an error message in red with a beep" ERROR
+ .mb issue "This warning message in yellow" WARNING
+ .mb issue "This is an informational message" INFO
+</pre>
+</pre><H2>AUTHORS</H2>
+Alfredo Jahn V
+<P>
+Mark L. Ulferts
+<P>
+</pre><H2>KEYWORDS</H2>
+messagebox, scrolledtext, text, widget
+
diff --git a/itcl/iwidgets/demos/html/messagedialog.n.html b/itcl/iwidgets/demos/html/messagedialog.n.html
new file mode 100644
index 00000000000..c4a32cf8b8c
--- /dev/null
+++ b/itcl/iwidgets/demos/html/messagedialog.n.html
@@ -0,0 +1,279 @@
+<TITLE>messagedialog - Create and manipulate a message dialog widget</TITLE>
+<H1>messagedialog - Create and manipulate a message dialog widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>messagedialog<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Toplevel &lt;- Shell &lt;- Dialogshell &lt;- Dialog &lt;- Messagedialog
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>background</B><br>
+<B>foreground</B><br>
+</td>
+<td valign=top>
+<B>bitmap</B><br>
+<B>image</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+<B>text</B><br>
+</td>
+<td valign=top>
+<B>font</B><br>
+</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>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>buttonBoxPadX</B><br>
+<B>padY</B><br>
+</td>
+<td valign=top>
+<B>buttonBoxPadY</B><br>
+<B>separator</B><br>
+</td>
+<td valign=top>
+<B>buttonBoxPos</B><br>
+<B>thickness</B><br>
+</td>
+<td valign=top>
+<B>padX</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="dialogshell.n.html"> "dialogshell" </A> widget manual entry for details on the above
+inherited options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>master</B><br>
+</td>
+<td valign=top>
+<B>modality</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "shell" widget manual entry for details on the above
+inherited options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>title</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "Toplevel" widget manual entry for details on the above
+inherited options.
+<P>
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>imagePos</B>
+Class: <B>Position</B>
+Command-Line Switch: <B>-imagepos</B>
+</pre>
+<UL>
+Specifies the image position relative to the message text: <B>n</B>, <B>s</B>,
+<B>e</B>, or <B>w</B>. The default is w.
+</UL>
+<P>
+<pre>
+Name: <B>textPadX</B>
+Class: <B>Pad</B>
+Command-Line Switch: <B>-textpadx</B>
+</pre>
+<UL>
+Specifies a non-negative value indicating how much extra space to request for
+the message text in the X direction. The value may have any of the forms
+acceptable to Tk_GetPixels.
+</UL>
+<P>
+<pre>
+Name: <B>textPadY</B>
+Class: <B>Pad</B>
+Command-Line Switch: <B>-textpady</B>
+</pre>
+<UL>
+Specifies a non-negative value indicating how much extra space to request for
+the message text in the X direction. The value may have any of the forms
+acceptable to Tk_GetPixels.
+</UL>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>messagedialog</B> command creates a message dialog composite widget.
+The messagedialog is derived from the Dialog class and is composed of
+an image and associated message text with commands to manipulate the
+dialog buttons.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>messagedialog</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 messagedialog widgets:
+
+</pre><H2>INHERITED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>add</B><br>
+<B>insert</B><br>
+</td>
+<td valign=top>
+<B>buttonconfigure</B><br>
+<B>invoke</B><br>
+</td>
+<td valign=top>
+<B>default</B><br>
+<B>show</B><br>
+</td>
+<td valign=top>
+<B>hide</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="buttonbox.n.html"> "buttonbox" </A> widget manual entry for details on the above
+inherited methods.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>childsite</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="dialogshell.n.html"> "dialogshell" </A> widget manual entry for details on the above
+inherited methods.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activate</B><br>
+</td>
+<td valign=top>
+<B>center</B><br>
+</td>
+<td valign=top>
+<B>deactivate</B><br>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="dialogshell.n.html"> "dialogshell" </A> widget manual entry for details on the above
+inherited methods.
+</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>messagedialog</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>messagedialog</B>
+command.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name: <B>image</B>
+Class: <B>Label</B>
+</pre>
+<UL>
+The image component is the bitmap or image of the message dialog. See
+the "label" widget manual entry for details on the image component item.
+</UL>
+<P>
+<pre>
+Name: <B>message</B>
+Class: <B>Label</B>
+</pre>
+<UL>
+The message component provides the textual portion of the message dialog.
+See the "label" widget manual entry for details on the message component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+ #
+ # Standard question message dialog used for confirmation.
+ #
+ messagedialog .md -title "Message Dialog" -text "Are you sure ?" \\
+ -bitmap questhead -modality global
+
+ .md buttonconfigure OK -text Yes
+ .md buttonconfigure Cancel -text No
+
+ if {[.md activate]} {
+ .md configure -text "Are you really sure ?"
+ if {[.md activate]} {
+ puts stdout "Yes"
+ } else {
+ puts stdout "No"
+ }
+ } else {
+ puts stdout "No"
+ }
+
+ destroy .md
+
+ #
+ # Copyright notice with automatic deactivation.
+ #
+ messagedialog .cr -title "Copyright" -bitmap @dsc.xbm -imagepos n \\
+ -text "Copyright 1995 DSC Communications Corporation\\n \\
+ All rights reserved"
+
+ .cr hide Cancel
+
+ .cr activate
+ after 10000 ".cr deactivate"
+</pre>
+</pre><H2>AUTHOR</H2>
+Mark L. Ulferts
+</pre><H2>KEYWORDS</H2>
+messagedialog, dialog, dialogshell, shell, widget
diff --git a/itcl/iwidgets/demos/html/notebook.n.html b/itcl/iwidgets/demos/html/notebook.n.html
new file mode 100644
index 00000000000..62c90dced17
--- /dev/null
+++ b/itcl/iwidgets/demos/html/notebook.n.html
@@ -0,0 +1,509 @@
+<TITLE>notebook - create and manipulate notebook widgets</TITLE>
+<H1>notebook - create and manipulate notebook widgets</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>notebook</B> <I>pathName</I> ?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- notebook
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>background</B><br>
+<B>cursor</B><br>
+</td>
+<td valign=top>
+<B>foreground</B><br>
+<B>height</B><br>
+</td>
+<td valign=top>
+<B>scrollCommand</B><br>
+</td>
+<td valign=top>
+<B>width</B><br>
+</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>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>auto</B>
+Class: <B>Auto</B>
+Command-Line Switch: <B>-auto</B>
+</pre>
+<UL>
+Specifies whether to use the automatic packing/unpacking algorithm of the
+notebook. A value of <B>true</B> indicates that page frames will be unpacked
+and packed acoording to the algorithm described in the <B>select</B> command.
+A value of <B>false</B> leaves the current page packed and subsequent selects,
+next, or previous commands do not switch pages automatically. In either
+case the page's associated command (see the <B>add</B> command's description
+of the <B>command</B> option) is invoked. The value may have any of the
+forms accepted by the <B>Tcl_GetBoolean</B>, such as true, false, 0, 1, yes,
+or no.
+</UL>
+<UL>
+For example, if a series of pages in a notebook simply change certain display
+configurations of a graphical display, the <B>-auto</B> flag could be used.
+By setting it, the <B>-command</B> procs could do the appropriate reconfiguring
+of the page when the page is switched.
+</UL>
+</pre><HR>
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>notebook</B> command creates a new window (given by the pathName
+argument) and makes it into a notebook widget. Additional options, described
+above may be specified on the command line or in the option database to
+configure aspects of the notebook such as its colors, font, and text.
+The <B>notebook</B> command returns its <I>pathName</I> argument. At the time
+this command is invoked, there must not exist a window named pathName, but
+pathName's parent must exist.
+
+A notebook is a widget that contains a set of pages. It displays one page from
+the set as the selected page. When a page is selected, the page's contents are
+displayed in the page area. When first created a notebook has no pages. Pages
+may be added or deleted using widget commands described below.
+
+</pre><H2>NOTEBOOK PAGES</H2>
+<P>
+A notebook's pages area contains a single child site <B>frame</B>. When a new
+page is created it is a child of this frame. The page's child site frame
+serves as a geometry container for applications to pack widgets into. It is
+this frame that is automatically unpacked or packed when the <B>auto</B>
+option is <B>true</B>. This creates the effect of one page being visible at
+a time. When a new page is selected, the previously selected page's child
+site frame is automatically unpacked from the notebook's child site frame
+and the newly selected page's child site is packed into the notebook's
+child site frame.
+
+However, sometimes it is desirable to handle page changes in a different
+manner. By specifying the <B>auto</B> option as <B>false</B>, child site
+packing can be disabled and done differently. For example, all widgets might
+be packed into the first page's child site frame. Then when a new page is
+selected, the application can reconfigure the widgets and give the appearance
+that the page was flipped.
+
+In both cases the <B>command</B> option for a page specifies a Tcl Command to
+execute when the page is selected. In the case of <B>auto</B> being <B>true</B>,
+it is called between the unpacking of the previously selected page and the
+packing of the newly selected page.
+
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<P>
+The <B>notebookfR 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.
+<P>
+Many of the widget commands for a notebook take as one argument an indicator
+of which page of the notebook to operate on. These indicators are called
+indexes and may be specified in any of the following forms:
+<DL>
+<DT> <I>number</I>
+</I></B>
+<DD> Specifies the index of the the component. For menus, 0 corresponds to the
+left-most menu of the menu bar. For entries, 0 corresponds to the top-most
+entry of the menu.
+<I>number</I>
+Specifies the page numerically, where 0 corresponds to the first page in
+the notebook, 1 to the second, and so on.
+</DL>
+<DL>
+<DT> <B>select</B>
+</I></B>
+<DD> Specifies the currently selected page's index. If no page is currently
+selected, the value -1 is returned.
+</DL>
+<DL>
+<DT> <B>end</B>
+</I></B>
+<DD> Specifes the last page in the notebooks's index. If the notebook is empty
+this will return -1.
+</DL>
+<DL>
+<DT> <I>pattern</I>
+</I></B>
+<DD> If the index doesn't satisfy the form of a number, then this form is used.
+Pattern is pattern-matched against the <B>label</B> of each page in the
+notebook, in order from the first to the last page, until a matching entry
+is found. The rules of <B>Tcl_StringMatch</B> are used.
+</DL>
+<P>
+'.............................................................................
+The following commands are possible for notebook widgets:
+<DL>
+<DT> <I>pathName</I> <B>add</B> ?<I>option value</I>?
+</I></B>
+<DD> Add a new page at the end of the notebook. A new child site frame is
+created. Returns the child site pathName. If additional arguments are
+present, they specify any of the following options:
+</DL>
+<UL>
+<DL>
+<DT> <B>-background</B> <I>value</I>
+</I></B>
+<DD> Specifies a background color to use for displaying the child site frame
+of this page. If this option is specified as an empty string (the default),
+then the background option for the overall notebook is used.
+</DL>
+<DL>
+<DT> <B>-command</B> <I>value</I>
+</I></B>
+<DD> Specifies a Tcl command to be executed when this page is selected. This
+allows the programmer a hook to reconfigure this page's widgets or any other
+page's widgets.
+<UL>
+If the notebook has the auto option set to true, when a page is selected
+this command will be called immediately after the previously selected page
+is unpacked and immediately before this page is selected. The index value
+select is valid during this Tcl command. `index select' will return this
+page's page number.
+</UL>
+<UL>
+If the auto option is set to false, when a page is selected the unpack and
+pack calls are bypassed. This Tcl command is still called.
+</UL>
+</DL>
+<DL>
+<DT> <B>-foreground</B> <I>value</I>
+</I></B>
+<DD> Specifies a foreground color to use for displaying tab labels when tabs are
+in their normal unselected state. If this option is specified as an empty
+string (the default), then the foreground option for the overall notebook
+is used.
+</DL>
+<DL>
+<DT> <B>-label</B> <I>value</I>
+</I></B>
+<DD> Specifies a string to associate with this page. This label serves as an
+additional identifier used to reference the page. This label may be used
+for the index value in widget commands.
+</DL>
+</UL>
+<DL>
+<DT> <I>pathName</I> <B>childSite</B> ?<I>index</I>?
+</I></B>
+<DD> If passed no arguments, returns a list of pathNames for all the pages in
+the notebook. If the notebook is empty, an empty list is returned
+<UL>
+If index is passed, it returns the pathName for the page's child site
+frame specified by index. Widgets that are created with this pathName will
+be displayed when the associated page is selected. If index is not a valid
+index, an empty string is returned.
+</UL>
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>cget</B> <I>option</I>
+</I></B>
+<DD> Returns the current value of the configuration option given by <I>option</I>.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>configure</B> ?<I>option</I>? ?<I>value</I> <I>option</I> <I>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 option is specified). If one or more option-value 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>notebook</B> command.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>delete</B> <I>index1</I> ?i</B></I>ndex2?
+</I></B>
+<DD> Delete all of the pages between <I>index1</I> and <I>index2</I> inclusive.
+If <I>index2</I> is omitted then it defaults to <I>index1</I>. Returns an
+empty string.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>index</B> <I>index</I>
+</I></B>
+<DD> Returns the numerical index corresponding to <I>index</I>.
+</DL>
+<DL>
+<DT> <B>pathName</B> <B>insert</B> <I>index</I> ?<I>option</I> <I>value</I>?
+</I></B>
+<DD> Insert a new page in the notebook before the page specified by <I>index</I>.
+A new child site <B>frame</B> is created. See the <B>add</B> command for
+valid options. Returns the child site pathName.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>next</B>
+</I></B>
+<DD> Advances the selected page to the next page (order is determined by insertion
+order). If the currently selected page is the last page in the notebook,
+the selection wraps around to the first page in the notebook.
+<UL>
+For notebooks with auto set to true the current page's child site is
+unpacked from the notebook's child site frame. Then the next page's child
+site is packed into the notebooks child site frame. The Tcl command given
+with the command option will be invoked between these two operations.
+</UL>
+<UL>
+For notebooks with auto set to false the Tcl command given with the
+command option will be invoked.
+</UL>
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>pagecget</B> <I>index</I> ?<I>option</I>?
+</I></B>
+<DD> Returns the current value of the configuration option given by <I>option</I>
+for the page specified by <I>index</I>. The valid available options are the
+same as available to the <B>add</B> command.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>pageconfigure</B> <I>index</I> ?<I>option</I>? ?<I>value</I> <I>option</I> <I>value</I> ...?
+</I></B>
+<DD> This command is similar to the configure command, except that it applies to
+the options for an individual page, whereas configure applies to the options
+for the notebook. Options may have any of the values accepted by the add
+widget command. If options are specified, options are modified as indicated
+in the command and the command returns an empty string. If no options are
+specified, returns a list describing the current options for
+page <I>index</I> (see <B>Tk_ConfigureInfo</B> for information on the
+format of this list).
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>prev</B>
+</I></B>
+<DD> Moves the selected page to the previous page (order is determined by
+insertion order). If the currently selected page is the first page in the
+notebook, the selection wraps around to the last page in the notebook.
+<UL>
+For notebooks with <B>auto</B> set to <B>true</B> the current page's child
+site is unpacked from the notebook's child site frame. Then the previous
+page's child site is packed into the notebooks child site frame. The Tcl
+command given with the command option will be invoked between these two
+operations.
+</UL>
+<UL>
+For notebooks with <B>auto</B> set to <B>false</B> the Tcl command given with
+the command option will be invoked.
+</UL>
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>select</B> <I>index</I>
+</I></B>
+<DD> Selects the page specified by <I>index</I> as the currently selected page.
+<UL>
+For notebooks with <B>auto</B> set to <B>true</B> the current page's child
+site is unpacked from the notebook's child site frame. Then the index page's
+child site is packed into the notebooks child site frame. The Tcl command
+given with the command option will be invoked between these two operations.
+</UL>
+<UL>
+For notebooks with <B>auto</B> set to <B>false</B> the Tcl command given with
+the command option will be invoked.
+</UL>
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>view</B>
+</I></B>
+<DD> Returns the currently selected page. This command is for compatibility
+with the scrollbar widget.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>view</B> <I>index</I>
+</I></B>
+<DD> Selects the page specified by <I>index</I> as the currently selected page.
+This command is for compatibility with the scrollbar widget.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>view</B> <I>moveto</I> <I>fraction</I>
+</I></B>
+<DD> Uses the fraction value to determine the corresponding page to move to.
+This command is for compatibility with the scrollbar widget.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>view</B> <I>scroll</I> <I>num</I> <I>what</I>
+</I></B>
+<DD> Uses the <I>num</I> value to determine how many pages to move forward or
+backward (num can be negative or positive). The <I>what</I> argument is
+ignored. This command is for compatibility with the scrollbar widget.
+
+</DL>
+</pre><H2>EXAMPLE</H2>
+<P>
+Following is an example that creates a notebook with two pages. In this example, we use a scrollbar widget to control the notebook widget.
+<table cellpadding=5>
+<td valign=top>
+<UL><br>
+the<br>
+pack<br>
+-width<br>
+pack<br>
+\\<br>
+-expand<br>
+left<br>
+\\<br>
+#<br>
+to<br>
+#<br>
+"Page<br>
+add<br>
+.nb<br>
+Two"<br>
+Get<br>
+frames<br>
+pages.<br>
+childsite<br>
+[.nb<br>
+</UL><br>
+buttons<br>
+of<br>
+$page1CS.b<br>
+pack<br>
+-text<br>
+$page2CS.b<br>
+Select<br>
+of<br>
+select<br>
+#<br>
+and<br>
+#<br>
+together,<br>
+scrollbar<br>
+".nb<br>
+-scrollcommand<br>
+.scroll<br>
+yes<br>
+</td>
+<td valign=top>
+</UL><br>
+notebook<br>
+it.<br>
+100<br>
+.nb<br>
+-fill<br>
+yes<br>
+\\<br>
+-pady<br>
+Add<br>
+the<br>
+"Page<br>
+Two",<br>
+-label<br>
+add<br>
+</UL><br>
+the<br>
+of<br>
+set<br>
+0]<br>
+childsite<br>
+<UL><br>
+on<br>
+the<br>
+-text<br>
+$page1CS.b<br>
+"Button<br>
+</UL><br>
+the<br>
+the<br>
+0<br>
+Create<br>
+associate<br>
+and<br>
+then<br>
+ScrollBar<br>
+view"<br>
+".scroll<br>
+-fill<br>
+-pady<br>
+</td>
+<td valign=top>
+#<br>
+widget<br>
+notebook<br>
+-height<br>
+-anchor<br>
+both<br>
+\\<br>
+-padx<br>
+10<br>
+two<br>
+notebook,<br>
+One"<br>
+respectively.<br>
+"Page<br>
+-label<br>
+<UL><br>
+child<br>
+these<br>
+page1CS<br>
+set<br>
+"Page<br>
+#<br>
+each<br>
+notebook<br>
+"Button<br>
+button<br>
+Two"<br>
+<UL><br>
+first<br>
+notebook<br>
+</UL><br>
+the<br>
+teh<br>
+the<br>
+pack<br>
+.scroll<br>
+.nb<br>
+set"<br>
+y<br>
+10<br>
+</td>
+<td valign=top>
+Create<br>
+and<br>
+.nb<br>
+100<br>
+nw<br>
+\\<br>
+-side<br>
+10<br>
+<UL><br>
+pages<br>
+labelled<br>
+and<br>
+.nb<br>
+One"<br>
+"Page<br>
+#<br>
+site<br>
+two<br>
+[.nb<br>
+page2CS<br>
+Two"]<br>
+Create<br>
+page<br>
+button<br>
+One"<br>
+$page2CS.b<br>
+pack<br>
+#<br>
+page<br>
+.nb<br>
+<UL><br>
+scrollbar<br>
+scrollbar<br>
+notebook<br>
+the<br>
+-command<br>
+configure<br>
+pack<br>
+-expand<br>
+</UL><br>
+</td>
+</table>
+</pre><H2>AUTHOR</H2>
+Bill W. Scott
+</pre><H2>KEYWORDS</H2>
+notebook page
diff --git a/itcl/iwidgets/demos/html/optionmenu.n.html b/itcl/iwidgets/demos/html/optionmenu.n.html
new file mode 100644
index 00000000000..3405556da24
--- /dev/null
+++ b/itcl/iwidgets/demos/html/optionmenu.n.html
@@ -0,0 +1,316 @@
+<TITLE>optionmenu - Create and manipulate a option menu widget</TITLE>
+<H1>optionmenu - Create and manipulate a option menu widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>optionmenu<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- Labeledwidget &lt;- optionmenu
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeBackground</B><br>
+<B>borderWidth</B><br>
+<B>foreground</B><br>
+</td>
+<td valign=top>
+<B>activeBorderWidth</B><br>
+<B>cursor</B><br>
+<B>highlightColor</B><br>
+</td>
+<td valign=top>
+<B>activeForeground</B><br>
+<B>disabledForeground</B><br>
+<B>highlightThickness</B><br>
+</td>
+<td valign=top>
+<B>background</B><br>
+<B>font</B><br>
+<B>relief</B><br>
+</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>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>disabledForeground</B><br>
+<B>labelMargin</B><br>
+<B>state</B><br>
+</td>
+<td valign=top>
+<B>labelBitmap</B><br>
+<B>labelPos</B><br>
+</td>
+<td valign=top>
+<B>labelFont</B><br>
+<B>labelText</B><br>
+</td>
+<td valign=top>
+<B>labelImage</B><br>
+<B>labelVariable</B><br>
+</td>
+</table>
+<P>
+See the "LabeledWidget" manual entry for details on the inherited options.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>clickTime</B>
+Class: <B>ClickTime</B>
+Command-Line Switch: <B>-clicktime</B>
+</pre>
+<UL>
+Interval time, in msec, used to determine that a single mouse
+click has occurred. Used to post menu on a "quick" mouse click.
+<B>Note</B>: changing this value may cause the sigle-click
+functionality to not work properly. The default is 150 msec.
+</UL>
+<P>
+<pre>
+Name: <B>command</B>
+Class: <B>Command</B>
+Command-Line Switch: <B>-command</B>
+</pre>
+<UL>
+Specifies a Tcl command procedure to be evaluated following a change in
+the current option menu selection.
+</UL>
+<P>
+<pre>
+Name: <B>cyclicOn</B>
+Class: <B>CyclicOn</B>
+Command-Line Switch: <B>-cyclicon</B>
+</pre>
+<UL>
+Turns on/off the 3rd mouse button capability. The value may be specified
+in any of the forms acceptable to <B>Tcl_GetBoolean</B>. This feature
+allows the right mouse button to cycle through the popup
+menu list without poping it up. The right mouse button cycles through
+the menu in reverse order. The default is true.
+</UL>
+<P>
+<pre>
+Name: <B>popupCursor</B>
+Class: <B>Cursor</B>
+Command-Line Switch: <B>-popupcursor</B>
+</pre>
+<UL>
+Specifies the mouse cursor to be used for the popup menu. The value may
+have any of the forms acceptable to <B>Tk_GetCursor</B>.
+</UL>
+<P>
+<pre>
+Name: <B>state</B>
+Class: <B>State</B>
+Command-Line Switch: <B>-state</B>
+</pre>
+<UL>
+Specified one of two states for the optionmenu: <B>normal</B>, or
+<B>disabled</B>. If the optionmenu is disabled, then option menu
+selection is ignored.
+</UL>
+<P>
+<pre>
+Name: <B>width</B>
+Class: <B>Width</B>
+Command-Line Switch: <B>-width</B>
+</pre>
+<UL>
+Specifies a fixed size for the menu button label in any of the forms
+acceptable to \Tk_GetPixels</B></I>. If the text
+is too small to fit in the label, the text is clipped.
+Note: Normally, when a new list is created, or new items are
+added to an existing list, the menu button label is resized
+automatically. Setting this option overrides that functionality.
+</UL>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>optionmenu</B> command creates an option menu widget with options
+to manage it. An option menu displays a frame containing a label and a button.
+A pop-up menu will allow for the value of the button to change.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>optionmenu</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.
+<P>
+Many of the widget commands for an optionmenu take as one argument an
+indicator of which entry of the option menu to operate on. These
+indicators are called <I>index</I>es and may be specified in
+any of the following forms:
+<DL>
+<DT> <I>number</I>
+</I></B>
+<DD> Specifies the entry numerically, where 0 corresponds
+to the top-most entry of the option menu, 1 to the entry below it, and
+so on.
+</DL>
+<DL>
+<DT> <B>end</B>
+</I></B>
+<DD> Indicates the bottommost entry in the menu. If there are no
+entries in the menu then -1 is returned.
+</DL>
+<DL>
+<DT> <B>select</B>
+</I></B>
+<DD> Returns the numerical index of the currently selected option menu entry.
+If no entries exist in the menu, then -1 is returned.
+</DL>
+<DL>
+<DT> <I>pattern</I>
+</I></B>
+<DD> If the index doesn't satisfy one of the above forms then this
+form is used. <I>Pattern</I> is pattern-matched against the label of
+each entry in the option menu, in order from the top down, until a
+matching entry is found. The rules of <B>Tcl_StringMatch</B>
+are used.
+</DL>
+<P>
+The following widget commands are possible for optionmenu 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>optionmenu</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>optionmenu</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>delete <I>first</I> ?<I>last</I>?
+</I></B>
+<DD> Delete all of the option menu entries between <I>first</I> and
+<I>last</I> inclusive. If <I>last</I> is omitted then it defaults
+to <I>first</I>.
+</DL>
+<DL>
+<DT> <I>pathName <B>disable <I>index</I>
+</I></B>
+<DD> Disable the option menu entry specified by <I>index</I>.
+Disabling a menu item will prevent the user from being able to select
+this item from the menu. This only effects the state of the item
+in the menu, in other words, should the item be the currently
+selected item, the programmer is responsible for determining this condition
+and taking appropriate action.
+</DL>
+<DL>
+<DT> <I>pathName <B>enable <I>index</I>
+</I></B>
+<DD> Enable the option menu entry specified by <I>index</I>.
+Enabling a menu item allows the user to select this item from the menu.
+</DL>
+<DL>
+<DT> <I>pathName <B>get</B> ?<I>first</I>? ?<I>last</I>?
+</I></B>
+<DD> If no arguments are specified, this operation returns the currently
+selected option menu item. Otherwise, it returns the name of the
+option at index <I>first</I>, or a range of options between <I>first</I>
+and <I>last</I>.
+</DL>
+<DL>
+<DT> <I>pathName <B>index <I>index</I>
+</I></B>
+<DD> Returns the numerical index corresponding to <I>index</I>.
+</DL>
+<DL>
+<DT> <I>pathName <B>insert <I>index string</I> ?<I>string</I>?
+</I></B>
+<DD> Insert an item, or list of items, into the menu at location <I>index</I>.
+</DL>
+<DL>
+<DT> <I>pathName <B>select <I>index</I>
+</I></B>
+<DD> Select an item from the option menu to be displayed as the currently
+selected item.
+</DL>
+<DL>
+<DT> <I>pathName <B>sort <I>mode</I>
+</I></B>
+<DD> Sort the current menu in either <B>ascending</B>, or <B>descending</B> order.
+The values <B>increasing</B>, or <B>decreasing</B> are also accepted.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name: <B>menuBtn</B>
+Class: <B>Menubutton</B>
+</pre>
+<UL>
+The menuBtn component is the option menu button which displays the current
+choice from the popup menu. See the "menubutton" widget manual entry
+for details on the menuBtn component item.
+</UL>
+<P>
+<pre>
+Name: <B>popupMenu</B>
+Class: <B>Menu</B>
+</pre>
+<UL>
+The popupMenu component is menu displayed upon selection of the menu button.
+The menu contains the choices for the option menu. See the "menu" widget
+manual entry for details on the popupMenu component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+ optionmenu .om -labelmargin 5 \\
+ -labelon true -labelpos w -labeltext "Operating System :"
+
+ .om insert end Unix VMS Linux OS/2 {Windows NT} DOS
+ .om sort ascending
+ .om select Linux
+
+ pack .om -padx 10 -pady 10
+</pre>
+</pre><H2>ACKNOWLEDGEMENTS:</H2>
+Michael J. McLennan
+<UL>
+Borrowed some ideas (next &amp; previous) from OptionButton class.
+</UL>
+<P>
+Steven B. Jaggers
+<UL>
+Provided an initial prototype in [incr Tcl].
+</UL>
+<P>
+Bret Schuhmacher
+<UL>
+Helped with popup menu functionality.
+</UL>
+<P>
+</pre><H2>AUTHOR</H2>
+Alfredo Jahn
+</pre><H2>KEYWORDS</H2>
+optionmenu, widget
diff --git a/itcl/iwidgets/demos/html/panedwindow.n.html b/itcl/iwidgets/demos/html/panedwindow.n.html
new file mode 100644
index 00000000000..293b61e4621
--- /dev/null
+++ b/itcl/iwidgets/demos/html/panedwindow.n.html
@@ -0,0 +1,352 @@
+<TITLE>panedwindow - Create and manipulate a paned window widget</TITLE>
+<H1>panedwindow - Create and manipulate a paned window widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>panedwindow<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- panedwindow
+</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>
+</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>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>height</B>
+Class: <B>Height</B>
+Command-Line Switch: <B>-height</B>
+</pre>
+<UL>
+Specifies the overall height of the paned window in any of the forms
+acceptable to <B>Tk_GetPixels</B>. The default is 10 pixels.
+</UL>
+<P>
+<pre>
+Name: <B>orient</B>
+Class: <B>Orient</B>
+Command-Line Switch: <B>-orient</B>
+</pre>
+<UL>
+Specifies the orientation of the separators: <B>vertical</B> or
+<B>horizontal</B>. The default is horizontal.
+</UL>
+<P>
+<pre>
+Name: <B>sashBorderWidth</B>
+Class: <B>BorderWidth</B>
+Command-Line Switch: <B>-sashborderwidth</B>
+</pre>
+<UL>
+Specifies a value indicating the width of the 3-D border to draw
+around the outside of the sash in any of the forms acceptable to
+<B>Tk_GetPixels</B>. The default is 2 pixels.
+</UL>
+<P>
+<pre>
+Name: <B>sashCursor</B>
+Class: <B>Cursor</B>
+Command-Line Switch: <B>-sashcursor</B>
+</pre>
+<UL>
+Specifies the type of cursor to be displayed in the sash. The default
+is crosshair.
+</UL>
+<P>
+<pre>
+Name: <B>sashHeight</B>
+Class: <B>Height</B>
+Command-Line Switch: <B>-sashheight</B>
+</pre>
+<UL>
+Specifies the height of the sash in any of the forms acceptable to
+<B>Tk_GetPixels</B>. The default is 10 pixels.
+</UL>
+<P>
+<pre>
+Name: <B>sashIndent</B>
+Class: <B>SashIndent</B>
+Command-Line Switch <B>sashindent</B>
+</pre>
+<UL>
+Specifies the placement of the sash along the panes in any of the forms
+acceptable to <B>Tk_GetPixels</B>. A positive
+value causes the sash to be offset from the near (left/top) side
+of the pane, and a negative value causes the sash to be offset from
+the far (right/bottom) side. If the offset is greater than the
+width, then the sash is placed flush against the side. The
+default is -10 pixels.
+</UL>
+<P>
+<pre>
+Name: <B>sashWidth</B>
+Class: <B>Width</B>
+Command-Line Switch: <B>-sashwidth</B>
+</pre>
+<UL>
+Specifies the width of the sash in any of the forms acceptable to
+<B>Tk_GetPixels</B>. The default is 10 pixels.
+</UL>
+<P>
+<pre>
+Name: <B>showHandle</B>
+Class: <B>ShowHandle</B>
+Command-Line Switch: <B>-showhandle</B>
+</pre>
+<UL>
+Specifies whether or not to display the sashes on the window panes.
+The default is 1, and valid options are 0 and 1.
+</UL>
+<P>
+<pre>
+Name: <B>thickness</B>
+Class: <B>Thickness</B>
+Command-Line Switch: <B>-thickness</B>
+</pre>
+<UL>
+Specifies the thickness of the separators in any of the forms acceptable to
+<B>Tk_GetPixels</B>. The default is 3 pixels.
+</UL>
+<P>
+<P>
+<pre>
+Name: <B>width</B>
+Class: <B>Width</B>
+Command-Line Switch: <B>-width</B>
+</pre>
+<UL>
+Specifies the overall width of the paned window in any of the forms
+acceptable to <B>Tk_GetPixels</B>. The default is 10 pixels.
+</UL>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>panedwindow</B> command creates a multiple paned window widget
+capable of orienting the panes
+either vertically or horizontally. Each pane is itself a frame acting
+as a child site for other widgets. The border separating each pane
+contains a sash which allows user positioning of the panes relative to
+one another.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>panedwindow</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.
+<P>
+Many of the widget commands for the <B>panedwindow</B> take as one argument an
+indicator of which pane of the paned window to operate on. These indicators
+are called <I>indexes</I> and allow reference and manipulation of panes
+regardless of their current map state. Paned window indexes may be
+specified in any of the following forms:
+<DL>
+<DT> <I>number</I>
+</I></B>
+<DD> Specifies the pane numerically, where 0 corresponds to the nearest
+(top/left-most) pane of the paned window.
+</DL>
+<DL>
+<DT> <B>end</B>
+</I></B>
+<DD> Indicates the farthest (bottom/right-most) pane of the paned window.
+</DL>
+<DL>
+<DT> <I>pattern</I>
+</I></B>
+<DD> If the index doesn't satisfy one of the above forms then this
+form is used. <I>Pattern</I> is pattern-matched against the tag of
+each pane in the panedwindow, in order from left/top to right/left,
+until a matching entry is found. The rules of <B>Tcl_StringMatch</B>
+are used.
+
+</DL>
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<DL>
+<DT> <I>pathName <B>add</B> <I>tag</I> ?<I>option value option value</I>?
+</I></B>
+<DD> Adds a new pane to the paned window on the far side (right/bottom). The
+following options may be specified:
+</DL>
+<UL>
+<DL>
+<DT> <B>-margin</B> <I>value</I>
+</I></B>
+<DD> Specifies the border distance between the pane and pane contents is any of
+the forms acceptable to <B>Tk_GetPixels</B>. The default is 8 pixels.
+</DL>
+<DL>
+<DT> <B>-minimum</B> <I>value</I>
+</I></B>
+<DD> Specifies the minimum size that a pane's contents may reach not
+inclusive of twice the margin in any of the forms acceptable to
+<B>Tk_GetPixels</B>. The default is 10 pixels.
+
+The <B>add</B> method returns the path name of the pane.
+</DL>
+</UL>
+<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>panedwindow</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>childsite</B> ?<I>index</I>?
+</I></B>
+<DD> Returns a list of the child site path names or a specific child site given
+an index. The list is constructed from the near side (left/top) to the far
+side (right/bottom).
+</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>panedwindow</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>delete</B> <I>index</I>
+</I></B>
+<DD> Deletes a specified pane given an <I>index</I>.
+</DL>
+<DL>
+<DT> <I>pathName <B>fraction</B> <I>percentage</I> <I>percentage</I> ?<I>percentage percentage ...</I>?
+</I></B>
+<DD> Sets the visible percentage of the panes. Specifies a set of
+percentages which are applied to the visible panes from the near side
+(left/top). The number of percentages must be equal to the current number
+of visible (mapped) panes and add up to 100.
+</DL>
+<DL>
+<DT> <I>pathName <B>hide</B> <I>index</I>
+</I></B>
+<DD> Changes the visiblity of the specified pane, allowing a previously displayed
+pane to be visually removed rather than deleted.
+</DL>
+<DL>
+<DT> <I>pathName <B>index</B> <I>index</I>
+</I></B>
+<DD> Returns the numerical index corresponding to index.
+</DL>
+<DL>
+<DT> <I>pathName <B>insert <I>index</I> <I>tag</I> ?<I>option value option value ...</I>?
+</I></B>
+<DD> Same as the <B>add</B> command except that it inserts the new
+pane just before the one given by <I>index</I>, instead of appending
+to the end of the panedwindow. The <I>option</I>, and <I>value</I>
+arguments have the same interpretation as for the <B>add</B> widget
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>paneconfigure</B> <I>index</I> ?<I>options</I>?
+</I></B>
+<DD> This command is similar to the <B>configure</B> command, except that
+it applies to the options for an individual pane, whereas <B>configure</B>
+applies to the options for the paned window as a whole.
+<I>Options</I> may have any of the values accepted by the <B>add</B>
+widget command. If <I>options</I> are specified, options are modified
+as indicated in the command and the command returns an empty string.
+If no <I>options</I> are specified, returns a list describing
+the current options for entry <I>index</I> (see <B>Tk_ConfigureInfo</B> for
+information on the format of this list).
+</DL>
+<DL>
+<DT> <I>pathName <B>reset</B>
+</I></B>
+<DD> Redisplays the pane window using default percentages.
+</DL>
+<DL>
+<DT> <I>pathName <B>show</B> <I>index</I>
+</I></B>
+<DD> Changes the visiblity of the specified pane, allowing a previously hidden
+pane to be displayed.
+
+</DL>
+</pre><H2>NOTES</H2>
+<UL>
+Dynamic changing of the margin and or minimum options to values which
+make the current configuration invalid will block subsequent sash
+movement until the fractions are modified via the fraction method.
+For example a panedwindow is created with three panes and the minimum
+and margin options are at their default settings. Next the user moves
+the sashes to compact the panes to one side. Now, if the minimum is
+increased on the most compressed pane via the paneconfigure method to
+a large enough value, then sash movement is blocked
+until the fractions are adjusted. This situation is unusual and under
+normal operation of the panedwindow, this problem will never occur.
+</UL>
+<P>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+ panedwindow .pw -width 300 -height 300
+ .pw add top
+ .pw add middle -margin 10
+ .pw add bottom -margin 10 -minimum 10
+
+ pack .pw -fill both -expand yes
+
+ foreach pane [.pw childSite] {
+ button $pane.b -text $pane -relief raised -borderwidth 2
+ pack $pane.b -fill both -expand yes
+ }
+
+ .pw fraction 50 30 20
+ .pw paneconfigure 0 -minimum 20
+ .pw paneconfigure bottom -margin 15
+</pre>
+</pre><H2>ACKNOWLEDGEMENTS:</H2>
+<P>
+Jay Schmidgall
+<UL>
+1994 - Base logic posted to comp.lang.tcl
+</UL>
+<P>
+Joe Hidebrand &lt;hildjj@fuentez.com&gt;
+<UL>
+07/25/94 - Posted first multipane version to comp.lang.tcl
+</UL>
+<P>
+<UL>
+07/28/94 - Added support for vertical panes
+</UL>
+<P>
+Ken Copeland &lt;ken@hilco.com&gt;
+<UL>
+09/28/95 - Smoothed out the sash movement and added squeezable panes.
+</UL>
+<P>
+</pre><H2>AUTHOR</H2>
+Mark L. Ulferts
+</pre><H2>KEYWORDS</H2>
+panedwindow, widget
diff --git a/itcl/iwidgets/demos/html/promptdialog.n.html b/itcl/iwidgets/demos/html/promptdialog.n.html
new file mode 100644
index 00000000000..f8234a1ea5b
--- /dev/null
+++ b/itcl/iwidgets/demos/html/promptdialog.n.html
@@ -0,0 +1,313 @@
+<TITLE>promptdialog - Create and manipulate a prompt dialog widget</TITLE>
+<H1>promptdialog - Create and manipulate a prompt dialog widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>promptdialog<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Toplevel &lt;- dialogshell &lt;- dialog &lt;- promptdialog
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>background</B><br>
+<B>foreground</B><br>
+<B>insertBorderWidth</B><br>
+<B>relief</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>highlightColor</B><br>
+<B>insertOffTime</B><br>
+<B>selectBackground</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+<B>highlightThickness</B><br>
+<B>insertOnTime</B><br>
+<B>selectBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>exportSelection</B><br>
+<B>insertBackground</B><br>
+<B>insertWidth</B><br>
+<B>selectForeground</B><br>
+</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>show</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/entry.n.html"> "entry" </A> widget manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>invalid</B><br>
+</td>
+<td valign=top>
+<B>textBackground</B><br>
+</td>
+<td valign=top>
+<B>textFont</B><br>
+</td>
+<td valign=top>
+<B>validate</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="entryfield.n.html"> "entryfield" </A> widget manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>labelFont</B><br>
+</td>
+<td valign=top>
+<B>labelPos</B><br>
+</td>
+<td valign=top>
+<B>labelText</B><br>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="labeledwidget.n.html"> "labeledwidget" </A> widget manual entry for details on the above
+associated options.
+</pre><H2>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>buttonBoxPadX</B><br>
+<B>padY</B><br>
+</td>
+<td valign=top>
+<B>buttonBoxPadY</B><br>
+<B>separator</B><br>
+</td>
+<td valign=top>
+<B>buttonBoxPos</B><br>
+<B>thickness</B><br>
+</td>
+<td valign=top>
+<B>padX</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="dialogshell.n.html"> "dialogshell" </A> widget manual entry for details on the above
+inherited options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>height</B><br>
+</td>
+<td valign=top>
+<B>master</B><br>
+</td>
+<td valign=top>
+<B>modality</B><br>
+</td>
+<td valign=top>
+<B>width</B><br>
+</td>
+</table>
+<P>
+See the "shell" widget manual entry for details on the above
+inherited options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>title</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "Toplevel" widget manual entry for details on the above
+inherited options.
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>promptdialog</B> command creates a prompt dialog similar to the
+OSF/Motif standard prompt dialog composite widget. The promptdialog
+is derived from the dialog class and is composed of a EntryField
+with commands to manipulate the dialog buttons.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>promptdialog</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 promptdialog widgets:
+</pre><H2>ASSOCIATED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>delete</B><br>
+<B>insert</B><br>
+</td>
+<td valign=top>
+<B>get</B><br>
+<B>scan</B><br>
+</td>
+<td valign=top>
+<B>icursor</B><br>
+<B>selection</B><br>
+</td>
+<td valign=top>
+<B>index</B><br>
+<B>xview</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/entry.n.html"> "entry" </A> widget manual entry for details on the above
+associated methods.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>clear</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="entryfield.n.html"> "entryfield" </A> widget manual entry for details on the above
+associated methods.
+</pre><H2>INHERITED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>add</B><br>
+<B>invoke</B><br>
+</td>
+<td valign=top>
+<B>buttonconfigure</B><br>
+<B>show</B><br>
+</td>
+<td valign=top>
+<B>default</B><br>
+</td>
+<td valign=top>
+<B>hide</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="buttonbox.n.html"> "buttonbox" </A> widget manual entry for details on the above
+inherited methods.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>childsite</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="dialogshell.n.html"> "dialogshell" </A> widget manual entry for details on the above
+inherited methods.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activate</B><br>
+</td>
+<td valign=top>
+<B>center</B><br>
+</td>
+<td valign=top>
+<B>deactivate</B><br>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "shell" widget manual entry for details on the above
+inherited methods.
+
+</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>promptdialog</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>promptdialog</B>
+command.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name: <B>prompt</B>
+Class: <B>Entryfield</B>
+</pre>
+<UL>
+The prompt component is the entry field for user input in the prompt
+dialog. See the "entryfield" widget manual entry for details on
+the prompt component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+ option add *textBackground white
+
+ promptdialog .pd -modality global -title Password -labeltext Password: -show *
+ .pd hide Apply
+
+ if {[.pd activate]} {
+ puts "Password entered: [.pd get]"
+ } else {
+ puts "Password prompt cancelled"
+ }
+</pre>
+</pre><H2>AUTHOR</H2>
+Mark L. Ulferts
+</pre><H2>KEYWORDS</H2>
+promptdialog, dialog, dialogshell, shell, widget
diff --git a/itcl/iwidgets/demos/html/pushbutton.n.html b/itcl/iwidgets/demos/html/pushbutton.n.html
new file mode 100644
index 00000000000..d9a647e5a80
--- /dev/null
+++ b/itcl/iwidgets/demos/html/pushbutton.n.html
@@ -0,0 +1,175 @@
+<TITLE>pushbutton - Create and manipulate a push button widget</TITLE>
+<H1>pushbutton - Create and manipulate a push button widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>pushbutton<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- pushbutton
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeBackground</B><br>
+<B>borderWidth</B><br>
+<B>font</B><br>
+<B>highlightThickness</B><br>
+<B>state</B><br>
+</td>
+<td valign=top>
+<B>activeForeground</B><br>
+<B>command</B><br>
+<B>foreground</B><br>
+<B>image</B><br>
+<B>text</B><br>
+</td>
+<td valign=top>
+<B>background</B><br>
+<B>cursor</B><br>
+<B>highlightBackground</B><br>
+<B>padX</B><br>
+<B>underline</B><br>
+</td>
+<td valign=top>
+<B>bitmap</B><br>
+<B>disabledForeground</B><br>
+<B>highlightColor</B><br>
+<B>padY</B><br>
+<B>wrapLength</B><br>
+</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>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>defaultRing</B>
+Class: <B>DefaultRing</B>
+Command-Line Switch: <B>-defaultring</B>
+</pre>
+<UL>
+Boolean describing whether the button displays its default ring given in
+any of the forms acceptable to <B>Tcl_GetBoolean</B>. The default is false.
+</UL>
+<P>
+<pre>
+Name: <B>defaultRingPad</B>
+Class: <B>Pad</B>
+Command-Line Switch: <B>-defaultringpad</B>
+</pre>
+<UL>
+Specifies the amount of space to be allocated to the indentation of the
+default ring ring given in any of the forms acceptable to <B>Tcl_GetPixels</B>.
+The option has no effect if the defaultring option is set to false. The
+default is 2 pixels.
+</UL>
+<P>
+<pre>
+Name: <B>height</B>
+Class: <B>Height</B>
+Command-Line Switch: <B>-height</B>
+</pre>
+<UL>
+Specifies the height of the button inclusive of any default ring given in
+any of the forms acceptable to <B>Tk_GetPixels</B>. A value of zero lets
+the push button determine the height based on the requested height plus
+highlightring and defaultringpad.
+</UL>
+<P>
+<pre>
+Name: <B>width</B>
+Class: <B>Width</B>
+Command-Line Switch: <B>-width</B>
+</pre>
+<UL>
+Specifies the width of the button inclusive of any default ring given in
+any of the forms acceptable to <B>Tk_GetPixels</B>. A value of zero lets
+the push button determine the width based on the requested width plus
+highlightring and defaultringpad.
+</UL>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>pushbutton</B> command creates a push button with an
+optional default ring used for default designation and traversal.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>pushbutton</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 pushbutton widgets:
+</pre><H2>ASSOCIATED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>flash</B><br>
+</td>
+<td valign=top>
+<B>invoke</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/button.n.html"> "button" </A> manual entry for details on the associated methods.
+
+</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>pushbutton</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>pushbutton</B>
+command.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name: <B>pushbutton</B>
+Class: <B>Button</B>
+</pre>
+<UL>
+The pushbutton component is the button surrounded by the optional default ring.
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/button.n.html"> "button" </A> widget manual entry for details on the pushbutton
+component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+pushbutton .pb -text "Hello" -command {puts "Hello World"} -defaultring 1
+pack .pb -padx 10 -pady 10
+</pre>
+</pre><H2>AUTHOR</H2>
+Bret A. Schuhmacher
+<P>
+Mark L. Ulferts
+</pre><H2>KEYWORDS</H2>
+pushbutton, widget
diff --git a/itcl/iwidgets/demos/html/radiobox.n.html b/itcl/iwidgets/demos/html/radiobox.n.html
new file mode 100644
index 00000000000..b5d45c5773a
--- /dev/null
+++ b/itcl/iwidgets/demos/html/radiobox.n.html
@@ -0,0 +1,211 @@
+<TITLE>radiobox - Create and manipulate a radiobox widget</TITLE>
+<H1>radiobox - Create and manipulate a radiobox widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>radiobox<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- labeledframe &lt;- radiobox
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>background</B><br>
+<B>foreground</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>relief</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+<B>selectColor</B><br>
+</td>
+<td valign=top>
+<B>disabledForeground</B><br>
+</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>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>labelBitmap</B><br>
+<B>labelPos</B><br>
+</td>
+<td valign=top>
+<B>labelFont</B><br>
+<B>labelText</B><br>
+</td>
+<td valign=top>
+<B>labelImage</B><br>
+<B>labelVariable</B><br>
+</td>
+<td valign=top>
+<B>labelMargin</B><br>
+</td>
+</table>
+<P>
+See the "labeledframe" class manual entry for details on the
+inherited options.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>command</B>
+Class: <B>Command</B>
+Command-Line Switch: <B>-command</B>
+</pre>
+<UL>
+Specifies a Tcl command procedure to be evaluated following a change in
+the current radio box selection.
+</UL>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>radiobox</B> command creates a radio button box widget
+capable of adding, inserting, deleting, selecting, and configuring
+radiobuttons as well as obtaining the currently selected button.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>radiobox</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.
+<P>
+Many of the widget commands for the <B>radiobox</B> take as one argument an
+indicator of which radiobutton of the radiobox to operate on. These indicators
+are called <I>indexes</I> and allow reference and manipulation of radiobuttons.
+Radiobox indexes may be specified in any of the following forms:
+<DL>
+<DT> <I>number</I>
+</I></B>
+<DD> Specifies the radiobutton numerically, where 0 corresponds to the top
+radiobutton of the radiobox.
+</DL>
+<DL>
+<DT> <B>end</B>
+</I></B>
+<DD> Indicates the last radiobutton of the radiobox.
+</DL>
+<DL>
+<DT> <I>pattern</I>
+</I></B>
+<DD> If the index doesn't satisfy one of the above forms then this
+form is used. <I>Pattern</I> is pattern-matched against the tag of
+each radiobutton in the radiobox, in order from top to bottom,
+until a matching entry is found. The rules of <B>Tcl_StringMatch</B>
+are used.
+
+</DL>
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<DL>
+<DT> <I>pathName <B>add</B> <I>tag</I> ?<I>option value option value</I>?
+</I></B>
+<DD> Adds a new radiobutton to the radiobuttond window on the bottom. The command
+takes additional options which are passed on to the radiobutton as construction
+arguments. These include the standard Tk radiobutton options. The tag is
+returned.
+</DL>
+<DL>
+<DT> <I>pathName <B>buttonconfigure</B> <I>index</I> ?<I>options</I>?
+</I></B>
+<DD> This command is similar to the <B>configure</B> command, except that
+it applies to the options for an individual radiobutton,
+whereas <B>configure</B>applies to the options for the radiobox as a whole.
+<I>Options</I> may have any of the values accepted by the <B>add</B>
+widget command. If <I>options</I> are specified, options are modified
+as indicated in the command and the command returns an empty string.
+If no <I>options</I> are specified, returns a list describing
+the current options for entry <I>index</I> (see <B>Tk_ConfigureInfo</B> for
+information on the format of this list).
+</DL>
+<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>radiobox</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>radiobox</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>delete</B> <I>index</I>
+</I></B>
+<DD> Deletes a specified radiobutton given an <I>index</I>.
+</DL>
+<DL>
+<DT> <I>pathName <B>deselect</B> <I>index</I>
+</I></B>
+<DD> Deselects a specified radiobutton given an <I>index</I>.
+</DL>
+<DL>
+<DT> <I>pathName <B>flash</B> <I>index</I>
+</I></B>
+<DD> Flashes a specified radiobutton given an <I>index</I>.
+</DL>
+<DL>
+<DT> <I>pathName <B>get</B>
+</I></B>
+<DD> Returns the tag of the currently selected radiobutton.
+</DL>
+<DL>
+<DT> <I>pathName <B>index</B> <I>index</I>
+</I></B>
+<DD> Returns the numerical index corresponding to index.
+</DL>
+<DL>
+<DT> <I>pathName <B>insert <I>index</I> <I>tag</I> ?<I>option value option value ...</I>?
+</I></B>
+<DD> Same as the <B>add</B> command except that it inserts the new
+radiobutton just before the one given by <I>index</I>, instead of appending
+to the end of the radiobox. The <I>option</I>, and <I>value</I>
+arguments have the same interpretation as for the <B>add</B> widget
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>select</B> <I>index</I>
+</I></B>
+<DD> Selects a specified radiobutton given an <I>index</I>.
+
+</DL>
+</pre><H2>EXAMPLE</H2>
+<pre>
+ radiobox .rb -labeltext Fonts
+ .rb add times -text Times
+ .rb add helvetica -text Helvetica
+ .rb add courier -text Courier
+ .rb add symbol -text Symbol
+ .rb select courier
+
+ pack .rb -padx 10 -pady 10 -fill both -expand yes
+</pre>
+
+</pre><H2>AUTHORS</H2>
+Michael J. McLennan
+<P>
+Mark L. Ulferts
+</pre><H2>KEYWORDS</H2>
+radiobox, widget
diff --git a/itcl/iwidgets/demos/html/scopedobject.n.html b/itcl/iwidgets/demos/html/scopedobject.n.html
new file mode 100644
index 00000000000..a89effceaea
--- /dev/null
+++ b/itcl/iwidgets/demos/html/scopedobject.n.html
@@ -0,0 +1,96 @@
+<TITLE>scopedobject - Create and manipulate a scoped \[incr Tcl\] class object.</TITLE>
+<H1>scopedobject - Create and manipulate a scoped \[incr Tcl\] class object.</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>scopedobject<I> <I>objName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+None
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<pre>
+Name: <B>enterscopecommand:</B>
+Command-Line Switch: <B>-enterscopecommand</B>
+</pre>
+<UL>
+Specifies a Tcl command to invoke when an object enters scope
+(i.e. when it is created..). The default is {}.
+</UL>
+<P>
+<pre>
+Name: <B>enterscopecommand:</B>
+Command-Line Switch: <B>-enterscopecommand</B>
+</pre>
+<UL>
+Specifies a Tcl command to invoke when an object exits scope
+(i.e. when it is deleted..). The default is {}.
+</UL>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>scopedobject</B> command creates a base class for defining
+Itcl classes which posses scoped behavior like Tcl variables.
+The objects are only accessible within the procedure in which
+they are instantiated and are deleted when the procedure returns.
+This class was designed to be a general purpose base class for
+supporting scoped incr Tcl classes. The options include the
+execute a Tcl script command when an object enters and exits its
+scope.
+</pre><H2>METHODS</H2>
+<P>
+The <B>scopedobject</B> command creates a new Tcl command whose
+name is <I>pathName</I>. This
+command may be used to invoke various operations on the object.
+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 scopedobject objects:
+</pre><H2>OBJECT-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>scopedobject</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 object.
+If no <I>option</I> is specified, returns a list describing all of
+the available options for <I>pathName</I>. 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 objects 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>scopedobject</B>
+command.
+
+</DL>
+</pre><H2>EXAMPLE</H2>
+<UL>
+The scopedobject was primarily meant to be a base class. The
+following is an example of usage without inheritance:
+</UL>
+<P>
+<pre>
+ proc scopedobject_demo {} {
+ scopedobject #auto \
+ -exitscopecommand {puts "enter scopedobject_demo"} \
+ -exitscopecommand {puts "exit scopedobject_demo"}
+ }
+
+ scopedobject_demo
+
+</pre>
+</pre><H2>AUTHOR</H2>
+John A. Tucker
+</pre><H2>KEYWORDS</H2>
+scopedobject, object
diff --git a/itcl/iwidgets/demos/html/scrolledcanvas.n.html b/itcl/iwidgets/demos/html/scrolledcanvas.n.html
new file mode 100644
index 00000000000..95e019d5967
--- /dev/null
+++ b/itcl/iwidgets/demos/html/scrolledcanvas.n.html
@@ -0,0 +1,343 @@
+<TITLE>scrolledcanvas - Create and manipulate scrolled canvas widgets</TITLE>
+<H1>scrolledcanvas - Create and manipulate scrolled canvas widgets</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>scrolledcanvas<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- Labeledwidget &lt;- Scrolledwidget &lt;- Scrolledcanvas
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeBackground</B><br>
+<B>exportSelection</B><br>
+<B>highlightThickness</B><br>
+<B>insertWidth</B><br>
+<B>selectForeground</B><br>
+</td>
+<td valign=top>
+<B>background</B><br>
+<B>font</B><br>
+<B>insertBorderWidth</B><br>
+<B>relief</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>foreground</B><br>
+<B>insertOffTime</B><br>
+<B>selectBackground</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+<B>highlightColor</B><br>
+<B>insertOnTime</B><br>
+<B>selectBorderWidth</B><br>
+</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>closeEnough</B><br>
+<B>yScrollIncrement</B><br>
+</td>
+<td valign=top>
+<B>confine</B><br>
+</td>
+<td valign=top>
+<B>scrollRegion</B><br>
+</td>
+<td valign=top>
+<B>xScrollIncrement</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/canvas.n.html"> "canvas" </A> widget manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeRelief</B><br>
+</td>
+<td valign=top>
+<B>elementBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>jump</B><br>
+</td>
+<td valign=top>
+<B>troughColor</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/scrollbar.n.html"> "scrollbar" </A> widget manual entry for details on the above
+associated options.
+</pre><H2>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>disabledForeground</B><br>
+<B>labelMargin</B><br>
+<B>state</B><br>
+</td>
+<td valign=top>
+<B>labelBitmap</B><br>
+<B>labelPos</B><br>
+</td>
+<td valign=top>
+<B>labelFont</B><br>
+<B>labelText</B><br>
+</td>
+<td valign=top>
+<B>labelImage</B><br>
+<B>labelVariable</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="labeledwidget.n.html"> "labeledwidget" </A> class manual entry for details on the inherited options.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>autoMargin</B>
+Class: <B>AutoMargin</B>
+Command-Line Switch: <B>-automargin</B>
+</pre>
+<UL>
+Specifies the autoresize extra margin to reserve. This option is only
+effective with autoresize turned on. The default is 10.
+</UL>
+<P>
+<pre>
+Name: <B>autoResize</B>
+Class: <B>AutoResize</B>
+Command-Line Switch: <B>-autoresize</B>
+</pre>
+<UL>
+Automatically adjusts the scrolled region to be the bounding
+box covering all the items in the canvas following the execution
+of any method which creates or destroys items. Thus, as new
+items are added, the scrollbars adjust accordingly.
+</UL>
+<P>
+<pre>
+Name: <B>height</B>
+Class: <B>Height</B>
+Command-Line Switch: <B>-height</B>
+</pre>
+<UL>
+Specifies the height of the scrolled canvas widget in any of the forms
+acceptable to <B>Tk_GetPixels</B>. The default height is 30 pixels.
+</UL>
+<P>
+<pre>
+Name: <B>hscrollMode</B>
+Class: <B>ScrollMode</B>
+Command-Line Switch: <B>-hscrollmode</B>
+</pre>
+<UL>
+Specifies the the display mode to be used for the horizontal
+scrollbar: <B>static, dynamic,</B> or <B>none</B>. In static mode, the
+scroll bar is displayed at all times. Dynamic mode displays the
+scroll bar as required, and none disables the scroll bar display. The
+default is static.
+</UL>
+<P>
+<pre>
+Name: <B>sbWidth</B>
+Class: <B>Width</B>
+Command-Line Switch: <B>-sbwidth</B>
+</pre>
+<UL>
+Specifies the width of the scrollbar in any of the forms acceptable
+to <B>Tk_GetPixels</B>. The default width is 15 pixels..
+</UL>
+<P>
+<pre>
+Name: <B>scrollMargin</B>
+Class: <B>ScrollMargin</B>
+Command-Line Switch: <B>-scrollmargin</B>
+</pre>
+<UL>
+Specifies the distance between the canvas and scrollbar in any of the
+forms acceptable to <B>Tk_GetPixels</B>. The default is 3 pixels.
+</UL>
+<P>
+<pre>
+Name: <B>textBackground</B>
+Class: <B>Background</B>
+Command-Line Switch <B>-textbackground</B>
+</pre>
+<UL>
+Specifies the background color for the canvas. This allows the background
+within the canvas to be different from the normal background color.
+</UL>
+<P>
+<pre>
+Name: <B>vscrollMode</B>
+Class: <B>ScrollMode</B>
+Command-Line Switch: <B>-vscrollmode</B>
+</pre>
+<UL>
+Specifies the the display mode to be used for the vertical
+scrollbar: <B>static, dynamic,</B> or <B>none</B>. In static mode, the
+scroll bar is displayed at all times. Dynamic mode displays the
+scroll bar as required, and none disables the scroll bar display. The
+default is static.
+</UL>
+<P>
+<pre>
+Name: <B>width</B>
+Class: <B>Width</B>
+Command-Line Switch: <B>-width</B>
+</pre>
+<UL>
+Specifies the width of the scrolled canvas widget in any of the forms
+acceptable to <B>Tk_GetPixels</B>. The default height is 30 pixels.
+</UL>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>scrolledcanvas</B> command creates
+a scrolled canvas with additional options to manage
+horizontal and vertical scrollbars. This includes options to control
+which scrollbars are displayed and the method, i.e. statically or
+dynamically.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>scrolledcanvas</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 scrolledcanvas widgets:
+</pre><H2>ASSOCIATED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>addtag</B><br>
+<B>canvasy<B><br>
+<B>delete</B><br>
+<B>gettags</B><br>
+<B>itemconfigure</B><br>
+<B>raise</B><br>
+<B>type</B><br>
+</td>
+<td valign=top>
+<B>bbox</B><br>
+<B>coords</B><br>
+<B>dtag</B><br>
+<B>icursor</B><br>
+<B>lower</B><br>
+<B>scale</B><br>
+<B>xview</B><br>
+</td>
+<td valign=top>
+<B>bind</B><br>
+<B>create</B><br>
+<B>find</B><br>
+<B>index</B><br>
+<B>move</B><br>
+<B>scan</B><br>
+<B>yview</B><br>
+</td>
+<td valign=top>
+<B>canvasx</B><br>
+<B>dchars</B><br>
+<B>focus</B><br>
+<B>insert</B><br>
+<B>postscript</B><br>
+<B>select</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/canvas.n.html"> "canvas" </A> manual entry for details on the associated methods.
+
+</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>scrolledcanvas</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>childsite</B>
+</I></B>
+<DD> Returns the child site widget path name.
+</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>scrolledcanvas</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>justify <I>direction</I>
+</I></B>
+<DD> Justifies the canvas contents via the scroll bars in one of four directions:
+<B>left</B>, <B>right</B>, <B>top</B>, or <B>bottom</B>.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name: <B>canvas</B>
+Class: <B>Canvas</B>
+</pre>
+<UL>
+The canvas component is the canvas widget. See the "canvas" widget
+manual entry for details on the canvas component item.
+</UL>
+<P>
+<pre>
+Name: <B>horizsb</B>
+Class: <B>Scrollbar</B>
+</pre>
+<UL>
+The horizsb component is the horizontal scroll bar. See the "ScrollBar"
+widget manual entry for details on the horizsb component item.
+</UL>
+<P>
+<pre>
+Name: <B>vertsb</B>
+Class: <B>Scrollbar</B>
+</pre>
+<UL>
+The vertsb component is the vertical scroll bar. See the "ScrollBar" widget
+manual entry for details on the vertsb component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+ scrolledcanvas .sc
+
+ .sc create rectangle 100 100 400 400 -fill red
+ .sc create rectangle 300 300 600 600 -fill green
+ .sc create rectangle 200 200 500 500 -fill blue
+
+ pack .sc -padx 10 -pady 10 -fill both -expand yes
+</pre>
+</pre><H2>AUTHOR</H2>
+Mark L. Ulferts
+</pre><H2>KEYWORDS</H2>
+scrolledcanvas, canvas, widget
diff --git a/itcl/iwidgets/demos/html/scrolledframe.n.html b/itcl/iwidgets/demos/html/scrolledframe.n.html
new file mode 100644
index 00000000000..470b4a07a66
--- /dev/null
+++ b/itcl/iwidgets/demos/html/scrolledframe.n.html
@@ -0,0 +1,258 @@
+<TITLE>scrolledframe - Create and manipulate scrolled frame widgets</TITLE>
+<H1>scrolledframe - Create and manipulate scrolled frame widgets</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>scrolledframe<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- Labeledwidget &lt;-Scrolledwidget &lt;- Scrolledframe
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeBackground</B><br>
+<B>font</B><br>
+<B>relief</B><br>
+</td>
+<td valign=top>
+<B>background</B><br>
+<B>foreground</B><br>
+<B>selectBackground</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>highlightColor</B><br>
+<B>selectBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+<B>highlightThickness</B><br>
+<B>selectForeground</B><br>
+</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>activeRelief</B><br>
+</td>
+<td valign=top>
+<B>elementBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>jump</B><br>
+</td>
+<td valign=top>
+<B>troughColor</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/scrollbar.n.html"> "scrollbar" </A> manual entry for details on the associated options.
+</pre><H2>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>LabelBitmap</B><br>
+<B>labelPos</B><br>
+</td>
+<td valign=top>
+<B>labelFont</B><br>
+<B>labelText</B><br>
+</td>
+<td valign=top>
+<B>labelImage</B><br>
+<B>labelVariable</B><br>
+</td>
+<td valign=top>
+<B>labelMargin</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="labeledwidget.n.html"> "labeledwidget" </A> class manual entry for details on the inherited options.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>height</B>
+Class: <B>Height</B>
+Command-Line Switch: <B>-height</B>
+</pre>
+<UL>
+Specifies the height of the scrolled frame widget in any of the forms acceptable to <B>Tk_GetPixels</B>. The default height is 100 pixels.
+</UL>
+<P>
+<pre>
+Name: <B>hscrollMode</B>
+Class: <B>ScrollMode</B>
+Command-Line Switch: <B>-hscrollmode</B>
+</pre>
+<UL>
+Specifies the the display mode to be used for the horizontal
+scrollbar: <B>static</B>, <B>dynamic</B>, or <B>none</B>. In static mode, the
+scroll bar is displayed at all times. Dynamic mode displays the
+scroll bar as required, and none disables the scroll bar display. The
+default is static.
+</UL>
+<P>
+<pre>
+Name: <B>sbWidth</B>
+Class: <B>Width</B>
+Command-Line Switch: <B>-sbwidth</B>
+</pre>
+<UL>
+Specifies the width of the scrollbar in any of the forms acceptable
+to <B>Tk_GetPixels</B>. The default width is 15 pixels.
+</UL>
+<P>
+<pre>
+Name: <B>scrollMargin</B>
+Class: <B>Margin</B>
+Command-Line Switch: <B>-scrollmargin</B>
+</pre>
+<UL>
+Specifies the distance between the frame and scrollbar in any of the
+forms acceptable to <B>Tk_GetPixels</B>. The default is 3 pixels.
+</UL>
+<P>
+<pre>
+Name: <B>vscrollMode</B>
+Class: <B>ScrollMode</B>
+Command-Line Switch: <B>-vscrollmode</B>
+</pre>
+<UL>
+Specifies the the display mode to be used for the vertical
+scrollbar: <B>static</B>, <B>dynamic</B>, or <B>none</B>. In static mode, the
+scroll bar is displayed at all times. Dynamic mode displays the
+scroll bar as required, and none disables the scroll bar display. The
+default is static.
+</UL>
+<P>
+<pre>
+Name: <B>width</B>
+Class: <B>Width</B>
+Command-Line Switch: <B>-width</B>
+</pre>
+<UL>
+Specifies the width of the scrolled frame widget in any of the forms
+acceptable to <B>Tk_GetPixels</B>. The default height is 100 pixels.
+</UL>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>scrolledframe</B> combines the functionallity of scrolling with that
+of a typical frame widget to implement a clipable viewing area whose visible
+region may be modified with the scroll bars. This enables the contruction
+of visually larger areas than which could normally be displayed, containing
+a heterogenous mix of other widgets. Options exist which allow full control
+over which scrollbars are displayed and the method, i.e. statically or
+dynamically. The frame itself may be accessed by the <B>childsite</B>
+method and then filled with other widget combinations.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>scrolledframe</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 scrolledframe widgets:
+</pre><H2>ASSOCIATED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>xview</B><br>
+</td>
+<td valign=top>
+<B>yview</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/canvas.n.html"> "canvas" </A> manual entry for details on the associated methods.
+
+</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>scrolledframe</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>childsite</B>
+</I></B>
+<DD> Return the path name of the child site.
+</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>scrolledframe</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>justify <I>direction</I>
+</I></B>
+<DD> Justifies the frame contents via the scroll bars in one of four directions:
+<B>left</B>, <B>right</B>, <B>top</B>, or <B>bottom</B>.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name: <B>horizsb</B>
+Class: <B>Scrollbar</B>
+</pre>
+<UL>
+The horizsb component is the horizontal scroll bar. See the "ScrollBar"
+widget manual entry for details on the horizsb component item.
+</UL>
+<P>
+<pre>
+Name: <B>vertsb</B>
+Class: <B>Scrollbar</B>
+</pre>
+<UL>
+The vertsb component is the vertical scroll bar. See the "ScrollBar" widget
+manual entry for details on the vertsb component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+scrolledframe .sf -width 150 -height 180 -labelon yes -labeltext scrolledframe
+
+set cs [.sf childsite]
+pack [button $cs.b1 -text Hello] -pady 10
+pack [button $cs.b2 -text World] -pady 10
+pack [button $cs.b3 -text "This is a test"] -pady 10
+pack [button $cs.b4 -text "This is a really big button"] -pady 10
+pack [button $cs.b5 -text "This is another really big button"] -pady 10
+pack [button $cs.b6 -text "This is the last really big button"] -pady 10
+
+pack .sf -expand yes -fill both -padx 10 -pady 10
+</pre>
+</pre><H2>AUTHORS</H2>
+Mark L. Ulferts
+<P>
+Sue Yockey
+</pre><H2>KEYWORDS</H2>
+scrolledframe, frame, widget
diff --git a/itcl/iwidgets/demos/html/scrolledhtml.n.html b/itcl/iwidgets/demos/html/scrolledhtml.n.html
new file mode 100644
index 00000000000..331a4ebb1f8
--- /dev/null
+++ b/itcl/iwidgets/demos/html/scrolledhtml.n.html
@@ -0,0 +1,406 @@
+<TITLE>scrolledhtml - Create and manipulate a scrolled text widget with the capability</TITLE>
+<H1>scrolledhtml - Create and manipulate a scrolled text widget with the capability</H1>
+
+of displaying HTML formatted documents.
+</pre><H2>SYNOPSIS</H2>
+<B>scrolledhtml<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- Labeledwidget &lt;- Scrolledtext &lt;- Scrolledhtml
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeBackground</B><br>
+<B>exportSelection</B><br>
+<B>insertBackground</B><br>
+<B>insertWidth</B><br>
+<B>repeatDelay</B><br>
+<B>selectForeground</B><br>
+</td>
+<td valign=top>
+<B>background</B><br>
+<B>foreground</B><br>
+<B>insertBorderWidth</B><br>
+<B>padX</B><br>
+<B>repeatInterval</B><br>
+<B>setGrid</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>highlightColor</B><br>
+<B>insertOffTime</B><br>
+<B>padY</B><br>
+<B>selectBackground</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+<B>highlightThickness</B><br>
+<B>insertOnTime</B><br>
+<B>relief</B><br>
+<B>selectBorderWidth</B><br>
+</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>activeRelief</B><br>
+</td>
+<td valign=top>
+<B>elementBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>jump</B><br>
+</td>
+<td valign=top>
+<B>troughColor</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/scrollbar.n.html"> "scrollbar" </A> widget manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>spacing1</B><br>
+<B>tabs</B><br>
+</td>
+<td valign=top>
+<B>spacing2</B><br>
+<B>wrap</B><br>
+</td>
+<td valign=top>
+<B>spacing3</B><br>
+</td>
+<td valign=top>
+<B>state</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/text.n.html"> "text" </A> widget manual entry for details on the above
+associated options.
+</pre><H2>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>labelBitmap</B><br>
+<B>labelPos</B><br>
+<B>hscrollMode</B><br>
+<B>vscrollMode</B><br>
+</td>
+<td valign=top>
+<B>labelFont</B><br>
+<B>labelText</B><br>
+<B>sbWidth</B><br>
+<B>width</B><br>
+</td>
+<td valign=top>
+<B>labelImage</B><br>
+<B>labelVariable</B><br>
+<B>scrollMargin</B><br>
+</td>
+<td valign=top>
+<B>labelMargin</B><br>
+<B>height</B><br>
+<B>visibleitems</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="scrolledtext.n.html"> "scrolledtext" </A> class manual entry for details on the inherited options.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>feedback</B>
+Class: <B>FeedBack</B>
+Command-Line Switch: <B>-feedback</B>
+</pre>
+<UL>
+Specifies the callback command to use to give feedback on current
+status. The command is executed in the form <I>command</I> <I>&lt;number of
+characters remaining&gt;</B></I>
+</UL>
+<P>
+<pre>
+Name: <B>fixedfont</B>
+Class: <B>FixedFont</B>
+Command-Line Switch: <B>-fixedfont</B>
+</pre>
+<UL>
+Specifies the name of the font to be used for fixed-width character
+text (such as &lt;pre&gt;...&lt;/pre&gt; or &lt;tt&gt;...&lt;/tt&gt;.) The size, style, and
+other font attributes are determined by the format tags in the
+document. The default is courier.
+</UL>
+<P>
+<pre>
+Name: <B>fontname</B>
+Class: <B>FontName</B>
+Command-Line Switch: <B>-fontname</B>
+</pre>
+<UL>
+Specifies the name of the font to be used for normal-width character
+spaced text. The size, style, and other font attributes are
+determined by the format tags in the document. The default is times.
+</UL>
+<P>
+<pre>
+Name: <B>fontsize</B>
+Class: <B>FontSize</B>
+Command-Line Switch: <B>-fontsize</B>
+</pre>
+<UL>
+Specifies the general size of the fonts used. One of small, medium,
+large, or huge. The default is medium.
+</UL>
+<P>
+<pre>
+Name: <B>foreground</B>
+Class: <B>Foreground</B>
+Command-Line Switch: <B>-foreground</B>
+</pre>
+<UL>
+Specifies the color of text other than hypertext links, in any
+of the forms acceptable to <B>Tk_GetColor</B>. This value may
+be overridden in a particular document by the <I>text</I> attribute
+of the <B>Body</B> HTML tag.
+</UL>
+<P>
+<pre>
+Name: <B>link</B>
+Class: <B>Link</B>
+Command-Line Switch: <B>-link</B>
+</pre>
+<UL>
+Specifies the default color of hypertext links in any of the forms
+acceptable to <B>Tk_GetColor</B>. This value may be overridden in a
+particular document by the <I>link</I> attribute of the <B>Body</B>
+HTML tag. The default is blue.
+</UL>
+<P>
+<pre>
+Name: <B>linkcommand</B>
+Class: <B>LinkCommand</B>
+Command-Line Switch: <B>-linkcommand</B>
+</pre>
+<UL>
+Specifies the command to execute when the user clicks on a hypertext
+link. Execution is of the form <B>linkcommand href</B>, where <B>href</B> is
+the value given in the <I>href</I> attribute of the <B>A</B> HTML tag.
+</UL>
+<P>
+<pre>
+Name: <B>alink</B>
+Class: <B>alink</B>
+Command-Line Switch: <B>-alink</B>
+</pre>
+<UL>
+Specifies the color of hypertext links when the cursor is over the link
+in any of the forms acceptable to <B>Tk_GetColor</B>. The default is red.
+</UL>
+<P>
+<pre>
+Name: <B>textBackground</B>
+Class: <B>Background</B>
+Command-Line Switch: <B>-textbackground</B>
+</pre>
+<UL>
+Specifies the background color for the text area in any of
+the forms acceptable to <B>Tk_GetColor</B>. This value may be
+overridden in a particular document by the <I>bgcolor</I> attribute
+of the <B>Body</B> HTML tag.
+</UL>
+<P>
+<pre>
+Name: <B>unknownimage</B>
+Class: <B>UnknownImage</B>
+Command-Line Switch: <B>-unknownimage</B>
+</pre>
+<UL>
+Specifies the name of the image file to display when an <B>img</B>
+specified in the html document cannot be loaded.
+</UL>
+<P>
+<pre>
+Name: <B>update</B>
+Class: <B>Update</B>
+Command-Line Switch: <B>-alink</B>
+</pre>
+<UL>
+A boolean value indicating whether to call update during html rendering.
+</UL>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>scrolledhtml</B> command creates
+a scrolled text widget with the additional capability to display
+html formatted documents.
+An import method is provided to read an html document file, and
+a render method is provided to display a html formatted text string.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>scrolledhtml</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 scrolledhtml widgets:
+</pre><H2>ASSOCIATED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>bbox</B><br>
+<B>dlineinfo</B><br>
+<B>mark</B><br>
+<B>tag</B><br>
+</td>
+<td valign=top>
+<B>compare</B><br>
+<B>get</B><br>
+<B>scan</B><br>
+<B>window</B><br>
+</td>
+<td valign=top>
+<B>debug</B><br>
+<B>index</B><br>
+<B>search</B><br>
+<B>xview</B><br>
+</td>
+<td valign=top>
+<B>delete</B><br>
+<B>insert</B><br>
+<B>see</B><br>
+<B>yview</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/text.n.html"> "text" </A> manual entry for details on the standard methods.
+</pre><H2>INHERITED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>export</B><br>
+</td>
+<td valign=top>
+<B>clear</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "scrolledhtml" manual entry for details on the inherited methods.
+
+</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>scrolledhtml</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>scrolledhtml</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>import</B> ?<I>option</I>? <I>href</I>
+</I></B>
+<DD> Load html formatted text from a file. <I>Href</I> must exist.
+If <I>option</I> is -link, <I>href</I> is assumed to be relative
+to the application's current working directory. Otherwise,
+<I>href</I> is assumed to be relative to the path of the last
+page loaded. <I>Href</I> is either a filename, or a reference
+of the form <I>filename</I>#<I>anchorname</I>. In the latter form,
+fIFilename</B></I> and/or <I>anchorname</I> may be empty.
+If <I>filename</I> is empty, the current document is assumed.
+If <I>anchorname</I> is empty, the top of the document is assumed.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>pwd</B>
+</I></B>
+<DD> Print the current working directory of the widget, i.e. the directory of the
+last page loaded.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>render</B> <I>htmltext</I> ?<I>wd</I>?
+</I></B>
+<DD> Display HTML formatted text <I>htmltext</I>. <I>Wd</I> gives the base
+path to use for all links and images in the document. <I>Wd</I> defaults
+to the application's current working directory.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>title</B>
+</I></B>
+<DD> Return the title of the current page, as given in the &lt;title&gt;...&lt;/title&gt;
+field in the document.
+
+</DL>
+</pre><H2>HTML COMPLIANCE</H2>
+<P>
+This widget is compliant with HTML 3.2 with the following exceptions:
+<P>
+No features requiring a connection to an http server are supported.
+<P>
+Some image alignments aren't supported, because they are not supported by
+the text widget.
+<P>
+The &lt;br&gt; attributes dealing with image alignments aren't supported.
+<P>
+Automatic table sizing is not supported very well, due to limitations of the
+text widget
+</UL>
+</pre><H2>EXAMPLE</H2>
+<pre>
+ option add *textBackground white
+
+ scrolledhtml .sh -fontname helvetica -linkcommand "this import -link"
+
+ pack .sh -padx 10 -pady 10 -fill both -expand yes
+
+ .sh import ~/public_html/index.html
+</pre>
+</pre><H2>BUGS</H2>
+<UL>
+Cells in a table can be caused to overlap. ex:
+ &lt;table border width="100%"&gt;
+ &lt;tr&gt;&lt;td&gt;cell1&lt;/td&gt;&lt;td align=right rowspan=2&gt;cell2&lt;/td&gt;&lt;/tr&gt;
+ &lt;tr&gt;&lt;td colspan=2&gt;cell3 w/ overlap&lt;/td&gt;
+ &lt;/table&gt;
+It hasn't been fixed because 1) it's a pain to fix, 2) it will slow
+tables down by a significant amount, and 3) netscape has the same
+bug, as of V3.01.
+</UL>
+</pre><H2>ACKNOWLEDGEMENTS</H2>
+Sam Shen
+<UL>
+This code is based largely on his tkhtml.tcl code from tk inspect. Tkhtml
+is copyright 1995 Lawrence Berkeley Laboratory.
+</UL>
+<P>
+</pre><H2>AUTHOR</H2>
+Kris Raney
+</pre><H2>KEYWORDS</H2>
+scrolledhtml, html, text, widget
diff --git a/itcl/iwidgets/demos/html/scrolledlistbox.n.html b/itcl/iwidgets/demos/html/scrolledlistbox.n.html
new file mode 100644
index 00000000000..e8bc410193c
--- /dev/null
+++ b/itcl/iwidgets/demos/html/scrolledlistbox.n.html
@@ -0,0 +1,452 @@
+<TITLE>iwidgets::scrolledlistbox - Create and manipulate scrolled listbox widgets</TITLE>
+<H1>iwidgets::scrolledlistbox - Create and manipulate scrolled listbox widgets</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>iwidgets::scrolledlistbox<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- iwidgets::Labeledwidget &lt;- iwidgets::Scrolledwidget &lt;- iwidgets::Scrolledlistbox
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B><br>
+cursor<br>
+highlightThickness<br>
+selectForeground</B></I><br>
+</td>
+<td valign=top>
+activeBackground<br>
+exportSelection<br>
+relief<br>
+</td>
+<td valign=top>
+background<br>
+foreground<br>
+selectBackground<br>
+</td>
+<td valign=top>
+borderWidth<br>
+highlightColor<br>
+selectBorderWidth<br>
+</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>selectMode</B><br>
+</td>
+<td valign=top>
+<B>listvariable</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/listbox.n.html"> "listbox" </A> widget manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeRelief</B><br>
+</td>
+<td valign=top>
+<B>elementBorderwidth</B><br>
+</td>
+<td valign=top>
+<B>jump</B><br>
+</td>
+<td valign=top>
+<B>troughColor</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/scrollbar.n.html"> "scrollbar" </A> widget manual entry for details on the above
+associated options.
+</pre><H2>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>disabledForeground</B><br>
+<B>labelMargin</B><br>
+<B>state</B><br>
+</td>
+<td valign=top>
+<B>labelBitmap</B><br>
+<B>labelPos</B><br>
+<B>sticky</B><br>
+</td>
+<td valign=top>
+<B>labelFont</B><br>
+<B>labelText</B><br>
+</td>
+<td valign=top>
+<B>labelImage</B><br>
+<B>labelVariable</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="labeledwidget.n.html"> "labeledwidget" </A> class manual entry for details on the inherited
+options.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>dblClickCommand</B>
+Class: <B>Command</B>
+Command-Line Switch: <B>-dblclickcommand</B>
+</pre>
+<UL>
+Specifies a Tcl command procedure which is called when an item is
+double clicked. Typically this occurs when mouse button 1 is double
+clicked over an item. Selection policy does not matter.
+</UL>
+<P>
+<pre>
+Name: <B>height</B>
+Class: <B>Height</B>
+Command-Line Switch: <B>-height</B>
+</pre>
+<UL>
+Specifies the height of the scrolled list box as an entire unit.
+The value may be specified in any of the forms acceptable to
+<B>Tk_GetPixels</B>. Any additional space needed to display the other
+components such as labels, margins, and scrollbars force the listbox
+to be compressed. A value of zero along with the same value for
+the width causes the value given for the visibleitems option
+to be applied which administers geometry constraints in a different
+manner. The default height is zero.
+</UL>
+<P>
+<pre>
+Name: <B>hscrollMode</B>
+Class: <B>ScrollMode</B>
+Command-Line Switch: <B>-hscrollmode</B>
+</pre>
+<UL>
+Specifies the the display mode to be used for the horizontal
+scrollbar: <B>static, dynamic,</B> or <B>none</B>. In static mode, the
+scroll bar is displayed at all times. Dynamic mode displays the
+scroll bar as required, and none disables the scroll bar display. The
+default is static.
+</UL>
+<P>
+<pre>
+Name: <B>sbWidth</B>
+Class: <B>Width</B>
+Command-Line Switch: <B>-sbwidth</B>
+</pre>
+<UL>
+Specifies the width of the scrollbar in any of the forms acceptable
+to <B>Tk_GetPixels</B>. The default width is 15 pixels..
+</UL>
+<P>
+<pre>
+Name: <B>scrollMargin</B>
+Class: <B>Margin</B>
+Command-Line Switch: <B>-scrollmargin</B>
+</pre>
+<UL>
+Specifies the distance between the listbox and scrollbar in any of the
+forms acceptable to <B>Tk_GetPixels</B>. The default is 3 pixels.
+</UL>
+<P>
+<pre>
+Name: <B>selectionCommand</B>
+Class: <B>Command</B>
+Command-Line Switch: <B>-selectioncommand</B>
+</pre>
+<UL>
+Specifies a Tcl command procedure which is called when an item is
+selected. Selection policy does not matter.
+</UL>
+<P>
+<pre>
+Name: <B>state</B>
+Class: <B>State</B>
+Command-Line Switch: <B>-state</B>
+</pre>
+<UL>
+Specifies one of two states for the listbox: <B>normal</B> or <B>disabled</B>.
+If the listbox is disabled then selection is ignored. The default is
+normal.
+</UL>
+<P>
+<pre>
+Name: <B>textBackground</B>
+Class: <B>Background</B>
+Command-Line Switch <B>-textbackground</B>
+</pre>
+<UL>
+Specifies the background color for the listbox. This allows the background
+within the listbox to be different from the normal background color.
+</UL>
+<P>
+<pre>
+Name: <B>textFont</B>
+Class: <B>Font</B>
+Command-Line Switch: <B>-textfont</B>
+</pre>
+<UL>
+Specifies the font to be used for text in the listbox. This allows for
+the font associated with text internal to the scrolled listbox to be
+different than the font for labels.
+</UL>
+<P>
+<pre>
+Name: <B>visibleitems</B>
+Class: <B>VisibleItems</B>
+Command-Line Switch: <B>-visibleitems</B>
+</pre>
+<UL>
+Specifies the widthxheight in characters and lines for the listbox.
+This option is only administered if the width and height options
+are both set to zero, otherwise they take precedence. The default value
+is 20x10. With the visibleitems option engaged, geometry constraints
+are maintained only on the listbox. The size of the other components such as
+labels, margins, and scroll bars, are additive and independent,
+effecting the overall size of the scrolled list box. In contrast,
+should the width and height options have non zero values, they
+are applied to the scrolled list box as a whole. The listbox
+is compressed or expanded to maintain the geometry constraints.
+</UL>
+<P>
+<pre>
+Name: <B>vscrollMode</B>
+Class: <B>ScrollMode</B>
+Command-Line Switch: <B>-vscrollmode</B>
+</pre>
+<UL>
+Specifies the the display mode to be used for the vertical
+scrollbar: <B>static, dynamic,</B> or <B>none</B>. In static mode, the
+scroll bar is displayed at all times. Dynamic mode displays the
+scroll bar as required, and none disables the scroll bar display. The
+default is static.
+</UL>
+<P>
+<pre>
+Name: <B>width</B>
+Class: <B>Width</B>
+Command-Line Switch: <B>-width</B>
+</pre>
+<UL>
+Specifies the width of the scrolled list box as an entire unit.
+The value may be specified in any of the forms acceptable to
+<B>Tk_GetPixels</B>. Any additional space needed to display the other
+components such as labels, margins, and scrollbars force the listbox
+to be compressed. A value of zero along with the same value for
+the height causes the value given for the visibleitems option
+to be applied which administers geometry constraints in a different
+manner. The default width is zero.
+</UL>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>iwidgets::scrolledlistbox</B> command creates
+a scrolled listbox with additional options to manage
+horizontal and vertical scrollbars. This includes options to control
+which scrollbars are displayed and the method, i.e. statically or
+dynamically.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>iwidgets::scrolledlistbox</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.
+<P>
+Many of the widget commands for a scrolledlistbox take as one argument an
+indicator of which entry of the list box to operate on. These
+indicators are called <I>index</I>es and may be specified in
+any of the following forms:
+<DL>
+<DT> <I>number</I>
+</I></B>
+<DD> Specifies the element as a numerical index, where 0 corresponds
+to the first element in the listbox.
+</DL>
+<DL>
+<DT> <B>active</B>
+</I></B>
+<DD> Indicates the element that has the location cursor. This element
+will be displayed with an underline when the listbox has the
+keyboard focus, and it is specified with the <B>activate</B>
+widget command.
+</DL>
+<DL>
+<DT> <B>anchor</B>
+</I></B>
+<DD> Indicates the anchor point for the selection, which is set with the
+<B>selection anchor</B> widget command.
+</DL>
+<DL>
+<DT> <B>end</B>
+</I></B>
+<DD> Indicates the end of the listbox.
+For some commands this means just after the last element;
+for other commands it means the last element.
+</DL>
+<DL>
+<DT> <B>@<I>x<B>,<I>y</I>
+</I></B>
+<DD> Indicates the element that covers the point in the listbox window
+specified by <I>x</I> and <I>y</I> (in pixel coordinates). If no
+element covers that point, then the closest element to that
+point is used.
+</DL>
+<DL>
+<DT> <I>pattern</I>
+</I></B>
+<DD> If the index doesn't satisfy one of the above forms then this
+form is used. <I>Pattern</I> is pattern-matched against the items in
+the list box, in order from the top down, until a matching entry is found.
+The rules of <B>Tcl_StringMatch</B> are used.
+</DL>
+<P>
+The following widget commands are possible for scrolledlistbox widgets:
+
+</pre><H2>ASSOCIATED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activate</B><br>
+<B>get</B><br>
+<B>nearest</B><br>
+<B>size</B><br>
+</td>
+<td valign=top>
+<B>bbox</B><br>
+<B>index</B><br>
+<B>scan</B><br>
+<B>xview</B><br>
+</td>
+<td valign=top>
+<B>curselection</B><br>
+<B>insert</B><br>
+<B>see</B><br>
+<B>yview</B><br>
+</td>
+<td valign=top>
+<B>delete</B><br>
+<B>itemconfigure</B><br>
+<B>selection</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/listbox.n.html"> "listbox" </A> manual entry for details on the associated methods.
+
+</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>iwidgets::scrolledlistbox</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>clear</B>
+</I></B>
+<DD> Clears the listbox of all items.
+</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>iwidgets::scrolledlistbox</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>getcurselection</B>
+</I></B>
+<DD> Returns the contents of the listbox element indicated by the current
+selection indexes. Short cut version of get and curselection command
+combination.
+</DL>
+<DL>
+<DT> <I>pathName <B>justify <I>direction</I>
+</I></B>
+<DD> Justifies the list contents via teh scroll bars in one of four directions:
+<B>left</B>, <B>right</B>, <B>top</B>, or <B>bottom</B>.
+</DL>
+<DL>
+<DT> <I>pathName <B>selecteditemcount</B>
+</I></B>
+<DD> Returns the number of items currently selected in the list.
+</DL>
+<DL>
+<DT> <I>pathName <B>sort</B> <I>order</I>
+</I></B>
+<DD> Sort the current list in any of the forms accepted by Tcl's lsort command.
+Also accepts either <B>ascending</B> or <B>descending</B> order.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name: <B>listbox</B>
+Class: <B>listbox</B>
+</pre>
+<UL>
+The listbox component is the listbox widget. See the "listbox" widget
+manual entry for details on the listbox component item.
+</UL>
+<P>
+<pre>
+Name: <B>horizsb</B>
+Class: <B>Scrollbar</B>
+</pre>
+<UL>
+The horizsb component is the horizontal scroll bar. See the "scrollbar"
+widget manual entry for details on the horizsb component item.
+</UL>
+<P>
+<pre>
+Name: <B>vertsb</B>
+Class: <B>Scrollbar</B>
+</pre>
+<UL>
+The vertsb component is the vertical scroll bar. See the "scrollbar" widget
+manual entry for details on the vertsb component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+ package require Iwidgets 4.0
+ option add *textBackground white
+ proc selCmd {} {
+ puts stdout "[.slb getcurselection]"
+ }
+ proc defCmd {} {
+ puts stdout "Double Click"
+ return [selCmd]
+ }
+ iwidgets::scrolledlistbox .slb -selection single \\
+ -vscrollmode static -hscrollmode dynamic -labeltext "List" \\
+ -selectioncommand selCmd -dblclickcommand defCmd
+ pack .slb -padx 10 -pady 10 -fill both -expand yes
+ .slb insert end {Hello {Out There} World}
+</pre>
+</pre><H2>AUTHOR</H2>
+<A HREF="mailto:mulferts@spd.dsccc.com">Mark L. Ulferts</A>
+</pre><H2>KEYWORDS</H2>
+scrolledlistbox, listbox, widget
diff --git a/itcl/iwidgets/demos/html/scrolledtext.n.html b/itcl/iwidgets/demos/html/scrolledtext.n.html
new file mode 100644
index 00000000000..df3b0574397
--- /dev/null
+++ b/itcl/iwidgets/demos/html/scrolledtext.n.html
@@ -0,0 +1,367 @@
+<TITLE>scrolledtext - Create and manipulate a scrolled text widget</TITLE>
+<H1>scrolledtext - Create and manipulate a scrolled text widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>scrolledtext<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- Labeledwidget &lt;- Scrolledwidget &lt;- Scrolledtext
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeBackground</B><br>
+<B>exportSelection</B><br>
+<B>insertBackground</B><br>
+<B>insertWidth</B><br>
+<B>selectBackground</B><br>
+</td>
+<td valign=top>
+<B>background</B><br>
+<B>foreground</B><br>
+<B>insertBorderWidth</B><br>
+<B>padX</B><br>
+<B>selectBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>highlightColor</B><br>
+<B>insertOffTime</B><br>
+<B>padY</B><br>
+<B>selectForeground</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+<B>highlightThickness</B><br>
+<B>insertOnTime</B><br>
+<B>relief</B><br>
+<B>setGrid</B><br>
+</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>activeRelief</B><br>
+</td>
+<td valign=top>
+<B>elementBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>jump</B><br>
+</td>
+<td valign=top>
+<B>troughColor</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/scrollbar.n.html"> "scrollbar" </A> widget manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>spacing1</B><br>
+<B>tabs</B><br>
+</td>
+<td valign=top>
+<B>spacing2</B><br>
+<B>wrap</B><br>
+</td>
+<td valign=top>
+<B>spacing3</B><br>
+</td>
+<td valign=top>
+<B>state</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/text.n.html"> "text" </A> widget manual entry for details on the above
+associated options.
+</pre><H2>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>disabledForeground</B><br>
+<B>labelMargin</B><br>
+<B>state</B><br>
+</td>
+<td valign=top>
+<B>labelBitmap</B><br>
+<B>labelPos</B><br>
+</td>
+<td valign=top>
+<B>labelFont</B><br>
+<B>labelText</B><br>
+</td>
+<td valign=top>
+<B>labelImage</B><br>
+<B>labelVariable</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="labeledwidget.n.html"> "labeledwidget" </A> class manual entry for details on the inherited options.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>height</B>
+Class: <B>Height</B>
+Command-Line Switch: <B>-height</B>
+</pre>
+<UL>
+Specifies the height of the scrolled text as an entire unit.
+The value may be specified in any of the forms acceptable to
+<B>Tk_GetPixels</B>. Any additional space needed to display the other
+components such as labels, margins, and scrollbars force the text
+to be compressed. A value of zero along with the same value for
+the width causes the value given for the visibleitems option
+to be applied which administers geometry constraints in a different
+manner. The default height is zero.
+</UL>
+<P>
+<pre>
+Name: <B>hscrollMode</B>
+Class: <B>ScrollMode</B>
+Command-Line Switch: <B>-hscrollmode</B>
+</pre>
+<UL>
+Specifies the the display mode to be used for the horizontal
+scrollbar: <B>static, dynamic,</B> or <B>none</B>. In static mode, the
+scroll bar is displayed at all times. Dynamic mode displays the
+scroll bar as required, and none disables the scroll bar display. The
+default is static.
+</UL>
+<P>
+<pre>
+Name: <B>sbWidth</B>
+Class: <B>Width</B>
+Command-Line Switch: <B>-sbwidth</B>
+</pre>
+<UL>
+Specifies the width of the scrollbar in any of the forms
+acceptable to <B>Tk_GetPixels</B>.
+</UL>
+<P>
+<pre>
+Name: <B>scrollMargin</B>
+Class: <B>Margin</B>
+Command-Line Switch: <B>-scrollmargin</B>
+</pre>
+<UL>
+Specifies the distance between the text area and scrollbar in any of the forms
+acceptable to <B>Tk_GetPixels</B>. The default is 3 pixels.
+</UL>
+<P>
+<pre>
+Name: <B>textBackground</B>
+Class: <B>Background</B>
+Command-Line Switch: <B>-textbackground</B>
+</pre>
+<UL>
+Specifies the background color for the text area in any of the forms
+acceptable to <B>Tk_GetColor</B>.
+</UL>
+<P>
+<pre>
+Name: <B>textFont</B>
+Class: <B>Font</B>
+Command-Line Switch: <B>-textfont</B>
+</pre>
+<UL>
+Specifies the font to be used in the scrolled text area.
+</UL>
+<P>
+<pre>
+Name: <B>visibleitems</B>
+Class: <B>VisibleItems</B>
+Command-Line Switch: <B>-visibleitems</B>
+</pre>
+<UL>
+Specifies the widthxheight in characters and lines for the text.
+This option is only administered if the width and height options
+are both set to zero, otherwise they take precedence. The default value
+is 80x24. With the visibleitems option engaged, geometry constraints
+are maintained only on the text. The size of the other components such as
+labels, margins, and scroll bars, are additive and independent,
+effecting the overall size of the scrolled text. In contrast,
+should the width and height options have non zero values, they
+are applied to the scrolled text as a whole. The text
+is compressed or expanded to maintain the geometry constraints.
+</UL>
+<P>
+<pre>
+Name: <B>vscrollMode</B>
+Class: <B>ScrollMode</B>
+Command-Line Switch: <B>-vscrollmode</B>
+</pre>
+<UL>
+Specifies the the display mode to be used for the vertical
+scrollbar: <B>static, dynamic,</B> or <B>none</B>. In static mode, the
+scroll bar is displayed at all times. Dynamic mode displays the
+scroll bar as required, and none disables the scroll bar display. The
+default is static.
+</UL>
+<P>
+<pre>
+Name: <B>width</B>
+Class: <B>Width</B>
+Command-Line Switch: <B>-width</B>
+</pre>
+<UL>
+Specifies the width of the scrolled text as an entire unit.
+The value may be specified in any of the forms acceptable to
+<B>Tk_GetPixels</B>. Any additional space needed to display the other
+components such as labels, margins, and scrollbars force the text
+to be compressed. A value of zero along with the same value for
+the height causes the value given for the visibleitems option
+to be applied which administers geometry constraints in a different
+manner. The default width is zero.
+</UL>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>scrolledtext</B> command creates
+a scrolled text widget with additional options to manage
+the scrollbars. This includes options to control the method
+in which the scrollbars are displayed, i.e. statically or dynamically.
+Options also exist for adding a label to the scrolled text area and
+controlling its position. Import/export of methods are provided for
+file I/O.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>scrolledtext</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 scrolledtext widgets:
+</pre><H2>ASSOCIATED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>bbox</B><br>
+<B>dlineinfo</B><br>
+<B>mark</B><br>
+<B>tag</B><br>
+</td>
+<td valign=top>
+<B>compare</B><br>
+<B>get</B><br>
+<B>scan</B><br>
+<B>window</B><br>
+</td>
+<td valign=top>
+<B>debug</B><br>
+<B>index</B><br>
+<B>search</B><br>
+<B>xview</B><br>
+</td>
+<td valign=top>
+<B>delete</B><br>
+<B>insert</B><br>
+<B>see</B><br>
+<B>yview</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/text.n.html"> "text" </A> manual entry for details on the standard methods.
+
+</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>scrolledtext</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>childsite</B>
+</I></B>
+<DD> Returns the child site widget path name.
+</DL>
+<DL>
+<DT> <I>pathName <B>clear</B>
+</I></B>
+<DD> Clear the text area of all characters.
+</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>scrolledtext</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>import</B> <I>filename</I> ?<I>index</I>?
+</I></B>
+<DD> Load the text from a file into the text area at the <I>index</I>. The
+<I>filename</I> must exist.
+</DL>
+<DL>
+<DT> <I>pathName <B>export</B> <I>filename</I>
+</I></B>
+<DD> Write text to a file. If <I>filename</I> exists then contents are
+replaced with text widget contents.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name: <B>text</B>
+Class: <B>Text</B>
+</pre>
+<UL>
+The text component is the text widget. See the "text" widget
+manual entry for details on the text component item.
+</UL>
+<P>
+<pre>
+Name: <B>horizsb</B>
+Class: <B>Scrollbar</B>
+</pre>
+<UL>
+The horizsb component is the horizontal scroll bar. See the "scrollbar"
+widget manual entry for details on the horizsb component item.
+</UL>
+<P>
+<pre>
+Name: <B>vertsb</B>
+Class: <B>Scrollbar</B>
+</pre>
+<UL>
+The vertsb component is the vertical scroll bar. See the "scrollbar" widget
+manual entry for details on the vertsb component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+ option add *textBackground white
+
+ scrolledtext .st -scrollmode dynamic -labeltext "Password File"
+
+ pack .st -padx 10 -pady 10 -fill both -expand yes
+
+ .st import /etc/passwd
+</pre>
+</pre><H2>AUTHOR</H2>
+Mark L. Ulferts
+</pre><H2>KEYWORDS</H2>
+scrolledtext, text, widget
diff --git a/itcl/iwidgets/demos/html/selectionbox.n.html b/itcl/iwidgets/demos/html/selectionbox.n.html
new file mode 100644
index 00000000000..1616969fae2
--- /dev/null
+++ b/itcl/iwidgets/demos/html/selectionbox.n.html
@@ -0,0 +1,389 @@
+<TITLE>selectionbox - Create and manipulate a selection box widget</TITLE>
+<H1>selectionbox - Create and manipulate a selection box widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>selectionbox<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- selectionbox
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeBackground</B><br>
+<B>exportSelection</B><br>
+<B>insertBackground</B><br>
+<B>insertWidth</B><br>
+<B>selectBackground</B><br>
+</td>
+<td valign=top>
+<B>background</B><br>
+<B>foreground</B><br>
+<B>insertBorderWidth</B><br>
+<B>relief</B><br>
+<B>selectBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>highlightColor</B><br>
+<B>insertOffTime</B><br>
+<B>repeatDelay</B><br>
+<B>selectForeground</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+<B>highlightThickness</B><br>
+<B>insertOnTime</B><br>
+<B>repeatInterval</B><br>
+</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>textBackground</B><br>
+</td>
+<td valign=top>
+<B>textFont</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="entryfield.n.html"> "entryfield" </A> widget class manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>labelFont</B><br>
+</td>
+<td valign=top>
+<B>labelMargin</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="labeledwidget.n.html"> "labeledwidget" </A> class manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeRelief</B><br>
+</td>
+<td valign=top>
+<B>elementBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>jump</B><br>
+</td>
+<td valign=top>
+<B>troughColor</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/scrollbar.n.html"> "scrollbar" </A> widget class manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>dblClickCommand</B><br>
+<B>textBackground</B><br>
+</td>
+<td valign=top>
+<B>hscrollMode</B><br>
+<B>textFont</B><br>
+</td>
+<td valign=top>
+<B>sbWidth</B><br>
+<B>vscrollMode</B><br>
+</td>
+<td valign=top>
+<B>scrollMargin</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="scrolledlistbox.n.html"> "scrolledlistbox" </A> widget class manual entry for details on the above
+associated options.
+
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>childSitePos</B>
+Class: <B>Position</B>
+Command-Line Switch: <B>-childsitepos</B>
+</pre>
+<UL>
+Specifies the position of the child site in the selection box: <B>n</B>,
+<B>s</B>, <B>e</B>, <B>w</B>, or <B></B>. The default is center
+</UL>
+<P>
+<pre>
+Name: <B>height</B>
+Class: <B>Height</B>
+Command-Line Switch: <B>-height</B>
+</pre>
+<UL>
+Specifies the height of the selection box. The value may be specified in
+any of the forms acceptable to Tk_GetPixels. The default is 320 pixels.
+</UL>
+<P>
+<pre>
+Name: <B>itemsCommand</B>
+Class: <B>Command</B>
+Command-Line Switch: <B>-itemscommand</B>
+</pre>
+<UL>
+Specifies a command to be evaluated following selection of an item.
+</UL>
+<P>
+<pre>
+Name: <B>itemsLabel</B>
+Class: <B>Text</B>
+Command-Line Switch: <B>-itemslabel</B>
+</pre>
+<UL>
+Specifies the text of the label for the items list. The default is "List".
+</UL>
+<P>
+<pre>
+Name: <B>itemsLabelPos</B>
+Class: <B>Position</B>
+Command-Line Switch: <B>-itemslabelpos</B>
+</pre>
+<UL>
+Specifies the position of the label along the side of the items
+list: <B>n</B>, <B>ne</B>, <B>e</B>, <B>se</B>, <B>s</B>, <B>sw</B>, <B>w</B>,
+or <B>nw</B>. The default is nw.
+</UL>
+<P>
+<pre>
+Name: <B>itemsOn</B>
+Class: <B>ItemsOn</B>
+Command-Line Switch: <B>-itemson</B>
+</pre>
+<UL>
+Specifies whether or not to display the items list in any
+of the forms acceptable to <B>Tcl_GetBoolean</B>. The default is true.
+</UL>
+<P>
+<pre>
+Name: <B>margin</B>
+Class: <B>Margin</B>
+Command-Line Switch: <B>-margin</B>
+</pre>
+<UL>
+Specifies distance between the items list and selection entry in any of
+the forms acceptable to <B>Tk_GetPixels</B>. The default is 7 pixels.
+</UL>
+<P>
+<pre>
+Name: <B>selectionCommand</B>
+Class: <B>Command</B>
+Command-Line Switch: <B>-selectioncommand</B>
+</pre>
+<UL>
+Specifies a Tcl procedure to be associated with a return key press event
+in the selection entry field.
+</UL>
+<P>
+<pre>
+Name: <B>selectionLabel</B>
+Class: <B>Text</B>
+Command-Line Switch: <B>-selectionlabel</B>
+</pre>
+<UL>
+Specifies the text of the label for the selection entry field. The default
+is "Selection".
+</UL>
+<P>
+<pre>
+Name: <B>selectionLabelPos</B>
+Class: <B>Position</B>
+Command-Line Switch: <B>-selectionlabelpos</B>
+</pre>
+<UL>
+Specifies the position of the label along the side of the selection:
+<B>n</B>, <B>ne</B>, <B>e</B>, <B>se</B>, <B>s</B>, <B>sw</B>, <B>w</B>,
+or <B>nw</B>. The default is nw.
+</UL>
+<P>
+<pre>
+Name: <B>selectionOn</B>
+Class: <B>SelectionOn</B>
+Command-Line Switch: <B>-selectionon</B>
+</pre>
+<UL>
+Specifies whether or not to display the selection entry in any
+of the forms acceptable to <B>Tcl_GetBoolean</B>. The default is true.
+</UL>
+<P>
+<pre>
+Name: <B>width</B>
+Class: <B>Width</B>
+Command-Line Switch: <B>-width</B>
+</pre>
+<UL>
+Specifies the width of the selection box. The value may be specified in
+any of the forms acceptable to Tk_GetPixels. The default is 260 pixels.
+</UL>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>selectionbox</B> command creates a scrolled list of items and
+a selection entry field. The user may choose any of the items displayed
+in the scrolled list of alternatives and the selection field will be
+filled with the choice. The user is also free to enter a new value in
+the selection entry field. Both the list and entry areas have labels.
+A child site is also provided in which the user may create other widgets
+to be used in conjunction with the selection box.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>selectionbox</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.
+
+</pre><H2>ASSOCIATED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>curselection</B><br>
+<B>scan</B><br>
+</td>
+<td valign=top>
+<B>delete</B><br>
+<B>selection</B><br>
+</td>
+<td valign=top>
+<B>index</B><br>
+<B>size</B><br>
+</td>
+<td valign=top>
+<B>nearest</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/listbox.n.html"> "listbox" </A> widget class manual entry for details on the
+associated methods.
+
+</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>selectionbox</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>childsite</B>
+</I></B>
+<DD> Returns the child site widget path name.
+</DL>
+<DL>
+<DT> <I>pathName <B>clear</B> <I>component</I>
+</I></B>
+<DD> Delete the contents of either the selection entry widget or
+items list. The <I>component</I> argument may be either <B>items</B>
+or <B>selection</B>.
+</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>selectionbox</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>get</B>
+</I></B>
+<DD> Returns the current value of the selection entry widget.
+</DL>
+<DL>
+<DT> <I>pathName <B>insert</B> <I>component</I> <I>args</I>
+</I></B>
+<DD> Insert element(s) into either the selection entry widget or
+items list. The <I>component</I> argument may be either <B>items</B>
+or <B>selection</B>. The <I>args</I> follow the rules of either an entry
+or list widget depending on the <I>component</I> value.
+</DL>
+<DL>
+<DT> <I>pathName <B>selectitem</B>
+</I></B>
+<DD> Replace the selection entry field contents with the currently
+selected items value.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name: <B>childsite</B>
+Class: <B>Frame</B>
+</pre>
+<UL>
+The childsite component is the user child site for the selection box. See
+the "frame" widget manual entry for details on the childsite component item.
+</UL>
+<P>
+<pre>
+Name: <B>items</B>
+Class: <B>Scrolledlistbox</B>
+</pre>
+<UL>
+The items component provides the scrolled list box of items for the selection
+box. See the "scrolledlistbox" widget manual entry for details on the
+items component item.
+</UL>
+<P>
+<pre>
+Name: <B>selection</B>
+Class: <B>Entryfield</B>
+</pre>
+<UL>
+The selection component provides the entry field in the selection box for
+display of the selected item in the items component. See the "entryfield"
+widget manual entry for details on the selection component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+ option add *textBackground white
+
+ selectionbox .sb -items {Hello {Out There} World}
+ pack .sb -padx 10 -pady 10 -fill both -expand yes
+
+ set cs [label [.sb childsite].label -text "Child Site"]
+ pack $cs -fill x -padx 10 -pady 10
+
+ .sb insert items 2 {Cruel Cruel}
+
+ .sb selection set 1
+</pre>
+</pre><H2>AUTHOR</H2>
+Mark L. Ulferts
+</pre><H2>KEYWORDS</H2>
+selectionbox, widget
diff --git a/itcl/iwidgets/demos/html/selectiondialog.n.html b/itcl/iwidgets/demos/html/selectiondialog.n.html
new file mode 100644
index 00000000000..cb22a66712d
--- /dev/null
+++ b/itcl/iwidgets/demos/html/selectiondialog.n.html
@@ -0,0 +1,314 @@
+<TITLE>selectiondialog - Create and manipulate a selection dialog widget</TITLE>
+<H1>selectiondialog - Create and manipulate a selection dialog widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>selectiondialog<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Toplevel &lt;- Shell &lt;- Dialogshell &lt;- Dialog &lt;- Selectiondialog
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeBackground</B><br>
+<B>exportSelection</B><br>
+<B>insertBackground</B><br>
+<B>insertWidth</B><br>
+</td>
+<td valign=top>
+<B>background</B><br>
+<B>foreground</B><br>
+<B>insertBorderWidth</B><br>
+<B>selectBackground</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>highlightColor</B><br>
+<B>insertOffTime</B><br>
+<B>selectBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+<B>highlightThickness</B><br>
+<B>insertOnTime</B><br>
+<B>selectForeground</B><br>
+</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>textBackground</B><br>
+</td>
+<td valign=top>
+<B>textFont</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="entryfield.n.html"> "entryfield" </A> widget manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>labelFont</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="labeledwidget.n.html"> "labeledwidget" </A> widget manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeRelief</B><br>
+</td>
+<td valign=top>
+<B>elementBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>jump</B><br>
+</td>
+<td valign=top>
+<B>troughColor</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/scrollbar.n.html"> "scrollbar" </A> widget class manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>textBackground</B><br>
+</td>
+<td valign=top>
+<B>textFont</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="scrolledlistbox.n.html"> "scrolledlistbox" </A> widget class manual entry for details on the above
+associated options.
+<B>childsitepos</B> <B>itemsCommand</B> <B>itemsLabel</B> <B>itemsOn</B>
+<B>selectionCommand</B> <B>selectionLabel</B> <B>selectionOn</B>
+</table>
+<P>
+See the <A HREF="selectionbox.n.html"> "selectionbox" </A> widget manual entry for details on the above
+associated options.
+</pre><H2>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>buttonBoxPadX</B><br>
+<B>padY</B><br>
+</td>
+<td valign=top>
+<B>buttonBoxPadY</B><br>
+<B>separator</B><br>
+</td>
+<td valign=top>
+<B>buttonBoxPos</B><br>
+<B>thickness</B><br>
+</td>
+<td valign=top>
+<B>padX</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="dialogshell.n.html"> "dialogshell" </A> widget manual entry for details on the above
+inherited options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>height</B><br>
+</td>
+<td valign=top>
+<B>master</B><br>
+</td>
+<td valign=top>
+<B>modality</B><br>
+</td>
+<td valign=top>
+<B>width</B><br>
+</td>
+</table>
+<P>
+See the "shell" widget manual entry for details on the above
+inherited options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>title</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "Toplevel" widget manual entry for details on the above
+inherited options.
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>selectiondialog</B> command creates a selection box similar to
+the OSF/Motif standard selection
+dialog composite widget. The selectiondialog is derived from the
+Dialog class and is composed of a selectionbox with commands
+to manipulate the dialog buttons.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>selectiondialog</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 selectiondialog widgets:
+</pre><H2>ASSOCIATED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>childsite</B><br>
+<B>selectitem</B><br>
+</td>
+<td valign=top>
+<B>clear</B><br>
+</td>
+<td valign=top>
+<B>get</B><br>
+</td>
+<td valign=top>
+<B>insert</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="selectionbox.n.html"> "selectionbox" </A> widget manual entry for details on the above
+associated methods.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>curselection</B><br>
+<B>scan</B><br>
+</td>
+<td valign=top>
+<B>delete</B><br>
+<B>selection</B><br>
+</td>
+<td valign=top>
+<B>index</B><br>
+<B>size</B><br>
+</td>
+<td valign=top>
+<B>nearest</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/listbox.n.html"> "listbox" </A> widget manual entry for details on the above
+associated methods.
+</pre><H2>INHERITED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>add</B><br>
+<B>invoke</B><br>
+</td>
+<td valign=top>
+<B>buttonconfigure</B><br>
+<B>show</B><br>
+</td>
+<td valign=top>
+<B>default</B><br>
+</td>
+<td valign=top>
+<B>hide</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="buttonbox.n.html"> "buttonbox" </A> widget manual entry for details on the above
+inherited methods.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activate</B><br>
+</td>
+<td valign=top>
+<B>center</B><br>
+</td>
+<td valign=top>
+<B>deactivate</B><br>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "shell" widget manual entry for details on the above
+inherited methods.
+</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>selectiondialog</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>selectiondialog</B>
+command.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name: <B>selectionbox</B>
+Class: <B>Selectionbox</B>
+</pre>
+<UL>
+The selectionbox component is the selection box for the selection
+dialog. See the "selectionbox" widget manual entry for details on the
+selectionbox component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+ selectiondialog .sd
+ .sd activate
+</pre>
+</pre><H2>AUTHOR</H2>
+Mark L. Ulferts
+</pre><H2>KEYWORDS</H2>
+selectiondialog, selectionbox, dialog, dialogshell, shell, widget
+
diff --git a/itcl/iwidgets/demos/html/shell.n.html b/itcl/iwidgets/demos/html/shell.n.html
new file mode 100644
index 00000000000..e34939beeec
--- /dev/null
+++ b/itcl/iwidgets/demos/html/shell.n.html
@@ -0,0 +1,219 @@
+<TITLE>shell - Create and manipulate a shell widget</TITLE>
+<H1>shell - Create and manipulate a shell widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>shell<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Toplevel &lt;- shell
+</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>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>title</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "Toplevel" manual entry for details on the above inherited options.
+
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>height</B>
+Class: <B>Height</B>
+Command-Line Switch: <B>-height</B>
+</pre>
+<UL>
+Specifies the height of the shell. The value may be specified in
+any of the forms acceptable to <B>Tk_GetPixels</B>. A value of zero
+causes the height to be adjusted to the required value based on
+the size requests of the components placed in the childsite.
+Otherwise, the height is fixed. The default is zero. NOTE: This
+may cause some amount of flickering on slower machines. To prevent it
+simply set the width and height to a appropriate value.
+</UL>
+<P>
+<pre>
+Name: <B>master</B>
+Class: <B>Window</B>
+Command-Line Switch: <B>-master</B>
+</pre>
+<UL>
+Defines the shell as being a transient window with the master window
+given by the master option. The master window should be either another
+existing toplevel window or {} for no master. The default is {} for
+shells and "." for dialogs.
+</UL>
+<P>
+<pre>
+Name: <B>modality</B>
+Class: <B>Modality</B>
+Command-Line Switch: <B>-modality</B>
+</pre>
+<UL>
+Allows the shell to grab control of the screen in one of three different ways:
+<B>application</B>, <B>system</B>, or <B>none</B>.
+Application modal prevents any other toplevel windows within the application
+which are direct children of '.' from gaining focus. System modal locks
+the screen and prevents all windows from gaining focus regardless of
+application. A modality of none performs no grabs at all. The default
+is none.
+</UL>
+<P>
+<pre>
+Name: <B>padX</B>
+Class: <B>Pad</B>
+Command-Line Switch: <B>-padx</B>
+</pre>
+<UL>
+Specifies a padding distance for the childsite in the X-direction in
+any of the forms acceptable to <B>Tk_GetPixels</B>. The default is 10.
+</UL>
+<P>
+<pre>
+Name: <B>padY</B>
+Class: <B>Pad</B>
+Command-Line Switch: <B>-pady</B>
+</pre>
+<UL>
+Specifies a padding distance for the childsite in the Y-direction in
+any of the forms acceptable to <B>Tk_GetPixels</B>. The default is 10.
+</UL>
+<P>
+<pre>
+Name: <B>width</B>
+Class: <B>Width</B>
+Command-Line Switch: <B>-width</B>
+</pre>
+<UL>
+Specifies the width of the shell. The value may be specified in
+any of the forms acceptable to <B>Tk_GetPixels</B>. A value of zero
+causes the width to be adjusted to the required value based on
+the size requests of the components placed in the childsite.
+Otherwise, the width is fixed. The default is zero. NOTE: This
+may cause some amount of flickering on slower machines. To prevent it
+simply set the width and height to a appropriate value.
+</UL>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>shell</B> command creates a shell which is a top
+level widget which supports modal operation.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>shell</B> command create 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 shell widgets:
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<DL>
+<DT> <I>pathName <B>activate</B>
+</I></B>
+<DD> Display the shell and wait based on the modality. For application
+and system modal activations, perform a grab operation, and wait
+for the result. The result may be returned via an argument to the
+<B>deactivate</B> method.
+</DL>
+<DL>
+<DT> <I>pathName <B>center</B> <I>?widget?</I>
+</I></B>
+<DD> Centers the shell with respect to another widget. The widget argument
+is optional. If provided, it should be the path of another widget with
+to center upon. If absent, then the shell will be centered on the screen
+as a whole.
+</DL>
+<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>shell</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>childsite</B>
+</I></B>
+<DD> Returns the pathname of the child site widget.
+</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>shell</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>deactivate</B> ?<I>arg</I>?
+</I></B>
+<DD> Deactivate the display of the shell. The method takes an optional
+argument to be passed to the <B>activate</B> method which returns the value.
+The optional argument is only effective for application and system
+modal dialogs.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name: <B>shellchildsite</B>
+Class: <B>frame</B>
+</pre>
+<UL>
+The shellchildsite component is the user child site for the shell. See
+the "frame" widget manual entry for details on the shellchildsite
+component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+ shell .sh -modality application -padx 20 -pady 20 -title Shell
+
+ pack [label [.sh childsite].l -text SHELL]
+
+ .sh center
+ .sh activate
+</pre>
+</pre><H2>AUTHOR</H2>
+Mark L. Ulferts
+<P>
+Kris Raney
+</pre><H2>KEYWORDS</H2>
+shell, widget
diff --git a/itcl/iwidgets/demos/html/spindate.n.html b/itcl/iwidgets/demos/html/spindate.n.html
new file mode 100644
index 00000000000..474925c7995
--- /dev/null
+++ b/itcl/iwidgets/demos/html/spindate.n.html
@@ -0,0 +1,614 @@
+<TITLE>spindate - Create and manipulate time spinner widgets</TITLE>
+<H1>spindate - Create and manipulate time spinner widgets</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>spindate<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- Spindate
+
+</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>
+<B>relief</B><br>
+</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>textBackground</B><br>
+</td>
+<td valign=top>
+<B>textFont</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="entryfield.n.html"> "entryfield" </A> manual entry for details on the above associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>labelFont</B><br>
+</td>
+<td valign=top>
+<B>labelMargin</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="labeledwidget.n.html"> "labeledwidget" </A> manual entry for details on the above associated
+options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>arrowOrient</B><br>
+</td>
+<td valign=top>
+<B>repeatDelay</B><br>
+</td>
+<td valign=top>
+<B>repeatInterval</B><br>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="spinner.n.html"> "spinner" </A> manual entry for details on the above associated options.
+
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>dateMargin</B>
+Class: <B>Margin</B>
+Command-Line Switch: <B>-datemargin</B>
+</pre>
+<UL>
+Specifies the margin space between the month, day, and year spinners is
+any of the forms accpetable to <B>Tcl_GetPixels</B>. The default is 1 pixel.
+</UL>
+<P>
+<pre>
+Name: <B>dayLabel</B>
+Class: <B>Text</B>
+Command-Line Switch: <B>-daylabel</B>
+</pre>
+<UL>
+Specifies the text of the label for the day spinner. The default is
+"Day".
+</UL>
+<P>
+<pre>
+Name: <B>dayOn</B>
+Class: <B>dayOn</B>
+Command-Line Switch: <B>-dayon</B>
+</pre>
+<UL>
+Specifies whether or not to display the day spinner in any of the forms
+acceptable to <B>Tcl_GetBoolean</B>. The default is true.
+</UL>
+<P>
+<pre>
+Name: <B>dayWidth</B>
+Class: <B>Width</B>
+Command-Line Switch: <B>-daywidth</B>
+</pre>
+<UL>
+Specifies the width of the day spinner in any of the forms acceptable to
+<B>Tcl_GetPixels</B>. The default is 3 pixels.
+</UL>
+<P>
+<pre>
+Name: <B>labelPos</B>
+Class: <B>Position</B>
+Command-Line Switch: <B>-labelpos</B>
+</pre>
+<UL>
+Specifies the position of the label along the sides of the various
+spinners: <B>n</B>, <B>e</B>, <B>s</B>, or <B>w</B>. The default is w.
+</UL>
+<P>
+<pre>
+Name: <B>monthFormat</B>
+Class: <B>MonthFormat</B>
+Command-Line Switch: <B>-monthformat</B>
+</pre>
+<UL>
+Specifies the format of month display, <B>integer</B> (1-12) or <B>brief</B>
+strings (Jan - Dec), or <B>full</B> strings (January - December).
+</UL>
+<P>
+<pre>
+Name: <B>monthLabel</B>
+Class: <B>Text</B>
+Command-Line Switch: <B>-monthlabel</B>
+</pre>
+<UL>
+Specifies the text of the label for the month spinner. The default is "Month".
+</UL>
+<P>
+<pre>
+Name: <B>monthOn</B>
+Class: <B>monthOn</B>
+Command-Line Switch: <B>-monthon</B>
+</pre>
+<UL>
+Specifies whether or not to display the month spinner in any of the forms
+acceptable to <B>Tcl_GetBoolean</B>. The default is true.
+</UL>
+<P>
+<pre>
+Name: <B>monthWidth</B>
+Class: <B>Width</B>
+Command-Line Switch: <B>-monthwidth</B>
+</pre>
+<UL>
+Specifies the width of the month spinner in any of the forms acceptable to
+<B>Tcl_GetPixels</B>. The default is 3 pixels.
+</UL>
+<P>
+<pre>
+Name: <B>orient</B>
+Class: <B>Orient</B>
+Command-Line Switch: <B>-orient</B>
+</pre>
+<UL>
+Specifies the orientation of the month, day, and year spinners: <B>vertical</B> or <B>horizontal</B>. The default is horizontal.
+</UL>
+<P>
+<pre>
+Name: <B>yearDigits</B>
+Class: <B>YearDigits</B>
+Command-Line Switch: <B>-yeardigits</B>
+</pre>
+<UL>
+Specifies the number of digits to be displayed as the value for the year
+spinner. The valid values are 2 and 4. The default is 2.
+</UL>
+<P>
+<pre>
+Name: <B>yearLabel</B>
+Class: <B>Text</B>
+Command-Line Switch: <B>-yearlabel</B>
+</pre>
+<UL>
+Specifies the text of the label for the year spinner. The default is
+"Year"
+</UL>
+<P>
+<pre>
+Name: <B>yearOn</B>
+Class: <B>yearOn</B>
+Command-Line Switch: <B>-yearon</B>
+</pre>
+<UL>
+Specifies whether or not to display the year spinner in any of the forms
+acceptable to <B>Tcl_GetBoolean</B>. The default is true.
+</UL>
+<P>
+<pre>
+Name: <B>yearWidth</B>
+Class: <B>Width</B>
+Command-Line Switch: <B>-yearwidth</B>
+</pre>
+<UL>
+Specifies the width of the year spinner in any of the forms acceptable to
+<B>Tcl_GetPixels</B>. The default is 3 pixels.
+</UL>
+<P>
+<table cellpadding=5>
+<td valign=top>
+</pre><HR><br>
+<B>spindate</B><br>
+set<br>
+use<br>
+entry.<br>
+an<br>
+year<br>
+<P><br>
+creates<br>
+command<br>
+<I>pathName</I>.<br>
+be<br>
+various<br>
+widget.<br>
+following<br>
+<I>pathName<br>
+...</I>?<br>
+the<br>
+exact<br>
+command.<br>
+are<br>
+widgets:<br>
+<DT><br>
+</I></B><br>
+current<br>
+configuration<br>
+<I>option</I>.<br>
+any<br>
+accepted<br>
+command.<br>
+<I>pathName</I><br>
+option<br>
+<DD><br>
+the<br>
+the<br>
+<I>option</I><br>
+a<br>
+of<br>
+for<br>
+for<br>
+format<br>
+If<br>
+with<br>
+the<br>
+list<br>
+named<br>
+will<br>
+the<br>
+the<br>
+no<br>
+If<br>
+<I>option-value</I><br>
+then<br>
+the<br>
+to<br>
+value(s);<br>
+the<br>
+empty<br>
+have<br>
+values<br>
+<B>spindate</B><br>
+<DT><br>
+</I></B><br>
+current<br>
+spindate<br>
+format<br>
+as<br>
+value<br>
+and<br>
+respectively.<br>
+by<br>
+clock<br>
+information<br>
+and<br>
+<DL><br>
+<I>date</I><br>
+the<br>
+to<br>
+the<br>
+date<br>
+either<br>
+an<br>
+or<br>
+Reference<br>
+for<br>
+obtaining<br>
+formats.<br>
+<table><br>
+<B>Spinner</B><br>
+</td>
+<td valign=top>
+</pre><H2>DESCRIPTION</H2><br>
+command<br>
+of<br>
+in<br>
+The<br>
+month,<br>
+spinner<br>
+The<br>
+a<br>
+whose<br>
+This<br>
+used<br>
+operations<br>
+It<br>
+general<br>
+option<br>
+</pre><br>
+<I>arg</I>s<br>
+behavior<br>
+The<br>
+possible<br>
+</pre><H2>WIDGET-SPECIFIC<br>
+<I>pathName<br>
+<DD><br>
+value<br>
+option<br>
+<I>Option</I><br>
+of<br>
+by<br>
+</DL><br>
+<B>configure</B><br>
+value<br>
+Query<br>
+configuration<br>
+widget.<br>
+is<br>
+list<br>
+the<br>
+<I>pathName</I><br>
+information<br>
+of<br>
+<I>option</I><br>
+no<br>
+command<br>
+describing<br>
+option<br>
+be<br>
+corresponding<br>
+value<br>
+<I>option</I><br>
+one<br>
+pairs<br>
+the<br>
+given<br>
+have<br>
+in<br>
+command<br>
+string.<br>
+any<br>
+accepted<br>
+command.<br>
+<I>pathName<br>
+<DD><br>
+contents<br>
+widget<br>
+of<br>
+an<br>
+using<br>
+<B>-clicks</B><br>
+The<br>
+string.<br>
+command<br>
+on<br>
+their<br>
+<DT><br>
+</I></B><br>
+currently<br>
+be<br>
+date<br>
+may<br>
+as<br>
+integer<br>
+the<br>
+the<br>
+more<br>
+dates<br>
+</DL><br>
+Name:<br>
+</td>
+<td valign=top>
+<P><br>
+creates<br>
+spinners<br>
+date<br>
+set<br>
+day,<br>
+widget.<br>
+<B>spindate</B><br>
+new<br>
+name<br>
+command<br>
+to<br>
+on<br>
+has<br>
+form:<br>
+</I>?<I>arg<br>
+<I>Option</I><br>
+determine<br>
+of<br>
+following<br>
+for<br>
+METHODS</H2><br>
+<B>cget</B><br>
+Returns<br>
+of<br>
+given<br>
+may<br>
+the<br>
+the<br>
+<DL><br>
+?<I>option</I>?<br>
+...</I>?<br>
+or<br>
+options<br>
+If<br>
+specified,<br>
+describing<br>
+available<br>
+(see<br>
+on<br>
+this<br>
+is<br>
+<I>value</I>,<br>
+returns<br>
+the<br>
+(this<br>
+identical<br>
+sublist<br>
+returned<br>
+is<br>
+or<br>
+are<br>
+command<br>
+widget<br>
+the<br>
+this<br>
+returns<br>
+<I>Option</I><br>
+of<br>
+by<br>
+</DL><br>
+<B>get</B><br>
+Returns<br>
+of<br>
+in<br>
+string<br>
+integer<br>
+the<br>
+format<br>
+default<br>
+Reference<br>
+for<br>
+obtaining<br>
+formats.<br>
+<I>pathName<br>
+<DD><br>
+displayed<br>
+that<br>
+argument.<br>
+be<br>
+a<br>
+clock<br>
+keyword<br>
+clock<br>
+information<br>
+and<br>
+</pre><H2>COMPONENTS</H2><br>
+<B>month</B><br>
+</td>
+<td valign=top>
+The<br>
+a<br>
+for<br>
+value<br>
+includes<br>
+and<br>
+</pre><H2>METHODS</H2><br>
+command<br>
+Tcl<br>
+is<br>
+may<br>
+invoke<br>
+the<br>
+the<br>
+<pre><br>
+arg<br>
+and<br>
+the<br>
+the<br>
+commands<br>
+spindate<br>
+<DL><br>
+<I>option</I><br>
+the<br>
+the<br>
+by<br>
+have<br>
+values<br>
+<B>spindate</B><br>
+<DT><br>
+?<I>value<br>
+</I></B><br>
+modify<br>
+of<br>
+no<br>
+returns<br>
+all<br>
+options<br>
+<B>Tk_ConfigureInfo</B><br>
+the<br>
+list).<br>
+specified<br>
+then<br>
+a<br>
+one<br>
+list<br>
+to<br>
+of<br>
+if<br>
+specified).<br>
+more<br>
+specified,<br>
+modifies<br>
+option(s)<br>
+given<br>
+case<br>
+an<br>
+may<br>
+the<br>
+the<br>
+<DL><br>
+?<B>format</B>?<br>
+the<br>
+the<br>
+a<br>
+or<br>
+clock<br>
+<B>-string</B><br>
+options<br>
+is<br>
+the<br>
+more<br>
+dates<br>
+</DL><br>
+<B>show</B><br>
+Changes<br>
+date<br>
+of<br>
+The<br>
+specified<br>
+string,<br>
+value<br>
+"now".<br>
+command<br>
+on<br>
+their<br>
+<P><br>
+Class:<br>
+</td>
+</table>
+<UL>
+The month spinner component is the month spinner of the date spinner.
+See the Spinner widget manual entry for details on the month component item.
+</UL>
+<P>
+<pre>
+Name: <B>day</B>
+Class: <B>Spinint</B>
+</pre>
+<UL>
+The day spinner component is the day spinner of the date spinner.
+See the SpinInt widget manual entry for details on the day component item.
+</UL>
+<P>
+<pre>
+Name: <B>year</B>
+Class: <B>Spinint</B>
+</pre>
+<UL>
+The year spinner component is the year spinner of the date spinner.
+See the SpinInt widget manual entry for details on the year component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+spindate .sd
+pack .sd -padx 10 -pady 10
+</pre>
+</pre><H2>AUTHORS</H2>
+Sue Yockey
+<P>
+Mark L. Ulferts
+</pre><H2>KEYWORDS</H2>
+spindate, spinint, spinner, entryfield, entry, widget
+
diff --git a/itcl/iwidgets/demos/html/spinint.n.html b/itcl/iwidgets/demos/html/spinint.n.html
new file mode 100644
index 00000000000..1ba9b0eaa00
--- /dev/null
+++ b/itcl/iwidgets/demos/html/spinint.n.html
@@ -0,0 +1,269 @@
+<TITLE>spinint - Create and manipulate a integer spinner widget</TITLE>
+<H1>spinint - Create and manipulate a integer spinner widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>spinint<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- Labeledwidget &lt;- Spinner &lt;- Spinint
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>background</B><br>
+<B>foreground</B><br>
+<B>insertBorderWidth</B><br>
+<B>justify</B><br>
+<B>selectForeground</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>highlightColor</B><br>
+<B>insertOffTime</B><br>
+<B>relief</B><br>
+<B>textVariable</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+<B>highlightThickness</B><br>
+<B>insertOnTime</B><br>
+<B>selectBackground</B><br>
+</td>
+<td valign=top>
+<B>exportSelection</B><br>
+<B>insertBackground</B><br>
+<B>insertWidth</B><br>
+<B>selectBorderWidth</B><br>
+</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>show</B><br>
+</td>
+<td valign=top>
+<B>state</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/entry.n.html"> "entry" </A> manual entry for details on the associated options.
+</pre><H2>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>command</B><br>
+<B>invalid</B><br>
+<B>width</B><br>
+</td>
+<td valign=top>
+<B>childSitePos</B><br>
+<B>textBackground</B><br>
+</td>
+<td valign=top>
+<B>fixed</B><br>
+<B>textFont</B><br>
+</td>
+<td valign=top>
+<B>focusCommand</B><br>
+<B>validate</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="entryfield.n.html"> "entryfield" </A> widget manual entry for details on the above
+inherited options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>disabledForeground</B><br>
+<B>labelMargin</B><br>
+<B>state</B><br>
+</td>
+<td valign=top>
+<B>labelBitmap</B><br>
+<B>labelPos</B><br>
+</td>
+<td valign=top>
+<B>labelFont</B><br>
+<B>labelText</B><br>
+</td>
+<td valign=top>
+<B>labelImage</B><br>
+<B>labelVariable</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="labeledwidget.n.html"> "labeledwidget" </A> widget manual entry for details on the above
+inherited options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>arroworient</B><br>
+<B>repeatInterval</B><br>
+</td>
+<td valign=top>
+<B>decrement</B><br>
+</td>
+<td valign=top>
+<B>increment</B><br>
+</td>
+<td valign=top>
+<B>repeatDelay</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="spinner.n.html"> "spinner" </A> widget manual entry for details on the above
+inherited options.
+
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>range</B>
+Class: <B>Range</B>
+Command-Line Switch: <B>-range</B>
+</pre>
+<UL>
+Specifies a two element list of minimum and maximum integer values. The
+default is no range, {{} {}}.
+</UL>
+<P>
+<pre>
+Name: <B>step</B>
+Class: <B>Step</B>
+Command-Line Switch: <B>-step</B>
+</pre>
+<UL>
+Specifies the increment/decrement value. The default is 1.
+</UL>
+<P>
+<pre>
+Name: <B>wrap</B>
+Class: <B>Wrap</B>
+Command-Line Switch: <B>-wrap</B>
+</pre>
+<UL>
+Specifies whether to wrap the spinner value upon reaching the minimum
+or maximum value in any of the forms acceptable to <B>Tcl_GetBoolean</B>.
+The default is true.
+</UL>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>spinint</B> command creates a spinint widget. The spinint allows
+"spinning" of integer values within a specified range with wrap support.
+The spinner arrows may be drawn horizontally or vertically.
+</pre>
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>spinint</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 spinint widgets:
+</pre><H2>ASSOCIATED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>delete</B><br>
+<B>insert</B><br>
+<B>xview</B><br>
+</td>
+<td valign=top>
+<B>get</B><br>
+<B>peek</B><br>
+</td>
+<td valign=top>
+<B>icursor</B><br>
+<B>scan</B><br>
+</td>
+<td valign=top>
+<B>index</B><br>
+<B>selection</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/entry.n.html"> "entry" </A> manual entry for details on the associated methods.
+</pre><H2>INHERITED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>childsite</B><br>
+</td>
+<td valign=top>
+<B>clear</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="entryfield.n.html"> "entryfield" </A> manual entry for details on the associated methods.
+</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>spinint</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>spinint</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>down</B>
+</I></B>
+<DD> Decrement the spinner value by the value given in the step option.
+</DL>
+<DL>
+<DT> <I>pathName <B>up</B>
+</I></B>
+<DD> Increment the spinner value by the value given in the step option.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<UL>
+See the "Spinner" widget manual entry for details on the integer spinner
+component items.
+
+</UL>
+</pre><H2>EXAMPLE</H2>
+<pre>
+ option add *textBackground white
+
+ spinint .si -labeltext "Temperature" -labelpos w \\
+ -fixed yes -width 5 -range {32 212}
+
+ pack .si -pady 10
+</pre>
+</pre><H2>AUTHOR</H2>
+<A HREF="mailto:syockey@spd.dsccc.com">Sue Yockey</A>
+</pre><H2>KEYWORDS</H2>
+spinint, widget
diff --git a/itcl/iwidgets/demos/html/spinner.n.html b/itcl/iwidgets/demos/html/spinner.n.html
new file mode 100644
index 00000000000..6f2df317dd6
--- /dev/null
+++ b/itcl/iwidgets/demos/html/spinner.n.html
@@ -0,0 +1,308 @@
+<TITLE>spinner - Create and manipulate a spinner widget</TITLE>
+<H1>spinner - Create and manipulate a spinner widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>spinner<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- Labeledwidget &lt;- Spinner
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>background</B><br>
+<B>foreground</B><br>
+<B>insertBorderWidth</B><br>
+<B>justify</B><br>
+<B>selectForeground</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>highlightColor</B><br>
+<B>insertOffTime</B><br>
+<B>relief</B><br>
+<B>textVariable</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+<B>highlightThickness</B><br>
+<B>insertOnTime</B><br>
+<B>selectBackground</B><br>
+</td>
+<td valign=top>
+<B>exportSelection</B><br>
+<B>insertBackground</B><br>
+<B>insertWidth</B><br>
+<B>selectBorderWidth</B><br>
+</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>show</B><br>
+</td>
+<td valign=top>
+<B>state</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/entry.n.html"> "entry" </A> manual entry for details on the associated options.
+</pre><H2>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>childSitePos</B><br>
+<B>invalid</B><br>
+<B>width</B><br>
+</td>
+<td valign=top>
+<B>command</B><br>
+<B>textBackground</B><br>
+</td>
+<td valign=top>
+<B>fixed</B><br>
+<B>textFont</B><br>
+</td>
+<td valign=top>
+<B>focusCommand</B><br>
+<B>validate</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="entryfield.n.html"> "entryfield" </A> widget manual entry for details on the above
+inherited options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>disabledForeground</B><br>
+<B>labelMargin</B><br>
+<B>state</B><br>
+</td>
+<td valign=top>
+<B>labelBitmap</B><br>
+<B>labelPos</B><br>
+</td>
+<td valign=top>
+<B>labelFont</B><br>
+<B>labelText</B><br>
+</td>
+<td valign=top>
+<B>labelImage</B><br>
+<B>labelVariable</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="labeledwidget.n.html"> "labeledwidget" </A> widget manual entry for details on the above
+inherited options.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>arrowOrient</B>
+Class: <B>Orient</B>
+Command-Line Switch: <B>-arroworient</B>
+</pre>
+<UL>
+Specifies placement of arrow buttons: <B>horizontal</B> or <B>vertical</B>.
+The default is vertical.
+</UL>
+<P>
+<pre>
+Name: <B>decrement</B>
+Class: <B>Command</B>
+Command-Line Switch: <B>-decrement</B>
+</pre>
+<UL>
+Tcl command to be executed when down arrow is pressed.
+</UL>
+<P>
+<pre>
+Name: <B>increment</B>
+Class: <B>Command</B>
+Command-Line Switch: <B>-increment</B>
+</pre>
+<UL>
+Tcl command to be executed when up arrow is pressed.
+</UL>
+<P>
+<pre>
+Name: <B>repeatDelay</B>
+Class: <B>RepeatDelay</B>
+Command-Line Switch: <B>-repeatdelay</B>
+</pre>
+<UL>
+Specifies the initial delay in milliseconds before the spinner repeat action
+on the arrow buttons engages. The default is 300 milliseconds.
+</UL>
+<P>
+<pre>
+Name: <B>repeatInterval</B>
+Class: <B>RepeatInterval</B>
+Command-Line Switch: <B>-repeatinterval</B>
+</pre>
+<UL>
+Specifies the repeat delay in milliseconds between selections of the arrow
+buttons. A repeatinterval of 0 disables button repeat. The default is
+100 milliseconds.
+</UL>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>spinner</B> command creates a spinner widget. The spinner is
+comprised of an entryfield plus up and down arrow buttons.
+Arrows may be drawn horizontally or vertically.
+</pre>
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>spinner</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 spinner widgets:
+</pre><H2>ASSOCIATED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>delete</B><br>
+<B>insert</B><br>
+</td>
+<td valign=top>
+<B>get</B><br>
+<B>scan</B><br>
+</td>
+<td valign=top>
+<B>icursor</B><br>
+<B>selection</B><br>
+</td>
+<td valign=top>
+<B>index</B><br>
+<B>xview</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/entry.n.html"> "entry" </A> manual entry for details on the associated methods.
+</pre><H2>INHERITED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>childsite</B><br>
+</td>
+<td valign=top>
+<B>clear</B><br>
+</td>
+<td valign=top>
+<B>peek</B><br>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="entryfield.n.html"> "entryfield" </A> manual entry for details on the associated methods.
+</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>spinner</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>spinner</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>down</B>
+</I></B>
+<DD> Derived classes may overload this method to specialize functionality.
+</DL>
+<DL>
+<DT> <I>pathName <B>up</B>
+</I></B>
+<DD> Derived classes may overload this method to specialize functionality.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name: <B>downarrow</B>
+Class: <B>Canvas</B>
+</pre>
+<UL>
+The downarrow component is the downward pointing button of the spinner. See
+the "canvas" widget manual entry for details on the downarrow component item.
+</UL>
+<P>
+<pre>
+Name: <B>uparrow</B>
+Class: <B>Canvas</B>
+</pre>
+<UL>
+The uparrow component is the upward pointing button of the spinner. See
+the "canvas" widget manual entry for details on the uparrow component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+ set months {January February March April May June July \\
+ August September October November December}
+
+ proc blockInput {char} {
+ return 0
+ }
+
+ proc spinMonth {step} {
+ global months
+
+ set index [expr [lsearch $months [.sm get]] + $step]
+
+ if {$index &lt; 0} {set index 11}
+ if {$index &gt; 11} {set index 0}
+
+ .sm delete 0 end
+ .sm insert 0 [lindex $months $index]
+ }
+
+ spinner .sm -labeltext "Month : " -width 10 -fixed 10 -validate blockInput \\
+ -decrement {spinMonth -1} -increment {spinMonth 1}
+ .sm insert 0 January
+
+ pack .sm -padx 10 -pady 10
+</pre>
+</pre><H2>ACKNOWLEDGEMENTS:</H2>
+<P>
+Ken Copeland &lt;ken@hilco.com&gt;
+<UL>
+10/18/95 - Added auto-repeat action to spinner arrow buttons.
+</UL>
+<P>
+</pre><H2>AUTHOR</H2>
+Sue Yockey
+</pre><H2>KEYWORDS</H2>
+spinner, widget
diff --git a/itcl/iwidgets/demos/html/spintime.n.html b/itcl/iwidgets/demos/html/spintime.n.html
new file mode 100644
index 00000000000..8fdb55d80b1
--- /dev/null
+++ b/itcl/iwidgets/demos/html/spintime.n.html
@@ -0,0 +1,604 @@
+<TITLE>spintime - Create and manipulate time spinner widgets</TITLE>
+<H1>spintime - Create and manipulate time spinner widgets</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>spintime<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- Spintime
+
+</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>
+<B>relief</B><br>
+</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>textBackground</B><br>
+</td>
+<td valign=top>
+<B>textFont</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="entryfield.n.html"> "entryfield" </A> manual entry for details on the above associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>labelFont</B><br>
+</td>
+<td valign=top>
+<B>labelMargin</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="labeledwidget.n.html"> "labeledwidget" </A> manual entry for details on the above associated
+options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>arrowOrient</B><br>
+</td>
+<td valign=top>
+<B>repeatDelay</B><br>
+</td>
+<td valign=top>
+<B>repeatInterval</B><br>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="spinner.n.html"> "spinner" </A> manual entry for details on the above associated options.
+
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>labelPos</B>
+Class: <B>Position</B>
+Command-Line Switch: <B>-labelpos</B>
+</pre>
+<UL>
+Specifies the position of the label along the sides of the various
+spinners: <B>n</B>, <B>e</B>, <B>s</B>, or <B>w</B>. The default is w.
+</UL>
+<P>
+<pre>
+Name: <B>hourLabel</B>
+Class: <B>Text</B>
+Command-Line Switch: <B>-hourlabel</B>
+</pre>
+<UL>
+Specifies the text of the label for the hour spinner. The default is "Hour".
+</UL>
+<P>
+<pre>
+Name: <B>hourOn</B>
+Class: <B>hourOn</B>
+Command-Line Switch: <B>-houron</B>
+</pre>
+<UL>
+Specifies whether or not to display the hour spinner in any of the forms
+acceptable to <B>Tcl_GetBoolean</B>. The default is true.
+</UL>
+<P>
+<pre>
+Name: <B>hourWidth</B>
+Class: <B>Width</B>
+Command-Line Switch: <B>-hourwidth</B>
+</pre>
+<UL>
+Specifies the width of the hour spinner in any of the forms acceptable to
+<B>Tcl_GetPixels</B>. The default is 3 pixels.
+</UL>
+<P>
+<pre>
+Name: <B>militaryOn</B>
+Class: <B>militaryOn</B>
+Command-Line Switch: <B>-militaryon</B>
+</pre>
+<UL>
+Specifies use of a 24 hour clock for hour display in any of the forms
+acceptable to <B>Tcl_GetBoolean</B>. The default is true.
+</UL>
+<P>
+<pre>
+Name: <B>minuteLabel</B>
+Class: <B>Text</B>
+Command-Line Switch: <B>-minutelabel</B>
+</pre>
+<UL>
+Specifies the text of the label for the minute spinner. The default is
+"Minute".
+</UL>
+<P>
+<pre>
+Name: <B>minuteOn</B>
+Class: <B>minuteOn</B>
+Command-Line Switch: <B>-minuteon</B>
+</pre>
+<UL>
+Specifies whether or not to display the minute spinner in any of the forms
+acceptable to <B>Tcl_GetBoolean</B>. The default is true.
+</UL>
+<P>
+<pre>
+Name: <B>minuteWidth</B>
+Class: <B>Width</B>
+Command-Line Switch: <B>-minutewidth</B>
+</pre>
+<UL>
+Specifies the width of the minute spinner in any of the forms acceptable to
+<B>Tcl_GetPixels</B>. The default is 3 pixels.
+</UL>
+<P>
+<pre>
+Name: <B>orient</B>
+Class: <B>Orient</B>
+Command-Line Switch: <B>-orient</B>
+</pre>
+<UL>
+Specifies the orientation of the hour, minute, and second spinners: <B>vertical</B> or <B>horizontal</B>. The default is horizontal.
+</UL>
+<P>
+<pre>
+Name: <B>secondLabel</B>
+Class: <B>Text</B>
+Command-Line Switch: <B>-secondlabel</B>
+</pre>
+<UL>
+Specifies the text of the label for the second spinner. The default is
+"Second"
+</UL>
+<P>
+<pre>
+Name: <B>secondOn</B>
+Class: <B>secondOn</B>
+Command-Line Switch: <B>-secondon</B>
+</pre>
+<UL>
+Specifies whether or not to display the second spinner in any of the forms
+acceptable to <B>Tcl_GetBoolean</B>. The default is true.
+</UL>
+<P>
+<pre>
+Name: <B>secondWidth</B>
+Class: <B>Width</B>
+Command-Line Switch: <B>-secondwidth</B>
+</pre>
+<UL>
+Specifies the width of the second spinner in any of the forms acceptable to
+<B>Tcl_GetPixels</B>. The default is 3 pixels.
+</UL>
+<P>
+<pre>
+Name: <B>timeMargin</B>
+Class: <B>Margin</B>
+Command-Line Switch: <B>-timemargin</B>
+</pre>
+<UL>
+Specifies the margin space between the hour, minute, and second spinners is
+any of the forms accpetable to <B>Tcl_GetPixels</B>. The default is 1 pixel.
+</UL>
+<P>
+<table cellpadding=5>
+<td valign=top>
+</pre><HR><br>
+<B>spintime</B><br>
+set<br>
+use<br>
+entry.<br>
+an<br>
+second<br>
+<P><br>
+creates<br>
+command<br>
+<I>pathName</I>.<br>
+be<br>
+various<br>
+widget.<br>
+following<br>
+<I>pathName<br>
+...</I>?<br>
+the<br>
+exact<br>
+command.<br>
+are<br>
+widgets:<br>
+<DT><br>
+</I></B><br>
+current<br>
+configuration<br>
+<I>option</I>.<br>
+any<br>
+accepted<br>
+command.<br>
+<I>pathName</I><br>
+option<br>
+<DD><br>
+the<br>
+the<br>
+<I>option</I><br>
+a<br>
+of<br>
+for<br>
+for<br>
+format<br>
+If<br>
+with<br>
+the<br>
+list<br>
+named<br>
+will<br>
+the<br>
+the<br>
+no<br>
+If<br>
+<I>option-value</I><br>
+then<br>
+the<br>
+to<br>
+value(s);<br>
+the<br>
+empty<br>
+have<br>
+values<br>
+<B>spintime</B><br>
+<DT><br>
+</I></B><br>
+current<br>
+spintime<br>
+format<br>
+as<br>
+value<br>
+and<br>
+respectively.<br>
+by<br>
+clock<br>
+information<br>
+and<br>
+<DL><br>
+<I>time</I><br>
+the<br>
+to<br>
+the<br>
+time<br>
+either<br>
+an<br>
+or<br>
+Reference<br>
+for<br>
+obtaining<br>
+format.<br>
+<table><br>
+<B>Spinint</B><br>
+</td>
+<td valign=top>
+</pre><H2>DESCRIPTION</H2><br>
+command<br>
+of<br>
+in<br>
+The<br>
+hour,<br>
+spinner<br>
+The<br>
+a<br>
+whose<br>
+This<br>
+used<br>
+operations<br>
+It<br>
+general<br>
+option<br>
+</pre><br>
+<I>arg</I>s<br>
+behavior<br>
+The<br>
+possible<br>
+</pre><H2>WIDGET-SPECIFIC<br>
+<I>pathName<br>
+<DD><br>
+value<br>
+option<br>
+<I>Option</I><br>
+of<br>
+by<br>
+</DL><br>
+<B>configure</B><br>
+value<br>
+Query<br>
+configuration<br>
+widget.<br>
+is<br>
+list<br>
+the<br>
+<I>pathName</I><br>
+information<br>
+of<br>
+<I>option</I><br>
+no<br>
+command<br>
+describing<br>
+option<br>
+be<br>
+corresponding<br>
+value<br>
+<I>option</I><br>
+one<br>
+pairs<br>
+the<br>
+given<br>
+have<br>
+in<br>
+command<br>
+string.<br>
+any<br>
+accepted<br>
+command.<br>
+<I>pathName<br>
+<DD><br>
+contents<br>
+widget<br>
+of<br>
+an<br>
+using<br>
+<B>-clicks</B><br>
+The<br>
+string.<br>
+command<br>
+on<br>
+its<br>
+<DT><br>
+</I></B><br>
+currently<br>
+be<br>
+time<br>
+may<br>
+as<br>
+integer<br>
+the<br>
+the<br>
+more<br>
+times<br>
+</DL><br>
+Name:<br>
+</td>
+<td valign=top>
+<P><br>
+creates<br>
+spinners<br>
+time<br>
+set<br>
+minute,<br>
+widget.<br>
+<B>spintime</B><br>
+new<br>
+name<br>
+command<br>
+to<br>
+on<br>
+has<br>
+form:<br>
+</I>?<I>arg<br>
+<I>Option</I><br>
+determine<br>
+of<br>
+following<br>
+for<br>
+METHODS</H2><br>
+<B>cget</B><br>
+Returns<br>
+of<br>
+given<br>
+may<br>
+the<br>
+the<br>
+<DL><br>
+?<I>option</I>?<br>
+...</I>?<br>
+or<br>
+options<br>
+If<br>
+specified,<br>
+describing<br>
+available<br>
+(see<br>
+on<br>
+this<br>
+is<br>
+<I>value</I>,<br>
+returns<br>
+the<br>
+(this<br>
+identical<br>
+sublist<br>
+returned<br>
+is<br>
+or<br>
+are<br>
+command<br>
+widget<br>
+the<br>
+this<br>
+returns<br>
+<I>Option</I><br>
+of<br>
+by<br>
+</DL><br>
+<B>get</B><br>
+Returns<br>
+of<br>
+in<br>
+string<br>
+integer<br>
+the<br>
+format<br>
+default<br>
+Reference<br>
+for<br>
+obtaining<br>
+formats.<br>
+<I>pathName<br>
+<DD><br>
+displayed<br>
+that<br>
+argument.<br>
+be<br>
+a<br>
+clock<br>
+keyword<br>
+clock<br>
+information<br>
+and<br>
+</pre><H2>COMPONENTS</H2><br>
+<B>hour</B><br>
+</td>
+<td valign=top>
+The<br>
+a<br>
+for<br>
+value<br>
+includes<br>
+and<br>
+</pre><H2>METHODS</H2><br>
+command<br>
+Tcl<br>
+is<br>
+may<br>
+invoke<br>
+the<br>
+the<br>
+<pre><br>
+arg<br>
+and<br>
+the<br>
+the<br>
+commands<br>
+spintime<br>
+<DL><br>
+<I>option</I><br>
+the<br>
+the<br>
+by<br>
+have<br>
+values<br>
+<B>spintime</B><br>
+<DT><br>
+?<I>value<br>
+</I></B><br>
+modify<br>
+of<br>
+no<br>
+returns<br>
+all<br>
+options<br>
+<B>Tk_ConfigureInfo</B><br>
+the<br>
+list).<br>
+specified<br>
+then<br>
+a<br>
+one<br>
+list<br>
+to<br>
+of<br>
+if<br>
+specified).<br>
+more<br>
+specified,<br>
+modifies<br>
+option(s)<br>
+given<br>
+case<br>
+an<br>
+may<br>
+the<br>
+the<br>
+<DL><br>
+?<B>format</B>?<br>
+the<br>
+the<br>
+a<br>
+or<br>
+clock<br>
+<B>-string</B><br>
+options<br>
+is<br>
+the<br>
+more<br>
+time<br>
+</DL><br>
+<B>show</B><br>
+Changes<br>
+time<br>
+of<br>
+The<br>
+specified<br>
+string,<br>
+value<br>
+"now".<br>
+command<br>
+on<br>
+its<br>
+<P><br>
+Class:<br>
+</td>
+</table>
+<UL>
+The hour component is the hour spinner of the time spinner. See the
+SpinInt widget manual entry for details on the hour component item.
+</UL>
+<P>
+<pre>
+Name: <B>minute</B>
+Class: <B>Spinint</B>
+</pre>
+<UL>
+The minute component is the minute spinner of the time spinner. See
+the SpinInt widget manual entry for details on the minute component item.
+</UL>
+<P>
+<pre>
+Name: <B>second</B>
+Class: <B>Spinint</B>
+</pre>
+<UL>
+The second component is the second spinner of the time spinner. See the
+SpinInt widget manual entry for details on the second component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+spintime .st
+pack .st -padx 10 -pady 10
+</pre>
+</pre><H2>AUTHORS</H2>
+Sue Yockey
+<P>
+Mark L. Ulferts
+</pre><H2>KEYWORDS</H2>
+spintime, spinint, spinner, entryfield, entry, widget
+
diff --git a/itcl/iwidgets/demos/html/tabnotebook.n.html b/itcl/iwidgets/demos/html/tabnotebook.n.html
new file mode 100644
index 00000000000..97064a914dc
--- /dev/null
+++ b/itcl/iwidgets/demos/html/tabnotebook.n.html
@@ -0,0 +1,860 @@
+<TITLE>tabnotebook - create and manipulate tabnotebook widgets</TITLE>
+<H1>tabnotebook - create and manipulate tabnotebook widgets</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>tabnotebook</B> <I>pathName</I>? <I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- tabnotebook
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>background</B><br>
+<B>cursor</B><br>
+</td>
+<td valign=top>
+<B>disabledForeground</B><br>
+<B>font</B><br>
+</td>
+<td valign=top>
+<B>foreground</B><br>
+<B>height</B><br>
+</td>
+<td valign=top>
+<B>scrollCommand</B><br>
+<B>width</B><br>
+</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>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>angle</B>
+Class: <B>Angle</B>
+Command-Line Switch: <B>-angle</B>
+</pre>
+<UL>
+Specifes the angle of slope from the inner edge to the outer edge of the tab.
+An angle of 0 specifies square tabs. Valid ranges are 0 to 45 degrees
+inclusive. Default is 15 degrees. If <B>tabPos</B> is e or w, this option
+is ignored.
+</UL>
+<P>
+<pre>
+Name: <B>auto</B>
+Class: <B>Auto</B>
+Command-Line Switch: <B>-auto</B>
+</pre>
+<UL>
+Specifies whether to use the automatic packing/unpacking algorithm of the
+notebook. A value of true indicates that page frames will be unpacked and
+packed acoording to the algorithm described in the select command. A value
+of <B>false</B> leaves the current page packed and
+subsequent <B>selects</B>, <B>next</B>, or <B>previous</B> commands do not
+switch pages automatically. In either case the page's associated
+command (see the <B>add</B> command's description of the command option) is
+invoked. The value may have any of the forms accepted by
+the <B>Tcl_GetBoolean</B>, such as <B>true</B>, <B>false</B>, <B>0</B>,
+<B>1</B>, <B>yes</B>, or <B>no</B>.
+</UL>
+<P>
+<pre>
+Name: <B>backdrop</B>
+Class: <B>Backdrop</B>
+Command-Line Switch: <B>-backdrop</B>
+</pre>
+<UL>
+Specifies a background color to use when filling in the backdrop area
+behind the tabs.
+</UL>
+<P>
+<pre>
+Name: <B>background</B>
+Class: <B>Background</B>
+Command-Line Switch: <B>-background</B>
+</pre>
+<UL>
+Specifies a background color to use for displaying a page and its associated
+tab. This can be thought of as the selected tab background color, since the
+tab associated with the selected page is the selected tab.
+</UL>
+<P>
+<pre>
+Name: <B>bevelAmount</B>
+Class: <B>BevelAmount</B>
+Command-Line Switch: <B>-bevelamount</B>
+</pre>
+<UL>
+Specifes the size of tab corners. A value of 0 with <B>angle</B> set to
+0 results in square tabs. A <B>bevelAmount</B> of 4, means that the tab will
+be drawn with angled corners that cut in 4 pixels from the edge of
+the tab. The default is 0.
+</UL>
+<P>
+<pre>
+Name: <B>borderWidth</B>
+Class: <B>BorderWidth</B>
+Command-Line Switch: <B>-borderwidth</B>
+</pre>
+<UL>
+Specifies the width of shadowed border to place around the notebook area of
+the tabnotebook. The default value is 2.
+</UL>
+<P>
+<pre>
+Name: <B>disabledForeground</B>
+Class: <B>DisabledForeground</B>
+Command-Line Switch: <B>-disabledforeground</B>
+</pre>
+<UL>
+Specifies a foreground color to use for displaying a tab's label when
+its <B>state</B> is disabled.
+</UL>
+<P>
+<pre>
+Name: <B>equalTabs</B>
+Class: <B>EqualTabs</B>
+Command-Line Switch: <B>-equaltabs</B>
+</pre>
+<UL>
+Specifies whether to force tabs to be equal sized or not. A value
+of <B>true</B> means constrain tabs to be equal sized. A value
+of <B>false</B> allows each tab to size based on the text label size. The
+value may have any of the forms accepted by the <B>Tcl_GetBoolean</B>, such
+as <B>true</B>, <B>false</B>, <B>0</B>, <B>1</B>, <B>yes</B>, or <B>no</B>.
+</UL>
+<UL>
+For horizontally positioned tabs (<B>tabpos</B> is either <B>s</B> or <B>n</B>),
+<B>true</B> forces all tabs to be equal width (the width being equal to
+the longest label plus any <B>padX</B> specified). Horizontal tabs are
+always equal in height.
+</UL>
+<UL>
+For vertically positioned tabs (<B>tabpos</B> is either <B>w</B> or <B>e</B>),
+<B>true</B> forces all tabs to be equal height (the height being equal to the
+height of the label with the largest font). Vertically oriented tabs
+are always equal in width.
+</UL>
+<P>
+<pre>
+Name: <B>foreground</B>
+Class: <B>Foreground</B>
+Command-Line Switch: <B>-foreground</B>
+</pre>
+<UL>
+Specifies a foreground color to use for displaying a page and its associated
+tab label. This can be thought of as the selected tab background color,
+since the tab associated with the selected page is the selected tab.
+</UL>
+<P>
+<pre>
+Name: <B>gap</B>
+Class: <B>Gap</B>
+Command-Line Switch: <B>-gap</B>
+</pre>
+<UL>
+Specifies the amount of pixel space to place between each tab. Value may
+be any pixel offset value. In addition, a special keyword <B>overlap</B>
+can be used as the value to achieve a standard overlap of tabs. This value
+may have any of the forms acceptable to <B>Tk_GetPixels</B>.
+</UL>
+<P>
+<pre>
+Name: <B>margin</B>
+Class: <B>Margin</B>
+Command-Line Switch: <B>-Bmargin</B>
+</pre>
+<UL>
+Specifies the amount of space to place between the outside edge of the
+tabnotebook and the outside edge of its tabs. If <B>tabPos</B> is <B>s</B>,
+this is the amount of space between the bottom edge of the tabnotebook and
+the bottom edge of the set of tabs. If <B>tabPos</B> is <B>n</B>, this is
+the amount of space between the top edge of the tabnotebook and the top
+edge of the set of tabs. If <B>tabPos</B> is <B>e</B>, this is the amount of
+space between the right edge of the tabnotebook and the right edge of the
+set of tabs. If <B>tabPos</B> is <B>w</B>, this is the amount of space
+between the left edge of the tabnotebook and the left edge of the set
+of tabs. This value may have any of the forms acceptable to <B>Tk_GetPixels</B>.
+</UL>
+<P>
+<pre>
+Name: <B>padX</B>
+Class: <B>PadX</B>
+Command-Line Switch: <B>-padx</B>
+</pre>
+<UL>
+Specifies a non-negative value indicating how much extra space to request
+for a tab around its label in the X-direction. When computing how large
+a window it needs, the tab will add this amount to the width it would
+normally need The tab will end up with extra internal space to the left
+and right of its text label. This value may have any of the forms acceptable
+to <B>Tk_GetPixels</B>.
+</UL>
+<P>
+<pre>
+Name: <B>padY</B>
+Class: <B>PadY</B>
+Command-Line Switch: <B>-pady</B>
+</pre>
+<UL>
+Specifies a non-negative value indicating how much extra space to request for
+a tab around its label in the Y-direction. When computing how large a
+window it needs, the tab will add this amount to the height it would normally
+need The tab will end up with extra internal space to the top and bottom of
+its text label. This value may have any of the forms acceptable
+to <B>Tk_GetPixels</B>.
+</UL>
+<P>
+<pre>
+Name: <B>raiseSelect</B>
+Class: <B>RaiseSelect</B>
+Command-Line Switch: <B>-raiseselect</B>
+</pre>
+<UL>
+Specifes whether to slightly raise the selected tab from the rest of the
+tabs. The selected tab is drawn 2 pixels closer to the outside of the
+tabnotebook than the unselected tabs. A value of <B>true</B> says to
+raise selected tabs, a value of <B>false</B> turns this feature off. The
+default is <B>false</B>. The value may have any of the forms accepted
+by the <B>Tcl_GetBoolean</B>, such as <B>true</B>, <B>false</B>, <B>0</B>,
+<B>1</B>, <B>yes</B>, or <B>no</B>.
+</UL>
+<P>
+<pre>
+Name: <B>start</B>
+Class: <B>Start</B>
+Command-Line Switch: <B>-start</B>
+</pre>
+<UL>
+Specifies the amount of space to place between the left or top edge of the
+tabnotebook and the starting edge of its tabs. For horizontally positioned
+tabs, this is the amount of space between the left edge of the notebook and
+the left edge of the first tab. For vertically positioned tabs, this is the
+amount of space between the top of the notebook and the top of the first
+tab. This value may change if the user performs a MButton-2 scroll on the
+tabs. This value may have any of the forms acceptable to <B>Tk_GetPixels</B>.
+</UL>
+<P>
+<pre>
+Name: <B>state</B>
+Class: <B>State</B>
+Command-Line Switch: <B>-state</B>
+</pre>
+<UL>
+Sets the active state of the tabnotebook. Specifying <B>normal</B> allows
+all pages to be selectable. Specifying <B>disabled</B> disables the notebook
+causing all page tabs to be drawn in the <B>disabledForeground</B> color.
+</UL>
+<P>
+<pre>
+Name: <B>tabBackground</B>
+Class: <B>TabBackground</B>
+Command-Line Switch: <B>-tabbackground</B>
+</pre>
+<UL>
+Specifies a background color to use for displaying tab backgrounds when
+they are in their unselected state. This is the background associated with
+tabs on all pages other than the selected page.
+</UL>
+<P>
+<pre>
+Name: <B>tabBorders</B>
+Class: <B>TabBorders</B>
+Command-Line Switch: <B>-tabborders</B>
+</pre>
+<UL>
+Specifies whether to draw the borders of tabs that are not selected.
+Specifying <B>true</B> (the default) draws these borders,
+specifying <B>false</B> draws only the border around the selected tab. The
+value may have any of the forms accepted by the <B>Tcl_GetBoolean</B>,
+such as <B>true</B>, <B>false</B>, <B>0</B>, <B>1</B>,<B> yes</B>, or <B>no</B>.
+</UL>
+<P>
+<pre>
+Name: <B>tabForeground</B>
+Class: <B>TabForeground</B>
+Command-Line Switch: <B>-tabforeground</B>
+</pre>
+<UL>
+Specifies a foreground color to use for displaying tab labels when they
+are in their unselected state. This is the foreground associated with tabs
+on all pages other than the selected page.
+</UL>
+<P>
+<pre>
+Name: <B>tabPos</B>
+Class: <B>TabPos</B>
+Command-Line Switch: <B>-tabpos</B>
+</pre>
+<UL>
+Specifies the location of the set of tabs in relation to the notebook
+area. Must be n, s, e, or w. Defaults to s.
+</UL>
+</pre><HR>
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>tabnotebook</B> command creates a new window (given by the pathName
+argument) and makes it into a <B>tabnotebook</B> widget. Additional options,
+described above may be specified on the command line or in the option
+database to configure aspects of the tabnotebook such as its colors, font,
+and text. The tabnotebook command returns its pathName argument. At the
+time this command is invoked, there must not exist a window named
+pathName, but pathName's parent must exist.
+<P>
+A <B>tabnotebook</B> is a widget that contains a set of tabbed pages. It
+displays one page from the set as the selected page. A Tab displays the
+label for the page to which it is attached and serves as a page
+selector. When a page's tab is selected, the page's contents are displayed
+in the page area. The selected tab has a three-dimensional effect to make
+it appear to float above the other tabs. The tabs are displayed as a group
+along either the left, top, right, or bottom edge. When first created a
+tabnotebook has no pages. Pages may be added or deleted using widget
+commands described below.
+<P>
+A special option may be provided to the tabnotebook. The <B>-auto</B>
+option specifies whether the tabnotebook will automatically handle the
+unpacking and packing of pages when pages are selected. A value of
+true signifies that the notebook will automatically manage it. This is the
+default value. A value of false signifies the notebook will not perform
+automatic switching of pages.
+</pre><H2>NOTEBOOK PAGES</H2>
+A tabnotebook's pages area contains a single child site frame. When a
+new page is created it is a child of this frame. The page's child site
+frame serves as a geometry container for applications to pack widgets
+into. It is this frame that is automatically unpacked or packed when
+the auto option is true. This creates the effect of one page being visible
+at a time. When a new page is selected, the previously selected page's
+child site frame is automatically unpacked from the tabnotebook's child
+site frame and the newly selected page's child site is packed into the
+tabnotebook's child site frame.
+<P>
+However, sometimes it is desirable to handle page changes in a different
+manner. By specifying the <B>auto</B> option as <B>false</B>, child site
+packing can be disabled and done differently. For example, all widgets
+might be packed into the first page's child site <B>frame</B>. Then when
+a new page is selected, the application can reconfigure the widgets
+and give the appearance that the page was flipped.
+<P>
+In both cases the command option for a page specifies a Tcl Command
+to execute when the page is selected. In the case of <B>auto</B>
+being <B>true</B>, it is between the unpacking of the previously selected
+page and the packing of the newly selected page.
+<P>
+Notebook pages can also be controlled with scroll bars or other widgets
+that obey the <B>scrollcommand</B> protocol. By giving a scrollbar
+a <B>-command</B> to call the tabnotebook's <B>select</B> method, the
+tabnotebook can be controlled with a scrollbar.
+<P>
+The notebook area is implemented with the notebook mega widget.
+</pre><H2>TABS</H2>
+Tabs appear along the edge of the notebook area. Tabs are drawn to appear
+attached to their associated page. When a tab is clicked on, the associated
+page is selected and the tab is drawn as raised above all other tabs and as
+a seamless part of its notebook page. Tabs can be controlled in their
+location along the edges, the angle tab sides are drawn with, gap between
+tabs, starting margin of tabs, internal padding around text labels in
+a tab, the font, and its label.
+<P>
+The Tab area is implemented with the <B>tabset</B> mega widget.
+See <B>tabset(1)</B>. Tabs may be oriented along either the north, south,
+east, or west sides with the <B>tabPos</B> option. North and south tabs
+may appear as angled, square, or bevelled. West and east tabs may appear
+as square or bevelled. By changing tab gaps, tab angles, bevelling,
+orientations, colors, fonts, start locations, and margins; tabs may appear
+in a wide variety of styles. For example, it is possible to implement
+Microsoft-style tabs, Borland property tab styles, or Borland Delphi
+style tabs all with the same tabnotebook.
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<P>
+The <B>tabnotebook</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.
+<P>
+Many of the widget commands for a notebook take as one argument an
+indicator of which page of the notebook to operate on. These indicators are
+called indexes and may be specified in any of the following forms:
+<DL>
+<DT> <I>number</I>
+</I></B>
+<DD> Specifies the page numerically, where 0 corresponds to the first page
+in the notebook, 1 to the second, and so on.
+</DL>
+<DL>
+<DT> <B>select</B>
+</I></B>
+<DD> Specifies the currently selected page's index. If no page is currently
+selected, the value -1 is returned.
+</DL>
+<DL>
+<DT> <B>end</B>
+</I></B>
+<DD> Specifes the last page in the tabnotebook's index. If the notebook is empty
+this will return -1.
+</DL>
+<DL>
+<DT> <I>pattern</I>
+</I></B>
+<DD> If the index doesn't satisfy any of the above forms, then this form is
+used. Pattern is pattern-matched against the label of each page in the
+notebook, in order from the first to the last page, until a matching entry
+is found. The rules of Tcl_StringMatch are used.
+'.............................................................................
+The following commands are possible for tabnotebook widgets:
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>add</B> ?<I>option</I> <I>value</I> <I>option</I> <I>value</I> ...?
+</I></B>
+<DD> Add a new page at the end of the tabnotebook. A new child site frame is
+created. Returns the child site pathName. If additional arguments are
+present, they specify any of the following options:
+</DL>
+<UL>
+<DL>
+<DT> <B>-angle</B> <I>value</I>
+</I></B>
+<DD> Specifes the angle of slope from the inner edge to the outer edge of the
+tab. An angle of 0 specifies square tabs. Valid ranges are 0 to 45 degrees
+inclusive. Default is 15 degrees. If this option is specified as an empty
+string (the default), then the angle option for the overall tabnotebook
+is used. This is generally only set at the tabnotebook level. Tabs normally
+will want to share the same angle value.
+</DL>
+<DL>
+<DT> <B>-background</B> <I>value</I>
+</I></B>
+<DD> Specifies a background color to use for displaying tabs when they are
+selected and for displaying the current page. If this option is specified
+as an empty string (the default), then the background option for the
+overall tabnotebook is used.
+</DL>
+<DL>
+<DT> <B>-bevelamount</B> <I>value</I>
+</I></B>
+<DD> Specifes the size of tab corners. A value of 0 with angle set to 0
+results in square tabs. A bevelAmount of 4, means that the tab will be
+drawn with angled corners that cut in 4 pixels from the edge of the tab.
+The default is 0. This is generally only set at the tabnotebook level.
+Tabs normally will want to share the same bevelAmount.
+</DL>
+<DL>
+<DT> <B>-bitmap</B> <I>value</I>
+</I></B>
+<DD> If label is a non-empty string, specifies a bitmap to display in this
+page's tab. Bitmap may be of any of the forms accepted by Tk_GetPixmap.
+</DL>
+<DL>
+<DT> <B>-command</B> <I>value</I>
+</I></B>
+<DD> Specifies a Tcl command to be executed when this page is selected. This
+allows the programmer a hook to reconfigure this page's widgets or any
+other page's widgets.
+<UL>
+If the tabnotebook has the auto option set to true, when a page is
+selected this command will be called immediately after the previously
+selected page is unpacked and immediately before this page is selected. The
+index value select is valid during this Tcl command. `index select' will
+return this page's page number.
+</UL>
+<UL>
+If the auto option is set to false, when a page is selected the unpack
+and pack calls are bypassed. This Tcl command is still called.
+</UL>
+</DL>
+<DL>
+<DT> <B>-disabledforeground</B> <I>value</I>
+</I></B>
+<DD> Specifies a foreground color to use for displaying tab labels when tabs
+are in their disable state. If this option is specified as an empty
+string (the default), then the disabledforeground option for the overall
+tabnotebook is used.
+</DL>
+<DL>
+<DT> <B>-font</B> <I>value</I>
+</I></B>
+<DD> Specifies the font to use when drawing a text label on a page tab. If
+this option is specified as an empty string then the font option for the
+overall tabnotebook is used..
+</DL>
+<DL>
+<DT> <B>-foreground</B> <I>value</I>
+</I></B>
+<DD> Specifies a foreground color to use for displaying tab labels when they are
+selected. If this option is specified as an empty string (the default),
+then the foreground option for the overall tabnotebook is used.
+</DL>
+<DL>
+<DT> <B>-label</B> <I>value</I>
+</I></B>
+<DD> Specifies a string to display as an identifying label for a notebook
+page. This label serves as an additional identifier used to reference the
+page. This label may be used for the index value in widget commands.
+</DL>
+<DL>
+<DT> <B>-tabbackground</B> <I>value</I>
+</I></B>
+<DD> Specifies a background color to use for displaying a tab when it is not
+elected. If this option is specified as an empty string (the default), then
+the tabBackground option for the overall tabnotebook is used.
+</DL>
+<DL>
+<DT> <B>-tabforeground</B> <I>value</I>
+</I></B>
+<DD> Specifies a foreground color to use for displaying the tab's text label
+when it is not selected. If this option is specified as an empty
+string (the default), then the tabForeground option for the overall
+tabnotebook is used.
+</DL>
+<DL>
+<DT> <B>-padx</B> <I>value</I>
+</I></B>
+<DD> Specifies a non-negative value indicating how much extra space to request
+for a tab around its label in the X-direction. When computing how large a
+window it needs, the tab will add this amount to the width it would
+normally need The tab will end up with extra internal space to the
+left and right of its text label. This value may have any of the forms
+acceptable to Tk_GetPixels. If this option is specified as an empty
+string (the default), then the padX option for the overall tabnotebook is used
+</DL>
+<DL>
+<DT> <B>-pady</B> <I>value</I>
+</I></B>
+<DD> Specifies a non-negative value indicating how much extra space to request
+for a tab around its label in the Y-direction. When computing how large
+a window it needs, the tab will add this amount to the height it would
+normally need The tab will end up with extra internal space to the top and
+bottom of its text label. This value may have any of the forms acceptable
+to Tk_GetPixels. If this option is specified as an empty string (the
+default), then the padY option for the overall tabnotebook is used
+</DL>
+<DL>
+<DT> <B>-state</B> <I>value</I>
+</I></B>
+<DD> Specifies one of two states for the page: normal or disabled. In normal state
+unselected tabs are displayed using the tabforeground and tabbackground
+option from the tabnotebook or the page. Selected tabs and pages are
+displayed using the foreground and background option from the tabnotebook or
+the page. The disabled state means that the page and its tab is
+insensitive: it doesn't respond to mouse button presses or releases. In this
+state the entry is displayed according to its disabledForeground option for
+the tabnotebook and the background/tabbackground option from the page or
+the tabnotebook.
+</DL>
+</UL>
+<DL>
+<DT> '&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;
+</I></B>
+<DD> <I>pathName</I> <B>childSite</B> ?<I>index</I>?
+If passed no arguments, returns a list of pathNames for all the pages
+in the tabnotebook. If the tab notebook is empty, an empty list is returned
+<UL>
+If <I>index</I> is passed, it returns the <I>pathName</I> for the page's
+child site <B>frame</B> specified by <I>index</I>. Widgets that are created
+with this <I>pathName</I> will be displayed when the associated page is
+selected. If <I>index</I> is not a valid index, an empty string is returned.
+</UL>
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>configure</B> ?<I>option</I>? ?<I>value</I> <I>option</I> <I>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 option is specified with no value, 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 option
+is specified). If one or more option-value 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 tabnotebook command.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>delete</B> <I>index1</I> ?<I>index2</I>?
+</I></B>
+<DD> Delete all of the pages between <I>index1</I> and <I>index2</I> inclusive.
+If <I>index2</I> is omitted then it defaults to <I>index1</I>. Returns an
+empty string.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>index</B> <I>index</I>
+</I></B>
+<DD> Returns the numerical index corresponding to <I>index</I>.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>insert</B> <I>index</I> ?<I>option</I> <I>value</I> <I>option</I> <I>value</I> ...?
+</I></B>
+<DD> Insert a new page in the tabnotebook before the page specified
+by <I>index</I>. A new child site <B>frame</B> is created. The additional
+arguments are the same as for the <B>add</B> command. Returns the
+child site <I>pathName</I>.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>next</B>
+</I></B>
+<DD> Advances the selected page to the next page (order is determined by
+insertion order). If the currently selected page is the last page in
+the notebook, the selection wraps around to the first page in the
+notebook. It behaves as if the user selected the new page.
+<UL>
+For notebooks with <B>auto</B> set to <B>true</B> the current page's
+child site is unpacked from the notebook's child site frame. Then the next
+page's child site is packed into the notebook's child site frame. The
+Tcl command given with the command option will be invoked between these
+two operations.
+</UL>
+<UL>
+For notebooks with <B>auto</B> set to <B>false</B> the Tcl command given
+with the command option will be invoked.
+</UL>
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>pageconfigure</B> <I>index</I> ?<I>option</I>? ?<I>value</I> <I>option</I> <I>value</I> ...?
+</I></B>
+<DD> This command is similar to the <B>configure</B> command, except that it
+applies to the options for an individual page, whereas configure applies
+to the options for the tabnotebook as a whole. <I>Options</I> may have
+any of the values accepted by the add widget command. If options are
+specified, options are modified as indicated in the command and the
+command returns an empty string. If no options are specified, returns a
+list describing the current options for page index (see <B>Tk_ConfigureInfo</B>
+for information on the format of this list).
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>prev</B>
+</I></B>
+<DD> Moves the selected page to the previous page (order is determined by
+insertion order). If the currently selected page is the first page in
+the notebook, the selection wraps around to the last page in the notebook. It
+behaves as if the user selected the new page.
+<UL>
+For notebooks with <B>auto</B> set to <B>true</B> the current page's
+child site is unpacked from the notebook's child site <B>frame</B>. Then the
+previous page's child site is packed into the notebook's child site frame.
+The Tcl command given with the command option will be invoked between these
+two operations.
+</UL>
+<UL>
+For notebooks with <B>auto</B> set to <B>false</B> the Tcl command given
+with the command option will be invoked.
+</UL>
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>select</B> <I>index</I>
+</I></B>
+<DD> Selects the page specified by <I>index</I> as the currently selected page.
+It behaves as if the user selected the new page.
+<UL>
+For notebooks with <B>auto</B> set to <B>true</B> the current page's child
+site is unpacked from the notebook's child site frame. Then the <I>index</I>
+page's child site is packed into the notebook's child site frame. The
+Tcl command given with the command option will be invoked between these two
+operations.
+</UL>
+<UL>
+For notebooks with <B>auto</B> set to <B>false</B> the Tcl command given
+with the command option will be invoked.
+</UL>
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>view</B>
+</I></B>
+<DD> Returns the currently selected page. This command is for compatibility with
+the <B>scrollbar</B> widget.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>view</B> <I>index</I>
+</I></B>
+<DD> Selects the page specified by <I>index</I> as the currently selected page.
+This command is for compatibility with the <B>scrollbar</B> widget.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>view</B> <B>moveto</B> <I>fraction</I>
+</I></B>
+<DD> Uses the <I>fraction</I> value to determine the corresponding page to move to.
+This command is for compatibility with the <B>scrollbar</B> widget.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>view</B> <B>scroll</B> <I>num</I> <I>what</I>
+</I></B>
+<DD> Uses the <I>num</I> value to determine how many pages to move forward or
+backward (<I>num</I> can be negative or positive). The <I>what</I> argument
+is ignored. This command is for compatibility with the <B>scrollbar</B> widget.
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+Generally all behavior of the internal components, <B>tabset</B>
+and <B>notebook</B> are controlled via the <B>pageconfigure</B> method.
+The following section documents these two components.
+<P>
+<pre>
+Name: <B>tabset</B>
+Class: <B>Tabset</B>
+</pre>
+<UL>
+This is the tabset component. It implements the tabs that are associated
+with the notebook component.
+</UL>
+<UL>
+See the "<B>Tabset</B>" widget manual entry for details on
+the <B>tabset</B> component item.
+</UL>
+<P>
+<pre>
+Name: <B>notebook</B>
+Class: <B>Notebook</B>
+</pre>
+<UL>
+This is the notebook component. It implements the notebook that contains the
+pages of the tabnotebook.
+</UL>
+<UL>
+See the "<B>Notebook</B>" widget manual entry for details on
+the <B>notebook</B> component item.
+</UL>
+</table>
+</pre><H2>EXAMPLE</H2>
+<P>
+Following is an example that creates a tabnotebook with two pages.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<UL><br>
+the<br>
+pack<br>
+-width<br>
+pack<br>
+nw<br>
+\\<br>
+-side<br>
+10<br>
+<UL><br>
+pages<br>
+#<br>
+and<br>
+add<br>
+.tn<br>
+Two"<br>
+Get<br>
+frames<br>
+pages.<br>
+childsite<br>
+[.tn<br>
+</UL><br>
+buttons<br>
+of<br>
+$page1CS.b<br>
+pack<br>
+-text<br>
+$page2CS.b<br>
+Select<br>
+of<br>
+select<br>
+</td>
+<td valign=top>
+</UL><br>
+tabnotebook<br>
+it.<br>
+100<br>
+.tn<br>
+\\<br>
+-expand<br>
+left<br>
+\\<br>
+#<br>
+to<br>
+labelled<br>
+"Page<br>
+-label<br>
+add<br>
+</UL><br>
+the<br>
+of<br>
+set<br>
+0]<br>
+childsite<br>
+<UL><br>
+on<br>
+the<br>
+-text<br>
+$page1CS.b<br>
+"Button<br>
+</UL><br>
+the<br>
+the<br>
+0<br>
+</td>
+<td valign=top>
+#<br>
+widget<br>
+tabnotebook<br>
+-height<br>
+\\<br>
+-fill<br>
+yes<br>
+\\<br>
+-pady<br>
+Add<br>
+the<br>
+"Page<br>
+Two"<br>
+"Page<br>
+-label<br>
+<UL><br>
+child<br>
+these<br>
+page1CS<br>
+set<br>
+"Page<br>
+#<br>
+each<br>
+tabnotebook.<br>
+"Button<br>
+button<br>
+Two"<br>
+<UL><br>
+first<br>
+tabnotebook.<br>
+</UL><br>
+</td>
+<td valign=top>
+Create<br>
+and<br>
+.tn<br>
+100<br>
+-anchor<br>
+both<br>
+\\<br>
+-padx<br>
+10<br>
+two<br>
+tabnotebook,<br>
+One"<br>
+.tn<br>
+One"<br>
+"Page<br>
+#<br>
+site<br>
+two<br>
+[.tn<br>
+page2CS<br>
+Two"]<br>
+Create<br>
+page<br>
+button<br>
+One"<br>
+$page2CS.b<br>
+pack<br>
+#<br>
+page<br>
+.tn<br>
+</td>
+</table>
+</pre><H2>AUTHOR</H2>
+Bill W. Scott
+</pre><H2>KEYWORDS</H2>
+tab tabset notebook tabnotebook page
diff --git a/itcl/iwidgets/demos/html/tabset.n.html b/itcl/iwidgets/demos/html/tabset.n.html
new file mode 100644
index 00000000000..90e6f7b856c
--- /dev/null
+++ b/itcl/iwidgets/demos/html/tabset.n.html
@@ -0,0 +1,681 @@
+<TITLE>tabset - create and manipulate tabs as as set</TITLE>
+<H1>tabset - create and manipulate tabs as as set</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>tabset</B> <I>pathName</I> ?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- tabset
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>background</B><br>
+<B>foreground</B><br>
+<B>width</B><br>
+</td>
+<td valign=top>
+<B>font</B><br>
+<B>selectForeground</B><br>
+</td>
+<td valign=top>
+<B>selectBackground</B><br>
+<B>disabledForeground</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+<B>height</B><br>
+</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>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>angle</B>
+Class: <B>Angle</B>
+Command-Line Switch: <B>-angle</B>
+</pre>
+<UL>
+Specifes the angle of slope from the inner edge to the outer edge of the
+tab. An angle of 0 specifies square tabs. Valid ranges are 0 to 45 degrees
+inclusive. Default is 15 degrees. If tabPos is e or w, this option is ignored.
+</UL>
+<P>
+<pre>
+Name: <B>backdrop</B>
+Class: <B>Backdrop</B>
+Command-Line Switch: <B>-backdrop</B>
+</pre>
+<UL>
+Specifies a background color to use when filling in the area behind the tabs.
+</UL>
+<P>
+<pre>
+Name: <B>bevelAmount</B>
+Class: <B>BevelAmount</B>
+Command-Line Switch: <B>-bevelamount</B>
+</pre>
+<UL>
+Specifes the size of tab corners. A value of 0 with angle set to 0 results
+in square tabs. A <B>bevelAmount</B> of 4, means that the tab will be
+drawn with angled corners that cut in 4 pixels from the edge of the
+tab. The default is 0.
+</UL>
+<P>
+<pre>
+Name: <B>command</B>
+Class: <B>Command</B>
+Command-Line Switch: <B>-command</B>
+Specifes the prefix of a Tcl command to invoke to change the view in the
+widget associated with the tabset. When a user selects a tab, a Tcl command
+is invoked. The actual command consists of this option followed by a space
+and a number. The number is the numerical index of the tab that has been
+selected.
+<P>
+<table>
+Name: <B>equalTabs</B>
+Class: <B>EqualTabs</B>
+Command-Line Switch: <B>-equaltabs</B>
+</pre>
+<UL>
+Specifies whether to force tabs to be equal sized or not. A value
+of <B>true</B> means constrain tabs to be equal sized. A value
+of <B>false</B> allows each tab to size based on the text label size. The
+value may have any of the forms accepted by the <B>Tcl_GetBoolean</B>, such
+as <B>true</B>, <B>false</B>, <B>0</B>, <B>1</B>, <B>yes</B>, or <B>no</B>.
+</UL>
+<UL>
+For horizontally positioned tabs (<B>tabPos</B> is either <B>s</B>
+or <B>n</B>), <B>true</B> forces all tabs to be equal width (the width being
+equal to the longest label plus any padX specified). Horizontal tabs are
+always equal in height.
+</UL>
+<UL>
+For vertically positioned tabs (<B>tabPos</B> is either <B>w</B> or <B>e</B>),
+<B>true</B> forces all tabs to be equal height (the height being equal to
+the height of the label with the largest font). Vertically oriented tabs are
+always equal in width.
+</UL>
+<P>
+<pre>
+Name: <B>gap</B>
+Class: <B>Gap</B>
+Command-Line Switch: <B>-gap</B>
+</pre>
+<UL>
+Specifies the amount of pixel space to place between each tab. Value may
+be any pixel offset value. In addition, a special keyword <B>overlap</B>
+can be used as the value to achieve a standard overlap of tabs. This value
+may have any of the forms acceptable to <B>Tk_GetPixels</B>.
+</UL>
+<P>
+<pre>
+Name: <B>margin</B>
+Class: <B>Margin</B>
+Command-Line Switch: <B>-margin</B>
+</pre>
+<UL>
+Specifies the amount of space to place between the outside edge of the
+tabset and the outside edge of its tabs. If <B>tabPos</B> is <B>s</B>, this
+is the amount of space between the bottom edge of the tabset and the
+bottom edge of the set of tabs. If <B>tabPos</B> is <B>n</B>, this is the
+amount of space between the top edge of the tabset and the top edge of the
+set of tabs. If <B>tabPos</B> is <B>e</B>, this is the amount of space between
+the right edge of the tabset and the right edge of the set of tabs.
+If <B>tabPos</B> is <B>w</B>, this is the amount of space between the left
+edge of the tabset and the left edge of the set of tabs. This value may
+have any of the forms acceptable to <B>Tk_GetPixels</B>.
+</UL>
+<P>
+<pre>
+Name: <B>padX</B>
+Class: <B>PadX</B>
+Command-Line Switch: <B>-padx</B>
+</pre>
+<UL>
+Specifies a non-negative value indicating how much extra space to request for
+a tab around its label in the X-direction. When computing how large a
+window it needs, the tab will add this amount to the width it would normally
+need The tab will end up with extra internal space to the left and right of
+its text label. This value may have any of the forms acceptable
+to <B>Tk_GetPixels</B>.
+</UL>
+<P>
+<pre>
+Name: <B>padY</B>
+Class: <B>PadY</B>
+Command-Line Switch: <B>-pady</B>
+</pre>
+<UL>
+Specifies a non-negative value indicating how much extra space to request
+for a tab around its label in the Y-direction. When computing how large a
+window it needs, the tab will add this amount to the height it would
+normally need The tab will end up with extra internal space to the top and
+bottom of its text label. This value may have any of the forms acceptable
+to <B>Tk_GetPixels</B>.
+</UL>
+<P>
+<pre>
+Name: <B>raiseSelect</B>
+Class: <B>RaiseSelect</B>
+Command-Line Switch: <B>-raiseselect</B>
+</pre>
+<UL>
+Specifes whether to slightly raise the selected tab from the rest of the
+tabs. The selected tab is drawn 2 pixels closer to the outside edge of the
+tabset than the unselected tabs. A value of true says to raise selected
+tabs, a value of false turns this off. The default is false. The value may
+have any of the forms accepted by the <B>Tcl_GetBoolean</B>, such
+as <B>true</B>, <B>false</B>, <B>0</B>, <B>1</B>, <B>yes</B>, or <B>no</B>.
+</UL>
+<P>
+<pre>
+Name: <B>start</B>
+Class: <B>Start</B>
+Command-Line Switch: <B>-start</B>
+</pre>
+<UL>
+Specifies the amount of space to place between the left or top edge of the
+tabset and the starting edge of its tabs. For horizontally positioned tabs,
+this is the amount of space between the left edge of the tabset and the left
+edge of the first tab. For vertically positioned tabs, this is the amount
+of space between the top of the tabset and the top of the first tab. This
+value may change if the user performs a MButton-2 scroll on the tabs. This
+value may have any of the forms acceptable to <B>Tk_GetPixels</B>.
+</UL>
+<P>
+<pre>
+Name: <B>state</B>
+Class: <B>State</B>
+Command-Line Switch: <B>-state</B>
+</pre>
+<UL>
+Sets the active state of the tabset. Specifying <B>normal</B> allows all
+tabs to be selectable. Specifying <B>disabled</B> disables the tabset
+causing all tabs to be drawn in the disabledForeground color.
+</UL>
+<P>
+<pre>
+Name: <B>tabBorders</B>
+Class: <B>TabBorders</B>
+Command-Line Switch: <B>-tabborders</B>
+</pre>
+<UL>
+Specifies whether to draw the borders of tabs that are not selected.
+Specifying true (the default) draws these borders, specifying false
+draws only the border around the selected tab. The value may have any
+of the forms accepted by the <B>Tcl_GetBoolean</B>, such
+as <B>true</B>, <B>false,</B> <B>0</B>, <B>1</B>, <B>yes</B>, or <B>no</B>.
+</UL>
+<P>
+<pre>
+Name: <B>tabPos</B>
+Class: <B>TabPos</B>
+Command-Line Switch: <B>-tabpos</B>
+</pre>
+<UL>
+Specifies the location of the set of tabs in relation to another widget. Must
+be <B>n</B>, <B>s</B>, <B>e</B>, or <B>w</B>. Defaults to <B>s</B>. North tabs
+open downward, South tabs open upward. West tabs open to the right, east
+tabs open to the left.
+</UL>
+</pre><HR>
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>tabset</B> command creates a new window (given by the pathName
+argument) and makes it into a <B>tabset</B> widget. Additional <I>options</I>,
+described above may be specified on the command line or in the option
+database to configure aspects of the tabset such as its colors, font, and
+text. The <B>tabset</B> command returns its <I>pathName</I> argument. At the
+time this command is invoked, there must not exist a window
+named <I>pathName</I>, but pathName's parent must exist.
+<P>
+A <B>tabset</B> is a widget that contains a set of Tab buttons. It displays
+these tabs in a row or column depending on it tabpos. When a tab is
+clicked on, it becomes the only tab in the tab set that is selected. All
+other tabs are deselected. The Tcl command prefix associated with this
+tab (through the command tab configure option) is invoked with the tab
+index number appended to its argument list. This allows the tabset to
+control another widget such as a Notebook.
+</pre><H2>TABS</H2>
+Tabs are drawn to appear attached to another widget. The tabset draws an
+edge boundary along one of its edges. This edge is known as the attachment
+edge. This edge location is dependent on the value of <B>tabPos</B>. For
+example, if <B>tabPos</B> is <B>s</B>, the attachment edge wil be on the
+top side of the tabset (in order to attach to the bottom or south side of
+its attached widget). The selected tab is draw with a 3d relief to appear
+above the other tabs. This selected tab "opens" toward attachment edge.
+<P>
+Tabs can be controlled in their location along the edges, the angle that
+tab sides are drawn with, gap between tabs, starting margin of tabs,
+internal padding around labels in a tab, the font, and its text or bitmap.
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<P>
+The <B>tabset</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.
+<P>
+Many of the widget commands for a tabset take as one argument an indicator
+of which tab of the tabset to operate on. These indicators are called indexes
+and may be specified in any of the following forms:
+<DL>
+<DT> <I>number</I>
+</I></B>
+<DD> Specifies the tab numerically, where 0 corresponds to the first tab in
+the tab set, 1 to the second, and so on.
+</DL>
+<DL>
+<DT> <B>select</B>
+</I></B>
+<DD> Specifies the currently selected tab's index. If no tab is currently
+selected, the value -1 is returned.
+</DL>
+<DL>
+<DT> <B>end</B>
+</I></B>
+<DD> Specifes the last tab in the tabset's index. If the tabset is empty this
+will return -1.
+</DL>
+<DL>
+<DT> <I>pattern</I>
+</I></B>
+<DD> If the index doesn't satisfy any of the above forms, then this form is
+used. Pattern is pattern-matched against the label of each tab in the
+tabset, in order from the first to the last tab, until a matching entry is
+found. The rules of Tcl_StringMatch are used.
+</DL>
+<P>
+'.............................................................................
+The following commands are possible for tabset widgets:
+<UL>
+<DL>
+<DT> <I>pathName</I> <B>add</B> ?<I>option</I> <I>value</I> <I>option</I> <I>value</I> ...?
+</I></B>
+<DD> Add a new tab at the end of the tabset. Returns the child
+site <I>pathName</I>. If additional arguments are present, they specify
+any of the following options:
+</DL>
+<UL>
+<DL>
+<DT> <B>-angle</B> <I>value</I>
+</I></B>
+<DD> Specifes the angle of slope from the inner edge to the outer edge of
+the tab. An angle of 0 specifies square tabs. Valid ranges are 0 to
+45 degrees inclusive. Default is 15 degrees. If this option is specified as
+an empty string (the default), then the angle option for the overall tabset
+is used.
+</DL>
+<DL>
+<DT> <B>-background</B> <I>value</I>
+</I></B>
+<DD> Specifies a background color to use for displaying tabs when they are in
+their normal state (unselected). If this option is specified as an empty
+string (the default), then the background option for the overall tabset is
+used.
+</DL>
+<DL>
+<DT> <B>-bevelamount</B> <I>value</I>
+</I></B>
+<DD> Specifes the size of tab corners. A value of 0 with angle set to 0 results
+in square tabs. A bevelAmount of 4, means that the tab will be drawn with
+angled corners that cut in 4 pixels from the edge of the tab. The default is
+0. This is generally only set at the tabset configuration level. Tabs
+normally will want to share the same bevelAmount.
+</DL>
+<DL>
+<DT> <B>-bitmap</B> <I>value</I>
+</I></B>
+<DD> If label is a non-empty string, specifies a bitmap to display in the
+tab. Bitmap may be of any of the forms accepted by Tk_GetBitmap.
+</DL>
+<DL>
+<DT> <B>-disabledforeground</B> <I>value</I>
+</I></B>
+<DD> Specifies a foreground color to use for displaying tab labels when tabs are
+in their disable state. If this option is specified as an empty
+string (the default), then the disabledforeground option for the overall
+tabset is used.
+</DL>
+<DL>
+<DT> <B>-font</B> <I>value</I>
+</I></B>
+<DD> Specifies the font to use when drawing the label on a tab. If this option
+is specified as an empty string then the font option for the overall
+tabset is used.
+</DL>
+<DL>
+<DT> <B>-foreground</B> <I>value</I>
+</I></B>
+<DD> Specifies a foreground color to use for displaying tab labels when tabs
+are in their normal unselected state. If this option is specified as an
+empty string (the default), then the foreground option for the overall
+tabset is used.
+</DL>
+<DL>
+<DT> <B>-image</B> <I>value</I>
+</I></B>
+<DD> If label is a non-empty string, specifies an image to display in the
+tab. Image must have been created with the image create command. Typically,
+if the image option is specified then it overrides other options that
+specify a bitmap or textual value to display in the widget; the image
+option may be reset to an empty string to re-enable a bitmap or text display.
+</DL>
+<DL>
+<DT> <B>-label</B> <I>value</I>
+</I></B>
+<DD> Specifies a text string to be placed in the tabs label. If this value is
+set, the bitmap option is overridden and this option is used instead. This
+label serves as an additional identifier used to reference the tab. This
+label may be used for the index value in widget commands.
+</DL>
+<DL>
+<DT> <B>-selectbackground</B> <I>value</I>
+</I></B>
+<DD> Specifies a background color to use for displaying the selected tab. If
+this option is specified as an empty string (the default), then the
+selectBackground option for the overall tabset is used.
+</DL>
+<DL>
+<DT> <B>-selectforeground</B> <I>value</I>
+</I></B>
+<DD> Specifies a foreground color to use for displaying the selected tab. If
+this option is specified as an empty string (the default), then the
+selectForeground option for the overall tabset is used.
+</DL>
+<DL>
+<DT> <B>-padx</B> <I>value</I>
+</I></B>
+<DD> Specifies a non-negative value indicating how much extra space to request
+for a tab around its label in the X-direction. When computing how large
+a window it needs, the tab will add this amount to the width it would
+normally need The tab will end up with extra internal space to the left
+and right of its text label. This value may have any of the forms acceptable
+to Tk_GetPixels. If this option is specified as an empty string (the
+default), then the padX option for the overall tabset is used
+</DL>
+<DL>
+<DT> <B>-pady</B> <I>value</I>
+</I></B>
+<DD> Specifies a non-negative value indicating how much extra space to request
+for a tab around its label in the Y-direction. When computing how large
+a window it needs, the tab will add this amount to the height it would
+normally need The tab will end up with extra internal space to the top
+and bottom of its text label. This value may have any of the forms
+acceptable to Tk_GetPixels. If this option is specified as an empty
+string (the default), then the padY option for the overall tabset is used
+</DL>
+<DL>
+<DT> <B>-state</B> <I>value</I>
+</I></B>
+<DD> Sets the state of the tab. Specifying normal allows this tab to be
+selectable. Specifying disabled disables the this tab causing its tab label
+to be drawn in the disabledForeground color. The tab will not respond to
+events until the state is set back to normal.
+</DL>
+</UL>
+<DL>
+<DT> <I>pathName</I> <B>configure</B> ?<I>option</I>? ?<I>value</I> <I>option</I> <I>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 option is specified with no value, 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 option
+is specified). If one or more option-value 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 tabset command.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>delete</B> <I>index1</I> ?<I>index2</I>?
+</I></B>
+<DD> Delete all of the tabs between <I>index1</I> and <I>index2</I> inclusive.
+If <I>index2</I> is omitted then it defaults to <I>index1</I>. Returns an
+empty string.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>index</B> <I>index</I>
+</I></B>
+<DD> Returns the numerical index corresponding to <I>index</I>.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>insert</B> <I>index</I> ?<I>option</I> <I>value</I> <I>option</I> <I>value</I> ...?
+</I></B>
+<DD> Insert a new tab in the tabset before the tab specified by <I>index</I>. The
+additional arguments are the same as for the <B>add</B> command. Returns
+the tab's <I>pathName</I>.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>next</B>
+</I></B>
+<DD> Advances the selected tab to the next tab (order is determined by insertion
+order). If the currently selected tab is the last tab in the tabset, the
+selection wraps around to the first tab. It behaves as if the user
+selected the next tab.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>tabconfigure</B> <I>index</I> ?<I>option</I>? ?<I>value</I>?
+</I></B>
+<DD> This command is similar to the <B>configure</B> command, except that it
+applies to the options for an individual tab, whereas configure applies to
+the options for the tabset as a whole. Options may have any of the values
+accepted by the <B>add</B> widget command. If options are specified, options
+are modified as indicated in the command and the command returns an empty
+string. If no options are specified, returns a list describing the current
+options for tab index (see <B>Tk_ConfigureInfo</B> for information on
+the format of this list).
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>prev</B>
+</I></B>
+<DD> Moves the selected tab to the previous tab (order is determined by insertion
+order). If the currently selected tab is the first tab in the tabset, the
+selection wraps around to the last tab in the tabset. It behaves as if
+the user selected the previous tab.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>select</B> <I>index</I>
+</I></B>
+<DD> Selects the tab specified by <I>index</I> as the currently selected tab. It
+behaves as if the user selected the new tab.
+
+</DL>
+</pre><H2>EXAMPLE </H2>
+<P>
+Following is an example that creates a tabset with two tabs and a list box
+that the tabset controls. In addition selecting an item from the list
+also selects the corresponding tab.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<UL><br>
+a<br>
+how<br>
+item<br>
+list<br>
+from<br>
+callback.<br>
+item<br>
+selection<br>
+.l<br>
+.l<br>
+<UL><br>
+proc<br>
+to<br>
+#<br>
+pixel<br>
+list..<br>
+y<br>
+whichItem<br>
+.ts<br>
+</UL><br>
+a<br>
+items<br>
+#<br>
+1<br>
+selectTab<br>
+-selectmode<br>
+.l<br>
+.l<br>
+.l<br>
+pack<br>
+&lt;ButtonPress-1&gt;<br>
+}<br>
+Create<br>
+its<br>
+selectItem<br>
+labels<br>
+(one<br>
+.ts<br>
+add<br>
+add<br>
+select<br>
+-fill<br>
+</UL><br>
+</td>
+<td valign=top>
+</UL><br>
+proc<br>
+to<br>
+#<br>
+given<br>
+the<br>
+proc<br>
+}<br>
+clear<br>
+selection<br>
+see<br>
+#<br>
+that<br>
+select<br>
+given<br>
+coordinate<br>
+proc<br>
+}<br>
+[.l<br>
+select<br>
+<UL><br>
+listbox<br>
+(one<br>
+and<br>
+press<br>
+procedure.<br>
+single<br>
+insert<br>
+insert<br>
+selection<br>
+.l<br>
+{<br>
+</UL><br>
+a<br>
+-command<br>
+#<br>
+to<br>
+and<br>
+-command<br>
+-label<br>
+-label<br>
+0<br>
+x<br>
+</td>
+<td valign=top>
+#<br>
+that<br>
+select<br>
+from<br>
+an<br>
+tabset<br>
+selectItem<br>
+{<br>
+[.l<br>
+set<br>
+$item<br>
+Define<br>
+knows<br>
+a<br>
+a<br>
+from<br>
+selectTab<br>
+{<br>
+nearest<br>
+$whichItem<br>
+#<br>
+with<br>
+and<br>
+bind<br>
+to<br>
+listbox<br>
+-exportselection<br>
+end<br>
+end<br>
+set<br>
+bind<br>
+selectTab<br>
+<UL><br>
+tabset,<br>
+to<br>
+Add<br>
+the<br>
+two).<br>
+selectItem<br>
+1<br>
+2<br>
+pack<br>
+-expand<br>
+</td>
+<td valign=top>
+Define<br>
+knows<br>
+an<br>
+a<br>
+index<br>
+-command<br>
+{<br>
+.l<br>
+curselection]<br>
+$item<br>
+}<br>
+a<br>
+how<br>
+tab<br>
+y<br>
+the<br>
+{<br>
+set<br>
+$y]<br>
+}<br>
+Create<br>
+two<br>
+two)<br>
+button<br>
+the<br>
+.l<br>
+false<br>
+one<br>
+two<br>
+0<br>
+.l<br>
+%y<br>
+#<br>
+set<br>
+call<br>
+two<br>
+tabset<br>
+tabset<br>
+.ts<br>
+.ts<br>
+.ts<br>
+.ts<br>
+no<br>
+</td>
+</table>
+</pre><H2>AUTHOR</H2>
+Bill W. Scott
+</pre><H2>KEYWORDS</H2>
+tab tabset notebook tabnotebook
diff --git a/itcl/iwidgets/demos/html/timeentry.n.html b/itcl/iwidgets/demos/html/timeentry.n.html
new file mode 100644
index 00000000000..020bc03789e
--- /dev/null
+++ b/itcl/iwidgets/demos/html/timeentry.n.html
@@ -0,0 +1,256 @@
+<TITLE>timeentry - Create and manipulate a timeentry widget</TITLE>
+<H1>timeentry - Create and manipulate a timeentry widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>timeentry<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- LabeledWidget &lt;- Timefield &lt;- Timeentry
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>background</B><br>
+<B>foreground</B><br>
+<B>justify</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>highlightColor</B><br>
+<B>relief</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+<B>highlightThickness</B><br>
+</td>
+<td valign=top>
+<B>exportSelection</B><br>
+<B>insertBackground</B><br>
+</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>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>disabledForeground</B><br>
+<B>labelMargin</B><br>
+<B>state</B><br>
+</td>
+<td valign=top>
+<B>labelBitmap</B><br>
+<B>labelPos</B><br>
+</td>
+<td valign=top>
+<B>labelFont</B><br>
+<B>labelText</B><br>
+</td>
+<td valign=top>
+<B>labelImage</B><br>
+<B>labelVariable</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="labeledwidget.n.html"> "labeledwidget" </A> class manual entry for details on these
+inherited options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>command</B><br>
+<B>textFont</B><br>
+</td>
+<td valign=top>
+<B>format</B><br>
+</td>
+<td valign=top>
+<B>seconds</B><br>
+</td>
+<td valign=top>
+<B>textBackground</B><br>
+</td>
+</table>
+<P>
+See the "timefield" class manual entry for details on these
+inherited options.
+</pre><H2>ASSOCIATED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>hourRadius</B><br>
+<B>pivotRadius</B><br>
+<B>clockColor</B><br>
+<B>watchWidth</B><br>
+</td>
+<td valign=top>
+<B>hourColor</B><br>
+<B>pivotColor</B><br>
+<B>clockStipple</B><br>
+</td>
+<td valign=top>
+<B>minuteRadius</B><br>
+<B>secondRadius</B><br>
+<B>tickColor</B><br>
+</td>
+<td valign=top>
+<B>minuteColor</B><br>
+<B>secondColor</B><br>
+<B>watchHeight</B><br>
+</td>
+</table>
+<P>
+See the "watch" manual entry for details on the associated options.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>closeText</B>
+Class: <B>Text</B>
+Command-Line Switch: <B>-closetext</B>
+</pre>
+<UL>
+Specifies the text to be displayed on the close button of the watch
+popup. The default is Close.
+</UL>
+<P>
+<pre>
+Name: <B>grab</B>
+Class: <B>Grab</B>
+Command-Line Switch: <B>-grab</B>
+</pre>
+<UL>
+Specifies the grab level, <B>local</B> or <B>global</B>, to be obtained before
+bringing up the popup watch. The default is global. For more information
+concerning grab levels, consult the documentation for Tk's <B>grab</B> command.
+</UL>
+<P>
+<pre>
+Name: <B>icon</B>
+Class: <B>Icon</B>
+Command-Line Switch: <B>-icon</B>
+</pre>
+<UL>
+Specifies the watch icon image to be used in the timeentry.
+This image must have been created previously with
+the <B>image create</B> command. Should one not be provided,
+then one will be generated, pixmap if possible, bitmap otherwise.
+</UL>
+<P>
+<pre>
+Name: <B>state</B>
+Class: <B>State</B>
+Command-Line Switch: <B>-state</B>
+</pre>
+<UL>
+Specifies the state of the widget which may be <B>disabled</B> or
+<B>normal</B>. A disabled state prevents selection of the timefield
+or time icon button.
+</UL>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>timeentry</B> command creates a time entry field
+with a popup watch by combining the timefield and watch
+widgets together. This allows a user to enter the time via the
+keyboard or by using the mouse and selecting the watch icon
+which brings up a popup watch.
+</pre>
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>timeentry</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 timeentry widgets:
+</pre><H2>INHERITED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>get</B><br>
+</td>
+<td valign=top>
+<B>isvalid</B><br>
+</td>
+<td valign=top>
+<B>show</B><br>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "timefield" manual entry for details on the associated methods.
+</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>timeentry</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>timeentry</B>
+command.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name: <B>label</B>
+Class: <B>Label</B>
+</pre>
+<UL>
+The label component provides a label component to used to identify the time.
+See the "label" widget manual entry for details on the label component item.
+</UL>
+<P>
+<pre>
+Name: <B>iconbutton</B>
+Class: <B>Label</B>
+</pre>
+<UL>
+The iconbutton component provides a labelbutton component to act as a
+lightweight button
+displaying the watch icon. Upon pressing the labelbutton, the watch
+appears. See the "label" widget manual entry for details on the
+labelbutton component item.
+</UL>
+<P>
+<pre>
+Name: <B>time</B>
+Class: <B>Entry</B>
+</pre>
+<UL>
+The time component provides the entry field for time input and display.
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/entry.n.html"> "entry" </A> widget manual entry for details on the time component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+ timeentry .te
+ pack .te
+</pre>
+</pre><H2>AUTHOR</H2>
+Mark L. Ulferts
+<P>
+</pre><H2>KEYWORDS</H2>
+timeentry, widget
diff --git a/itcl/iwidgets/demos/html/timefield.n.html b/itcl/iwidgets/demos/html/timefield.n.html
new file mode 100644
index 00000000000..2c405b352e8
--- /dev/null
+++ b/itcl/iwidgets/demos/html/timefield.n.html
@@ -0,0 +1,206 @@
+<TITLE>timefield - Create and manipulate a time field widget</TITLE>
+<H1>timefield - Create and manipulate a time field widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>timefield<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- LabeledWidget &lt;- timefield
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>background</B><br>
+<B>foreground</B><br>
+<B>justify</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>highlightColor</B><br>
+<B>relief</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+<B>highlightThickness</B><br>
+</td>
+<td valign=top>
+<B>exportSelection</B><br>
+<B>insertBackground</B><br>
+</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>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>disabledForeground</B><br>
+<B>labelMargin</B><br>
+<B>state</B><br>
+</td>
+<td valign=top>
+<B>labelBitmap</B><br>
+<B>labelPos</B><br>
+</td>
+<td valign=top>
+<B>labelFont</B><br>
+<B>labelText</B><br>
+</td>
+<td valign=top>
+<B>labelImage</B><br>
+<B>labelVariable</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="labeledwidget.n.html"> "labeledwidget" </A> class manual entry for details on the
+inherited options.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>childSitePos</B>
+Class: <B>Position</B>
+Command-Line Switch: <B>-childsitepos</B>
+</pre>
+<UL>
+Specifies the position of the child site in the time field: <B>n</B>,
+<B>s</B>, <B>e</B>, or <B>w</B>. The default is e.
+</UL>
+<P>
+<pre>
+Name: <B>command</B>
+Class: <B>Command</B>
+Command-Line Switch: <B>-command</B>
+</pre>
+<UL>
+Specifies a Tcl command to be executed upon detection of a Return key
+press event.
+</UL>
+<P>
+<pre>
+Name: <B>state</B>
+Class: <B>State</B>
+Command-Line Switch: <B>-state</B>
+</pre>
+<UL>
+Specifies one of two states for the timefield: <B>normal</B> or <B>disabled</B>.
+If the timefield is disabled then input is not accepted. The default is
+normal.
+</UL>
+<P>
+<pre>
+Name: <B>textBackground</B>
+Class: <B>Background</B>
+Command-Line Switch: <B>-textbackground</B>
+</pre>
+<UL>
+Background color for inside textual portion of the entry field. The value
+may be given in any of the forms acceptable to <B>Tk_GetColor</B>.
+</UL>
+<P>
+<pre>
+Name: <B>textFont</B>
+Class: <B>Font</B>
+Command-Line Switch: <B>-textfont</B>
+</pre>
+<UL>
+Name of font to use for display of text in timefield. The value
+may be given in any of the forms acceptable to <B>Tk_GetFont</B>.
+</UL>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>timefield</B> command creates an enhanced text entry widget for
+the purpose of time entry with various degrees of built-in intelligence.
+</pre>
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>timefield</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 timefield 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>timefield</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>timefield</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>get</B> ?<B>format</B>?
+</I></B>
+<DD> Returns the current contents of the timefield 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 times and their
+formats.
+</DL>
+<DL>
+<DT> <I>pathName <B>isvalid</B>
+</I></B>
+<DD> Returns a boolean indication of the validity of the currently
+displayed time value. For example, 12:59:59 is valid whereas
+25:59:59 is invalid.
+</DL>
+<DL>
+<DT> <I>pathName <B>show</B> <I>time</I>
+</I></B>
+<DD> Changes the currently displayed time to be that of the time
+argument. The time may be specified either as a string, an
+integer clock value or the keyword "now" (the default).
+Reference the clock command for more information on obtaining
+times and their formats.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name: <B>time</B>
+Class: <B>Entry</B>
+</pre>
+<UL>
+The time component provides the entry field for time input and display.
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/entry.n.html"> "entry" </A> widget manual entry for details on the time component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+ proc returnCmd {} {
+ puts [.tf get]
+ }
+
+ timefield .tf -command returnCmd
+ pack .tf -fill x -expand yes -padx 10 -pady 10
+</pre>
+</pre><H2>AUTHOR</H2>
+John A. Tucker
+</pre>
+Mark L. Ulferts
+</pre><H2>KEYWORDS</H2>
+timefield, widget
diff --git a/itcl/iwidgets/demos/html/toolbar.n.html b/itcl/iwidgets/demos/html/toolbar.n.html
new file mode 100644
index 00000000000..456fd675b61
--- /dev/null
+++ b/itcl/iwidgets/demos/html/toolbar.n.html
@@ -0,0 +1,351 @@
+<TITLE><B>toolbar</B> - Create and manipulate a tool bar</TITLE>
+<H1><B>toolbar</B> - Create and manipulate a tool bar</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>toolbar</B> <I>pathName</I> ?<I>options</I>?
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeBackground</B><br>
+<B>activeForeground</B><br>
+<B>background</B><br>
+<B>borderWidth</B><br>
+<B>cursor</B><br>
+</td>
+<td valign=top>
+<B>disabledForeground</B><br>
+<B>font</B><br>
+<B>foreground</B><br>
+<B>highlightBackground</B><br>
+<B>highlightColor</B><br>
+</td>
+<td valign=top>
+<B>highlightThickness</B><br>
+<B>insertBackground</B><br>
+<B>insertForeground</B><br>
+<B>orient</B><br>
+<B>selectBackground</B><br>
+</td>
+<td valign=top>
+<B>selectBorderWidth</B><br>
+<B>selectColor</B><br>
+<B>selectForeground</B><br>
+<B>state</B><br>
+<B>troughColor</B><br>
+</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. For widgets
+added to the toolbar, these options will be propogated if the widget supports
+the option. For example, all widgets that support a font option will be changed
+if the the toolbar's font option is configured.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>balloonBackground</B>
+Class: <B>BalloonBackground</B>
+Command-Line Switch: <B>-ballooonbackground</B>
+</pre>
+<UL>
+Specifies the background color of the balloon help displayed at the bottom
+center of a widget on the toolbar that has a non empty string for its
+balloonStr option. The default color is yellow.
+</UL>
+<P>
+<pre>
+Name: <B>balloonDelay1</B>
+Class: <B>BalloonDelay1</B>
+Command-Line Switch: <B>-balloondelay1</B>
+</pre>
+<UL>
+Specifies the length of time (in milliseconds) to wait before initially
+posting a balloon help hint window. This delay is in effect whenever 1)
+the mouse leaves the toolbar, or 2) a toolbar item is selected with the
+mouse button.
+</UL>
+<P>
+<pre>
+Name: <B>balloonDelay2</B>
+Class: <B>BalloonDelay2</B>
+Command-Line Switch: <B>-balloondelay2</B>
+</pre>
+<UL>
+Specifies the length of time (in milliseconds) to wait before continuing to
+post balloon help hint windows. This delay is in effect after the first
+time a balloon hint window is activated. It remains in effect until 1) the
+mouse leaves the toolbar, or 2) a toolbar item is selected with the mouse
+button.
+</UL>
+<P>
+<pre>
+Name: <B>balloonFont</B>
+Class: <B>BalloonFont</B>
+Command-Line Switch: <B>-balloonfont</B>
+</pre>
+<UL>
+Specifies the font of the balloon help text displayed at the bottom center
+of a widget on the toolbar that has a non empty string for its
+balloonStr option. The default font is 6x10.
+</UL>
+<P>
+<pre>
+Name: <B>balloonForeground</B>
+Class: <B>BalloonForeground</B>
+Command-Line Switch: <B>-ballooonforeground</B>
+</pre>
+<UL>
+Specifies the foreground color of the balloon help displayed at the
+bottom center of a widget on the toolbar that has a non empty string for
+its balloonStr option. The default color is black.
+</UL>
+<P>
+<pre>
+Name: <B>helpVariable</B>
+Class: <B>HelpVariable</B>
+Command-Line Switch: <B>-helpvariable</B>
+</pre>
+<UL>
+Specifies the global variable to update whenever the mouse is in motion
+over a toolbar widget. This global variable is updated with the current
+value of the active widget's helpStr. Other widgets can "watch" this
+variable with the trace command, or as is the case with entry or label
+widgets, they can set their textVariable to the same global variable. This
+allows for a simple implementation of a help status bar. Whenever the
+mouse leaves a menu entry, the helpVariable is set to the empty string {}.
+</UL>
+<P>
+<pre>
+Name: <B>orient</B>
+Class: <B>Orient</B>
+Command-Line Switch: <B>-orient</B>
+</pre>
+<UL>
+Specifies the orientation of the toolbar. Must be either horizontal or
+vertical.
+</UL>
+</pre><HR>
+</pre><H2>DESCRIPTION</H2>
+The <B>toolbar</B> command creates a new window (given by the pathName
+argument) and makes it into a <B>toolbar</B> widget. Additional options,
+described above may be specified on the command line or in the option
+database to configure aspects of the toolbar such as its colors, font,
+and orientation. The <B>toolbar</B> command returns its pathName argument. At
+the time this command is invoked, there must not exist a window named
+pathName, but pathName's parent must exist.
+<P>
+A <B>toolbar</B> is a widget that displays a collection of widgets arranged
+either in a row or a column (depending on the value of the -orient option).
+This collection of widgets is usually for user convenience to give access
+to a set of commands or settings. Any widget may be placed on a toolbar.
+However, command or value-oriented widgets (such as button, radiobutton,
+etc.) are usually the most useful kind of widgets to appear on a toolbar.
+<P>
+In addition, the toolbar adds two new options to all widgets that are added to
+it. These are the <B>helpStr</B> and <B>balloonStr</B> options. See the
+discussion for the widget command add below.
+
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<P>
+The toolbar command creates a new Tcl command whose name is pathName. This
+command may be used to invoke various operations on the widget. It has the
+following general form:
+<pre>
+<I>pathName</I> <I>option</I> <I>?arg arg ...?</I>
+</pre>
+Option and args determine the exact behavior of the command.
+<P>
+Many of the widget commands for a toolbar take as one argument an indicator of
+which widget item of the toolbar to operate on. The indicator is called
+an <B>index</B> and may be specified in any of the following forms:
+<DL>
+<DT> <I>number</I>
+</I></B>
+<DD> Specifies the widget numerically, where 0 corresponds to the first
+widget in the notebook, 1 to the second, and so on. (For horizontal, 0 is the
+leftmost; for vertical, 0 is the topmost).
+</DL>
+<DL>
+<DT> <B>end</B>
+</I></B>
+<DD> Specifes the last widget in the toolbar's index. If the toolbar is
+empty this will return -1.
+</DL>
+<DL>
+<DT> <B>last</B>
+</I></B>
+<DD> Same as end.
+</DL>
+<DL>
+<DT> <I>pattern</I>
+</I></B>
+<DD> If the index doesn't satisfy any of the above forms, then this form is
+used. Pattern is pattern-matched against the widgetName of each widget in the
+toolbar, in order from the first to the last widget, until a matching entry is
+found. An exact match must occur.
+</DL>
+<P>
+The following commands are possible for toolbar widgets:
+<DL>
+<DT> <I>pathName</I> <B>add</B> <I>widgetCommand</I> <I>widgetName</I> <I>?option value?</I>
+</I></B>
+<DD> Adds a widget with the command widgetCommand whose name is widgetName to the
+toolbar. If widgetCommand is radiobutton or checkbutton, its packing is
+slightly padded to match the geometry of button widgets. In addition, the
+indicatorOn option is false by default and the selectColor is that of the
+toolbar background by default. This allows Radiobutton and Checkbutton widgets
+to be added as icons by simply setting their bitmap or image options. If
+additional arguments are present, they are the set of available options
+that the widget type of <I>widgetCommand</I> supports. In addition they may
+also be one of the following options:
+</DL>
+<UL>
+<DL>
+<DT> <B>-helpstr</B> <I>value</I>
+</I></B>
+<DD> Specifes the help string to associate with the widget. When the mouse moves
+over the widget, the variable denoted by <B>helpVariable</B> is set
+to <B>helpStr</B>. Another widget can bind to the helpVariable and thus
+track status help.
+</DL>
+<DL>
+<DT> <B>-balloonstr</B> <I>value</I>
+</I></B>
+<DD> Specifes the string to display in a balloon window for this widget. A
+balloon window is a small popup window centered at the bottom of the
+widget. Usually the <B>balloonStr</B> value is the name of the item on the
+toolbar. It is sometimes known as a hint window.
+<UL>
+When the mouse moves into an item on the toolbar, a timer is set based on
+the value of <B>balloonDelay1</B>. If the mouse stays inside the item
+for <B>balloonDelay1</B>, the balloon window will pop up displaying
+the <B>balloonStr</B> value. Once the balloon window is posted, a new
+timer based on <B>balloonDelay2</B> is set. This is typically a shorter
+timer. If the mouse is moved to another item, the window is unposted and
+a new window will be posted over the item if the shorter delay time is
+satisfied.
+</UL>
+<UL>
+While the balloon window is posted, it can also be unposted if the item
+is selected. In this case the timer is reset to <B>balloonDelay1</B>.
+Whenever the mouse leaves the toolbar, the timer is also reset
+to <B>balloonDelay1</B>.
+</UL>
+<UL>
+This window posting/unposting model is the same model used in the
+Windows95 environment.
+</UL>
+</DL>
+</UL>
+<DL>
+<DT> <I>pathName</I> <B>cget</B> <I>option</I>
+</I></B>
+<DD> Returns the current value of the configuration option given by <I>option</I>.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>configure</B> ?<I>option</I> <I>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 pathName
+(see Tk_ConfigureInfo for information on the format of this list). If
+<I>option</I> is specified with no value, 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 option is specified). If one or more option-value 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.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>delete</B> <I>index</I> ?<I>index2</I>?
+</I></B>
+<DD> This command deletes all items between <I>index</I> and <I>index2</I>
+inclusive. If <I>index2</I> is omitted then it defaults to <I>index</I>.
+Returns an empty string.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>index</B> <I>index</I>
+</I></B>
+<DD> Returns the widget's numerical index for the entry corresponding
+to <I>index</I>. If <I>index</I> is not found, -1 is returned.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>insert</B> <I>beforeIndex</I> <I>widgetCommand</I> <I>widgetName</I> <I>?option value?</I>
+</DL>
+<DL>
+<DT> Insert a new item named <I>widgetName</I> with the
+</I></B>
+<DD> command <I>widgetCommand</I> before the item specified by <I>beforeIndex</I>.
+If <I>widgetCommand</I> is <B>radiobutton</B> or <B>checkbutton</B>, its
+packing is slightly padded to match the geometry of button widgets. In
+addition, the <B>indicatorOn</B> option is <B>false</B> by default and the
+<B>selectColor</B> is that of the toolbar background by default. This allows
+<B>Radiobutton</B> and <B>Checkbutton</B> widgets to be added as icons by
+simply setting their <B>bitmap</B> or <B>image</B> options. The set of
+available options is the same as specified in the <B>ad</B> command.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>itemcget</B> <I>index</I> <I>option</I>
+</I></B>
+<DD> Returns the current value of the configuration option given by <I>option</I> for
+index. The item type of <I>index</I> determines the valid available options.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>itemconfigure</B> <I>index</I> <I>?option value?</I>
+</I></B>
+<DD> Query or modify the configuration options of the widget of the toolbar
+specified by <I>index</I>. If no option is specified,
+returns a list describing all of
+the available options for <I>index</I>
+(see <B>Tk_ConfigureInfo</B> for information on the
+format of this list). If <I>option</I> is specified with no value,
+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 option is specified). If
+one or more option-value 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. The item type of <I>index</I> determines the valid
+available options. The set of available options is the same as specified
+in the <B>ad</B> command.
+</DL>
+</pre><H2>EXAMPLE</H2>
+<pre>
+ toolbar .tb -helpvariable statusVar
+
+ .tb add button item1 \\
+ -helpstr "Save It" -bitmap @./icons/Tool_32_box.xbm \\
+ -balloonstr "Save" -command {puts 1}
+ .tb add button item2 \\
+ -helpstr "Save It" -bitmap @./icons/Tool_32_brush.xbm \\
+ -balloonstr "Save" -command {puts 1}
+ .tb add button item3 \\
+ -helpstr "Save It" -bitmap @./icons/Tool_32_cut.xbm \\
+ -balloonstr "Save" -command {puts 1}
+ .tb add button item4 \\
+ -helpstr "Save It" -bitmap @./icons/Tool_32_draw.xbm \\
+ -balloonstr "Save" -command {puts 1}
+ .tb add button item5 \\
+ -bitmap @./icons/Tool_32_erase.xbm -helpstr "Play It" \\
+ -command {puts 2}
+ .tb add frame filler \\
+ -borderwidth 1 -width 10 -height 10
+ .tb add radiobutton item6 \\
+ -bitmap @./icons/Tool_32_oval.xbm -command {puts 4} \\
+ -variable result -value OPEN -helpstr "Radio Button # 1" \\
+ -balloonstr "Radio"
+ .tb add radiobutton item7 \\
+ -bitmap @./icons/Tool_32_line.xbm -command {puts 5} \\
+ -variable result -value CLOSED
+ .tb add checkbutton item8 \\
+ -bitmap @./icons/Tool_32_text.xbm -command {puts 6} \\
+ -variable checkit -onvalue yes -offvalue no
+ .tb add checkbutton check2 \\
+ -bitmap @./icons/Tool_32_points.xbm -command {puts 7} \\
+ -variable checkit2 -onvalue yes -offvalue no
+
+ pack .tb -side top -anchor nw
+</pre>
+</pre><H2>AUTHOR</H2>
+Bill Scott
+</pre><H2>KEYWORDS</H2>
+toolbar, button, radiobutton, checkbutton, iwidgets, widget
+
diff --git a/itcl/iwidgets/demos/html/watch.n.html b/itcl/iwidgets/demos/html/watch.n.html
new file mode 100644
index 00000000000..41aa4d3ab56
--- /dev/null
+++ b/itcl/iwidgets/demos/html/watch.n.html
@@ -0,0 +1,324 @@
+<TITLE>watch - Create and manipulate time with a watch widgets</TITLE>
+<H1>watch - Create and manipulate time with a watch widgets</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>watch<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- Watch
+
+</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>
+<B>relief</B><br>
+</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>
+See the "Canvas" manual entry for details on the above associated options.
+
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name: <B>clockColor</B>
+Class: <B>ColorfR
+Command-Line Switch: <B>-clockcolor</B>
+</pre>
+<UL>
+Fill color for the main oval encapsulating the watch, in any of the forms
+acceptable to <B>Tk_GetColor</B>. The default is "White".
+</UL>
+<table cellpadding=5>
+<td valign=top>
+<P><br>
+<B>BitmapfR<br>
+</td>
+<td valign=top>
+Name:<br>
+Command-Line<br>
+</td>
+<td valign=top>
+<B>clockStipple</B><br>
+Switch:<br>
+</td>
+<td valign=top>
+Class:<br>
+<B>-clockstipple</B><br>
+</td>
+</table>
+<UL>
+Bitmap for the main oval encapsulating the watch, in any of the forms
+acceptable to <B>Tk_GetBitmap</B>. The default is "".
+</UL>
+<P>
+<pre>
+Name: <B>height</B>
+Class: <B>Height</B>
+Command-Line Switch: <B>-height</B>
+</pre>
+<UL>
+Specifies the height of the watch widget in any of the forms
+acceptable to <B>Tk_GetPixels</B>. The default height is 175 pixels.
+</UL>
+<P>
+<pre>
+Name: <B>hourColor</B>
+Class: <B>ColorfR
+Command-Line Switch: <B>-hourcolor</B>
+</pre>
+<UL>
+Fill color for the hour hand, in any of the forms acceptable to <B>Tk_GetColor</B>.
+The default is "Red".
+</UL>
+<P>
+<pre>
+Name: <B>hourRadius</B>
+Class: <B>Radius</B>
+Command-Line Switch: <B>-hourradius</B>
+</pre>
+<UL>
+Specifies the radius of the hour hand as a percentage of the radius
+from the center to the out perimeter of the clock.
+The value must be a fraction &lt;= 1. The default is ".5".
+</UL>
+<P>
+<pre>
+Name: <B>minuteColor</B>
+Class: <B>ColorfR
+Command-Line Switch: <B>-minutecolor</B>
+</pre>
+<UL>
+Fill color for the minute hand, in any of the forms acceptable to <B>Tk_GetColor</B>.
+The default is "Yellow".
+</UL>
+<P>
+<pre>
+Name: <B>minuteRadius</B>
+Class: <B>Radius</B>
+Command-Line Switch: <B>-minuteradius</B>
+</pre>
+<UL>
+Specifies the radius of the minute hand as a percentage of the radius
+from the center to the out perimeter of the clock.
+The value must be a fraction &lt;= 1. The default is ".8".
+</UL>
+<P>
+<pre>
+Name: <B>pivotColor</B>
+Class: <B>ColorfR
+Command-Line Switch: <B>-pivotcolor</B>
+</pre>
+<UL>
+Fill color for the circle in which the watch hands rotate
+in any of the forms acceptable to <B>Tk_GetColor</B>.
+The default is "White".
+</UL>
+<P>
+<pre>
+Name: <B>pivotRadius</B>
+Class: <B>Radius</B>
+Command-Line Switch: <B>-pivotradius</B>
+</pre>
+<UL>
+Specifies the radius of the circle in which the watch hands rotate
+as a percentage of the radius. The value must be a fraction &lt;= 1.
+The default is ".1".
+</UL>
+<P>
+<pre>
+Name: <B>secondColor</B>
+Class: <B>ColorfR
+Command-Line Switch: <B>-secondcolor</B>
+</pre>
+<UL>
+Fill color for the second hand, in any of the forms acceptable to <B>Tk_GetColor</B>.
+The default is "Black".
+</UL>
+<P>
+<pre>
+Name: <B>secondRadius</B>
+Class: <B>Radius</B>
+Command-Line Switch: <B>-secondradius</B>
+</pre>
+<UL>
+Specifies the radius of the second hand as a percentage of the radius
+from the center to the out perimeter of the clock.
+The value must be a fraction &lt;= 1. The default is ".9".
+</UL>
+<P>
+<pre>
+Name: <B>showAmPm</B>
+Class: <B>ShosAmPm</B>
+Command-Line Switch: <B>-showampm</B>
+</pre>
+<UL>
+Specifies whether the AM/PM radiobuttons should be displayed, in any
+of the forms acceptable to <B>Tcl_GetBoolean</B>. The default is yes.
+</UL>
+<P>
+<pre>
+Name: <B>state</B>
+Class: <B>State</B>
+Command-Line Switch: <B>-state</B>
+</pre>
+<UL>
+Specifies the editable state for the hands on the watch. In a normal
+state, the user can select and move the hands via mouse button 1. The
+valid values are <B>normal</B>, and <B>disabled</B>. The defult is normal.
+</UL>
+<P>
+<pre>
+Name: <B>tickColor</B>
+Class: <B>ColorfR
+Command-Line Switch: <B>-tickcolor</B>
+</pre>
+<UL>
+Fill color for the 60 ticks around the perimeter of the watch,
+in any of the forms acceptable to <B>Tk_GetColor</B>. The default is "Black".
+</UL>
+<P>
+<pre>
+Name: <B>width</B>
+Class: <B>Width</B>
+Command-Line Switch: <B>-width</B>
+</pre>
+<UL>
+Specifies the width of the watch widget in any of the forms
+acceptable to <B>Tk_GetPixels</B>. The default height is 155 pixels.
+</UL>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+
+The <B>watch</B> command creates a watch with hour, minute, and
+second hands modifying the time value.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>watch</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 watch 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>watch</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>watch</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>get</B> ?<B>format</B>?
+</I></B>
+<DD> Returns the current time of the watch 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 time and its
+formats.
+</DL>
+<DL>
+<DT> <I>pathName <B>show</B> <I>time</I>
+</I></B>
+<DD> Changes the currently displayed time to be that of the time
+argument. The time may be specified either as a string, an
+integer clock value or the keyword "now". Reference the clock
+command for more information on obtaining time and its format.
+</DL>
+<DL>
+<DT> <I>pathName <B>watch</B> ?<B>args</B>?
+</I></B>
+<DD> Evaluates the specifieds <B>args</B> against the canvas component.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name: <B>canvas</B>
+Class: <B>Canvas</B>
+</pre>
+<UL>
+The canvas component is the where the clock is drawn. See the
+Canvas widget manual entry for details.
+</UL>
+<P>
+<pre>
+Name: <B>frame</B>
+Class: <B>Frame</B>
+</pre>
+<UL>
+The frame component is the where the "AM" and "PM" radiobuttons are displayed.
+See the Frame widget manual entry for details.
+</UL>
+<P>
+<pre>
+Name: <B>am</B>
+Class: <B>Radiobutton</B>
+</pre>
+<UL>
+The am component indicates whether on not the time is relative to "AM".
+See the Radiobutton widget manual entry for details.
+</UL>
+<P>
+<pre>
+Name: <B>pm</B>
+Class: <B>Radiobutton</B>
+</pre>
+<UL>
+The pm component indicates whether on not the time is relative to "PM".
+See the Radiobutton widget manual entry for details.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+watch .w -state disabled -showampm no -width 155 -height 155
+pack .w -padx 10 -pady 10 -fill both -expand yes
+
+while {1} {
+ after 1000
+ .w show
+ update
+}
+</pre>
+</pre><H2>AUTHORS</H2>
+John Tucker
+<P>
+Mark L. Ulferts
+</pre><H2>KEYWORDS</H2>
+watch, hand, ticks, pivot, widget
+
diff --git a/itcl/iwidgets/demos/hyperhelp b/itcl/iwidgets/demos/hyperhelp
new file mode 100644
index 00000000000..72c8dc6c9b0
--- /dev/null
+++ b/itcl/iwidgets/demos/hyperhelp
@@ -0,0 +1,14 @@
+# ----------------------------------------------------------------------
+# DEMO: hyperhelp in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+option add *textBackground seashell
+
+button .push -text "Help..." -command {
+ set win [iwidgets::hyperhelp .#auto -title "Hyperhelp demo" -modality none \
+ -topics {demo} -helpdir [file join ${iwidgets::library} demos]]
+ $win showtopic demo
+ $win activate
+}
+pack .push
diff --git a/itcl/iwidgets/demos/images/box.xbm b/itcl/iwidgets/demos/images/box.xbm
new file mode 100644
index 00000000000..7498e15de2d
--- /dev/null
+++ b/itcl/iwidgets/demos/images/box.xbm
@@ -0,0 +1,14 @@
+#define Tool_32_box_width 32
+#define Tool_32_box_height 32
+static unsigned char Tool_32_box_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0x0f, 0x20, 0x00, 0x00, 0x08,
+ 0x20, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x08,
+ 0x20, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x08,
+ 0x20, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x08,
+ 0x20, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x08,
+ 0x20, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x08,
+ 0xe0, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
diff --git a/itcl/iwidgets/demos/images/clear.gif b/itcl/iwidgets/demos/images/clear.gif
new file mode 100644
index 00000000000..bd45628aa7a
--- /dev/null
+++ b/itcl/iwidgets/demos/images/clear.gif
Binary files differ
diff --git a/itcl/iwidgets/demos/images/close.gif b/itcl/iwidgets/demos/images/close.gif
new file mode 100644
index 00000000000..f91b9e9d1eb
--- /dev/null
+++ b/itcl/iwidgets/demos/images/close.gif
Binary files differ
diff --git a/itcl/iwidgets/demos/images/copy.gif b/itcl/iwidgets/demos/images/copy.gif
new file mode 100644
index 00000000000..7319f1dcb0a
--- /dev/null
+++ b/itcl/iwidgets/demos/images/copy.gif
Binary files differ
diff --git a/itcl/iwidgets/demos/images/cut.gif b/itcl/iwidgets/demos/images/cut.gif
new file mode 100644
index 00000000000..4258b175912
--- /dev/null
+++ b/itcl/iwidgets/demos/images/cut.gif
Binary files differ
diff --git a/itcl/iwidgets/demos/images/exit.gif b/itcl/iwidgets/demos/images/exit.gif
new file mode 100644
index 00000000000..e462be033f6
--- /dev/null
+++ b/itcl/iwidgets/demos/images/exit.gif
Binary files differ
diff --git a/itcl/iwidgets/demos/images/find.gif b/itcl/iwidgets/demos/images/find.gif
new file mode 100644
index 00000000000..dddcb8044b7
--- /dev/null
+++ b/itcl/iwidgets/demos/images/find.gif
Binary files differ
diff --git a/itcl/iwidgets/demos/images/help.gif b/itcl/iwidgets/demos/images/help.gif
new file mode 100644
index 00000000000..bc8f18c00dc
--- /dev/null
+++ b/itcl/iwidgets/demos/images/help.gif
Binary files differ
diff --git a/itcl/iwidgets/demos/images/line.xbm b/itcl/iwidgets/demos/images/line.xbm
new file mode 100644
index 00000000000..4622ae978b7
--- /dev/null
+++ b/itcl/iwidgets/demos/images/line.xbm
@@ -0,0 +1,14 @@
+#define lineOp_width 32
+#define lineOp_height 32
+static unsigned char lineOp_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00,
+ 0xf0, 0x00, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00,
+ 0x80, 0x07, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00,
+ 0x00, 0x3c, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00,
+ 0x00, 0xe0, 0x01, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x80, 0x07, 0x00,
+ 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x3c, 0x00,
+ 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xe0, 0x01,
+ 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x80, 0x07, 0x00, 0x00, 0x00, 0x0f,
+ 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
diff --git a/itcl/iwidgets/demos/images/mag.gif b/itcl/iwidgets/demos/images/mag.gif
new file mode 100644
index 00000000000..4a5be66e76b
--- /dev/null
+++ b/itcl/iwidgets/demos/images/mag.gif
Binary files differ
diff --git a/itcl/iwidgets/demos/images/new.gif b/itcl/iwidgets/demos/images/new.gif
new file mode 100644
index 00000000000..9c68ad35f55
--- /dev/null
+++ b/itcl/iwidgets/demos/images/new.gif
Binary files differ
diff --git a/itcl/iwidgets/demos/images/open.gif b/itcl/iwidgets/demos/images/open.gif
new file mode 100644
index 00000000000..bed862c8c41
--- /dev/null
+++ b/itcl/iwidgets/demos/images/open.gif
Binary files differ
diff --git a/itcl/iwidgets/demos/images/oval.xbm b/itcl/iwidgets/demos/images/oval.xbm
new file mode 100644
index 00000000000..856bd43785c
--- /dev/null
+++ b/itcl/iwidgets/demos/images/oval.xbm
@@ -0,0 +1,14 @@
+#define ovalOp_width 32
+#define ovalOp_height 32
+static unsigned char ovalOp_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x0f, 0x00,
+ 0x00, 0x1c, 0x70, 0x00, 0x00, 0x03, 0x80, 0x01, 0x80, 0x00, 0x00, 0x02,
+ 0x40, 0x00, 0x00, 0x04, 0x20, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x10,
+ 0x10, 0x00, 0x00, 0x10, 0x08, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x20,
+ 0x08, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x20, 0x10, 0x00, 0x00, 0x10,
+ 0x10, 0x00, 0x00, 0x10, 0x20, 0x00, 0x00, 0x08, 0x40, 0x00, 0x00, 0x04,
+ 0x80, 0x00, 0x00, 0x02, 0x00, 0x03, 0x80, 0x01, 0x00, 0x1c, 0x70, 0x00,
+ 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
diff --git a/itcl/iwidgets/demos/images/paste.gif b/itcl/iwidgets/demos/images/paste.gif
new file mode 100644
index 00000000000..9974f23bf57
--- /dev/null
+++ b/itcl/iwidgets/demos/images/paste.gif
Binary files differ
diff --git a/itcl/iwidgets/demos/images/points.xbm b/itcl/iwidgets/demos/images/points.xbm
new file mode 100644
index 00000000000..c50aa4c5f3d
--- /dev/null
+++ b/itcl/iwidgets/demos/images/points.xbm
@@ -0,0 +1,14 @@
+#define dotPencilOp_width 32
+#define dotPencilOp_height 32
+static unsigned char dotPencilOp_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x12, 0x00,
+ 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x80, 0x04, 0x00,
+ 0x00, 0x80, 0x04, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x40, 0x02, 0x00,
+ 0x00, 0x20, 0x01, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x90, 0x00, 0x00,
+ 0x00, 0x90, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00,
+ 0x00, 0x24, 0x00, 0x18, 0x00, 0x24, 0x00, 0x18, 0x00, 0x12, 0x00, 0x00,
+ 0x00, 0x12, 0x00, 0x30, 0x00, 0x0e, 0x00, 0x30, 0x00, 0x06, 0x00, 0x00,
+ 0x00, 0x06, 0x0c, 0x30, 0x00, 0x00, 0x0c, 0x30, 0x00, 0x30, 0xa0, 0x01,
+ 0x00, 0x60, 0xb0, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
diff --git a/itcl/iwidgets/demos/images/poly.gif b/itcl/iwidgets/demos/images/poly.gif
new file mode 100644
index 00000000000..2b595bb9b7f
--- /dev/null
+++ b/itcl/iwidgets/demos/images/poly.gif
Binary files differ
diff --git a/itcl/iwidgets/demos/images/print.gif b/itcl/iwidgets/demos/images/print.gif
new file mode 100644
index 00000000000..d321f17457e
--- /dev/null
+++ b/itcl/iwidgets/demos/images/print.gif
Binary files differ
diff --git a/itcl/iwidgets/demos/images/ruler.gif b/itcl/iwidgets/demos/images/ruler.gif
new file mode 100644
index 00000000000..00d26febf6a
--- /dev/null
+++ b/itcl/iwidgets/demos/images/ruler.gif
Binary files differ
diff --git a/itcl/iwidgets/demos/images/save.gif b/itcl/iwidgets/demos/images/save.gif
new file mode 100644
index 00000000000..d1ceb1a5c40
--- /dev/null
+++ b/itcl/iwidgets/demos/images/save.gif
Binary files differ
diff --git a/itcl/iwidgets/demos/images/select.gif b/itcl/iwidgets/demos/images/select.gif
new file mode 100644
index 00000000000..f885c9ca5ff
--- /dev/null
+++ b/itcl/iwidgets/demos/images/select.gif
Binary files differ
diff --git a/itcl/iwidgets/demos/images/text.xbm b/itcl/iwidgets/demos/images/text.xbm
new file mode 100644
index 00000000000..ffb06863031
--- /dev/null
+++ b/itcl/iwidgets/demos/images/text.xbm
@@ -0,0 +1,14 @@
+#define font_edit_width 32
+#define font_edit_height 32
+static unsigned char font_edit_bits[] = {
+ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x1c,
+ 0x00, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x80, 0x7b,
+ 0x00, 0x00, 0x80, 0x7e, 0x00, 0x00, 0xc0, 0xfd, 0x00, 0x00, 0x60, 0xfb,
+ 0x00, 0x00, 0xb0, 0xf7, 0x00, 0x00, 0xd0, 0xef, 0x00, 0x00, 0xf8, 0xdf,
+ 0x00, 0x00, 0xd4, 0x7f, 0x00, 0x00, 0xaa, 0x1f, 0x00, 0x00, 0x15, 0x0f,
+ 0x00, 0x80, 0x82, 0x06, 0x03, 0x40, 0x01, 0x01, 0x07, 0xa0, 0x80, 0x00,
+ 0x0f, 0x10, 0x40, 0x00, 0x1f, 0x08, 0x20, 0x00, 0x3b, 0xe4, 0x1f, 0x00,
+ 0x73, 0x1a, 0x00, 0x00, 0xe3, 0x07, 0x00, 0x00, 0xc3, 0x01, 0x00, 0x00,
+ 0xe3, 0x03, 0x00, 0x00, 0x7b, 0x07, 0x00, 0x00, 0x1f, 0x06, 0x00, 0x00,
+ 0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
diff --git a/itcl/iwidgets/demos/iwidgets.gif b/itcl/iwidgets/demos/iwidgets.gif
new file mode 100644
index 00000000000..93864ff25f4
--- /dev/null
+++ b/itcl/iwidgets/demos/iwidgets.gif
Binary files differ
diff --git a/itcl/iwidgets/demos/labeledframe b/itcl/iwidgets/demos/labeledframe
new file mode 100644
index 00000000000..bfb9a81bdc4
--- /dev/null
+++ b/itcl/iwidgets/demos/labeledframe
@@ -0,0 +1,47 @@
+# ----------------------------------------------------------------------
+# DEMO: labeledframe in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+set tk_strictMotif 1
+
+iwidgets::Labeledframe .pr -labelpos ne -labeltext "Print range"
+set cs [.pr childsite]
+
+radiobutton $cs.all \
+ -highlightthickness 0 \
+ -anchor w \
+ -justify left \
+ -text "All" \
+ -underline 0 \
+ -value 1
+
+radiobutton $cs.range \
+ -highlightthickness 0 \
+ -anchor w \
+ -justify left \
+ -text "Pages" \
+ -underline 2 \
+ -value 0
+
+iwidgets::entryfield $cs.from \
+ -highlightthickness 0 \
+ -labelpos w \
+ -labeltext "from:" \
+ -width 10
+
+[$cs.from component label] configure -justify left -underline 0
+
+iwidgets::entryfield $cs.to \
+ -highlightthickness 0 \
+ -labelpos w \
+ -labeltext "to:" \
+ -width 10
+
+[$cs.to component label] configure -justify left -underline 0
+
+pack $cs.all -side top -fill x -anchor w
+pack $cs.range -side left -fill x -anchor w
+pack $cs.from -side left -fill x -anchor w
+pack $cs.to -side left -fill x -anchor w
+pack .pr -fill both
diff --git a/itcl/iwidgets/demos/labeledwidget b/itcl/iwidgets/demos/labeledwidget
new file mode 100644
index 00000000000..2c6cb9d6d0d
--- /dev/null
+++ b/itcl/iwidgets/demos/labeledwidget
@@ -0,0 +1,23 @@
+# ----------------------------------------------------------------------
+# DEMO: labeledwidget in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+. configure -background white
+
+iwidgets::labeledwidget .lw -labeltext "Label Text:"
+pack .lw -padx 4 -pady 4
+
+set win [.lw childsite]
+label $win.ex -text "(put your widgets here)" \
+ -background black -foreground white \
+ -width 30 -height 3
+pack $win.ex -expand yes -fill both -padx 4 -pady 4
+
+iwidgets::optionmenu .pos -labeltext "Position:" -command {
+ .lw configure -labelpos [.pos get]
+}
+pack .pos -padx 4 -pady 4
+
+.pos insert end e n ne nw s se sw w
+.pos select w
diff --git a/itcl/iwidgets/demos/mainwindow b/itcl/iwidgets/demos/mainwindow
new file mode 100644
index 00000000000..695b3e7d1df
--- /dev/null
+++ b/itcl/iwidgets/demos/mainwindow
@@ -0,0 +1,163 @@
+# ----------------------------------------------------------------------
+# DEMO: mainwindow in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+wm withdraw .
+iwidgets::mainwindow .mw
+
+set imagedir [file join ${iwidgets::library} demos images]
+
+#
+# Add a File menubutton
+#
+.mw menubar add menubutton file -text "File" -underline 0 -padx 8 -pady 2 \
+ -menu {options -tearoff no
+ command new -label "New" -underline 0 \
+ -helpstr "Create a new file"
+ command open -label "Open ..." -underline 0 \
+ -helpstr "Open an existing file"
+ command save -label "Save" -underline 0 \
+ -helpstr "Save the current file"
+ command saveas -label "Save As ..." -underline 5 \
+ -helpstr "Save the file as a differnet name"
+ command print -label "Print" -underline 0 \
+ -helpstr "Print the file"
+ separator sep1
+ command close -label "Close" -underline 0 \
+ -helpstr "Close the file"
+ separator sep2
+ command exit -label "Exit" -underline 1 \
+ -helpstr "Exit this application"
+ }
+
+#
+# Add the Edit menubutton.
+#
+.mw menubar add menubutton edit -text "Edit" -underline 0 -padx 8 -pady 2 \
+ -menu {options -tearoff no
+ command cut -label "Cut" -underline 2 \
+ -helpstr "Cut the selection into the clipboard"
+ command copy -label "Copy" -underline 0 \
+ -helpstr "Copy the selection to the clipboard"
+ command paste -label "Paste" -underline 0 \
+ -helpstr "Paste the clipboard to the current point"
+ separator sep3
+ command find -label "Find" -underline 2 \
+ -helpstr "Search the text"
+ separator sep4
+ command clear -label "Clear" -underline 2 \
+ -helpstr "Clear the selection"
+ }
+
+#
+# Add the Help menubutton.
+#
+.mw menubar add menubutton help -text "Help" -underline 0 -padx 8 -pady 2 \
+ -menu {options -tearoff no
+ command onwindow -label "On Window" -underline 3 \
+ -helpstr "Obtain help on the window"
+ command onkeys -label "On Keys" -underline 3 \
+ -helpstr "Obtain help on the keys"
+ command index -label "Index" -underline 0 \
+ -helpstr "View the help index"
+ command onhelp -label "On Help" -underline 2 \
+ -helpstr "Obtain help on help"
+ command onversion -label "On Version" -underline 2 \
+ -helpstr "View the version information"
+ }
+
+#
+# Add items to the toolbar.
+#
+.mw toolbar add frame filler1 -width 108 -relief raised -borderwidth 2
+
+.mw toolbar add button new \
+ -image [image create photo -file [file join $imagedir new.gif]] \
+ -helpstr "Create a new file" \
+ -balloonstr "New"
+
+.mw toolbar add button open \
+ -image [image create photo -file [file join $imagedir open.gif]] \
+ -helpstr "Open an existing file" \
+ -balloonstr "Open"
+
+.mw toolbar add button close \
+ -image [image create photo -file [file join $imagedir close.gif]] \
+ -helpstr "Close the file" \
+ -balloonstr "Close"
+
+.mw toolbar add frame filler2 -width 20 -relief raised -borderwidth 2
+
+.mw toolbar add button cut \
+ -image [image create photo -file [file join $imagedir cut.gif]] \
+ -helpstr "Cut the selection into the cut buffer" \
+ -balloonstr "Cut"
+
+.mw toolbar add button copy \
+ -image [image create photo -file [file join $imagedir copy.gif]] \
+ -helpstr "Copy the selection to the cut buffer" \
+ -balloonstr "Copy"
+
+.mw toolbar add button paste \
+ -image [image create photo -file [file join $imagedir paste.gif]] \
+ -helpstr "Paste the cut buffer to the current point" \
+ -balloonstr "Paste"
+
+.mw toolbar add button clear \
+ -image [image create photo -file [file join $imagedir clear.gif]] \
+ -helpstr "Clear the selection" \
+ -balloonstr "Clear"
+
+.mw toolbar add frame filler3 -relief raised -borderwidth 2
+
+#
+# Add items to the menubar.
+#
+.mw mousebar add button save \
+ -image [image create photo -file [file join $imagedir save.gif]] \
+ -helpstr "Save the current file"
+
+.mw mousebar add button print \
+ -image [image create photo -file [file join $imagedir print.gif]] \
+ -helpstr "Print the file"
+
+.mw mousebar add button find \
+ -image [image create photo -file [file join $imagedir find.gif]] \
+ -helpstr "Search the text"
+
+.mw mousebar add frame filler1 -height 20 -relief raised -borderwidth 2
+
+.mw mousebar add button help \
+ -image [image create photo -file [file join $imagedir help.gif]] \
+ -helpstr "Obtain help for this window"
+
+.mw mousebar add frame filler2 -relief raised -borderwidth 2
+
+.mw mousebar add button exit \
+ -image [image create photo -file [file join $imagedir exit.gif]] \
+ -helpstr "Exit this application"
+
+.mw mousebar add frame filler3 -height 5
+
+#
+# Change the packing of the last fillers in the tool and mouse bar
+# so that it expands across and down the rest of the mainwindow.
+#
+pack [.mw toolbar component filler3] -expand yes -fill both
+pack [.mw mousebar component filler2] -expand yes -fill both
+
+
+#
+# Install a scrolledtext widget in the childsite.
+#
+iwidgets::scrolledtext [.mw childsite].st -visibleitems 40x8
+pack [.mw childsite].st -fill both -expand yes
+
+#
+# Activate the main window.
+#
+.mw activate
+
+
+
diff --git a/itcl/iwidgets/demos/menubar b/itcl/iwidgets/demos/menubar
new file mode 100644
index 00000000000..ef51d96e939
--- /dev/null
+++ b/itcl/iwidgets/demos/menubar
@@ -0,0 +1,76 @@
+# ----------------------------------------------------------------------
+# DEMO: menubar in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+iwidgets::menubar .mb -helpvariable helpVar -menubuttons {
+ menubutton file -text "File" -menu {
+ options -tearoff false
+
+ command new -label "New" \
+ -helpstr "Open new document" \
+ -command {puts "selected: New"}
+
+ command close -label "Close" \
+ -helpstr "Close current document" \
+ -command {puts "selected: Close"}
+
+ separator sep1
+
+ command exit -label "Exit" -command {exit} \
+ -helpstr "Exit application"
+ }
+
+ menubutton edit -text "Edit" -menu {
+ options -tearoff false
+
+ command undo -label "Undo" -underline 0 \
+ -helpstr "Undo last command" \
+ -command {puts "selected: Undo"}
+
+ separator sep2
+
+ command cut -label "Cut" -underline 1 \
+ -helpstr "Cut selection to clipboard" \
+ -command {puts CUT}
+
+ command copy -label "Copy" -underline 1 \
+ -helpstr "Copy selection to clipboard" \
+ -command {puts "selected: Copy"}
+
+ command paste -label "Paste" -underline 0 \
+ -helpstr "Paste clipboard contents into document" \
+ -command {puts "selected: Paste"}
+ }
+
+ menubutton options -text "Options" -menu {
+ options -tearoff false -selectcolor blue
+
+ radiobutton byName -variable viewMode \
+ -value NAME -label "by Name" \
+ -helpstr "View files by name order" \
+ -command {puts "selected: by Name"}
+
+ radiobutton byDate -variable viewMode \
+ -value DATE -label "by Date" \
+ -helpstr "View files by date order" \
+ -command {puts "selected: by Date"}
+
+ cascade prefs -label "Preferences" -menu {
+ command colors -label Colors... \
+ -helpstr "Change text colors" \
+ -command {puts "selected: Colors..."}
+
+ command fonts -label "Fonts..." \
+ -helpstr "Change text font" \
+ -command {puts "selected: Fonts..."}
+ }
+ }
+}
+pack .mb -fill x
+
+frame .fr -width 200 -height 200 -background white
+pack .fr -fill both
+
+label .help -anchor w -textvariable helpVar -width 40
+pack .help -fill x
diff --git a/itcl/iwidgets/demos/messagebox b/itcl/iwidgets/demos/messagebox
new file mode 100644
index 00000000000..e2288222197
--- /dev/null
+++ b/itcl/iwidgets/demos/messagebox
@@ -0,0 +1,32 @@
+# ----------------------------------------------------------------------
+# DEMO: messagebox in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+. configure -background white
+
+iwidgets::messagebox .mb -hscrollmode dynamic -labeltext "Messages" \
+ -labelpos n -visibleitems 50x8
+
+pack .mb -padx 5 -pady 5 -fill both -expand yes
+
+.mb type add ERROR -background red -foreground white -bell 1
+.mb type add WARNING -background yellow -foreground black
+.mb type add INFO -background white -foreground black
+
+frame .cntls -background white
+pack .cntls -padx 5 -pady 5 -fill x
+button .cntls.error -text "Error" -command {
+ .mb issue "This is an error message in red with a beep" ERROR
+}
+pack .cntls.error -side left -expand yes
+
+button .cntls.warning -text "Warning" -command {
+ .mb issue "This warning message in yellow" WARNING
+}
+pack .cntls.warning -side left -expand yes
+
+button .cntls.info -text "Info" -command {
+ .mb issue "This is an informational message" INFO
+}
+pack .cntls.info -side left -expand yes
diff --git a/itcl/iwidgets/demos/messagedialog b/itcl/iwidgets/demos/messagedialog
new file mode 100644
index 00000000000..95edf3128a0
--- /dev/null
+++ b/itcl/iwidgets/demos/messagedialog
@@ -0,0 +1,20 @@
+# ----------------------------------------------------------------------
+# DEMO: messagedialog in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+button .b -text "Confirm..." -command {
+ if {[.md activate]} {
+ puts "selected: Yes"
+ } else {
+ puts "selected: No"
+ }
+}
+pack .b
+
+iwidgets::messagedialog .md -title "Message Dialog" -modality application \
+ -bitmap questhead -text "Are you sure?"
+
+.md hide Help
+.md buttonconfigure OK -text "Yes"
+.md buttonconfigure Cancel -text "No"
diff --git a/itcl/iwidgets/demos/notebook b/itcl/iwidgets/demos/notebook
new file mode 100644
index 00000000000..0a749daab71
--- /dev/null
+++ b/itcl/iwidgets/demos/notebook
@@ -0,0 +1,71 @@
+# ----------------------------------------------------------------------
+# DEMO: notebook in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+option add *textBackground seashell
+option add *Scale.width 8
+. configure -background white
+
+iwidgets::optionmenu .pages -labeltext "Page:" -command {
+ .nb view [.pages get]
+}
+pack .pages -padx 4 -pady 4
+.pages insert end "Personal Info" "Favorite Color" "Blank Page"
+
+
+iwidgets::notebook .nb -width 3i -height 2.6i
+pack .nb -padx 4 -pady 4
+
+# Page #1
+# ----------------------------------------------------------------------
+set page [.nb add -label "Personal Info"]
+
+iwidgets::entryfield $page.name -labeltext "Name:" -labelpos nw
+pack $page.name
+iwidgets::entryfield $page.addr -labeltext "Address:" -labelpos nw
+pack $page.addr
+iwidgets::entryfield $page.addr2 -labeltext "City, State:" -labelpos nw
+pack $page.addr2
+iwidgets::entryfield $page.email -labeltext "E-mail:" -labelpos nw
+pack $page.email
+
+
+# Page #2
+# ----------------------------------------------------------------------
+set page [.nb add -label "Favorite Color"]
+
+frame $page.sample -width 20 -height 20 \
+ -borderwidth 2 -relief raised
+pack $page.sample -fill both -pady 4
+scale $page.r -label "Red" -orient horizontal \
+ -from 0 -to 255 -command "set_color $page"
+pack $page.r -fill x
+scale $page.g -label "Green" -orient horizontal \
+ -from 0 -to 255 -command "set_color $page"
+pack $page.g -fill x
+scale $page.b -label "Blue" -orient horizontal \
+ -from 0 -to 255 -command "set_color $page"
+pack $page.b -fill x
+
+proc set_color {page {val 0}} {
+ set r [$page.r get]
+ set g [$page.g get]
+ set b [$page.b get]
+ set color [format "#%.2x%.2x%.2x" $r $g $b]
+ $page.sample configure -background $color
+}
+set_color $page
+
+
+# Page #3
+# ----------------------------------------------------------------------
+set page [.nb add -label "Blank Page"]
+
+label $page.title -text "(put your widgets here)" \
+ -background black -foreground white \
+ -width 25 -height 3
+pack $page.title -expand yes -fill both
+
+
+.nb view "Personal Info"
diff --git a/itcl/iwidgets/demos/optionmenu b/itcl/iwidgets/demos/optionmenu
new file mode 100644
index 00000000000..d74a0bfb19c
--- /dev/null
+++ b/itcl/iwidgets/demos/optionmenu
@@ -0,0 +1,12 @@
+# ----------------------------------------------------------------------
+# DEMO: optionmenu in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+iwidgets::optionmenu .cb -labeltext "Font:" -labelpos w -command {
+ puts "selected: [.cb get]"
+}
+pack .cb
+
+.cb insert end Ariel Courier Helvetica Knarly Lucida \
+ Rumpus Symbol Times "Zapf Dingbats"
diff --git a/itcl/iwidgets/demos/panedwindow b/itcl/iwidgets/demos/panedwindow
new file mode 100644
index 00000000000..d538301c79c
--- /dev/null
+++ b/itcl/iwidgets/demos/panedwindow
@@ -0,0 +1,30 @@
+# ----------------------------------------------------------------------
+# DEMO: panedwindow in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+. configure -background white
+
+iwidgets::panedwindow .pw -width 3i -height 3i
+pack .pw -padx 4 -pady 4
+
+.pw add "top"
+set pane [.pw childsite "top"]
+label $pane.l -text "(put some widgets here)" \
+ -background black -foreground white
+pack $pane.l -expand yes -fill both
+
+.pw add "bottom"
+set pane [.pw childsite "bottom"]
+label $pane.l -text "(put other widgets here)" \
+ -background black -foreground white
+pack $pane.l -expand yes -fill both
+
+.pw fraction 40 60
+
+
+iwidgets::optionmenu .orient -labeltext "Orientation:" -command {
+ .pw configure -orient [.orient get]
+}
+pack .orient -padx 4 -pady 4
+.orient insert end horizontal vertical
diff --git a/itcl/iwidgets/demos/promptdialog b/itcl/iwidgets/demos/promptdialog
new file mode 100644
index 00000000000..a1702b895e2
--- /dev/null
+++ b/itcl/iwidgets/demos/promptdialog
@@ -0,0 +1,21 @@
+# ----------------------------------------------------------------------
+# DEMO: promptdialog in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+option add *textBackground seashell
+
+button .b -text "Get Password..." -command {
+ if {[.pd activate]} {
+ puts "password: [.pd get]"
+ } else {
+ puts "cancelled"
+ }
+}
+pack .b
+
+iwidgets::promptdialog .pd -title "Prompt Dialog" -modality application \
+ -labeltext "Password:" -show "*"
+
+.pd hide Apply
+.pd hide Help
diff --git a/itcl/iwidgets/demos/pushbutton b/itcl/iwidgets/demos/pushbutton
new file mode 100644
index 00000000000..17c80b2dadb
--- /dev/null
+++ b/itcl/iwidgets/demos/pushbutton
@@ -0,0 +1,17 @@
+# ----------------------------------------------------------------------
+# DEMO: pushbutton in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+. configure -background white
+
+iwidgets::pushbutton .pb -text "Push Me" -defaultring yes -command {
+ puts "Hello, World!"
+}
+pack .pb -padx 4 -pady 4
+
+checkbutton .default -text "Default ring" -variable defring \
+ -command {.pb configure -defaultring $defring}
+pack .default -padx 4 -pady 4
+
+.default invoke
diff --git a/itcl/iwidgets/demos/radiobox b/itcl/iwidgets/demos/radiobox
new file mode 100644
index 00000000000..17ed34e9141
--- /dev/null
+++ b/itcl/iwidgets/demos/radiobox
@@ -0,0 +1,14 @@
+# ----------------------------------------------------------------------
+# DEMO: radiobox in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+iwidgets::radiobox .rb -labeltext "Size:" -labelpos nw
+pack .rb -padx 4 -pady 4 -fill both
+
+.rb add small -text "Small"
+.rb add med -text "Medium"
+.rb add large -text "Large"
+.rb add xlarge -text "Biggie"
+
+.rb select med
diff --git a/itcl/iwidgets/demos/scopedobject b/itcl/iwidgets/demos/scopedobject
new file mode 100644
index 00000000000..81fb31a6359
--- /dev/null
+++ b/itcl/iwidgets/demos/scopedobject
@@ -0,0 +1,16 @@
+#!/bin/sh
+# \
+ exec wish8.4 -f $0 $*
+
+package require Iwidgets 4.0
+
+#
+# Demo script for the Scopedobject class
+#
+proc scopedobject_demo {} {
+ iwidgets::scopedobject #auto \
+ -exitscopecommand {puts "enter scopedobject_demo"} \
+ -exitscopecommand {puts "exit scopedobject_demo"}
+}
+
+scopedobject_demo
diff --git a/itcl/iwidgets/demos/scrolledcanvas b/itcl/iwidgets/demos/scrolledcanvas
new file mode 100644
index 00000000000..2caf6a4c5a5
--- /dev/null
+++ b/itcl/iwidgets/demos/scrolledcanvas
@@ -0,0 +1,45 @@
+# ----------------------------------------------------------------------
+# DEMO: scrolledcanvas in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+option add *textBackground seashell
+. configure -background white
+
+iwidgets::scrolledcanvas .canv -labeltext "Scrolledcanvas" \
+ -vscrollmode dynamic -hscrollmode dynamic -autoresize yes
+
+pack .canv -expand yes -fill both -padx 4 -pady 4
+.canv xview moveto 0
+.canv yview moveto 0
+
+
+button .zoomin -text "Zoom In" -command {
+ .canv scale all 0 0 2 2
+ .canv configure -scrollregion [.canv bbox all]
+}
+pack .zoomin -side left -expand yes -padx 4 -pady 4
+
+button .zoomout -text "Zoom Out" -command {
+ .canv scale all 0 0 0.5 0.5
+ .canv xview moveto 0
+ .canv yview moveto 0
+ .canv configure -scrollregion [.canv bbox all]
+}
+pack .zoomout -side left -expand yes -padx 4 -pady 4
+
+
+bind [.canv component canvas] <ButtonPress-1> {add_rectangle %W %x %y}
+bind [.canv component canvas] <B1-Motion> {add_rectangle %W %x %y}
+
+proc add_rectangle {win x y} {
+ set x [$win canvasx $x]
+ set y [$win canvasy $y]
+
+ $win create rectangle \
+ [expr $x-4] [expr $y-4] \
+ [expr $x+4] [expr $y+4] \
+ -outline "" -fill red
+
+ $win configure -scrollregion [$win bbox all]
+}
diff --git a/itcl/iwidgets/demos/scrolledframe b/itcl/iwidgets/demos/scrolledframe
new file mode 100644
index 00000000000..6a227c9195d
--- /dev/null
+++ b/itcl/iwidgets/demos/scrolledframe
@@ -0,0 +1,29 @@
+# ----------------------------------------------------------------------
+# DEMO: scrolledframe in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+option add *textBackground seashell
+
+iwidgets::scrolledframe .sf -width 4i -height 2i -labeltext "Scrolledframe"
+pack .sf
+
+set win [.sf childsite]
+
+set all ""
+foreach option [.sf configure] {
+ if {[llength $option] == 5} {
+ set name [lindex $option 0]
+ set val [lindex $option end]
+
+ set entry [iwidgets::entryfield $win.#auto]
+ pack $entry -fill x
+
+ $entry configure -labeltext $name \
+ -command ".sf configure $name \[$entry get\]"
+ $entry insert 0 $val
+
+ lappend all $entry
+ }
+}
+eval iwidgets::Labeledwidget::alignlabels $all
diff --git a/itcl/iwidgets/demos/scrolledhtml b/itcl/iwidgets/demos/scrolledhtml
new file mode 100644
index 00000000000..b7e06cce35c
--- /dev/null
+++ b/itcl/iwidgets/demos/scrolledhtml
@@ -0,0 +1,14 @@
+# ----------------------------------------------------------------------
+# DEMO: scrolledhtml in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+option add *textBackground seashell
+
+iwidgets::scrolledhtml .sh -labeltext "Scrolledhtml" \
+ -width 5i -height 3i \
+ -wrap word -linkcommand ".sh import -link" -padx 10
+
+pack .sh
+
+.sh import [file join ${iwidgets::library} demos demo.html]
diff --git a/itcl/iwidgets/demos/scrolledlistbox b/itcl/iwidgets/demos/scrolledlistbox
new file mode 100644
index 00000000000..71d3d0c7a63
--- /dev/null
+++ b/itcl/iwidgets/demos/scrolledlistbox
@@ -0,0 +1,30 @@
+# ----------------------------------------------------------------------
+# DEMO: scrolledlistbox in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+option add *textBackground seashell
+. configure -background white
+
+iwidgets::scrolledlistbox .slb -labeltext "Scrolledlistbox" \
+ -vscrollmode dynamic -hscrollmode none \
+ -selectmode single \
+ -labelpos nw -selectioncommand {
+ puts "click: [.slb getcurselection]"
+ }
+
+pack .slb -padx 4 -pady 4
+
+.slb insert 0 Hello World! Cruel
+.slb delete "Hello"
+.slb insert 0 "Goodbye"
+
+button .add -text "Add" -command {
+ .slb insert end "Goodbye!"
+}
+pack .add -padx 4 -pady 4
+
+button .del -text "Delete" -command {
+ .slb delete 0
+}
+pack .del -padx 4 -pady 4
diff --git a/itcl/iwidgets/demos/scrolledtext b/itcl/iwidgets/demos/scrolledtext
new file mode 100644
index 00000000000..aa7205a8ece
--- /dev/null
+++ b/itcl/iwidgets/demos/scrolledtext
@@ -0,0 +1,13 @@
+# ----------------------------------------------------------------------
+# DEMO: scrolledtext in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+option add *textBackground seashell
+
+iwidgets::scrolledtext .st -labeltext "Scrolledtext" -wrap none \
+ -vscrollmode static -hscrollmode dynamic \
+ -width 5i -height 2i
+pack .st
+
+.st import [file join ${iwidgets::library} demos scrolledtext]
diff --git a/itcl/iwidgets/demos/selectionbox b/itcl/iwidgets/demos/selectionbox
new file mode 100644
index 00000000000..2957b910ddc
--- /dev/null
+++ b/itcl/iwidgets/demos/selectionbox
@@ -0,0 +1,12 @@
+# ----------------------------------------------------------------------
+# DEMO: selectionbox in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+option add *textBackground seashell
+
+iwidgets::selectionbox .sb -selectionlabel "Font:" -height 2i
+pack .sb
+
+.sb insert items end Ariel Courier Helvetica Knarly Lucida \
+ Rumpus Symbol Times "Zapf Dingbats"
diff --git a/itcl/iwidgets/demos/selectiondialog b/itcl/iwidgets/demos/selectiondialog
new file mode 100644
index 00000000000..15569f74dcb
--- /dev/null
+++ b/itcl/iwidgets/demos/selectiondialog
@@ -0,0 +1,22 @@
+# ----------------------------------------------------------------------
+# DEMO: selectiondialog in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+option add *textBackground seashell
+
+iwidgets::selectiondialog .sd -modality application
+.sd configure -selectionlabel "Font:"
+
+.sd insert items end Ariel Courier Helvetica Knarly Lucida \
+ Rumpus Symbol Times "Zapf Dingbats"
+
+button .select -text "Font..." -command {
+ if {[.sd activate]} {
+ puts "selected: [.sd get]"
+ } else {
+ puts "cancelled"
+ }
+}
+pack .select -side left
+
diff --git a/itcl/iwidgets/demos/shell b/itcl/iwidgets/demos/shell
new file mode 100644
index 00000000000..7b76e9a583c
--- /dev/null
+++ b/itcl/iwidgets/demos/shell
@@ -0,0 +1,11 @@
+# ----------------------------------------------------------------------
+# DEMO: selectiondialog in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+iwidgets::shell .sh -modality none -padx 20 -pady 20 -title Shell
+
+pack [label [.sh childsite].l -text SHELL]
+
+.sh center
+.sh activate
diff --git a/itcl/iwidgets/demos/spindate b/itcl/iwidgets/demos/spindate
new file mode 100644
index 00000000000..024a8760055
--- /dev/null
+++ b/itcl/iwidgets/demos/spindate
@@ -0,0 +1,9 @@
+# ----------------------------------------------------------------------
+# DEMO: spindate in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+option add *textBackground seashell
+
+iwidgets::spindate .sd -monthformat brief
+pack .sd
diff --git a/itcl/iwidgets/demos/spinint b/itcl/iwidgets/demos/spinint
new file mode 100644
index 00000000000..65ca2136e1d
--- /dev/null
+++ b/itcl/iwidgets/demos/spinint
@@ -0,0 +1,29 @@
+# ----------------------------------------------------------------------
+# DEMO: spinint in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+option add *textBackground seashell
+. configure -background white
+
+iwidgets::spinint .times -labeltext "Countdown:" -range {0 10} -width 3
+pack .times -padx 10 -pady 10
+
+.times delete 0 end
+.times insert end "5"
+
+frame .test
+pack .test -padx 10 -pady 10
+button .test.go -text "Go" -command {
+ set count [.times get]
+ while {$count >= 0} {
+ .test.readout configure -text $count
+ update
+ after 200
+ incr count -1
+ }
+ .test.readout configure -text "blast-off!"
+}
+pack .test.go -side left
+label .test.readout -width 15 -background seashell
+pack .test.readout -side left -padx 4 -pady 4
diff --git a/itcl/iwidgets/demos/spinner b/itcl/iwidgets/demos/spinner
new file mode 100644
index 00000000000..703bfa1d7d7
--- /dev/null
+++ b/itcl/iwidgets/demos/spinner
@@ -0,0 +1,28 @@
+# ----------------------------------------------------------------------
+# DEMO: spinner in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+option add *textBackground seashell
+
+proc spinMonth {win step} {
+ set months {
+ January February March April
+ May June July August September
+ October November December
+ }
+
+ set index [expr [lsearch $months [$win get]] + $step]
+
+ if {$index < 0} {set index 11}
+ if {$index > 11} {set index 0}
+
+ $win delete 0 end
+ $win insert 0 [lindex $months $index]
+}
+
+iwidgets::spinner .sm -labeltext "Month:" -width 10 -fixed 10 \
+ -decrement {spinMonth .sm -1} -increment {spinMonth .sm 1}
+
+pack .sm
+.sm insert 0 "January"
diff --git a/itcl/iwidgets/demos/spintime b/itcl/iwidgets/demos/spintime
new file mode 100644
index 00000000000..f9674c01a82
--- /dev/null
+++ b/itcl/iwidgets/demos/spintime
@@ -0,0 +1,9 @@
+# ----------------------------------------------------------------------
+# DEMO: spintime in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+option add *textBackground seashell
+
+iwidgets::spintime .st
+pack .st
diff --git a/itcl/iwidgets/demos/tabnotebook b/itcl/iwidgets/demos/tabnotebook
new file mode 100644
index 00000000000..b81a97f93e5
--- /dev/null
+++ b/itcl/iwidgets/demos/tabnotebook
@@ -0,0 +1,72 @@
+# ----------------------------------------------------------------------
+# DEMO: tabnotebook in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+option add *textBackground seashell
+option add *Tabnotebook.backdrop DimGray
+option add *Scale.width 8
+. configure -background white
+
+iwidgets::tabnotebook .tnb -width 5i -height 3i
+pack .tnb -padx 4 -pady 4
+
+# Page #1
+# ----------------------------------------------------------------------
+set page [.tnb add -label "Personal Info"]
+
+iwidgets::entryfield $page.name -labeltext "Name:" -labelpos nw
+pack $page.name
+iwidgets::entryfield $page.addr -labeltext "Address:" -labelpos nw
+pack $page.addr
+iwidgets::entryfield $page.addr2 -labeltext "City, State:" -labelpos nw
+pack $page.addr2
+iwidgets::entryfield $page.email -labeltext "E-mail:" -labelpos nw
+pack $page.email
+
+
+# Page #2
+# ----------------------------------------------------------------------
+set page [.tnb add -label "Favorite Color"]
+
+frame $page.sample -width 20 -height 20 \
+ -borderwidth 2 -relief raised
+pack $page.sample -fill both -pady 4
+scale $page.r -label "Red" -orient horizontal \
+ -from 0 -to 255 -command "set_color $page"
+pack $page.r -fill x
+scale $page.g -label "Green" -orient horizontal \
+ -from 0 -to 255 -command "set_color $page"
+pack $page.g -fill x
+scale $page.b -label "Blue" -orient horizontal \
+ -from 0 -to 255 -command "set_color $page"
+pack $page.b -fill x
+
+proc set_color {page {val 0}} {
+ set r [$page.r get]
+ set g [$page.g get]
+ set b [$page.b get]
+ set color [format "#%.2x%.2x%.2x" $r $g $b]
+ $page.sample configure -background $color
+}
+set_color $page
+
+
+# Page #3
+# ----------------------------------------------------------------------
+set page [.tnb add -label "Blank Page"]
+
+label $page.title -text "(put your widgets here)" \
+ -background black -foreground white \
+ -width 25 -height 3
+pack $page.title -expand yes -fill both
+
+
+iwidgets::optionmenu .orient -labeltext "Tabs:" -command {
+ .tnb configure -tabpos [.orient get]
+}
+pack .orient -padx 4 -pady 4
+.orient insert end n s e w
+
+.tnb view "Personal Info"
+.tnb configure -tabpos [.orient get]
diff --git a/itcl/iwidgets/demos/tabset b/itcl/iwidgets/demos/tabset
new file mode 100644
index 00000000000..efc0f1580d4
--- /dev/null
+++ b/itcl/iwidgets/demos/tabset
@@ -0,0 +1,16 @@
+# ----------------------------------------------------------------------
+# DEMO: tabset in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+proc showTab {num} {
+ puts "selected: [.ts tabcget $num -label]"
+}
+
+iwidgets::tabset .ts -command showTab
+pack .ts
+
+for {set i 1} {$i <= 5} {incr i} {
+ .ts add -label "#$i"
+}
+.ts select 0
diff --git a/itcl/iwidgets/demos/timeentry b/itcl/iwidgets/demos/timeentry
new file mode 100644
index 00000000000..e6c24113ade
--- /dev/null
+++ b/itcl/iwidgets/demos/timeentry
@@ -0,0 +1,7 @@
+# ----------------------------------------------------------------------
+# DEMO: timeentry in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+iwidgets::timeentry .de -labeltext "Time:"
+pack .de -fill x -expand yes -padx 10 -pady 10
diff --git a/itcl/iwidgets/demos/timefield b/itcl/iwidgets/demos/timefield
new file mode 100644
index 00000000000..1f9377d314c
--- /dev/null
+++ b/itcl/iwidgets/demos/timefield
@@ -0,0 +1,12 @@
+# ----------------------------------------------------------------------
+# DEMO: timefield in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+proc returnCmd {} {
+ puts [.df get]
+}
+
+iwidgets::timefield .df -labeltext "Time:" -command returnCmd
+pack .df -fill x -expand yes -padx 10 -pady 10
+
diff --git a/itcl/iwidgets/demos/toolbar b/itcl/iwidgets/demos/toolbar
new file mode 100644
index 00000000000..5b0175785fd
--- /dev/null
+++ b/itcl/iwidgets/demos/toolbar
@@ -0,0 +1,45 @@
+# ----------------------------------------------------------------------
+# DEMO: toolbar in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+label .status -textvariable statusVar -width 40 -anchor w
+pack .status -side bottom
+
+iwidgets::toolbar .tb -helpvariable statusVar -orient vertical
+pack .tb -side left -anchor nw -padx 4 -pady 4
+
+set imagedir [file join ${iwidgets::library} demos images]
+
+.tb add button select \
+ -helpstr "Select drawing elements" \
+ -image [image create photo -file [file join $imagedir select.gif]] \
+ -balloonstr "Selection tool" \
+ -command {puts "tool: select"}
+
+.tb add button magnify \
+ -helpstr "Magnify drawing area" \
+ -image [image create photo -file [file join $imagedir mag.gif]] \
+ -balloonstr "Zoom tool" \
+ -command {puts "tool: magnify"}
+
+.tb add button ruler \
+ -helpstr "Measure distances on drawing" \
+ -image [image create photo -file [file join $imagedir ruler.gif]] \
+ -balloonstr "Ruler tool" \
+ -command {puts "tool: ruler"}
+
+.tb add frame filler \
+ -borderwidth 1 \
+ -width 10 \
+ -height 10
+
+.tb add button poly \
+ -helpstr "Draw a polygon" \
+ -image [image create photo -file [file join $imagedir poly.gif]] \
+ -balloonstr "Polygon tool" \
+ -command {puts "tool: polygon"}
+
+canvas .worksp -width 2i -height 3i \
+ -borderwidth 2 -relief sunken -background white
+pack .worksp -side right -expand yes -fill both -padx 4 -pady 4
diff --git a/itcl/iwidgets/demos/watch b/itcl/iwidgets/demos/watch
new file mode 100644
index 00000000000..4c30756b816
--- /dev/null
+++ b/itcl/iwidgets/demos/watch
@@ -0,0 +1,16 @@
+# ----------------------------------------------------------------------
+# DEMO: watch in [incr Widgets]
+# ----------------------------------------------------------------------
+package require Iwidgets 4.0
+
+set tk_strictMotif 1
+
+iwidgets::watch .w -state disabled -showampm no -width 155 -height 155
+pack .w -padx 10 -pady 10 -fill both -expand yes
+
+proc fix_time {} {
+ if {! [winfo exists .w]} return
+ .w show
+ after 1000 fix_time
+}
+fix_time