Bryan Oakley's combobox package is a library extension for Tcl/Tk versions 8.0 or higher, written in pure Tcl/Tk code. Its download location is
http://www1.clearlight.com/~oakley/tcl/combobox
Tablelist supports interactive cell editing with the aid of the combobox widget implemented in the package mentioned above. The steps needed for using this widget for editing the cells of a given column are as follows:
tablelist::addOakleyCombobox
command
described below.columnconfigure
subcommand to set the given column's -editable
option
to true and its -editwindow
option to the value returned by the command mentioned above.
(These options are supported at cell level, too, with the aid of
the cellconfigure
subcommand.)REMARK: The arrow and scrollbar components of the
temporary embedded combobox widget used for interactive cell
editing will appear properly scaled, according to the display's DPI
scaling level, given by the variable
tablelist::scalingpct
.
tablelist::addOakleyCombobox
Commandtablelist::addOakleyCombobox
– Register Bryan
Oakley's combobox widget for interactive cell editingtablelist::addOakleyCombobox ?name?
-editwindow
column or cell configuration option. It may be any string
that is different from the Tk
core and tile edit window
names. The default is combobox
. The
command returns its name
argument.name
will be created with its
-editable
option set to 1
.
You can use the script corresponding to the -editstartcommand
tablelist configuration option to make the combobox non-editable or
define validations for its entry child (whose path name can be
obtained by invoking the tablelist widget's entrypath
subcommand, or by appending .entry
to the path
name of the combobox widget, or, if using combobox version 2.3 or
later, with the aid of the combobox widget's
subwidget entry
subcommand), as well as
for populating its listbox component (by using the combobox
widget's list insert
subcommand).