Tk::Table - Scrollable 2 dimensional table of Tk widgets

NAME  SYNOPSIS  DESCRIPTION  BUGS / Snags / Possible enhancements  SEE ALSO 

NAME

Tk::Table − Scrollable 2 dimensional table of Tk widgets

SYNOPSIS

use Tk::Table;
$table = $parent−>Table(−rows => number,
−columns => number,
−scrollbars => anchor,
−fixedrows => number,
−fixedcolumns => number,
−takefocus => boolean);
$widget = $table−>Button(...);
$old = $table−>put($row,$col,$widget);
$old = $table−>put($row,$col,"Text"); # simple Label
$widget = $table−>get($row,$col);
$cols = $table−>totalColumns;
$rows = $table−>totalRows;
$table−>see($widget);
$table−>see($row,$col);
($row,$col) = $table−>Posn($widget);

DESCRIPTION

Tk::Table is an all-perl widget/geometry manager which allows a two dimensional table of arbitary perl/Tk widgets to be displayed.

Entries in the Table are simply ordinary perl/Tk widgets. They should be created with the Table as their parent. Widgets are positioned in the table using:

$table−>put($row,$col,$widget)

If $widget is not a reference it is treated as a string, and a Lable widget is created with the string as its text.

All the widgets in each column are set to the same width − the requested width of the widest widget in the column. Likewise, all the widgets in each row are set to the same height − the requested height of the tallest widget in the column.

A number of rows and/or columns can be marked as ’fixed’ − and so can serve as ’headings’ for the remainder the rows which are scrollable.

The requested size of the table as a whole is such that the number of rows specified by −rows (default 10), and number of columns specified by −columns (default 10) can be displayed.

If the Table is told it can take the keyboard focus then cursor and scroll keys scroll the displayed widgets.

"−scrollbars". By default, scrollbars will be added "nw". To disable scrollbars, set "−scrollbars" to an empty string:

$table = $parent−>Table(−scrollbars => '', ...);

The table can be emptied using

$table−>clear

the widgets which were in the table are destroyed.

The Tk::Table widget is derived from a Tk::Frame, so inherits all its configure options.

The default focus traversal is giving the focus only to the table widget as a whole. To enable focus traversal into table cells (e.g. if there are embedded entry widgets), then the option "−takefocus" has to be set to 0.

BUGS / Snags / Possible enhancements

Very large Tables consume a lot of X windows.

No equivalent of pack’s −anchor/−pad etc. options

SEE ALSO

Tk::grid, Tk::HList, Tk::TableMatrix, Tk::MListbox, Tk::Columns


Updated 2024-01-29 - jenkler.se | uex.se