Fl_Text_Editor Class Reference

This is the FLTK text editor widget. More...

`#include <Fl_Text_Editor.H>`

Inheritance diagram for Fl_Text_Editor:

## Classes

struct | Key_Binding
| Simple linked list associating a key/state to a function. More...

## Public Types

typedef int(* | Key_Func )(int key, Fl_Text_Editor *editor)
| Key function binding callback type.
Public Types inherited from Fl_Text_Display
enum | { NORMAL_CURSOR, CARET_CURSOR, DIM_CURSOR, BLOCK_CURSOR, HEAVY_CURSOR, SIMPLE_CURSOR }
| text display cursor shapes enumeration More...
enum | { CURSOR_POS, CHARACTER_POS }
| the character position is the left edge of a character, whereas the cursor is thought to be between the centers of two consecutive characters.
enum | { DRAG_NONE = -2, DRAG_START_DND = -1, DRAG_CHAR = 0, DRAG_WORD = 1, DRAG_LINE = 2 }
| drag types - they match Fl::event_clicks() so that single clicking to start a collection selects by character, double clicking selects by word and triple clicking selects by line.
enum | { WRAP_NONE, WRAP_AT_COLUMN, WRAP_AT_PIXEL, WRAP_AT_BOUNDS }
| wrap types - used in wrap_mode() More...
typedef void(* | Unfinished_Style_Cb )(int, void *)

## Public Member Functions

