Start of text buffer docos. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1754 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
364 lines
15 KiB
HTML
364 lines
15 KiB
HTML
<HTML>
|
|
<BODY>
|
|
|
|
<!-- NEW PAGE -->
|
|
|
|
<H2><A name="Fl_Text_Buffer">class Fl_Text_Buffer</A></H2>
|
|
|
|
<HR>
|
|
|
|
<H3>Class Hierarchy</H3>
|
|
|
|
<UL><PRE>
|
|
<B>Fl_Text_Buffer</B>
|
|
|
|
|
+----<A href="Fl_Text_Display.html">Fl_Text_Display</A>,
|
|
<A href="Fl_Text_Editor.html">Fl_Text_Editor</A>
|
|
</PRE></UL>
|
|
|
|
<H3>Include Files</H3>
|
|
|
|
<UL><PRE>
|
|
#include <FL/Fl_Text_Buffer.H>
|
|
</PRE></UL>
|
|
|
|
<H3>Description</H3>
|
|
|
|
<P>The <TT>Fl_Text_Buffer</TT> class is used by the <TT>Fl_Text_Display</TT>
|
|
and <TT>Fl_Text_Editor</TT> to manage complex text data and is based upon the
|
|
excellent NEdit text editor engine - see
|
|
<A HREF="http://www.nedit.org/">http://www.nedit.org/</A>.</P>
|
|
|
|
<H3>Methods</H3>
|
|
|
|
<UL>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.Fl_Text_Buffer">Fl_Text_Buffer</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.~Fl_Text_Buffer">~Fl_Text_Buffer</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.add_modify_callback">add_modify_callback</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.append">append</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.appendfile">appendfile</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.call_modify_callbacks">call_modify_callbacks</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.character">character</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.character_width">character_width</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.clear_rectangular">clear_rectangular</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.copy">copy</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.count_displayed_characters">count_displayed_characters</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.count_lines">count_lines</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.expand_character">expand_character</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.findchar_backward">findchar_backward</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.findchar_forward">findchar_forward</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.findchars_backward">findchars_backward</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.findchars_forward">findchars_forward</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.highlight">highlight</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.highlight_position">highlight_position</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.highlight_rectangular">highlight_rectangular</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.highlight_selection">highlight_selection</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.highlight_text">highlight_text</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.insert_column">insert_column</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.insertfile">insertfile</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.insert">insert</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.length">length</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.line_end">line_end</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.line_start">line_start</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.line_text">line_text</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.loadfile">loadfile</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.null_substitution_character">null_substitution_character</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.outputfile">outputfile</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.overlay_rectangular">overlay_rectangular</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.primary_selection">primary_selection</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.remove_modify_callback">remove_modify_callback</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.remove_rectangular">remove_rectangular</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.remove">remove</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.remove_secondary_selection">remove_secondary_selection</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.remove_selection">remove_selection</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.replace_rectangular">replace_rectangular</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.replace">replace</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.replace_secondary_selection">replace_secondary_selection</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.replace_selection">replace_selection</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.rewind_lines">rewind_lines</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.savefile">savefile</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.search_backward">search_backward</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.search_forward">search_forward</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.secondary_selection_position">secondary_selection_position</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.secondary_selection">secondary_selection</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.secondary_selection_text">secondary_selection_text</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.secondary_select_rectangular">secondary_select_rectangular</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.secondary_select">secondary_select</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.secondary_unselect">secondary_unselect</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.selected">selected</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.selection_position">selection_position</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.selection_text">selection_text</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.select_rectangular">select_rectangular</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.select">select</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.skip_displayed_characters">skip_displayed_characters</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.skip_lines">skip_lines</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.substitute_null_characters">substitute_null_characters</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.tab_distance">tab_distance</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.tab_distance">tab_distance</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.text_in_rectangle">text_in_rectangle</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.text_range">text_range</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.text">text</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.unhighlight">unhighlight</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.unselect">unselect</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.unsubstitute_null_characters">unsubstitute_null_characters</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.word_end">word_end</A></H4>
|
|
<H4><A NAME="Fl_Text_Buffer.word_start">word_start</A></H4>
|
|
|
|
</UL>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.Fl_Text_Buffer">Fl_Text_Buffer</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.~Fl_Text_Buffer">~Fl_Text_Buffer</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.add_modify_callback">add_modify_callback</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.append">append</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.appendfile">appendfile</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.call_modify_callbacks">call_modify_callbacks</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.character">character</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.character_width">character_width</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.clear_rectangular">clear_rectangular</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.copy">copy</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.count_displayed_characters">count_displayed_characters</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.count_lines">count_lines</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.expand_character">expand_character</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.findchar_backward">findchar_backward</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.findchar_forward">findchar_forward</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.findchars_backward">findchars_backward</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.findchars_forward">findchars_forward</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.highlight">highlight</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.highlight_position">highlight_position</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.highlight_rectangular">highlight_rectangular</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.highlight_selection">highlight_selection</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.highlight_text">highlight_text</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.insert_column">insert_column</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.insertfile">insertfile</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.insert">insert</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.length">length</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.line_end">line_end</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.line_start">line_start</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.line_text">line_text</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.loadfile">loadfile</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.null_substitution_character">null_substitution_character</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.outputfile">outputfile</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.overlay_rectangular">overlay_rectangular</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.primary_selection">primary_selection</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.remove_modify_callback">remove_modify_callback</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.remove_rectangular">remove_rectangular</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.remove">remove</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.remove_secondary_selection">remove_secondary_selection</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.remove_selection">remove_selection</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.replace_rectangular">replace_rectangular</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.replace">replace</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.replace_secondary_selection">replace_secondary_selection</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.replace_selection">replace_selection</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.rewind_lines">rewind_lines</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.savefile">savefile</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.search_backward">search_backward</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.search_forward">search_forward</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.secondary_selection_position">secondary_selection_position</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.secondary_selection">secondary_selection</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.secondary_selection_text">secondary_selection_text</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.secondary_select_rectangular">secondary_select_rectangular</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.secondary_select">secondary_select</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.secondary_unselect">secondary_unselect</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.selected">selected</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.selection_position">selection_position</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.selection_text">selection_text</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.select_rectangular">select_rectangular</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.select">select</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.skip_displayed_characters">skip_displayed_characters</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.skip_lines">skip_lines</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.substitute_null_characters">substitute_null_characters</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.tab_distance">tab_distance</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.tab_distance">tab_distance</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.text_in_rectangle">text_in_rectangle</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.text_range">text_range</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.text">text</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.unhighlight">unhighlight</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.unselect">unselect</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.unsubstitute_null_characters">unsubstitute_null_characters</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.word_end">word_end</A></H4>
|
|
|
|
<H4><A NAME="Fl_Text_Buffer.word_start">word_start</A></H4>
|
|
|
|
|
|
|
|
Fl_Text_Buffer(int requestedSize = 0);
|
|
~Fl_Text_Buffer();
|
|
|
|
int length() { return mLength; }
|
|
const char* text();
|
|
void text(const char* text);
|
|
const char* text_range(int start, int end);
|
|
char character(int pos);
|
|
const char* text_in_rectangle(int start, int end, int rectStart, int rectEnd);
|
|
void insert(int pos, const char* text);
|
|
void append(const char* text) { insert(length(), text); }
|
|
void remove(int start, int end);
|
|
void replace(int start, int end, const char *text);
|
|
void copy(Fl_Text_Buffer* fromBuf, int fromStart, int fromEnd, int toPos);
|
|
int insertfile(const char *file, int pos, int buflen = 128*1024);
|
|
int appendfile(const char *file, int buflen = 128*1024)
|
|
{ return insertfile(file, length(), buflen); }
|
|
int loadfile(const char *file, int buflen = 128*1024)
|
|
{ select(0, length()); remove_selection(); return appendfile(file, buflen); }
|
|
int outputfile(const char *file, int start, int end, int buflen = 128*1024);
|
|
int savefile(const char *file, int buflen = 128*1024)
|
|
{ return outputfile(file, 0, length(), buflen); }
|
|
|
|
void insert_column(int column, int startPos, const char* text,
|
|
int* charsInserted, int* charsDeleted);
|
|
|
|
void replace_rectangular(int start, int end, int rectStart, int rectEnd,
|
|
const char* text);
|
|
|
|
void overlay_rectangular(int startPos, int rectStart, int rectEnd,
|
|
const char* text, int* charsInserted,
|
|
int* charsDeleted);
|
|
|
|
void remove_rectangular(int start, int end, int rectStart, int rectEnd);
|
|
void clear_rectangular(int start, int end, int rectStart, int rectEnd);
|
|
int tab_distance() { return mTabDist; }
|
|
void tab_distance(int tabDist);
|
|
void select(int start, int end);
|
|
int selected() { return mPrimary.selected(); }
|
|
void unselect();
|
|
void select_rectangular(int start, int end, int rectStart, int rectEnd);
|
|
int selection_position(int* start, int* end);
|
|
|
|
int selection_position(int* start, int* end, int* isRect, int* rectStart,
|
|
int* rectEnd);
|
|
|
|
const char* selection_text();
|
|
void remove_selection();
|
|
void replace_selection(const char* text);
|
|
void secondary_select(int start, int end);
|
|
void secondary_unselect();
|
|
|
|
void secondary_select_rectangular(int start, int end, int rectStart,
|
|
int rectEnd);
|
|
|
|
int secondary_selection_position(int* start, int* end, int* isRect,
|
|
int* rectStart, int* rectEnd);
|
|
|
|
const char* secondary_selection_text();
|
|
void remove_secondary_selection();
|
|
void replace_secondary_selection(const char* text);
|
|
void highlight(int start, int end);
|
|
void unhighlight();
|
|
void highlight_rectangular(int start, int end, int rectStart, int rectEnd);
|
|
|
|
int highlight_position(int* start, int* end, int* isRect, int* rectStart,
|
|
int* rectEnd);
|
|
|
|
const char* highlight_text();
|
|
void add_modify_callback(Fl_Text_Modify_Cb bufModifiedCB, void* cbArg);
|
|
void remove_modify_callback(Fl_Text_Modify_Cb bufModifiedCB, void* cbArg);
|
|
|
|
void call_modify_callbacks() { call_modify_callbacks(0, 0, 0, 0, 0); }
|
|
|
|
const char* line_text(int pos);
|
|
int line_start(int pos);
|
|
int line_end(int pos);
|
|
int word_start(int pos);
|
|
int word_end(int pos);
|
|
int expand_character(int pos, int indent, char *outStr);
|
|
|
|
static int expand_character(char c, int indent, char* outStr, int tabDist,
|
|
char nullSubsChar);
|
|
|
|
static int character_width(char c, int indent, int tabDist, char nullSubsChar);
|
|
int count_displayed_characters(int lineStartPos, int targetPos);
|
|
int skip_displayed_characters(int lineStartPos, int nChars);
|
|
int count_lines(int startPos, int endPos);
|
|
int skip_lines(int startPos, int nLines);
|
|
int rewind_lines(int startPos, int nLines);
|
|
int findchar_forward(int startPos, char searchChar, int* foundPos);
|
|
int findchar_backward(int startPos, char searchChar, int* foundPos);
|
|
int findchars_forward(int startPos, const char* searchChars, int* foundPos);
|
|
int findchars_backward(int startPos, const char* searchChars, int* foundPos);
|
|
|
|
int search_forward(int startPos, const char* searchString, int* foundPos,
|
|
int matchCase = 0);
|
|
|
|
int search_backward(int startPos, const char* searchString, int* foundPos,
|
|
int matchCase = 0);
|
|
|
|
int substitute_null_characters(char* string, int length);
|
|
void unsubstitute_null_characters(char* string);
|
|
char null_substitution_character() { return mNullSubsChar; }
|
|
Fl_Text_Selection* primary_selection() { return &mPrimary; }
|
|
Fl_Text_Selection* secondary_selection() { return &mSecondary; }
|
|
Fl_Text_Selection* highlight_selection() { return &mHighlight; }
|
|
|
|
</BODY>
|
|
</HTML>
|