<!DOCTYPE html>

<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>Fl_Text_Editor Binding Map</title>
    <link href="map.css" rel="stylesheet">
  </head>

  <body>


<h2>Fl_Text_Editor Binding Map</h2>


<a href="index.html">Back to Index</a>


<table class="package">
  <tr><th colspan="2">Package name</th></tr>

  <tr>
    <td>Fl_Text_Editor</td>
    <td>FLTK.Widgets.Groups.Text_Displays.Text_Editors</td>
  </tr>

</table>



<table class="type">
  <tr><th colspan="2">Types</th></tr>

  <tr>
    <td>Fl_Text_Editor</td>
    <td>Text_Editor</td>
  </tr>

  <tr>
    <td>&nbsp;</td>
    <td>Text_Editor_Reference</td>
  </tr>

  <tr>
    <td>int</td>
    <td>Insert_Mode</td>
  </tr>

  <tr>
    <td>int</td>
    <td>Tab_Navigation</td>
  </tr>

  <tr>
    <td>Key_Func</td>
    <td>Key_Func</td>
  </tr>

  <tr>
    <td>Key_Func</td>
    <td>Default_Key_Func</td>
  </tr>

  <tr>
    <td>Key_Binding</td>
    <td>Key_Binding</td>
  </tr>

  <tr>
    <td>Key_Binding</td>
    <td>Key_Binding_Array</td>
  </tr>

  <tr>
    <td>Key_Binding</td>
    <td>Key_Binding_Vectors.Vector</td>
  </tr>

</table>



<table class="function">
  <tr><th colspan="2">Static Attributes</th></tr>

  <tr>
<td>Use the add_default_key_bindings function.</td>
<td><pre>
Default_Key_Bindings : constant Key_Binding_Array := ...
</pre></td>
  </tr>

</table>



<table class="function">
  <tr><th colspan="2">Static Protected Attributes</th></tr>

  <tr>
<td><pre>
static Key_Binding * global_key_bindings;
</pre></td>
<td><pre>
Global_Key_Bindings : Key_Binding_Vectors.Vector;
</pre></td>
  </tr>

</table>



<table class="function">
  <tr><th colspan="2">Constructors</th></tr>

  <tr>
<td><pre>
Fl_Text_Editor(int X, int Y, int W, int H, const char *L=0);
</pre></td>
<td><pre>
function Create
       (X, Y, W, H : in Integer;
        Text       : in String := "")
    return Text_Editor;
</pre></td>
  </tr>

  <tr>
<td>Rely on the automatic use of begin when a group is created, or use begin/end
explicitly, or add each widget to its intended parent group manually.</td>
<td><pre>
function Create
       (Parent     : in out Groups.Group'Class;
        X, Y, W, H : in     Integer;
        Text       : in     String := "")
    return Text_Editor;
</pre></td>
  </tr>

</table>



<table class="function">
  <tr><th colspan="2">Static Functions and Procedures</th></tr>

  <tr>