void | add_default_key_bindings (Key_Binding **list)
| Adds all of the default editor key bindings to the specified key binding list. More...
void | add_key_binding (int key, int state, Key_Func f, Key_Binding **list)
| Adds a key of state "state" with the function "function".
void | add_key_binding (int key, int state, Key_Func f)
| Adds a key of state "state" with the function "function".
Key_Func | bound_key_function (int key, int state, Key_Binding *list)
| Returns the function associated with a key binding. More...
Key_Func | bound_key_function (int key, int state)
| Returns the function associated with a key binding. More...
void | default_key_function (Key_Func f)
| Sets the default key function for unassigned keys. More...
| Fl_Text_Editor (int X, int Y, int W, int H, const char *l=0)
| The constructor creates a new text editor widget. More...
virtual int | handle (int e)
| Event handling.
void | insert_mode (int b)
| Sets the current insert mode; if non-zero, new text is inserted before the current cursor position. More...
int | insert_mode ()
| Gets the current insert mode; if non-zero, new text is inserted before the current cursor position. More...
void | remove_all_key_bindings (Key_Binding **list)
| Removes all of the key bindings associated with the text editor or list. More...
void | remove_all_key_bindings ()
| Removes all of the key bindings associated with the text editor or list. More...
void | remove_key_binding (int key, int state, Key_Binding **list)
| Removes the key binding associated with the key "key" of state "state".
void | remove_key_binding (int key, int state)
| Removes the key binding associated with the key "key" of state "state". More...
Public Member Functions inherited from Fl_Text_Display
void | buffer (Fl_Text_Buffer *buf)
| Attach a text buffer to display, replacing the current buffer (if any) More...
void | buffer (Fl_Text_Buffer &buf)
| Sets the current text buffer associated with the text widget. More...
Fl_Text_Buffer * | buffer () const
| Gets the current text buffer associated with the text widget. More...
double | col_to_x (double col) const
| Convert a column number into an x pixel position. More...
int | count_lines (int start, int end, bool start_pos_is_line_start) const
| Count the number of lines between two positions. More...
Fl_Color | cursor_color () const
| Gets the text cursor color. More...
void | cursor_color (Fl_Color n)
| Sets the text cursor color. More...
void | cursor_style (int style)
| Sets the text cursor style. More...
| Fl_Text_Display (int X, int Y, int W, int H, const char *l=0)
| Creates a new text display widget. More...
void | hide_cursor ()
| Hides the text cursor.
void | highlight_data (Fl_Text_Buffer *styleBuffer, const Style_Table_Entry *styleTable, int nStyles, char unfinishedStyle, Unfinished_Style_Cb unfinishedHighlightCB, void *cbArg)
| Attach (or remove) highlight information in text display and redisplay. More...
int | in_selection (int x, int y) const
| Check if a pixel position is within the primary selection. More...
void | insert (const char *text)
| Inserts "text" at the current cursor location. More...
void | insert_position (int newPos)
| Sets the position of the text insertion cursor for text display. More...
int | insert_position () const
| Gets the position of the text insertion cursor for text display. More...
int | line_end (int startPos, bool startPosIsLineStart) const
| Returns the end of a line. More...
int | line_start (int pos) const
| Return the beginning of a line. More...
int | move_down ()
| Moves the current insert position down one line. More...
int | move_left ()
| Moves the current insert position left one character. More...
int | move_right ()
| Moves the current insert position right one character. More...
int | move_up ()
| Moves the current insert position up one line. More...
void | next_word (void)
| Moves the current insert position right one word.
void | overstrike (const char *text)
| Replaces text at the current insert position. More...
int | position_style (int lineStartPos, int lineLen, int lineIndex) const
| Find the correct style for a character. More...
int | position_to_xy (int pos, int *x, int *y) const
| Convert a character index into a pixel position. More...
void | previous_word (void)
| Moves the current insert position left one word.
void | redisplay_range (int start, int end)
| Marks text from start to end as needing a redraw. More...
virtual void | resize (int X, int Y, int W, int H)
| Change the size of the displayed text area. More...
int | rewind_lines (int startPos, int nLines)
| Skip a number of lines back. More...
void | scroll (int topLineNum, int horizOffset)
| Scrolls the current buffer to start at the specified line and column. More...
Fl_Align | scrollbar_align () const
| Gets the scrollbar alignment type. More...
void | scrollbar_align (Fl_Align a)
| Sets the scrollbar alignment type. More...
int | scrollbar_width () const
| Gets the width/height of the scrollbars. More...
void | scrollbar_width (int W)
| Sets the width/height of the scrollbars. More...
int | shortcut () const
void | shortcut (int s)
void | show_cursor (int b=1)
| Shows the text cursor. More...
void | show_insert_position ()
| Scrolls the text buffer to show the current insert position. More...
int | skip_lines (int startPos, int nLines, bool startPosIsLineStart)
| Skip a number of lines forward. More...
Fl_Color | textcolor () const
| Gets the default color of text in the widget. More...
void | textcolor (Fl_Color n)
| Sets the default color of text in the widget. More...
Fl_Font | textfont () const
| Gets the default font used when drawing text in the widget. More...
void | textfont (Fl_Font s)
| Sets the default font used when drawing text in the widget. More...
Fl_Fontsize | textsize () const
| Gets the default size of text in the widget. More...
void | textsize (Fl_Fontsize s)
| Sets the default size of text in the widget. More...
int | word_end (int pos) const
| Moves the insert position to the end of the current word. More...
int | word_start (int pos) const
| Moves the insert position to the beginning of the current word. More...
void | wrap_mode (int wrap, int wrap_margin)
| Set the new text wrap mode. More...
int | wrapped_column (int row, int column) const
| Nobody knows what this function does. More...
int | wrapped_row (int row) const
| Nobody knows what this function does. More...
double | x_to_col (double x) const
| Convert an x pixel position into a column number. More...
| ~Fl_Text_Display ()
| Free a text display and release its associated memory. More...
Public Member Functions inherited from Fl_Group
Fl_Widget *& | _ddfdesign_kludge ()
| This is for forms compatibility only.
void | add (Fl_Widget &)
| The widget is removed from its current group (if any) and then added to the end of this group.
void | add (Fl_Widget *o)
| See void Fl_Group::add(Fl_Widget &w)
void | add_resizable (Fl_Widget &o)
| Adds a widget to the group and makes it the resizable widget.
Fl_Widget *const * | array () const
| Returns a pointer to the array of children. More...
virtual Fl_Group * | as_group ()
| Returns an Fl_Group pointer if this widget is an Fl_Group. More...
void | begin ()
| Sets the current group so you can build the widget tree by just constructing the widgets. More...
Fl_Widget * | child (int n) const
| Returns array()[n]. More...
int | children () const
| Returns how many child widgets the group has.
void | clear ()
| Deletes all child widgets from memory recursively. More...
void | clip_children (int c)
| Controls whether the group widget clips the drawing of child widgets to its bounding box. More...
unsigned int | clip_children ()
| Returns the current clipping mode. More...
void | end ()
| Exactly the same as current(this->parent()). More...
int | find (const Fl_Widget *) const
| Searches the child array for the widget and returns the index. More...
int | find (const Fl_Widget &o) const
| See int Fl_Group::find(const Fl_Widget *w) const.
| Fl_Group (int, int, int, int, const char *=0)
| Creates a new Fl_Group widget using the given position, size, and label string. More...
void | focus (Fl_Widget *W)
void | forms_end ()
| This is for forms compatibility only.
void | init_sizes ()
| Resets the internal array of widget sizes and positions. More...
void | insert (Fl_Widget &, int i)
| The widget is removed from its current group (if any) and then inserted into this group. More...
void | insert (Fl_Widget &o, Fl_Widget *before)
| This does insert(w, find(before)). More...
void | remove (int index)
| Removes the widget at `index` from the group but does not delete it. More...
void | remove (Fl_Widget &)
| Removes a widget from the group but does not delete it. More...
void | remove (Fl_Widget *o)
| Removes the widget `o` from the group. More...
void | resizable (Fl_Widget &o)
| See void Fl_Group::resizable(Fl_Widget *box)
void | resizable (Fl_Widget *o)
| The resizable widget defines the resizing box for the group. More...
Fl_Widget * | resizable () const
| See void Fl_Group::resizable(Fl_Widget *box)
virtual | ~Fl_Group ()
| The destructor also deletes all the children. More...
Public Member Functions inherited from Fl_Widget
void | _clear_fullscreen ()
void | _set_fullscreen ()
void | activate ()
| Activates the widget. More...
unsigned int | active () const
| Returns whether the widget is active. More...
int | active_r () const
| Returns whether the widget and all of its parents are active. More...
Fl_Align | align () const
| Gets the label alignment. More...
void | align (Fl_Align alignment)
| Sets the label alignment. More...
long | argument () const
| Gets the current user data (long) argument that is passed to the callback function.
void | argument (long v)
| Sets the current user data (long) argument that is passed to the callback function. More...
virtual class Fl_Gl_Window * | as_gl_window ()
| Returns an Fl_Gl_Window pointer if this widget is an Fl_Gl_Window. More...
virtual Fl_Window * | as_window ()
| Returns an Fl_Window pointer if this widget is an Fl_Window. More...
Fl_Boxtype | box () const
| Gets the box type of the widget. More...
void | box (Fl_Boxtype new_box)
| Sets the box type for the widget. More...
Fl_Callback_p | callback () const
| Gets the current callback function for the widget. More...
void | callback (Fl_Callback *cb, void *p)
| Sets the current callback function for the widget. More...
void | callback (Fl_Callback *cb)
| Sets the current callback function for the widget. More...
void | callback (Fl_Callback0 *cb)
| Sets the current callback function for the widget. More...
void | callback (Fl_Callback1 *cb, long p=0)
| Sets the current callback function for the widget. More...
unsigned int | changed () const
| Checks if the widget value changed since the last callback. More...
void | clear_changed ()
| Marks the value of the widget as unchanged. More...
void | clear_damage (uchar c=0)
| Clears or sets the damage flags. More...
void | clear_output ()
| Sets a widget to accept input. More...
void | clear_visible ()
| Hides the widget. More...
void | clear_visible_focus ()
| Disables keyboard focus navigation with this widget. More...
Fl_Color | color () const
| Gets the background color of the widget. More...
void | color (Fl_Color bg)
| Sets the background color of the widget. More...
void | color (Fl_Color bg, Fl_Color sel)
| Sets the background and selection color of the widget. More...
Fl_Color | color2 () const
| For back compatibility only. More...
void | color2 (unsigned a)
| For back compatibility only. More...
int | contains (const Fl_Widget *w) const
| Checks if w is a child of this widget. More...
void | copy_label (const char *new_label)
| Sets the current label. More...
void | copy_tooltip (const char *text)
| Sets the current tooltip text. More...
uchar | damage () const
| Returns non-zero if draw() needs to be called. More...
void | damage (uchar c)
| Sets the damage bits for the widget. More...
void | damage (uchar c, int x, int y, int w, int h)
| Sets the damage bits for an area inside the widget. More...
int | damage_resize (int, int, int, int)
| Internal use only. More...
void | deactivate ()
| Deactivates the widget. More...
Fl_Image * | deimage ()
| Gets the image that is used as part of the widget label. More...
const Fl_Image * | deimage () const
void | deimage (Fl_Image *img)
| Sets the image to use as part of the widget label. More...
void | deimage (Fl_Image &img)
| Sets the image to use as part of the widget label. More...
void | do_callback ()
| Calls the widget callback. More...
void | do_callback (Fl_Widget *o, long arg)
| Calls the widget callback. More...
void | do_callback (Fl_Widget *o, void *arg=0)
| Calls the widget callback. More...
void | draw_label (int, int, int, int, Fl_Align) const
| Draws the label in an arbitrary bounding box with an arbitrary alignment. More...
int | h () const
| Gets the widget height. More...
virtual void | hide ()
| Makes a widget invisible. More...
Fl_Image * | image ()
| Gets the image that is used as part of the widget label. More...
const Fl_Image * | image () const
void | image (Fl_Image *img)
| Sets the image to use as part of the widget label. More...
void | image (Fl_Image &img)
| Sets the image to use as part of the widget label. More...
int | inside (const Fl_Widget *wgt) const
| Checks if this widget is a child of `wgt`. More...
const char * | label () const
| Gets the current label text. More...
void | label (const char *text)
| Sets the current label pointer. More...
void | label (Fl_Labeltype a, const char *b)
| Shortcut to set the label text and type in one call. More...
Fl_Color | labelcolor () const
| Gets the label color. More...
void | labelcolor (Fl_Color c)
| Sets the label color. More...
Fl_Font | labelfont () const
| Gets the font to use. More...
void | labelfont (Fl_Font f)
| Sets the font to use. More...
Fl_Fontsize | labelsize () const
| Gets the font size in pixels. More...
void | labelsize (Fl_Fontsize pix)
| Sets the font size in pixels. More...
Fl_Labeltype | labeltype () const
| Gets the label type. More...
void | labeltype (Fl_Labeltype a)
| Sets the label type. More...
void | measure_label (int &ww, int &hh) const
| Sets width ww and height hh accordingly with the label size. More...
unsigned int | output () const
| Returns if a widget is used for output only. More...
Fl_Group * | parent () const
| Returns a pointer to the parent widget. More...
void | parent (Fl_Group *p)
| Internal use only - "for hacks only". More...
void | position (int X, int Y)
| Repositions the window or widget. More...
void | redraw ()
| Schedules the drawing of the widget. More...
void | redraw_label ()
| Schedules the drawing of the label. More...
Fl_Color | selection_color () const
| Gets the selection color. More...
void | selection_color (Fl_Color a)
| Sets the selection color. More...
void | set_changed ()
| Marks the value of the widget as changed. More...
void | set_output ()
| Sets a widget to output only. More...
void | set_visible ()
| Makes the widget visible. More...
void | set_visible_focus ()
| Enables keyboard focus navigation with this widget. More...
virtual void | show ()
| Makes a widget visible. More...
void | size (int W, int H)
| Changes the size of the widget. More...
int | take_focus ()
| Gives the widget the keyboard focus. More...
unsigned int | takesevents () const
| Returns if the widget is able to take events. More...
int | test_shortcut ()
| Returns true if the widget's label contains the entered '&x' shortcut. More...
const char * | tooltip () const
| Gets the current tooltip text. More...
void | tooltip (const char *text)
| Sets the current tooltip text. More...
uchar | type () const
| Gets the widget type. More...
void | type (uchar t)
| Sets the widget type. More...
int | use_accents_menu ()
| Returns non zero if MAC_USE_ACCENTS_MENU flag is set, 0 otherwise.
void * | user_data () const
| Gets the user data for this widget. More...
void | user_data (void *v)
| Sets the user data for this widget. More...
unsigned int | visible () const
| Returns whether a widget is visible. More...
void | visible_focus (int v)
| Modifies keyboard focus navigation. More...
unsigned int | visible_focus ()
| Checks whether this widget has a visible focus. More...
int | visible_r () const
| Returns whether a widget and all its parents are visible. More...
int | w () const
| Gets the widget width. More...
Fl_When | when () const
| Returns the conditions under which the callback is called. More...
void | when (uchar i)
| Sets the flags used to decide when a callback is called. More...
Fl_Window * | window () const
| Returns a pointer to the primary Fl_Window widget. More...
int | x () const
| Gets the widget position in its window. More...
int | y () const
| Gets the widget position in its window. More...
virtual | ~Fl_Widget ()
| Destroys the widget. More...

