Provided by: libtk-tablematrix-perl_1.29-1_amd64 bug

NAME

       Tk::TableMatrix::SpreadsheetHideRows - Table Display with selectable hide/un-hide of rows

SYNOPSIS

         use Tk;
         use Tk::TableMatrix::SpreadsheetHideRows

         my $t = $top->Scrolled('SpreadsheetHideRows',
           -selectorCol => 3,
           -expandData => $hashRef,
           -rows => 21, -cols => 11,
           -width => 6, -height => 6,
           -titlerows => 1, -titlecols => 1,
           -variable => $arrayVar,
           -selectmode => 'extended',
           -resizeborders => 'both',
           -bg => 'white',
         );

DESCRIPTION

       Tk::TableMatrix::SpreadsheetHideRows is a Tk::TableMatrix::Spreadsheet-derived widget that
       implements a Spreadsheet-like display of tabular information, where some of the rows in
       the table can be expanded/hidden by clicking a '+/-' selector in the row. This can be used
       to display top-level information in a table, while allowing the user to expand certain
       table rows to view detail-level information.

       See demos/SpreadsheetHideRows in the source distribution for a simple example of this
       widget

Widget-specific Options

       In addition the standard Tk::TableMatrix widget options. The following options are
       implemented:

       -selectorCol
        Column number where the +/- selector will appear. Clicking on the +/- selector will
        expand/hide the detail information in the table for a particular row.

       -selectorColWidth
        Width of the column used to display the +/- selector. Defaults to 2

       -expandData
        Hash ref defining the detail-level data displayed when a row is expanded (by clicking the
        +/- selector). This hash ref should have the following structure:

          $expandData = {
                row1 => {  tag  => 'detailDataTag',
                           data => $detailData,
                           spans=> $spanData,
                           expandData => $subLevelData
                        },
                row2 => {
                   .
                   .
          }

          Where:
            row1, row2, ...         Row numbers that will be expandable.
            tag => 'detailDataTag'  Tag name that will be applied to the detail data.
                                    (optional)
            $detailData              2D Array of detail-data to be displayed when
                                     the row is expanded.
                                     e.g. [ [ r1c1, r1c2, r1c3 ],
                                            [ r2c1, r2c2, r2,c3] ]
            $spans                   1D array of span information (optional) to be
                                     used for display of the detail information.
                                     e.g.  [ col2 =>  "rows,cols", col4 =>  "rows,cols", ... ]

            $subLevelData            Optional Recursive expandData used to hold detail-data of detail-data.

MEMBER DATA

       The following items are stored as member data

       defaultCursor
        Name of the mouse cursor pointer that is used for normal (i.e. non-title, non-indicator)
        cells in the widget.  This is set to the value of the $widget->cget(-cursor) option when
        the widget is created.

       indRowCols
        Hash ref of Row/Cols indexes where there are indicators stores. This is a quick lookup
        hash built from _expandData.

       _expandData
        Internal version of the expandData hash. Any sub-detail data (i.e. expand data that is at
        lower levels of expandData) that is visible is placed at the top level of this hash, for
        keeping track of the visible expandData.

Widget Methods

       In addition the standard Tk::TableMatrix widget method. The following methods are
       implemented:

   showDetail
       Shows (i.e. expands the table) the detail data for a given row. This method is called when
       a user clicks on an indicator that is not already expanded.

       Usage:

        $widget->showDetail($row);

        # Shows the detail data for row number $row

   hideDetail
       Hides the detail data for a given row. This method is called when a user clicks on an
       indicator that is already expanded.

       Usage:

        $widget->hideDetail($row);

        # Hides the detail data for row number $row