can't find package tablelist 6.11
    while executing
"package require tablelist 6.11"
    (in namespace eval "::request" script line 9)
    invoked from within
"namespace eval ::request $script"
    ("::try" body line 12)

OUTPUT BUFFER:

#!/usr/bin/env wish #============================================================================== # Demonstrates the use of embedded windows in tablelist widgets. # # Copyright (c) 2004-2020 Csaba Nemethi (E-mail: csaba.nemethi@t-online.de) #============================================================================== package require tablelist 6.11 wm title . "Tk Library Scripts" # # Add some entries to the Tk option database # set dir [file dirname [info script]] source [file join $dir option.tcl] # # Create the font TkFixedFont if not yet present # catch {font create TkFixedFont -family Courier -size 9} # # Create an image corresponding to the display's DPI scaling # level, to be displayed in buttons embedded in a tablelist widget # set pct $tablelist::scalingpct image create photo openImg -file [file join $dir openAction$pct.gif] # # Create a vertically scrolled tablelist widget with 5 # dynamic-width columns and interactive sort capability # set tf .tf frame $tf -class ScrollArea set tbl $tf.tbl set vsb $tf.vsb tablelist::tablelist $tbl \ -columns {0 "File Name" left 0 "Bar Chart" center 0 "File Size" right 0 "View" center 0 "Seen" center} \ -setgrid no -yscrollcommand [list $vsb set] -width 0 if {[$tbl cget -selectborderwidth] == 0} { $tbl configure -spacing 1 } $tbl columnconfigure 0 -name fileName $tbl columnconfigure 1 -formatcommand emptyStr -sortmode integer $tbl columnconfigure 2 -name fileSize -sortmode integer $tbl columnconfigure 4 -name seen scrollbar $vsb -orient vertical -command [list $tbl yview] proc emptyStr val { return "" } # # Create a bold font # set tblFont [$tbl cget -font] set size [font actual $tblFont -size] if {$size == 0} { ;# e.g., on Ubuntu set size 9 } eval font create BoldFont [font actual $tblFont] -size $size -weight bold # # Populate the tablelist widget # cd $tk_library set totalSize 0 set maxSize 0 foreach fileName [lsort [glob *.tcl]] { set fileSize [file size $fileName] $tbl insert end [list $fileName $fileSize $fileSize "" no] incr totalSize $fileSize if {$fileSize > $maxSize} { set maxSize $fileSize } } if {$tk_version >= 8.5} { $tbl header insert 0 [list "[$tbl size] *.tcl files" "" $totalSize "" ""] $tbl header rowconfigure 0 -foreground blue } #------------------------------------------------------------------------------ # createFrame # # Creates a frame widget w to be embedded into the specified cell of the # tablelist widget tbl, as well as a child frame representing the size of the # file whose name is diplayed in the first column of the cell's row. #------------------------------------------------------------------------------ proc createFrame {tbl row col w} { # # Create the frame and replace the binding tag "Frame" # with "TablelistBody" in the list of its binding tags # set height [expr {[font metrics $::tblFont -linespace] * 4 / 5}] frame $w -width 72p -height $height -background ivory -borderwidth 1 \ -relief solid bindtags $w [lreplace [bindtags $w] 1 1 TablelistBody] # # Create the child frame and replace the binding tag "Frame" # with "TablelistBody" in the list of its binding tags # frame $w.f -background red -borderwidth 1 -relief raised bindtags $w.f [lreplace [bindtags $w] 1 1 TablelistBody] # # Manage the child frame # set fileSize [$tbl cellcget $row,fileSize -text] place $w.f -relheight 1.0 -relwidth [expr {double($fileSize) / $::maxSize}] } #------------------------------------------------------------------------------ # createButton # # Creates a button widget w to be embedded into the specified cell of the # tablelist widget tbl. #------------------------------------------------------------------------------ proc createButton {tbl row col w} { set key [$tbl getkeys $row] button $w -image openImg -highlightthickness 0 -takefocus 0 \ -command [list viewFile $tbl $key] } #------------------------------------------------------------------------------ # viewFile # # Displays the content of the file whose name is contained in the row with the # given key of the tablelist widget tbl. #------------------------------------------------------------------------------ proc viewFile {tbl key} { set top .top$key if {[winfo exists $top]} { raise $top focus $top return "" } toplevel $top set fileName [$tbl cellcget k$key,fileName -text] wm title $top "File \"$fileName\"" # # Create a vertically scrolled text widget as a grandchild of the toplevel # set tf $top.tf frame $tf -class ScrollArea set txt $tf.txt set vsb $tf.vsb text $txt -background white -font TkFixedFont -setgrid yes \ -yscrollcommand [list $vsb set] scrollbar $vsb -orient vertical -command [list $txt yview] # # Insert the file's content into the text widget # set chan [open $fileName] $txt insert end [read -nonewline $chan] close $chan set btn [button $top.btn -text "Close" -command [list destroy $top]] # # Manage the widgets # grid $txt -row 0 -column 0 -sticky news grid $vsb -row 0 -column 1 -sticky ns grid rowconfigure $tf 0 -weight 1 grid columnconfigure $tf 0 -weight 1 pack $btn -side bottom -pady 7p pack $tf -side top -expand yes -fill both # # Mark the file as seen # $tbl rowconfigure k$key -font BoldFont $tbl cellconfigure k$key,seen -text yes } #------------------------------------------------------------------------------ # # Create embedded windows in the columns no. 1 and 3 # set rowCount [$tbl size] for {set row 0} {$row < $rowCount} {incr row} { $tbl cellconfigure $row,1 -window createFrame -stretchwindow yes $tbl cellconfigure $row,3 -window createButton } set btn [button .btn -text "Close" -command exit] # # Manage the widgets # grid $tbl -row 0 -rowspan 2 -column 0 -sticky news if {[string compare $winSys "win32"] == 0} { ;# see option.tcl grid $vsb -row 0 -rowspan 2 -column 1 -sticky ns } else { grid [$tbl cornerpath] -row 0 -column 1 -sticky ew grid $vsb -row 1 -column 1 -sticky ns } grid rowconfigure $tf 1 -weight 1 grid columnconfigure $tf 0 -weight 1 pack $btn -side bottom -pady 7p pack $tf -side top -expand yes -fill both