## Static Public Member Functions

static int | kf_backspace (int c, Fl_Text_Editor *e)
| Does a backspace in the current buffer. More...
static int | kf_c_s_move (int c, Fl_Text_Editor *e)
| Extends the current selection in the direction indicated by control key c. More...
static int | kf_copy (int c, Fl_Text_Editor *e)
| Does a copy of selected text or the current character in the current buffer. More...
static int | kf_ctrl_move (int c, Fl_Text_Editor *e)
| Moves the current text cursor in the direction indicated by control key.
static int | kf_cut (int c, Fl_Text_Editor *e)
| Does a cut of selected text in the current buffer. More...
static int | kf_default (int c, Fl_Text_Editor *e)
| Inserts the text associated with the key.
static int | kf_delete (int c, Fl_Text_Editor *e)
| Does a delete of selected text or the current character in the current buffer. More...
static int | kf_down (int c, Fl_Text_Editor *e)
| Moves the text cursor one line down. More...
static int | kf_end (int c, Fl_Text_Editor *e)
| Moves the text cursor to the end of the current line. More...
static int | kf_enter (int c, Fl_Text_Editor *e)
| Inserts a newline at the current cursor position.
static int | kf_home (int, Fl_Text_Editor *e)
| Moves the text cursor to the beginning of the current line. More...
static int | kf_ignore (int c, Fl_Text_Editor *e)
| Ignores the keypress.
static int | kf_insert (int c, Fl_Text_Editor *e)
| Toggles the insert mode in the text editor. More...
static int | kf_left (int c, Fl_Text_Editor *e)
| Moves the text cursor one character to the left. More...
static int | kf_m_s_move (int c, Fl_Text_Editor *e)
| Extends the current selection in the direction indicated by meta key c. More...
static int | kf_meta_move (int c, Fl_Text_Editor *e)
| Moves the current text cursor in the direction indicated by meta key.
static int | kf_move (int c, Fl_Text_Editor *e)
| Moves the text cursor in the direction indicated by key c. More...
static int | kf_page_down (int c, Fl_Text_Editor *e)
| Moves the text cursor down one page. More...
static int | kf_page_up (int c, Fl_Text_Editor *e)
| Moves the text cursor up one page. More...
static int | kf_paste (int c, Fl_Text_Editor *e)
| Does a paste of selected text in the current buffer. More...
static int | kf_right (int c, Fl_Text_Editor *e)
| Moves the text cursor one character to the right. More...
static int | kf_select_all (int c, Fl_Text_Editor *e)
| Selects all text in the current buffer. More...
static int | kf_shift_move (int c, Fl_Text_Editor *e)
| Extends the current selection in the direction of key c. More...
static int | kf_undo (int c, Fl_Text_Editor *e)
| Undo last edit in the current buffer. More...
static int | kf_up (int c, Fl_Text_Editor *e)
| Moves the text cursor one line up. More...

