plucky (3) Tk::Reindex.3pm.gz

Provided by: perl-tk_804.036+dfsg1-3_amd64 bug

NAME

       Tk::Reindex - change the base index of Text-like widgets

SYNOPSIS

           use Tk::ReindexedText;
           $t1=$w->ReindexedText(-linestart => 2);

           use Tk::ReindexedROText;
           $t2=$w->ReindexedROText(-linestart => 0);

DESCRIPTION

       Creates a new widget class based on Text-like widgets that can redefine the line number base (normally
       Text widgets start line numbers at 1), or possibly other manipulations on indexes.

STANDARD OPTIONS

       The newly-defined widget takes all the same options as the base widget, which defaults to Text.

WIDGET-SPECIFIC OPTIONS

       Name:   lineStart
       Class:  LineStart
       Switch: -linestart
           Sets the line number of the first line in the Text widget. The default -toindexcmd and -fromindexcmd
           use this configuration option.

           -item Name:   toIndexCmd  fromIndexCmd

           -item Class:  ToIndexCmd  FromIndexCmd

           -item Switch: -toindexcmd -fromindexcmd

           These two options specify callbacks that are called with a list of indexes and are responsible for
           translating them to/from indexes that the base Text widget can understand. The callback is passed the
           widget followed by a list of indexes, and should return a list of translated indexes. -toindexcmd
           should translate from 'user' indexes to 'native' Text-compatible indexes, and -fromindexcmd should
           translate from 'native' indexes to 'user' indexes.

           The default callbacks simply add/subtract the offset given by the -linestart option for all indexes
           in 'line.character' format.

           It would probably be prudent to make these functions inverses of each other.

CLASS METHODS

       import
           To make new Reindex widgets, this function should be called via use with the name of the Text-like
           base class that you are extending with "Reindex" capability.  'use base(Tk::Reindex
           Tk::nameofbasewidget)' should also be specified for that widget.

BUGS

       I've used the word "indexes" instead of "indices" throughout the documentation.

       All the built-in perl code for widget bindings & methods will use the new 'user' indexes.  Which means
       all this index manipulation might might break code that is trying to parse/manipulate indexes. Or even
       assume that '1.0' is the beginning index.  Tk::Text::Contents comes to mind.

AUTHOR

       Andrew Allen <ada@fc.hp.com>

       This code may be distributed under the same conditions as Perl.