The following module was proposed for inclusion in the Module List:
modid: Text::InputRepository
DSLIP: bmpOg
description: Widget backend for storing/manipulating text
userid: CORLISS (Arthur Corliss)
chapterid: 11 (String_Lang_Text_Proc)
communities:
mailinglists
similar:
rationale:
I haven't found a module that will act as a text repository for
fixed-width font rendered widgets (GUI/Curses/etc.). What this
module provides:
1) Cursor tracking/manipulation (transparently access/manipulation
in either string ordinal index mode or (row, column) coordinates)
2) Input management (methods for character/string input,
backspaces, deletions, etc. from the cursor position)
3) Output formatting (automatically line wraps, expands tabs,
handles left/center/right alignment, etc.)
4) Search/Replace functionality (from cursor position, optionally
wrappping to the beginning)
There's a ton of formatting/parsing modules, but none that I could
find that concern themselves with #1 & #2, which are extremely
important to widget writers. #3 is implemented internally for
performance reasons (tab expansion and line wrapping, for instance,
is about 4-5 times faster than Text::Tabs + Text::Wrap) plus the
need to preserve characters (Text::Wrap will strip newlines from
adjacent lines that may comprise a paragraph). #4 is also
implemented internally since they depend/affect cursor position.
That's the justification for my request for inclusion.
enteredby: CORLISS (Arthur Corliss)
enteredon: Tue Feb 18 21:31:47 2003 GMT
The resulting entry would be:
Text::
::InputRepository bmpOg Widget backend for storing/manipulating text CORLISS
Thanks for registering,
The Pause Team
PS: The following links are only valid for module list maintainers:
Registration form with editing capabilities:
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=2e200000_97d78d724b6f5fcc&SUBMIT_pause99_add_mod_preview=1
Immediate (one click) registration:
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=2e200000_97d78d724b6f5fcc&SUBMIT_pause99_add_mod_insertit=1