## Protected Member Functions

int | handle_key ()
| Handles a key press in the editor.
void | maybe_do_callback ()
| does or does not a callback according to changed() and when() settings
Protected Member Functions inherited from Fl_Text_Display
void | absolute_top_line_number (int oldFirstChar)
| Line numbering stuff, currently unused. More...
void | calc_last_char ()
| Update last display character index. More...
void | calc_line_starts (int startLine, int endLine)
| Update the line start arrays. More...
void | clear_rect (int style, int x, int y, int width, int height) const
| Clear a rectangle with the appropriate background color for `style`. More...
void | display_insert ()
| Scroll the display to bring insertion cursor into view. More...
virtual void | draw ()
| Draw the widget. More...
void | draw_cursor (int, int)
| Draw a cursor with top center at `X`, `Y`. More...
void | draw_line_numbers (bool clearAll)
| Refresh the line number area. More...
void | draw_range (int start, int end)
| Draw a range of text. More...
void | draw_string (int style, int x, int y, int toX, const char *string, int nChars) const
| Draw a text segment in a single style. More...
void | draw_text (int X, int Y, int W, int H)
| Refresh a rectangle of the text display. More...
void | draw_vline (int visLineNum, int leftClip, int rightClip, int leftCharIndex, int rightCharIndex)
| Draw a single line of text. More...
int | empty_vlines () const
| Return true if there are lines visible with no corresponding buffer text. More...
void | extend_range_for_styles (int *start, int *end)
| I don't know what this does! More...
void | find_line_end (int pos, bool start_pos_is_line_start, int *lineEnd, int *nextLineStart) const
| Finds both the end of the current line and the start of the next line. More...
void | find_wrap_range (const char *deletedText, int pos, int nInserted, int nDeleted, int *modRangeStart, int *modRangeEnd, int *linesInserted, int *linesDeleted)
| Wrapping calculations. More...
int | find_x (const char *s, int len, int style, int x) const
| Find the index of the character that lies at the given x position. More...
int | get_absolute_top_line_number () const
| Line numbering stuff, currently unused. More...
int | handle_vline (int mode, int lineStart, int lineLen, int leftChar, int rightChar, int topClip, int bottomClip, int leftClip, int rightClip) const
| Universal pixel machine. More...
int | longest_vline () const
| Find the longest line of all visible lines. More...
void | maintain_absolute_top_line_number (int state)
| Line numbering stuff, currently unused. More...
int | maintaining_absolute_top_line_number () const
| Line numbering stuff, currently unused. More...
void | measure_deleted_lines (int pos, int nDeleted)
| Wrapping calculations. More...
double | measure_proportional_character (const char *s, int colNum, int pos) const
| Wrapping calculations. More...
int | measure_vline (int visLineNum) const
| Returns the width in pixels of the displayed line pointed to by "visLineNum". More...
void | offset_line_starts (int newTopLineNum)
| Offset line start counters for a new vertical scroll position. More...
int | position_to_line (int pos, int *lineNum) const
| Convert a position index into a line number offset. More...
int | position_to_linecol (int pos, int *lineNum, int *column) const
| Find the line and column number of position `pos`. More...
void | reset_absolute_top_line_number ()
| Line numbering stuff, probably unused. More...
int | scroll_ (int topLineNum, int horizOffset)
| Scrolls the current buffer to start at the specified line and column. More...
double | string_width (const char *string, int length, int style) const
| Find the width of a string in the font of a particular style. More...
void | update_h_scrollbar ()
| Update vertical scrollbar. More...
void | update_line_starts (int pos, int charsInserted, int charsDeleted, int linesInserted, int linesDeleted, int *scrolled)
| Update line start arrays and variables. More...
void | update_v_scrollbar ()
| Update vertical scrollbar. More...
int | vline_length (int visLineNum) const
| Count number of bytes in a visible line. More...
int | wrap_uses_character (int lineEndPos) const
| Check if the line break is caused by a \n or by line wrapping. More...
void | wrapped_line_counter (Fl_Text_Buffer *buf, int startPos, int maxPos, int maxLines, bool startPosIsLineStart, int styleBufOffset, int *retPos, int *retLines, int *retLineStart, int *retLineEnd, bool countLastLineMissingNewLine=true) const
| Wrapping calculations. More...
int | xy_to_position (int x, int y, int PosType=CHARACTER_POS) const
| Translate a pixel position into a character index. More...
void | xy_to_rowcol (int x, int y, int *row, int *column, int PosType=CHARACTER_POS) const
| Translate pixel coordinates into row and column. More...
Protected Member Functions inherited from Fl_Group
void | draw_child (Fl_Widget &widget) const
| Forces a child to redraw. More...
void | draw_children ()
| Draws all children of the group. More...
void | draw_outside_label (const Fl_Widget &widget) const
| Parents normally call this to draw outside labels of child widgets. More...
int * | sizes ()
| Returns the internal array of widget sizes and positions. More...
void | update_child (Fl_Widget &widget) const
| Draws a child only if it needs it. More...
Protected Member Functions inherited from Fl_Widget
void | clear_flag (unsigned int c)
| Clears a flag in the flags mask.
void | draw_backdrop () const
| If FL_ALIGN_IMAGE_BACKDROP is set, the image or deimage will be drawn.
void | draw_box () const
| Draws the widget box according its box style.
void | draw_box (Fl_Boxtype t, Fl_Color c) const
| Draws a box of type t, of color c at the widget's position and size. More...
void | draw_box (Fl_Boxtype t, int x, int y, int w, int h, Fl_Color c) const
| Draws a box of type t, of color c at the position X,Y and size W,H. More...
void | draw_focus ()
| draws a focus rectangle around the widget
void | draw_focus (Fl_Boxtype t, int x, int y, int w, int h) const
| Draws a focus box for the widget at the given position and size.
void | draw_label () const
| Draws the widget's label at the defined label position. More...
void | draw_label (int, int, int, int) const
| Draws the label in an arbitrary bounding box. More...
| Fl_Widget (int x, int y, int w, int h, const char *label=0L)
| Creates a widget at the given position and size. More...
unsigned int | flags () const
| Gets the widget flags mask.
void | h (int v)
| Internal use only. More...
void | set_flag (unsigned int c)
| Sets a flag in the flags mask.
void | w (int v)
| Internal use only. More...
void | x (int v)
| Internal use only. More...
void | y (int v)
| Internal use only. More...

