Skip to main content

Posts

Showing posts from August, 2017

Displaying Tcl dict contents in a gnocl::list widget

The following script shows how to display the contents of a simple Tcl dict within a gnocl::list widget. #!/bin/sh # the next line restarts using tclsh \ exec tclsh "$0" "$@" package require Gnocl namespace eval pkg {} #--------------- # Create a gnocl::list displaying the contents of a Tcl dict. #--------------- # Arguments: #    val        dict data to display. #    args # Returns: #    wid of gnocl::list containing the dict data. # proc pkg::dict2list { vals } {             set res ""         # get a complete list of info keys     set c key     dict for {id info} $vals {         foreach {a b} $info {             if { [string first $a $c] == -1 } { lappend c $a }             }     }         set headings [lsort -unique $c]     set res [gnocl::list -titles $c]     # populate the list     dict for {id info} $vals {         set row2 [string repeat "{} " [llength $c]]         set row2 [lreplace $row2 0 0 $id]         foreach {a b} $info {        

Recent Changes

Just a few additions and enhancements to the 0.9.96 code over the past couple of months. Latest sources available at Sourceforge. 2017-08:     gnocl::tree, gnocl::list         o cget -types now works.         o FIXED: crashing when getFullList called on model with 0 rows.     gnocl::text         o -onPopulatePopup Substitution options %r, %c and %t changed to %R(ow), %C(olumn) and %T(ags),              and %t reallocated to return id of widget toplevel window. 2017-07:     gnocl::entry         o added -onButtonPress and -onButtonRelease         o added getSelectionBounds for consistency with the text widget            gnocl::toolBar         o menuButton -icon can now be reconfigured.     gnocl::text         o FIXED: problems with serialize/deserialize, now tests for valid filename.     gnocl::comboEntry         o added -baseColor 2017-06:     gnocl::labelText         o added -orientation -leftMargin -rightMargin -margins -paragraphSpacing -lineSpacing -justify         o new commands