Skip to content

gitpan/Tk-TableMatrix

Repository files navigation

/*
 * This is a port of the tcl/tk Tktable Widget version 2.8 to perl/tk
 */

		*************************************
		  The Tk::TableMatrix Widget
		*************************************

INTRODUCTION

Tk::TableMatrix is a table/matrix widget extension to perl/tk
for displaying data in a table (or spreadsheet) format.
The basic features of the widget are:

 * multi-line cells
 * support for embedded windows (one per cell)
 * row & column spanning
 * variable width columns / height rows (interactively resizable)
 * row and column titles
 * multiple data sources ((perl hash|| perl callback) &| internal caching)
 * supports standard Tk reliefs, fonts, colors, etc.
 * x/y scrollbar support
 * 'tag' styles per row, column or cell to change visual appearance
 * in-cell editing - returns value back to data source
 * support for disabled (read-only) tables or cells (via tags)
 * multiple selection modes, with "active" cell
 * multiple drawing modes to get optimal performance for larger tables
 * optional 'flashes' when things update
 * cell validation support
 * Works everywhere Tk does (including Windows and Mac!)
    (Note perltk version has only been tested on Solaris, Linux, 
      win98/NT/mingw32 as of 11/12/02)

FINDING THE WIDGET

The Section TBD


BUILDING AND INSTALLING THE WIDGET

1. Uncompress and unpack the distribution

   ON UNIX:
	gzip -d Tk-TableMatrix<version>.tar.gz
	tar -xf Tk-TableMatrix<version>.tar

   ON WINDOWS:
	use something like WinZip to unpack the archive.

    
   This will create a subdirectory TableMatrix<version> with all the files in it.

2. Build/Test

    perl Makefile.PL
    make 
    make test
    
    There are also some demos in the demo directory:
    perl -Mblib demos/TableMatrixTest
    perl -Mblib demos/spreadsheet
    .
    .
    etc. 
   
3. Install
    make install

4. Read the documentation

   The tcl/tk html documentation has been translated to TableMatrix.pod. You can
   read it using the standard 'perldoc Tk::TableMatrix' command.

THINGS TO WATCH OUT FOR

Packing
  The table tries not to allocate huge chunks of screen real estate if
  you ask it for a lot of rows and columns.  You can always stretch out
  the frame or explicitly tell it how big it can be.  If you want to
  stretch the table, remember to pack it with fill both and expand on,
  or with grid, give it -sticky news and configure the grid row and column
  for some weighting.

Array   
  The array (actually a perl hash in the perltk implementation) elements
  for the table are of the form $array{"2,3"} etc.  Make
  sure there are no spaces around the ','.  Negative indices are allowed.

Editing
  If you can't edit, remember that the focus model in tk is explicit, so
  you need to click on the table or give it the focus command.  Just
  having a selected cell is not the same thing as being able to edit.
  You also need the editing cursor.  If you can't get the cursor, make
  sure that you actually have a variable assigned to the table, and that
  the "state" of the cell is not disabled.

COMMENTS, BUGS, etc.

* Please can you send comments and bug reports to the current maintainer
  and their best will be done to address them.

* If you find a bug, a short piece of Perl Code that exercises it would be very
  useful, or even better, compile with debugging and specify where it
  crashed in that short piece of Code.