## Additional Inherited Members

Protected Types inherited from Fl_Text_Display
enum | { DRAW_LINE, FIND_INDEX, FIND_INDEX_FROM_ZERO, GET_WIDTH }
Static Protected Member Functions inherited from Fl_Text_Display
static void | buffer_modified_cb (int pos, int nInserted, int nDeleted, int nRestyled, const char *deletedText, void *cbArg)
| This is called whenever the buffer is modified. More...
static void | buffer_predelete_cb (int pos, int nDeleted, void *cbArg)
| This is called before any characters are deleted. More...
static void | h_scrollbar_cb (Fl_Scrollbar *w, Fl_Text_Display *d)
| Callbacks for drag or valueChanged on scrollbars.
static void | scroll_timer_cb (void *)
| Timer callback for scroll events. More...
static void | v_scrollbar_cb (Fl_Scrollbar *w, Fl_Text_Display *d)
| Callbacks for drag or valueChanged on scrollbars.
Protected Attributes inherited from Fl_Text_Display
int | damage_range1_end
int | damage_range1_start
int | damage_range2_end
int | damage_range2_start
int | display_insert_position_hint
int | dragging
int | dragPos
int | dragType
int | mAbsTopLineNum
Fl_Text_Buffer * | mBuffer
double | mColumnScale
int | mContinuousWrap
Fl_Color | mCursor_color
int | mCursorOldY
int | mCursorOn
int | mCursorPos
int | mCursorPreferredXPos
int | mCursorStyle
int | mCursorToHint
int | mFirstChar
void * | mHighlightCBArg
int | mHorizOffset
int | mHorizOffsetHint
Fl_Scrollbar * | mHScrollBar
int | mLastChar
int | mLineNumLeft
int | mLineNumWidth
int * | mLineStarts
int | mMaxsize
int | mModifyingTabDistance
int | mNBufferLines
int | mNeedAbsTopLineNum
int | mNLinesDeleted
int | mNStyles
int | mNVisibleLines
Fl_Text_Buffer * | mStyleBuffer
const Style_Table_Entry * | mStyleTable
int | mSuppressResync
int | mTopLineNum
int | mTopLineNumHint
Unfinished_Style_Cb | mUnfinishedHighlightCB
char | mUnfinishedStyle
Fl_Scrollbar * | mVScrollBar
int | mWrapMarginPix
Fl_Align | scrollbar_align_
int | scrollbar_width_
int | shortcut_
struct {
int h
int w
int x
int y
} | text_area
Fl_Color | textcolor_
Fl_Font | textfont_
Fl_Fontsize | textsize_

