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