SourceForge.net Logo






Flex-editing
(much of it is already implemented)

Allows one to select and manipulate text by clicking it or dragging over it. A
text selection can be very discontinuous. That is, it can consist of any combination
of single characters, words or groups of words which can be freely scattered all
over the document. As in a normal editor, selected text can be copied or deleted.
It can also be sent to a list.

It operates in three granularity modes: A character at a time, a "word" at a time, or
a line at a time.
It operates in three directionality modes: Normal (no directionality), to the beginning
of the line, and to end of the line.
With some tools, Shift+dragging will perform a "local undo".

Some of the basic tools are:

Select Selects any text
Shift+dragging will de-select any selected text

Select Special  Selects only the characters specified by type or individually.
Character types include punctuation, digits and letters.
Shift+dragging will de-select any selected text

Make List  Creates a list by dragging over the text to be included. It fills the list
as you go.

Single-Space and Left-justify

Replace Replaces normally, that is, specific text with specific text.

Replace Anything Replaces a character or word, with the specified text.

Insert-Repeat Repeatedly inserts specified text

Repeat List Item Repeatedly inserts an item from a list

Insert Series Generates and inserts a numerical or other type of series (once per
click or per line).

Insert from List Retrieves each selected item from a list and inserts each item in
turn, into the text.

Change Case (obvious enough)

Convert (not implemented yet) Will convert between number bases

Single-Space Single-spaces the current word with respect to the preceding one.

Expand-Spaces Expands spaces to a specified amount.

Insert Return  Inserts a carriage return, combining the removed text with the
text on the following one (holding Ctrl while dragging, pushes the following
line downward to make room for the new one).

Delete Return (not implemented yet) will be the opposite of Insert Return




To try out the flex mode features:
Note:
The effects of a tool are cumulative and can be in noncontiguous areas. That
is, it can be some text on the 20th  line and some more on the 32nd line,
etc, with no limit to complexity.
It's "flex-mode" typing code is not ready yet, so don't be confused when you
notice you can't type in this mode.

1) Open a txt or rtf file to fill the richedit which is visible in "normal" mode.
You can also paste text into it, instead. For now, these are the only ways to
get text into the flex-mode window.

2) Go to "Tools/Flex Mode". The text will lose any fancy formatting during
this transition (the tool window is visible in all modes, so you can't use that
to tell you when you're in flex-mode).

3) Select a tool from the tool window. It defaults to "Select". You may choose
a different "Resolution" and  "Direction" ("Sentence" resolution doesn't work
yet).

4) Drag the cursor in any combination of directions over the text (you can
also click it).
 For some tools the affected text will turn red to indicate that it has been
selected or affected and so the editor won't keep reapplying the tool to it.

5) To commit to the changes, press "Enter" or the "Accept" button in the tool
window. If you were using a selection tool, all text selected at this time will be
deleted. No changes can be reversed after this.

6) "Shift-dragging" using a selecting tool de-selects any selected text. With
other tools it reverses previous actions performed on the text. This "local undo"
feature is presently limited or non-existent for most features at this stage.

7) Pressing "Esc" or "Tools/Normal Mode" will commit to all changes, go to
normal mode and transfer the text back to the richedit.

Additional information:
For now, copying to the clipboard in flex-mode deliberately places "marker"  bytes into
the text for some advanced pasting abilities which aren't implemented yet.



The source code is in the "flex" folder of the CVS directory. Some features mentioned
here are not supported in this version yet.
Browse CVS




Website Home
Project Summary Page at SourceForge.net






This project is sponsored by TheirCorp
(formerly TheirWare Corporation)

TheirCorp Home Page