## class fltk::TextEditor

### Class Hierarchy

    fltk::TextDisplay
       |
       +----fltk::TextEditor

### Include Files

    #include <FL/TextEditor.H>

### 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 `fltk::TextBuffer` class.

### Methods

- fltk::TextEditor
- ~TextEditor
- add_default_key_bindings
- add_key_binding
- bound_key_function
- default_key_function
- insert_mode
- kf_backspace
- kf_copy
- kf_c_s_move
- kf_ctrl_move
- kf_cut
- kf_default
- kf_delete
- kf_down
- kf_end
- kf_enter
- kf_home
- kf_ignore
- kf_insert
- kf_left
- kf_move
- kf_page_down
- kf_page_up
- kf_paste
- kf_right
- kf_select_all
- kf_shift_move
- kf_up
- remove_all_key_bindings
- remove_key_binding

#### fltk::TextEditor(int X, int Y, int W, int H, const char* l = 0);

#### ~TextEditor();

#### void add_default_key_bindings(Key_Binding** list);

#### void add_key_binding(int key, int state, Key_Func f, Key_Binding** list);
void add_key_binding(int key, int state, Key_Func f);

#### Key_Func bound_key_function(int key, int state, Key_Binding* list);
Key_Func bound_key_function(int key, int state);

#### void default_key_function(Key_Func f);

#### void insert_mode(int b);
int insert_mode();

#### int kf_backspace(int c, fltk::TextEditor* e);

#### int kf_copy(int c, fltk::TextEditor* e);

#### int kf_c_s_move(int c, fltk::TextEditor* e);

#### int kf_ctrl_move(int c, fltk::TextEditor* e);

#### int kf_cut(int c, fltk::TextEditor* e);

#### int kf_default(int c, fltk::TextEditor* e);

#### int kf_delete(int c, fltk::TextEditor* e);

#### int kf_down(int c, fltk::TextEditor* e);

#### int kf_end(int c, fltk::TextEditor* e);

#### int kf_enter(int c, fltk::TextEditor* e);

#### int kf_home(int c, fltk::TextEditor* e);

#### int kf_ignore(int c, fltk::TextEditor* e);

#### int kf_insert(int c, fltk::TextEditor* e);

#### int kf_left(int c, fltk::TextEditor* e);

#### int kf_move(int c, fltk::TextEditor* e);

#### int kf_page_down(int c, fltk::TextEditor* e);

#### int kf_page_up(int c, fltk::TextEditor* e);

#### int kf_paste(int c, fltk::TextEditor* e);

#### int kf_right(int c, fltk::TextEditor* e);

#### int kf_select_all(int c, fltk::TextEditor* e);

#### int kf_shift_move(int c, fltk::TextEditor* e);

#### int kf_up(int c, fltk::TextEditor* e);

#### void remove_all_key_bindings(Key_Binding** list);
void remove_all_key_bindings();

#### void remove_key_binding(int key, int state, Key_Binding** list);
void remove_key_binding(int key, int state);