## Detailed Description

This is the FLTK text editor widget.

It allows the user to edit multiple lines of text and supports highlighting and scrolling. The buffer that is displayed in the widget is managed by the Fl_Text_Buffer class.

## Constructor & Destructor Documentation

Fl_Text_Editor::Fl_Text_Editor | ( | int | X,
|  | int | Y,
|  | int | W,
|  | int | H,
|  | const char * | l = `0`
| ) |  |

The constructor creates a new text editor widget.

## Member Function Documentation

void Fl_Text_Editor::add_default_key_bindings | ( | Key_Binding ** | list | ) |

Adds all of the default editor key bindings to the specified key binding list.

Fl_Text_Editor::Key_Func Fl_Text_Editor::bound_key_function | ( | int | key,
|  | int | state,
|  | Key_Binding * | list
| ) |  |

Returns the function associated with a key binding.

Key_Func Fl_Text_Editor::bound_key_function | ( | int | key,
|  | int | state
| ) |  |

inline

Returns the function associated with a key binding.

void Fl_Text_Editor::default_key_function | ( | Key_Func | f | ) |

inline

Sets the default key function for unassigned keys.

void Fl_Text_Editor::insert_mode | ( | int | b | ) |

inline

Sets the current insert mode; if non-zero, new text is inserted before the current cursor position.

