dwww Home | Manual pages | Find package

Reindex(3pm)                 perl/Tk Documentation                 Reindex(3pm)

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.

Tk1.1                              2025-04-13                      Reindex(3pm)

Generated by dwww version 1.16 on Sat Oct 3 07:36:52 CEST 2026.