<td><pre>
static int kf_backspace(int c, Fl_Text_Editor *e);
</pre></td>
<td><pre>
procedure KF_Backspace
       (This : in out Text_Editor'Class);
</pre></td>
  </tr>

  <tr>
<td><pre>
static int kf_c_s_move(int c, Fl_Text_Editor *e);
</pre></td>
<td><pre>
procedure KF_Ctrl_Shift_Home
       (This : in out Text_Editor'Class);

procedure KF_Ctrl_Shift_End
       (This : in out Text_Editor'Class);

procedure KF_Ctrl_Shift_Page_Down
       (This : in out Text_Editor'Class);

procedure KF_Ctrl_Shift_Page_Up
       (This : in out Text_Editor'Class);

procedure KF_Ctrl_Shift_Down
       (This : in out Text_Editor'Class);

procedure KF_Ctrl_Shift_Left
       (This : in out Text_Editor'Class);

procedure KF_Ctrl_Shift_Right
       (This : in out Text_Editor'Class);

procedure KF_Ctrl_Shift_Up
       (This : in out Text_Editor'Class);
</pre></td>
  </tr>

  <tr>
<td><pre>
static int kf_copy(int c, Fl_Text_Editor *e);
</pre></td>
<td><pre>
procedure KF_Copy
       (This : in out Text_Editor'Class);
</pre></td>
  </tr>

  <tr>
<td><pre>
static int kf_ctrl_move(int c, Fl_Text_Editor *e);
</pre></td>
<td><pre>
procedure KF_Ctrl_Home
       (This : in out Text_Editor'Class);

procedure KF_Ctrl_End
       (This : in out Text_Editor'Class);

procedure KF_Ctrl_Page_Down
       (This : in out Text_Editor'Class);

procedure KF_Ctrl_Page_Up
       (This : in out Text_Editor'Class);

procedure KF_Ctrl_Down
       (This : in out Text_Editor'Class);

procedure KF_Ctrl_Left
       (This : in out Text_Editor'Class);

procedure KF_Ctrl_Right
       (This : in out Text_Editor'Class);

procedure KF_Ctrl_Up
       (This : in out Text_Editor'Class);
</pre></td>
  </tr>

  <tr>
<td><pre>
static int kf_cut(int c, Fl_Text_Editor *e);
</pre></td>
<td><pre>
procedure KF_Cut
       (This : in out Text_Editor'Class);
</pre></td>
  </tr>

  <tr>
<td><pre>
static int kf_default(int c, Fl_Text_Editor *e);
</pre></td>
<td><pre>
procedure KF_Default
       (This : in out Text_Editor'Class;
        Key  : in     Key_Combo);
</pre></td>
  </tr>

  <tr>
<td><pre>
static int kf_delete(int c, Fl_Text_Editor *e);
</pre></td>
<td><pre>
procedure KF_Delete
       (This : in out Text_Editor'Class);
</pre></td>
  </tr>

  <tr>
<td><pre>
static int kf_down(int c, Fl_Text_Editor *e);
</pre></td>
<td><pre>
procedure KF_Down
       (This : in out Text_Editor'Class);
</pre></td>
  </tr>

  <tr>
<td><pre>
static int kf_end(int c, Fl_Text_Editor *e);
</pre></td>
<td><pre>
procedure KF_End
       (This : in out Text_Editor'Class);
</pre></td>
  </tr>

  <tr>
<td><pre>
static int kf_enter(int c, Fl_Text_Editor *e);
</pre></td>
<td><pre>
procedure KF_Enter
       (This : in out Text_Editor'Class);
</pre></td>
  </tr>

  <tr>
<td><pre>
static int kf_home(int, Fl_Text_Editor *e);
</pre></td>
<td><pre>
procedure KF_Home
       (This : in out Text_Editor'Class);
</pre></td>
  </tr>

  <tr>
<td><pre>
static int kf_ignore(int c, Fl_Text_Editor *e);
</pre></td>
<td><pre>
procedure KF_Ignore
       (This : in out Text_Editor'Class);
</pre></td>
  </tr>

  <tr>
<td><pre>
static int kf_insert(int c, Fl_Text_Editor *e);
</pre></td>
<td><pre>
procedure KF_Insert
       (This : in out Text_Editor'Class);
</pre></td>
  </tr>

  <tr>
<td><pre>
static int kf_left(int c, Fl_Text_Editor *e);
</pre></td>
<td><pre>
procedure KF_Left
       (This : in out Text_Editor'Class);
</pre></td>
  </tr>

  <tr>
<td><pre>
static int kf_m_s_move(int c, Fl_Text_Editor *e);
</pre></td>
<td><pre>
procedure KF_Meta_Shift_Home
       (This : in out Text_Editor'Class);

procedure KF_Meta_Shift_End
       (This : in out Text_Editor'Class);

procedure KF_Meta_Shift_Page_Down
       (This : in out Text_Editor'Class);

procedure KF_Meta_Shift_Page_Up
       (This : in out Text_Editor'Class);

procedure KF_Meta_Shift_Down
       (This : in out Text_Editor'Class);

procedure KF_Meta_Shift_Left
       (This : in out Text_Editor'Class);

procedure KF_Meta_Shift_Right
       (This : in out Text_Editor'Class);

procedure KF_Meta_Shift_Up
       (This : in out Text_Editor'Class);
</pre></td>
  </tr>

  <tr>
<td><pre>
static int kf_meta_move(int c, Fl_Text_Editor *e);
</pre></td>
<td><pre>
procedure KF_Meta_Home
       (This : in out Text_Editor'Class);

procedure KF_Meta_End
       (This : in out Text_Editor'Class);

procedure KF_Meta_Page_Down
       (This : in out Text_Editor'Class);

procedure KF_Meta_Page_Up
       (This : in out Text_Editor'Class);

procedure KF_Meta_Down
       (This : in out Text_Editor'Class);

procedure KF_Meta_Left
       (This : in out Text_Editor'Class);

procedure KF_Meta_Right
       (This : in out Text_Editor'Class);

procedure KF_Meta_Up
       (This : in out Text_Editor'Class);
</pre></td>
  </tr>

  <tr>
<td><pre>
static int kf_move(int c, Fl_Text_Editor *e);
</pre></td>
<td>Already covered by KF_Home, KF_End, KF_Page_Down, KF_Page_Up,
KF_Down, KF_Left, KF_Right, KF_Up.</td>
  </tr>

  <tr>
<td><pre>
static int kf_page_down(int c, Fl_Text_Editor *e);
</pre></td>
<td><pre>
procedure KF_Page_Down
       (This : in out Text_Editor'Class);
</pre></td>
  </tr>

  <tr>
<td><pre>
static int kf_page_up(int c, Fl_Text_Editor *e);
</pre></td>
<td><pre>
procedure KF_Page_Up
       (This : in out Text_Editor'Class);
</pre></td>
  </tr>

  <tr>
<td><pre>
static int kf_paste(int c, Fl_Text_Editor *e);
</pre></td>
<td><pre>
procedure KF_Paste
       (This : in out Text_Editor'Class);
</pre></td>
  </tr>

  <tr>
<td><pre>
static int kf_right(int c, Fl_Text_Editor *e);
</pre></td>
<td><pre>
procedure KF_Right
       (This : in out Text_Editor'Class);
</pre></td>
  </tr>

  <tr>
<td><pre>
static int kf_select_all(int c, Fl_Text_Editor *e);
</pre></td>
<td><pre>
procedure KF_Select_All
       (This : in out Text_Editor'Class);
</pre></td>
  </tr>

  <tr>
<td><pre>
static int kf_shift_move(int c, Fl_Text_Editor *e);
</pre></td>
<td><pre>
procedure KF_Shift_Home
       (This : in out Text_Editor'Class);

procedure KF_Shift_End
       (This : in out Text_Editor'Class);

procedure KF_Shift_Page_Down
       (This : in out Text_Editor'Class);

procedure KF_Shift_Page_Up
       (This : in out Text_Editor'Class);

procedure KF_Shift_Down
       (This : in out Text_Editor'Class);

procedure KF_Shift_Left
       (This : in out Text_Editor'Class);

procedure KF_Shift_Right
       (This : in out Text_Editor'Class);

procedure KF_Shift_Up
       (This : in out Text_Editor'Class);
</pre></td>
  </tr>

  <tr>
<td>Write your own function to handle a tab press.</td>
<td><pre>
procedure KF_Tab
       (This : in out Text_Editor'Class);
</pre></td>
  </tr>

  <tr>
<td><pre>
static int kf_undo(int c, Fl_Text_Editor *e);
</pre></td>
<td><pre>
procedure KF_Undo
       (This : in out Text_Editor'Class);
</pre></td>
  </tr>

  <tr>
<td><pre>
static int kf_up(int c, Fl_Text_Editor *e);
</pre></td>
<td><pre>
procedure KF_Up
       (This : in out Text_Editor'Class);
</pre></td>
  </tr>

</table>



<table class="function">
  <tr><th colspan="2">Functions and Procedures</th></tr>

  <tr>
<td><pre>
void add_default_key_bindings(Key_Binding **list);
</pre></td>
<td>Construct an array or populate a vector manually using the Default_Key_Bindings array.</td>
  </tr>

  <tr>
<td><pre>
void add_key_binding(int key, int state, Key_Func f);
</pre></td>
<td><pre>
procedure Add_Key_Binding
       (This : in out Text_Editor;
        Key  : in     Key_Combo;
        Func : in     Key_Func);

procedure Add_Key_Binding
       (This : in out Text_Editor;
        Bind : in     Key_Binding);
</pre></td>
  </tr>

  <tr>
<td><pre>
void add_key_binding(int key, int state, Key_Func f,
    Key_Binding **list);
</pre></td>
<td>Construct an array or populate a vector manually.</td>
  </tr>

  <tr>
<td>Add key bindings to an Fl_Text_Editor one by one.</td>
<td><pre>
procedure Add_Key_Bindings
       (This : in out Text_Editor;
        Bind : in     Key_Binding_Array);
</pre></td>
  </tr>

  <tr>
<td><pre>
Key_Func bound_key_function(int key, int state) const;
</pre></td>
<td><pre>
function Get_Bound_Key_Function
       (This : in Text_Editor;
        Key  : in Key_Combo)
    return Key_Func;
</pre></td>
  </tr>

  <tr>
<td>After adding a key binding to an editor there does not appear to
be a way to obtain a full accounting of what bindings exist afterwards.</td>
<td><pre>
function Get_All_Bound_Key_Functions
       (This : in Text_Editor)
    return Key_Binding_Array;
</pre></td>
  </tr>

  <tr>
<td><pre>
Key_Func bound_key_function(int key, int state,
    Key_Binding *list) const;
</pre></td>
<td>Search an array or vector using standard operations.</td>
  </tr>

  <tr>
<td><pre>
void default_key_function(Key_Func f);
</pre></td>
<td><pre>
procedure Set_Default_Key_Function
       (This : in out Text_Editor;
        Func : in     Default_Key_Func);
</pre></td>
  </tr>

  <tr>
<td>Keep track of what default key function you set manually.</td>
<td><pre>
function Get_Default_Key_Function
       (This : in Text_Editor)
    return Default_Key_Func;
</pre></td>
  </tr>

  <tr>
<td><pre>
virtual int handle(int e);
</pre></td>
<td><pre>
function Handle
       (This  : in out Text_Editor;
        Event : in     Event_Kind)
    return Event_Outcome;
</pre></td>
  </tr>

  <tr>
<td><pre>
int insert_mode();
</pre></td>
<td><pre>
function Get_Insert_Mode
       (This : in Text_Editor)
    return Insert_Mode;
</pre></td>
  </tr>

  <tr>
<td><pre>
void insert_mode(int b);
</pre></td>
<td><pre>
procedure Set_Insert_Mode
       (This : in out Text_Editor;
        To   : in     Insert_Mode);
</pre></td>
  </tr>

  <tr>
<td><pre>
void remove_all_key_bindings();
</pre></td>
<td><pre>
procedure Remove_All_Key_Bindings
       (This : in out Text_Editor);
</pre></td>
  </tr>

  <tr>
<td><pre>
void remove_all_key_bindings(Key_Binding **list);
</pre></td>
<td>Use standard operations to manipulate an array or vector.</td>
  </tr>

  <tr>
<td><pre>
void remove_key_binding(int key, int state);
</pre></td>
<td><pre>
procedure Remove_Key_Binding
       (This : in out Text_Editor;
        Key  : in     Key_Combo);

procedure Remove_Key_Binding
       (This : in out Text_Editor;
        Bind : in     Key_Binding);
</pre></td>
  </tr>

  <tr>
<td><pre>
void remove_key_binding(int key, int state, Key_Binding **list);
</pre></td>
<td>Use standard operations to manipulate an array or vector.</td>
  </tr>

  <tr>
<td>Remove key bindings from an Fl_Text_Editor one by one.</td>
<td><pre>
procedure Remove_Key_Bindings
       (This : in out Text_Editor;
        Bind : in     Key_Binding_Array);
</pre></td>
  </tr>

  <tr>
<td><pre>
int tab_nav() const;
</pre></td>
<td><pre>
function Get_Tab_Mode
       (This : in Text_Editor)
    return Tab_Navigation;
</pre></td>
  </tr>

  <tr>
<td><pre>
void tab_nav(int val);
</pre></td>
<td><pre>
procedure Set_Tab_Mode
       (This : in out Text_Editor;
        To   : in     Tab_Navigation);
</pre></td>
  </tr>

</table>



<table class="function">
  <tr><th colspan="2">Protected Functions and Procedures</th></tr>

  <tr>
<td><pre>
int handle_key();
</pre></td>
<td><pre>
function Handle_Key
       (This : in out Text_Editor)
    return Event_Outcome;
</pre></td>
  </tr>

  <tr>
<td><pre>
void maybe_do_callback();
</pre></td>
<td><pre>
procedure Maybe_Do_Callback
       (This : in out Text_Editor);
</pre></td>
  </tr>

</table>


  </body>
</html>