Otherwise, new text replaces text at the current cursor position.

int Fl_Text_Editor::insert_mode | ( |  | ) |

inline

Gets the current insert mode; if non-zero, new text is inserted before the current cursor position.

Otherwise, new text replaces text at the current cursor position.

int Fl_Text_Editor::kf_backspace | ( | int | c,
|  | Fl_Text_Editor * | e
| ) |  |

static

Does a backspace in the current buffer.

int Fl_Text_Editor::kf_c_s_move | ( | int | c,
|  | Fl_Text_Editor * | e
| ) |  |

static

Extends the current selection in the direction indicated by control key c.

int Fl_Text_Editor::kf_copy | ( | int | c,
|  | Fl_Text_Editor * | e
| ) |  |

static

Does a copy of selected text or the current character in the current buffer.

int Fl_Text_Editor::kf_cut | ( | int | c,
|  | Fl_Text_Editor * | e
| ) |  |

static

Does a cut of selected text in the current buffer.

int Fl_Text_Editor::kf_delete | ( | int | c,
|  | Fl_Text_Editor * | e
| ) |  |

static

Does a delete of selected text or the current character in the current buffer.

int Fl_Text_Editor::kf_down | ( | int | c,
|  | Fl_Text_Editor * | e
| ) |  |

static

Moves the text cursor one line down.

