This class actually implements the text editor. The Viewer which holds this datastructure is just a mechanism for routing events to this class. More...
Classes | |
struct | CharCompare |
Public Types | |
typedef bool(Impl::* | func_handler )(viewport *, Viewer *, input_event const *) |
returns true if the specified line is in the marked block | |
Public Member Functions | |
bool | block_adjust (viewport *, Viewer *, input_event const *) |
bool | block_copy (viewport *, Viewer *, input_event const *) |
bool | block_delete (viewport *, Viewer *, input_event const *) |
bool | block_insert (viewport *, Viewer *, input_event const *) |
bool | block_paste (viewport *, Viewer *, input_event const *) |
bool | block_save (viewport *, Viewer *, input_event const *) |
bool | block_transform (viewport *, Viewer *, input_event const *) |
TextIterator | bot_pointer () |
get iterator to char under the cursor | |
bool | char_delete (viewport *, Viewer *, input_event const *) |
bool | char_delprv (viewport *, Viewer *, input_event const *) |
bool | char_insert (viewport *, Viewer *, input_event const *) |
bool | char_left (viewport *, Viewer *, input_event const *) |
bool | char_matching (viewport *, Viewer *, input_event const *) |
bool | char_right (viewport *, Viewer *, input_event const *) |
bool | cpptags_all (viewport *, Viewer *, input_event const *) |
Snatch the word under the cursor out of the edit buffer and look it up in the TAGPP.tagpp database. List all matches in grep format. | |
bool | cpptags_first (viewport *, Viewer *, input_event const *) |
Snatch the word under the cursor out of the edit buffer and look it up in the cpptags database. | |
TextIterator | cur_pointer () |
get iterator to first character in the edit session | |
void | display_line (viewport *vp, int line) |
Get a reference to the text of the current line. Don't cache these values because edit activities can create or delete them and your cache will be out of sync. | |
void | erase_line (rep_type::iterator location, int corresponding_line, bool save_undo_info=true) |
Erase a line given an iterator to it (see line_address above). | |
bool | etags_all (viewport *, Viewer *, input_event const *) |
Snatch the word under the cursor out of the edit buffer and look it up in the etags database. List all matches in grep format. | |
bool | etags_first (viewport *, Viewer *, input_event const *) |
Snatch the word under the cursor out of the edit buffer and look it up in the etags database. | |
bool | fetchAllLines (std::list< std::string > &outout) |
extract all lines of the edit session | |
bool | file_bottom (viewport *, Viewer *, input_event const *) |
bool | file_insert (viewport *, Viewer *, input_event const *) |
bool | file_top (viewport *, Viewer *, input_event const *) |
bool | find_first (viewport *, Viewer *, input_event const *) |
bool | find_next (viewport *, Viewer *, input_event const *) |
bool | find_next_helper (viewport *, Viewer *, input_event const *) |
The table of valid editor functions. This a mapping between an integer and a pointer to a member of the Impl class. The 'int' that gets mapped into a pointer to member is the result of taking the input event and using it as an index in the CursorWindow::func map. The function id (an int) returned is used as an index into the Impl class func map to get a pointer to the function to implement the desired function. The map actually contains a pair<ptr, bool> where the pointer is the func_handler and the bool is a flag indicating that this function is modifies the edit session or only moves around within it. The integers in the CursorWindow;:func map are defined in enum CursorWindow::edit_function_names. | |
bool | find_prev (viewport *, Viewer *, input_event const *) |
bool | find_prev_helper (viewport *, Viewer *, input_event const *) |
This function is the actual search routine. It assumes that the search_text_ string is set and that the cursor is position at the start of the search. This function does not wrap around at the bottom of the file. | |
bool | is_marked (int line) |
given a specified viewport size, return how many character rows are available for drawing edit text. | |
bool | is_word_char (char c) |
Save the edit session to the file from whence it came. | |
rep_type::iterator | line_address (int line_no) |
Get an iterator to a specified line number. | |
bool | line_clreol (viewport *, Viewer *, input_event const *) |
bool | line_del (viewport *, Viewer *, input_event const *) |
bool | line_down (viewport *, Viewer *, input_event const *) |
bool | line_end (viewport *, Viewer *, input_event const *) |
bool | line_goto (viewport *, Viewer *, input_event const *) |
bool | line_home (viewport *, Viewer *, input_event const *) |
bool | line_insert (viewport *, Viewer *, input_event const *) |
bool | line_join (viewport *, Viewer *, input_event const *) |
bool | line_mark (viewport *, Viewer *, input_event const *) |
bool | line_split (viewport *, Viewer *, input_event const *) |
EditLine & | line_text (int line_no) |
Get the current line's representation in the edit session. | |
bool | line_up (viewport *, Viewer *, input_event const *) |
void | make_col_visible (viewport *, Viewer *) |
void | make_line_visible (viewport *, Viewer *, bool center=true) |
Make sure col_ is visible -- ie handle horizontal scrolling to ensure that it is. | |
bool | page_down (viewport *, Viewer *, input_event const *) |
bool | page_up (viewport *, Viewer *, input_event const *) |
void | paint_page (viewport *vp, Viewer *v) |
void | push_undo_line_change (int line, std::string const &old_text) |
Push a change to a line on the undo stack -- unless the current line already has a change -- multiple changes per line are not saved for space reasons. | |
UndoOperation * | push_undo_stack () |
void | read_file () |
Read the file into this edit session. Use the name found in 'fullname_'. | |
bool | replace_first (viewport *, Viewer *, input_event const *) |
void | replace_line (int line_no, std::string const &new_text, bool save_undo=true) |
This is the central location for changes to the file. The file is changed, one whole line at a time. Every character you insert, individually, results in a call to this function. This function knows how to implement 'undo'. | |
bool | replace_next (viewport *, Viewer *, input_event const *) |
bool | replace_next_helper (viewport *, Viewer *, input_event const *) |
Same as find_next_helper but scans up through the file, not down. | |
bool | reread (viewport *, Viewer *, input_event const *) |
void | restore_cursor (viewport *vp) |
Well, what do you expect it to do? It repaints the editor page, title and all. | |
void | save (viewport *, TextEditor *, input_event const *) |
Same as find_next_helper except that it actually replaces the text found in the search match with replacement_ and leaves the cursor in the first column after the replacement. If this function returns false, it did not change anything. The caller is responsible for restoring the cursor position, painting pages, etc. | |
bool | show_symbols (viewport *, Viewer *, input_event const *) |
int | size () |
Number of lines in the edit session. | |
bool | snatch_edit (viewport *, Viewer *, input_event const *) |
bool | switch_source (viewport *, Viewer *, input_event const *) |
bool | tab_left (viewport *, Viewer *, input_event const *) |
bool | tab_right (viewport *, Viewer *, input_event const *) |
bool | tags_next (viewport *, Viewer *, input_event const *) |
Repeat the most recent etags_first search. | |
bool | to_edit (viewport *, Viewer *, input_event const *) |
TextIterator | top_pointer () |
bool | undo (viewport *, Viewer *, input_event const *) |
size_t | vheight (row_col &vp_size) |
given a specified viewport size, return how many character columns are available for drawing edit text. | |
size_t | vwidth (row_col &vp_size) |
Make sure cur_ is visible -- ie handle vertical scrolling to ensure that it is. Also, this function makes sure that cur_ is within a valid extent of the file if possible. The third parameter, center, indicates that an attempt should be made to make the current line centered in the viewport if it is not already visible. When scrolling one line at a time, you'd NOT want to do this, but in most other cases you would. | |
bool | word_delete (viewport *, Viewer *, input_event const *) |
bool | word_next (viewport *, Viewer *, input_event const *) |
bool | word_prev (viewport *, Viewer *, input_event const *) |
bool | word_sfind (viewport *, Viewer *, input_event const *) |
Snatch the word under the cursor out of the edit buffer and put it in the find string buffer. Then perform a find next on it. | |
Public Attributes | |
bool | active_ |
left column in viewport where lines are drawn | |
int | bottom_line_ |
current column within the line (may be past end of valid data on the line | |
size_t | col_ |
1 + last marked line in the block | |
int | cur_ |
offset from beginning of line till left of page | |
int | first_mark_ |
current line in the file | |
int | first_row_ |
is this window active? | |
FileName | fullname_ |
size_t | htab_ |
line no of last visible line ( may not be valid line no ) | |
bool | is_dirty_ |
push front and pop front only! | |
bool | is_new_ |
bool | is_regex_ |
bool | is_writeable_ |
can we write the data in this file? | |
bool | key_kludge_ |
the regexp to use if needed | |
int | last_mark_ |
first line of the marked block of the file | |
int | left_ |
name of file being edited | |
size_t | left_margin_ |
compress using tabs when saving the file | |
rep_type | lines_ |
column to put cursor in on line split operations | |
ViewerManager * | manager_ |
bool | match_words_ |
bool | mixed_case_ |
get iterator to end of edit session | |
size_t | page_left_ |
offset from beginning of file till top of page | |
int | page_top_ |
where editor data appears | |
SimpleRegex | regexp_ |
is the search_text_ a regular expression? | |
std::string | replacement_ |
replaces search_text_ in replace_first and _next ops. | |
std::string | search_text_ |
current string to search for | |
UndoOperation::undo_stack | undo_stack_ |
Was this file newly created for this edit session. | |
bool | use_tabs_ |
horizontal tab size | |
std::string | word_chars_ |
container of line text | |
bool | word_kludge_ |
this shouldn't exist, it is just a development mechanism to allow 2 key command processing. | |
Static Public Attributes | |
static std::map< int, std::pair< func_handler, bool > > | func |
A data type representing a member of the TextEditor::Impl class. |
This class actually implements the text editor. The Viewer which holds this datastructure is just a mechanism for routing events to this class.
Editor commands are implemented as member functions of this class and the mapping between editor commands and these functions is stored in a static member, func.
The records in the edit session are stored in a skiprope. This container pretends to be a vector, and has all its limitations, but gives O(ln(N)) access to the array elements -- including inserts and deletes.
Definition at line 459 of file texteditor.cxx.
typedef bool(Impl::* func_handler)(viewport *, Viewer *, input_event const *) |
returns true if the specified line is in the marked block
Definition at line 682 of file texteditor.cxx.
bool block_adjust | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
bool block_copy | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
bool block_delete | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
Definition at line 3396 of file texteditor.cxx.
bool block_insert | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
bool block_paste | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
bool block_save | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
bool block_transform | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
TextIterator bot_pointer | ( | ) |
get iterator to char under the cursor
Definition at line 5146 of file texteditor.cxx.
bool char_delete | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
Definition at line 2318 of file texteditor.cxx.
bool char_delprv | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
bool char_insert | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
bool char_left | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
bool char_matching | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
bool char_right | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
bool cpptags_all | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
Snatch the word under the cursor out of the edit buffer and look it up in the TAGPP.tagpp database. List all matches in grep format.
Definition at line 4905 of file texteditor.cxx.
bool cpptags_first | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
Snatch the word under the cursor out of the edit buffer and look it up in the cpptags database.
Definition at line 4657 of file texteditor.cxx.
TextIterator cur_pointer | ( | ) |
get iterator to first character in the edit session
Definition at line 5153 of file texteditor.cxx.
void display_line | ( | viewport * | vp, | |
int | line | |||
) |
Get a reference to the text of the current line. Don't cache these values because edit activities can create or delete them and your cache will be out of sync.
Definition at line 1479 of file texteditor.cxx.
void erase_line | ( | rep_type::iterator | location, | |
int | corresponding_line, | |||
bool | save_undo_info = true | |||
) |
Erase a line given an iterator to it (see line_address above).
Definition at line 621 of file texteditor.cxx.
bool etags_all | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
Snatch the word under the cursor out of the edit buffer and look it up in the etags database. List all matches in grep format.
Definition at line 4764 of file texteditor.cxx.
bool etags_first | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
Snatch the word under the cursor out of the edit buffer and look it up in the etags database.
Definition at line 4572 of file texteditor.cxx.
bool fetchAllLines | ( | std::list< std::string > & | outout | ) |
extract all lines of the edit session
Definition at line 6179 of file texteditor.cxx.
bool file_bottom | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
bool file_insert | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
bool file_top | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
Definition at line 1820 of file texteditor.cxx.
bool find_first | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
bool find_next | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
bool find_next_helper | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
The table of valid editor functions. This a mapping between an integer and a pointer to a member of the Impl class. The 'int' that gets mapped into a pointer to member is the result of taking the input event and using it as an index in the CursorWindow::func map. The function id (an int) returned is used as an index into the Impl class func map to get a pointer to the function to implement the desired function. The map actually contains a pair<ptr, bool> where the pointer is the func_handler and the bool is a flag indicating that this function is modifies the edit session or only moves around within it. The integers in the CursorWindow;:func map are defined in enum CursorWindow::edit_function_names.
return true if the string is found
Definition at line 2979 of file texteditor.cxx.
bool find_prev | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
bool find_prev_helper | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
This function is the actual search routine. It assumes that the search_text_ string is set and that the cursor is position at the start of the search. This function does not wrap around at the bottom of the file.
return true if the string is found
The caller must save the cur_ and col_ values if needed. This function returns true if the string is found and leaves col_ and cur_ pointing to the beginning of the found string. If the string is not found, col_and cur_ point to the end of the file or there abouts.
Definition at line 2767 of file texteditor.cxx.
bool is_marked | ( | int | line | ) |
given a specified viewport size, return how many character rows are available for drawing edit text.
Definition at line 679 of file texteditor.cxx.
bool is_word_char | ( | char | c | ) |
Save the edit session to the file from whence it came.
Check to see if a specified character is a 'word character' by consulting the 'word_chars_' table.
Definition at line 723 of file texteditor.cxx.
rep_type::iterator line_address | ( | int | line_no | ) |
Get an iterator to a specified line number.
Definition at line 615 of file texteditor.cxx.
bool line_clreol | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
bool line_del | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
bool line_down | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
bool line_end | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
bool line_goto | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
bool line_home | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
bool line_insert | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
bool line_join | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
Definition at line 5611 of file texteditor.cxx.
bool line_mark | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
bool line_split | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
EditLine& line_text | ( | int | line_no | ) |
Get the current line's representation in the edit session.
Definition at line 643 of file texteditor.cxx.
bool line_up | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
Definition at line 1624 of file texteditor.cxx.
Make sure col_ is visible -- ie handle horizontal scrolling to ensure that it is.
Definition at line 1705 of file texteditor.cxx.
bool page_down | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
bool page_up | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
void push_undo_line_change | ( | int | line, | |
std::string const & | old_text | |||
) |
Push a change to a line on the undo stack -- unless the current line already has a change -- multiple changes per line are not saved for space reasons.
Definition at line 559 of file texteditor.cxx.
UndoOperation* push_undo_stack | ( | ) |
Definition at line 519 of file texteditor.cxx.
void read_file | ( | ) |
Read the file into this edit session. Use the name found in 'fullname_'.
Definition at line 1931 of file texteditor.cxx.
bool replace_first | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
void replace_line | ( | int | line_no, | |
std::string const & | new_text, | |||
bool | save_undo = true | |||
) |
This is the central location for changes to the file. The file is changed, one whole line at a time. Every character you insert, individually, results in a call to this function. This function knows how to implement 'undo'.
Definition at line 603 of file texteditor.cxx.
bool replace_next | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
bool replace_next_helper | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
Same as find_next_helper but scans up through the file, not down.
replace at most one string -- leaves cursor at end of replacement or some random place -- remember to fix it back the way it was if the replace fails. In any case make sure the cursor is visible
Definition at line 3299 of file texteditor.cxx.
bool reread | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
void restore_cursor | ( | viewport * | vp | ) |
Well, what do you expect it to do? It repaints the editor page, title and all.
Put the cursor where it should be.
Definition at line 551 of file texteditor.cxx.
void save | ( | viewport * | vp, | |
TextEditor * | v, | |||
input_event const * | e | |||
) |
Same as find_next_helper except that it actually replaces the text found in the search match with replacement_ and leaves the cursor in the first column after the replacement. If this function returns false, it did not change anything. The caller is responsible for restoring the cursor position, painting pages, etc.
Definition at line 3986 of file texteditor.cxx.
bool show_symbols | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
int size | ( | ) |
Number of lines in the edit session.
Definition at line 536 of file texteditor.cxx.
bool snatch_edit | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
bool switch_source | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
bool tab_left | ( | viewport * | , | |
Viewer * | , | |||
input_event const * | ||||
) |
bool tab_right | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
bool tags_next | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
Repeat the most recent etags_first search.
OR repeat the most recent cpptags_first search -- whichever happened most recently.
Definition at line 5050 of file texteditor.cxx.
bool to_edit | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
TextIterator top_pointer | ( | ) |
bool undo | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
size_t vheight | ( | row_col & | vp_size | ) |
given a specified viewport size, return how many character columns are available for drawing edit text.
Definition at line 675 of file texteditor.cxx.
size_t vwidth | ( | row_col & | vp_size | ) |
Make sure cur_ is visible -- ie handle vertical scrolling to ensure that it is. Also, this function makes sure that cur_ is within a valid extent of the file if possible. The third parameter, center, indicates that an attempt should be made to make the current line centered in the viewport if it is not already visible. When scrolling one line at a time, you'd NOT want to do this, but in most other cases you would.
Definition at line 671 of file texteditor.cxx.
bool word_delete | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
bool word_next | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
bool word_prev | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
bool word_sfind | ( | viewport * | vp, | |
Viewer * | v, | |||
input_event const * | e | |||
) |
Snatch the word under the cursor out of the edit buffer and put it in the find string buffer. Then perform a find next on it.
Definition at line 4524 of file texteditor.cxx.
bool active_ |
left column in viewport where lines are drawn
Definition at line 476 of file texteditor.cxx.
int bottom_line_ |
current column within the line (may be past end of valid data on the line
Definition at line 488 of file texteditor.cxx.
size_t col_ |
1 + last marked line in the block
Definition at line 485 of file texteditor.cxx.
int cur_ |
offset from beginning of line till left of page
Definition at line 481 of file texteditor.cxx.
int first_mark_ |
current line in the file
Definition at line 482 of file texteditor.cxx.
int first_row_ |
is this window active?
Definition at line 477 of file texteditor.cxx.
Definition at line 474 of file texteditor.cxx.
std::map< int, std::pair< Impl::func_handler, bool > > func [static] |
A data type representing a member of the TextEditor::Impl class.
Definition at line 685 of file texteditor.cxx.
size_t htab_ |
line no of last visible line ( may not be valid line no )
Definition at line 490 of file texteditor.cxx.
bool is_dirty_ |
push front and pop front only!
Definition at line 517 of file texteditor.cxx.
bool is_new_ |
Definition at line 513 of file texteditor.cxx.
bool is_regex_ |
Definition at line 503 of file texteditor.cxx.
bool is_writeable_ |
can we write the data in this file?
Definition at line 511 of file texteditor.cxx.
bool key_kludge_ |
the regexp to use if needed
Definition at line 506 of file texteditor.cxx.
int last_mark_ |
first line of the marked block of the file
Definition at line 483 of file texteditor.cxx.
int left_ |
name of file being edited
Definition at line 475 of file texteditor.cxx.
size_t left_margin_ |
compress using tabs when saving the file
Definition at line 493 of file texteditor.cxx.
column to put cursor in on line split operations
Definition at line 496 of file texteditor.cxx.
Definition at line 531 of file texteditor.cxx.
bool match_words_ |
Definition at line 747 of file texteditor.cxx.
bool mixed_case_ |
get iterator to end of edit session
Definition at line 746 of file texteditor.cxx.
size_t page_left_ |
offset from beginning of file till top of page
Definition at line 479 of file texteditor.cxx.
int page_top_ |
where editor data appears
Definition at line 478 of file texteditor.cxx.
is the search_text_ a regular expression?
Definition at line 504 of file texteditor.cxx.
std::string replacement_ |
replaces search_text_ in replace_first and _next ops.
Definition at line 502 of file texteditor.cxx.
std::string search_text_ |
current string to search for
Definition at line 501 of file texteditor.cxx.
Was this file newly created for this edit session.
Definition at line 515 of file texteditor.cxx.
bool use_tabs_ |
horizontal tab size
Definition at line 491 of file texteditor.cxx.
std::string word_chars_ |
container of line text
string containing character which can comprise words.
Definition at line 498 of file texteditor.cxx.
bool word_kludge_ |
this shouldn't exist, it is just a development mechanism to allow 2 key command processing.
Kludges on top of kludges -- oh my ;-(
Definition at line 509 of file texteditor.cxx.