int Fl_Text_Editor::kf_end | ( | int | c,
|  | Fl_Text_Editor * | e
| ) |  |

static

Moves the text cursor to the end of the current line.

int Fl_Text_Editor::kf_home | ( | int | ,
|  | Fl_Text_Editor * | e
| ) |  |

static

Moves the text cursor to the beginning of the current line.

int Fl_Text_Editor::kf_insert | ( | int | c,
|  | Fl_Text_Editor * | e
| ) |  |

static

Toggles the insert mode in the text editor.

int Fl_Text_Editor::kf_left | ( | int | c,
|  | Fl_Text_Editor * | e
| ) |  |

static

Moves the text cursor one character to the left.

int Fl_Text_Editor::kf_m_s_move | ( | int | c,
|  | Fl_Text_Editor * | e
| ) |  |

static

Extends the current selection in the direction indicated by meta key c.

int Fl_Text_Editor::kf_move | ( | int | c,
|  | Fl_Text_Editor * | e
| ) |  |

static

Moves the text cursor in the direction indicated by key c.

int Fl_Text_Editor::kf_page_down | ( | int | c,
|  | Fl_Text_Editor * | e
| ) |  |

static

Moves the text cursor down one page.

int Fl_Text_Editor::kf_page_up | ( | int | c,
|  | Fl_Text_Editor * | e
| ) |  |

static

Moves the text cursor up one page.

int Fl_Text_Editor::kf_paste | ( | int | c,
|  | Fl_Text_Editor * | e
| ) |  |

static

Does a paste of selected text in the current buffer.

int Fl_Text_Editor::kf_right | ( | int | c,
|  | Fl_Text_Editor * | e
| ) |  |

static

Moves the text cursor one character to the right.

int Fl_Text_Editor::kf_select_all | ( | int | c,
|  | Fl_Text_Editor * | e
| ) |  |

static

Selects all text in the current buffer.

int Fl_Text_Editor::kf_shift_move | ( | int | c,
|  | Fl_Text_Editor * | e
| ) |  |

static

Extends the current selection in the direction of key c.

int Fl_Text_Editor::kf_undo | ( | int | c,
|  | Fl_Text_Editor * | e
| ) |  |

static

Undo last edit in the current buffer.

Also deselect previous selection.

int Fl_Text_Editor::kf_up | ( | int | c,
|  | Fl_Text_Editor * | e
| ) |  |

static

Moves the text cursor one line up.

void Fl_Text_Editor::remove_all_key_bindings | ( | Key_Binding ** | list | ) |

Removes all of the key bindings associated with the text editor or list.

void Fl_Text_Editor::remove_all_key_bindings | ( |  | ) |

inline

Removes all of the key bindings associated with the text editor or list.

void Fl_Text_Editor::remove_key_binding | ( | int | key,
|  | int | state
| ) |  |

inline

Removes the key binding associated with the key "key" of state "state".

The documentation for this class was generated from the following files:

- Fl_Text_Editor.H
- Fl_Text_Editor.cxx

- © 1998-2012 by Bill Spitzak and others.