aboutsummaryrefslogtreecommitdiff
path: root/src/fltk-widgets-groups-text_displays-text_editors.adb
diff options
context:
space:
mode:
Diffstat (limited to 'src/fltk-widgets-groups-text_displays-text_editors.adb')
-rw-r--r--src/fltk-widgets-groups-text_displays-text_editors.adb1232
1 files changed, 0 insertions, 1232 deletions
diff --git a/src/fltk-widgets-groups-text_displays-text_editors.adb b/src/fltk-widgets-groups-text_displays-text_editors.adb
deleted file mode 100644
index 15066f9..0000000
--- a/src/fltk-widgets-groups-text_displays-text_editors.adb
+++ /dev/null
@@ -1,1232 +0,0 @@
-
-
--- Programmed by Jedidiah Barber
--- Released into the public domain
-
-
-with
-
- Ada.Assertions,
- Ada.Characters.Latin_1,
- FLTK.Event,
- Interfaces.C;
-
-
-package body FLTK.Widgets.Groups.Text_Displays.Text_Editors is
-
-
- package Chk renames Ada.Assertions;
- package Latin renames Ada.Characters.Latin_1;
-
-
-
-
- ------------------------
- -- Functions From C --
- ------------------------
-
- function new_fl_text_editor
- (X, Y, W, H : in Interfaces.C.int;
- Text : in Interfaces.C.char_array)
- return Storage.Integer_Address;
- pragma Import (C, new_fl_text_editor, "new_fl_text_editor");
- pragma Inline (new_fl_text_editor);
-
- procedure free_fl_text_editor
- (TE : in Storage.Integer_Address);
- pragma Import (C, free_fl_text_editor, "free_fl_text_editor");
- pragma Inline (free_fl_text_editor);
-
-
-
-
- procedure fl_text_editor_default
- (TE : in Storage.Integer_Address;
- K : in Interfaces.C.int);
- pragma Import (C, fl_text_editor_default, "fl_text_editor_default");
- pragma Inline (fl_text_editor_default);
-
-
-
-
- procedure fl_text_editor_undo
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_undo, "fl_text_editor_undo");
- pragma Inline (fl_text_editor_undo);
-
- procedure fl_text_editor_cut
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_cut, "fl_text_editor_cut");
- pragma Inline (fl_text_editor_cut);
-
- procedure fl_text_editor_copy
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_copy, "fl_text_editor_copy");
- pragma Inline (fl_text_editor_copy);
-
- procedure fl_text_editor_paste
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_paste, "fl_text_editor_paste");
- pragma Inline (fl_text_editor_paste);
-
- procedure fl_text_editor_delete
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_delete, "fl_text_editor_delete");
- pragma Inline (fl_text_editor_delete);
-
- procedure fl_text_editor_select_all
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_select_all, "fl_text_editor_select_all");
- pragma Inline (fl_text_editor_select_all);
-
-
-
-
- procedure fl_text_editor_backspace
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_backspace, "fl_text_editor_backspace");
- pragma Inline (fl_text_editor_backspace);
-
- procedure fl_text_editor_insert
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_insert, "fl_text_editor_insert");
- pragma Inline (fl_text_editor_insert);
-
- procedure fl_text_editor_enter
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_enter, "fl_text_editor_enter");
- pragma Inline (fl_text_editor_enter);
-
- procedure fl_text_editor_ignore
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_ignore, "fl_text_editor_ignore");
- pragma Inline (fl_text_editor_ignore);
-
-
-
-
- procedure fl_text_editor_home
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_home, "fl_text_editor_home");
- pragma Inline (fl_text_editor_home);
-
- procedure fl_text_editor_end
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_end, "fl_text_editor_end");
- pragma Inline (fl_text_editor_end);
-
- procedure fl_text_editor_page_down
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_page_down, "fl_text_editor_page_down");
- pragma Inline (fl_text_editor_page_down);
-
- procedure fl_text_editor_page_up
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_page_up, "fl_text_editor_page_up");
- pragma Inline (fl_text_editor_page_up);
-
- procedure fl_text_editor_down
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_down, "fl_text_editor_down");
- pragma Inline (fl_text_editor_down);
-
- procedure fl_text_editor_left
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_left, "fl_text_editor_left");
- pragma Inline (fl_text_editor_left);
-
- procedure fl_text_editor_right
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_right, "fl_text_editor_right");
- pragma Inline (fl_text_editor_right);
-
- procedure fl_text_editor_up
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_up, "fl_text_editor_up");
- pragma Inline (fl_text_editor_up);
-
-
-
-
- procedure fl_text_editor_shift_home
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_shift_home, "fl_text_editor_shift_home");
- pragma Inline (fl_text_editor_shift_home);
-
- procedure fl_text_editor_shift_end
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_shift_end, "fl_text_editor_shift_end");
- pragma Inline (fl_text_editor_shift_end);
-
- procedure fl_text_editor_shift_page_down
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_shift_page_down, "fl_text_editor_shift_page_down");
- pragma Inline (fl_text_editor_shift_page_down);
-
- procedure fl_text_editor_shift_page_up
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_shift_page_up, "fl_text_editor_shift_page_up");
- pragma Inline (fl_text_editor_shift_page_up);
-
- procedure fl_text_editor_shift_down
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_shift_down, "fl_text_editor_shift_down");
- pragma Inline (fl_text_editor_shift_down);
-
- procedure fl_text_editor_shift_left
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_shift_left, "fl_text_editor_shift_left");
- pragma Inline (fl_text_editor_shift_left);
-
- procedure fl_text_editor_shift_right
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_shift_right, "fl_text_editor_shift_right");
- pragma Inline (fl_text_editor_shift_right);
-
- procedure fl_text_editor_shift_up
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_shift_up, "fl_text_editor_shift_up");
- pragma Inline (fl_text_editor_shift_up);
-
-
-
-
- procedure fl_text_editor_ctrl_home
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_ctrl_home, "fl_text_editor_ctrl_home");
- pragma Inline (fl_text_editor_ctrl_home);
-
- procedure fl_text_editor_ctrl_end
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_ctrl_end, "fl_text_editor_ctrl_end");
- pragma Inline (fl_text_editor_ctrl_end);
-
- procedure fl_text_editor_ctrl_page_down
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_ctrl_page_down, "fl_text_editor_ctrl_page_down");
- pragma Inline (fl_text_editor_ctrl_page_down);
-
- procedure fl_text_editor_ctrl_page_up
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_ctrl_page_up, "fl_text_editor_ctrl_page_up");
- pragma Inline (fl_text_editor_ctrl_page_up);
-
- procedure fl_text_editor_ctrl_down
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_ctrl_down, "fl_text_editor_ctrl_down");
- pragma Inline (fl_text_editor_ctrl_down);
-
- procedure fl_text_editor_ctrl_left
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_ctrl_left, "fl_text_editor_ctrl_left");
- pragma Inline (fl_text_editor_ctrl_left);
-
- procedure fl_text_editor_ctrl_right
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_ctrl_right, "fl_text_editor_ctrl_right");
- pragma Inline (fl_text_editor_ctrl_right);
-
- procedure fl_text_editor_ctrl_up
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_ctrl_up, "fl_text_editor_ctrl_up");
- pragma Inline (fl_text_editor_ctrl_up);
-
-
-
-
- procedure fl_text_editor_ctrl_shift_home
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_ctrl_shift_home, "fl_text_editor_ctrl_shift_home");
- pragma Inline (fl_text_editor_ctrl_shift_home);
-
- procedure fl_text_editor_ctrl_shift_end
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_ctrl_shift_end, "fl_text_editor_ctrl_shift_end");
- pragma Inline (fl_text_editor_ctrl_shift_end);
-
- procedure fl_text_editor_ctrl_shift_page_down
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_ctrl_shift_page_down, "fl_text_editor_ctrl_shift_page_down");
- pragma Inline (fl_text_editor_ctrl_shift_page_down);
-
- procedure fl_text_editor_ctrl_shift_page_up
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_ctrl_shift_page_up, "fl_text_editor_ctrl_shift_page_up");
- pragma Inline (fl_text_editor_ctrl_shift_page_up);
-
- procedure fl_text_editor_ctrl_shift_down
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_ctrl_shift_down, "fl_text_editor_ctrl_shift_down");
- pragma Inline (fl_text_editor_ctrl_shift_down);
-
- procedure fl_text_editor_ctrl_shift_left
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_ctrl_shift_left, "fl_text_editor_ctrl_shift_left");
- pragma Inline (fl_text_editor_ctrl_shift_left);
-
- procedure fl_text_editor_ctrl_shift_right
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_ctrl_shift_right, "fl_text_editor_ctrl_shift_right");
- pragma Inline (fl_text_editor_ctrl_shift_right);
-
- procedure fl_text_editor_ctrl_shift_up
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_ctrl_shift_up, "fl_text_editor_ctrl_shift_up");
- pragma Inline (fl_text_editor_ctrl_shift_up);
-
-
-
-
- procedure fl_text_editor_meta_home
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_meta_home, "fl_text_editor_meta_home");
- pragma Inline (fl_text_editor_meta_home);
-
- procedure fl_text_editor_meta_end
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_meta_end, "fl_text_editor_meta_end");
- pragma Inline (fl_text_editor_meta_end);
-
- procedure fl_text_editor_meta_page_down
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_meta_page_down, "fl_text_editor_meta_page_down");
- pragma Inline (fl_text_editor_meta_page_down);
-
- procedure fl_text_editor_meta_page_up
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_meta_page_up, "fl_text_editor_meta_page_up");
- pragma Inline (fl_text_editor_meta_page_up);
-
- procedure fl_text_editor_meta_down
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_meta_down, "fl_text_editor_meta_down");
- pragma Inline (fl_text_editor_meta_down);
-
- procedure fl_text_editor_meta_left
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_meta_left, "fl_text_editor_meta_left");
- pragma Inline (fl_text_editor_meta_left);
-
- procedure fl_text_editor_meta_right
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_meta_right, "fl_text_editor_meta_right");
- pragma Inline (fl_text_editor_meta_right);
-
- procedure fl_text_editor_meta_up
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_meta_up, "fl_text_editor_meta_up");
- pragma Inline (fl_text_editor_meta_up);
-
-
-
-
- procedure fl_text_editor_meta_shift_home
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_meta_shift_home, "fl_text_editor_meta_shift_home");
- pragma Inline (fl_text_editor_meta_shift_home);
-
- procedure fl_text_editor_meta_shift_end
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_meta_shift_end, "fl_text_editor_meta_shift_end");
- pragma Inline (fl_text_editor_meta_shift_end);
-
- procedure fl_text_editor_meta_shift_page_down
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_meta_shift_page_down, "fl_text_editor_meta_shift_page_down");
- pragma Inline (fl_text_editor_meta_shift_page_down);
-
- procedure fl_text_editor_meta_shift_page_up
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_meta_shift_page_up, "fl_text_editor_meta_shift_page_up");
- pragma Inline (fl_text_editor_meta_shift_page_up);
-
- procedure fl_text_editor_meta_shift_down
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_meta_shift_down, "fl_text_editor_meta_shift_down");
- pragma Inline (fl_text_editor_meta_shift_down);
-
- procedure fl_text_editor_meta_shift_left
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_meta_shift_left, "fl_text_editor_meta_shift_left");
- pragma Inline (fl_text_editor_meta_shift_left);
-
- procedure fl_text_editor_meta_shift_right
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_meta_shift_right, "fl_text_editor_meta_shift_right");
- pragma Inline (fl_text_editor_meta_shift_right);
-
- procedure fl_text_editor_meta_shift_up
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_meta_shift_up, "fl_text_editor_meta_shift_up");
- pragma Inline (fl_text_editor_meta_shift_up);
-
-
-
-
- procedure fl_text_editor_add_key_binding
- (TE : in Storage.Integer_Address;
- K, S : in Interfaces.C.int;
- F : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_add_key_binding, "fl_text_editor_add_key_binding");
- pragma Inline (fl_text_editor_add_key_binding);
-
- procedure fl_text_editor_remove_all_key_bindings
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_remove_all_key_bindings,
- "fl_text_editor_remove_all_key_bindings");
- pragma Inline (fl_text_editor_remove_all_key_bindings);
-
- procedure fl_text_editor_set_default_key_function
- (TE, F : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_set_default_key_function,
- "fl_text_editor_set_default_key_function");
- pragma Inline (fl_text_editor_set_default_key_function);
-
-
-
-
- function fl_text_editor_get_insert_mode
- (TE : in Storage.Integer_Address)
- return Interfaces.C.int;
- pragma Import (C, fl_text_editor_get_insert_mode, "fl_text_editor_get_insert_mode");
- pragma Inline (fl_text_editor_get_insert_mode);
-
- procedure fl_text_editor_set_insert_mode
- (TE : in Storage.Integer_Address;
- I : in Interfaces.C.int);
- pragma Import (C, fl_text_editor_set_insert_mode, "fl_text_editor_set_insert_mode");
- pragma Inline (fl_text_editor_set_insert_mode);
-
-
-
-
- function fl_text_editor_get_tab_nav
- (TE : in Storage.Integer_Address)
- return Interfaces.C.int;
- pragma Import (C, fl_text_editor_get_tab_nav, "fl_text_editor_get_tab_nav");
- pragma Inline (fl_text_editor_get_tab_nav);
-
- procedure fl_text_editor_set_tab_nav
- (TE : in Storage.Integer_Address;
- T : in Interfaces.C.int);
- pragma Import (C, fl_text_editor_set_tab_nav, "fl_text_editor_set_tab_nav");
- pragma Inline (fl_text_editor_set_tab_nav);
-
-
-
-
- procedure fl_text_editor_draw
- (W : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_draw, "fl_text_editor_draw");
- pragma Inline (fl_text_editor_draw);
-
- function fl_text_editor_handle
- (W : in Storage.Integer_Address;
- E : in Interfaces.C.int)
- return Interfaces.C.int;
- pragma Import (C, fl_text_editor_handle, "fl_text_editor_handle");
- pragma Inline (fl_text_editor_handle);
-
- function fl_text_editor_handle_key
- (TE : in Storage.Integer_Address)
- return Interfaces.C.int;
- pragma Import (C, fl_text_editor_handle_key, "fl_text_editor_handle_key");
- pragma Inline (fl_text_editor_handle_key);
-
- procedure fl_text_editor_maybe_do_callback
- (TE : in Storage.Integer_Address);
- pragma Import (C, fl_text_editor_maybe_do_callback, "fl_text_editor_maybe_do_callback");
- pragma Inline (fl_text_editor_maybe_do_callback);
-
-
-
-
- ----------------------
- -- Callback Hooks --
- ----------------------
-
- function Key_Func_Hook
- (K : in Interfaces.C.int;
- E : in Storage.Integer_Address)
- return Interfaces.C.int
- is
- Editor_Ptr : Storage.Integer_Address := fl_widget_get_user_data (E);
- Ada_Editor : access Text_Editor'Class;
-
- Extra_Keys : Modifier := FLTK.Event.Last_Modifier;
- Actual_Key : Keypress := FLTK.Event.Last_Key; -- fuck you FLTK, give me the real code
- Ada_Key : Key_Combo := Extra_Keys + Actual_Key;
-
- -- For whatever reason, if a regular key function is used then FLTK will
- -- give you the key code, but if a default key function is used instead it
- -- will give you the first character in the textual representation, which
- -- is not ideal. This is why we have to grab the Last_Key manually.
- begin
- pragma Assert (Editor_Ptr /= Null_Pointer);
- Ada_Editor := Editor_Convert.To_Pointer (Storage.To_Address (Editor_Ptr));
- for B of Global_Key_Bindings loop
- if B.Key = Ada_Key and B.Func /= null then
- B.Func (Ada_Editor.all);
- return Event_Outcome'Pos (Handled);
- end if;
- end loop;
- for B of Ada_Editor.Bindings loop
- if B.Key = Ada_Key then
- B.Func (Ada_Editor.all);
- return Event_Outcome'Pos (Handled);
- end if;
- end loop;
- if Ada_Editor.Default_Func /= null then
- Ada_Editor.Default_Func (Ada_Editor.all, Ada_Key);
- return Event_Outcome'Pos (Handled);
- end if;
- return Event_Outcome'Pos (Not_Handled);
- exception
- when Chk.Assertion_Error => raise Internal_FLTK_Error with
- "Fl_Text_Editor C++ object had no user data reference back to the " &
- "corresponding Ada object in the Key_Func hook";
- end Key_Func_Hook;
-
-
-
-
- -------------------
- -- Destructors --
- -------------------
-
- procedure Extra_Final
- (This : in out Text_Editor) is
- begin
- Extra_Final (Text_Display (This));
- end Extra_Final;
-
-
- procedure Finalize
- (This : in out Text_Editor) is
- begin
- Extra_Final (This);
- if This.Void_Ptr /= Null_Pointer and This.Needs_Dealloc then
- free_fl_text_editor (This.Void_Ptr);
- This.Void_Ptr := Null_Pointer;
- if This.Raw_Buffer /= Null_Pointer then
- free_fl_text_buffer (This.Raw_Buffer); -- buffer is reference counted
- This.Raw_Buffer := Null_Pointer;
- end if;
- end if;
- end Finalize;
-
-
-
-
- --------------------
- -- Constructors --
- --------------------
-
- procedure Extra_Init
- (This : in out Text_Editor;
- X, Y, W, H : in Integer;
- Text : in String) is
- begin
- for B of Default_Key_Bindings loop
- This.Bindings.Append (B);
- end loop;
- This.Default_Func := KF_Default'Access;
-
- -- change things over so key bindings are all handled from the Ada side
- fl_text_editor_remove_all_key_bindings (This.Void_Ptr);
- fl_text_editor_set_default_key_function
- (This.Void_Ptr, Storage.To_Integer (Key_Func_Hook'Address));
-
- Extra_Init (Text_Display (This), X, Y, W, H, Text);
- end Extra_Init;
-
-
- procedure Initialize
- (This : in out Text_Editor) is
- begin
- This.Draw_Ptr := fl_text_editor_draw'Address;
- This.Handle_Ptr := fl_text_editor_handle'Address;
- end Initialize;
-
-
- package body Forge is
-
- function Create
- (X, Y, W, H : in Integer;
- Text : in String := "")
- return Text_Editor
- is
- use type Interfaces.C.int;
- begin
- return This : Text_Editor do
- This.Void_Ptr := new_fl_text_editor
- (Interfaces.C.int (X),
- Interfaces.C.int (Y),
- Interfaces.C.int (W),
- Interfaces.C.int (H),
- Interfaces.C.To_C (Text));
- Extra_Init (This, X, Y, W, H, Text);
- end return;
- end Create;
-
-
- function Create
- (Parent : in out Group'Class;
- X, Y, W, H : in Integer;
- Text : in String := "")
- return Text_Editor is
- begin
- return This : Text_Editor := Create (X, Y, W, H, Text) do
- Parent.Add (This);
- end return;
- end Create;
-
- end Forge;
-
-
-
-
- -----------------------
- -- API Subprograms --
- -----------------------
-
- procedure KF_Default
- (This : in out Text_Editor'Class;
- Key : in Key_Combo) is
- begin
- fl_text_editor_default
- (This.Void_Ptr,
- Interfaces.C.int (Key.Keycode));
- end KF_Default;
-
-
-
-
- procedure KF_Undo
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_undo (This.Void_Ptr);
- end KF_Undo;
-
-
- procedure KF_Cut
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_cut (This.Void_Ptr);
- end KF_Cut;
-
-
- procedure KF_Copy
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_copy (This.Void_Ptr);
- end KF_Copy;
-
-
- procedure KF_Paste
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_paste (This.Void_Ptr);
- end KF_Paste;
-
-
- procedure KF_Delete
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_delete (This.Void_Ptr);
- end KF_Delete;
-
-
- procedure KF_Select_All
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_select_all (This.Void_Ptr);
- end KF_Select_All;
-
-
-
-
- procedure KF_Backspace
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_backspace (This.Void_Ptr);
- end KF_Backspace;
-
-
- procedure KF_Insert
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_insert (This.Void_Ptr);
- end KF_Insert;
-
-
- procedure KF_Enter
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_enter (This.Void_Ptr);
- end KF_Enter;
-
-
- procedure KF_Ignore
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_ignore (This.Void_Ptr);
- end KF_Ignore;
-
-
- procedure KF_Tab
- (This : in out Text_Editor'Class) is
- begin
- This.Insert_Text (Latin.HT & "");
- end KF_Tab;
-
-
-
-
- procedure KF_Home
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_home (This.Void_Ptr);
- end KF_Home;
-
-
- procedure KF_End
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_end (This.Void_Ptr);
- end KF_End;
-
-
- procedure KF_Page_Down
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_page_down (This.Void_Ptr);
- end KF_Page_Down;
-
-
- procedure KF_Page_Up
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_page_up (This.Void_Ptr);
- end KF_Page_Up;
-
-
- procedure KF_Down
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_down (This.Void_Ptr);
- end KF_Down;
-
-
- procedure KF_Left
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_left (This.Void_Ptr);
- end KF_Left;
-
-
- procedure KF_Right
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_right (This.Void_Ptr);
- end KF_Right;
-
-
- procedure KF_Up
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_up (This.Void_Ptr);
- end KF_Up;
-
-
-
-
- procedure KF_Shift_Home
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_shift_home (This.Void_Ptr);
- end KF_Shift_Home;
-
-
- procedure KF_Shift_End
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_shift_end (This.Void_Ptr);
- end KF_Shift_End;
-
-
- procedure KF_Shift_Page_Down
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_shift_page_down (This.Void_Ptr);
- end KF_Shift_Page_Down;
-
-
- procedure KF_Shift_Page_Up
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_shift_page_up (This.Void_Ptr);
- end KF_Shift_Page_Up;
-
-
- procedure KF_Shift_Down
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_shift_down (This.Void_Ptr);
- end KF_Shift_Down;
-
-
- procedure KF_Shift_Left
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_shift_left (This.Void_Ptr);
- end KF_Shift_Left;
-
-
- procedure KF_Shift_Right
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_shift_right (This.Void_Ptr);
- end KF_Shift_Right;
-
-
- procedure KF_Shift_Up
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_shift_up (This.Void_Ptr);
- end KF_Shift_Up;
-
-
-
-
- procedure KF_Ctrl_Home
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_ctrl_home (This.Void_Ptr);
- end KF_Ctrl_Home;
-
-
- procedure KF_Ctrl_End
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_ctrl_end (This.Void_Ptr);
- end KF_Ctrl_End;
-
-
- procedure KF_Ctrl_Page_Down
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_ctrl_page_down (This.Void_Ptr);
- end KF_Ctrl_Page_Down;
-
-
- procedure KF_Ctrl_Page_Up
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_ctrl_page_up (This.Void_Ptr);
- end KF_Ctrl_Page_Up;
-
-
- procedure KF_Ctrl_Down
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_ctrl_down (This.Void_Ptr);
- end KF_Ctrl_Down;
-
-
- procedure KF_Ctrl_Left
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_ctrl_left (This.Void_Ptr);
- end KF_Ctrl_Left;
-
-
- procedure KF_Ctrl_Right
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_ctrl_right (This.Void_Ptr);
- end KF_Ctrl_Right;
-
-
- procedure KF_Ctrl_Up
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_ctrl_up (This.Void_Ptr);
- end KF_Ctrl_Up;
-
-
-
-
- procedure KF_Ctrl_Shift_Home
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_ctrl_shift_home (This.Void_Ptr);
- end KF_Ctrl_Shift_Home;
-
-
- procedure KF_Ctrl_Shift_End
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_ctrl_shift_end (This.Void_Ptr);
- end KF_Ctrl_Shift_End;
-
-
- procedure KF_Ctrl_Shift_Page_Down
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_ctrl_shift_page_down (This.Void_Ptr);
- end KF_Ctrl_Shift_Page_Down;
-
-
- procedure KF_Ctrl_Shift_Page_Up
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_ctrl_shift_page_up (This.Void_Ptr);
- end KF_Ctrl_Shift_Page_Up;
-
-
- procedure KF_Ctrl_Shift_Down
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_ctrl_shift_down (This.Void_Ptr);
- end KF_Ctrl_Shift_Down;
-
-
- procedure KF_Ctrl_Shift_Left
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_ctrl_shift_left (This.Void_Ptr);
- end KF_Ctrl_Shift_Left;
-
-
- procedure KF_Ctrl_Shift_Right
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_ctrl_shift_right (This.Void_Ptr);
- end KF_Ctrl_Shift_Right;
-
-
- procedure KF_Ctrl_Shift_Up
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_ctrl_shift_up (This.Void_Ptr);
- end KF_Ctrl_Shift_Up;
-
-
-
-
- procedure KF_Meta_Home
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_meta_home (This.Void_Ptr);
- end KF_Meta_Home;
-
-
- procedure KF_Meta_End
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_meta_end (This.Void_Ptr);
- end KF_Meta_End;
-
-
- procedure KF_Meta_Page_Down
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_meta_page_down (This.Void_Ptr);
- end KF_Meta_Page_Down;
-
-
- procedure KF_Meta_Page_Up
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_meta_page_up (This.Void_Ptr);
- end KF_Meta_Page_Up;
-
-
- procedure KF_Meta_Down
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_meta_down (This.Void_Ptr);
- end KF_Meta_Down;
-
-
- procedure KF_Meta_Left
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_meta_left (This.Void_Ptr);
- end KF_Meta_Left;
-
-
- procedure KF_Meta_Right
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_meta_right (This.Void_Ptr);
- end KF_Meta_Right;
-
-
- procedure KF_Meta_Up
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_meta_up (This.Void_Ptr);
- end KF_Meta_Up;
-
-
-
-
- procedure KF_Meta_Shift_Home
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_meta_shift_home (This.Void_Ptr);
- end KF_Meta_Shift_Home;
-
-
- procedure KF_Meta_Shift_End
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_meta_shift_end (This.Void_Ptr);
- end KF_Meta_Shift_End;
-
-
- procedure KF_Meta_Shift_Page_Down
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_meta_shift_page_down (This.Void_Ptr);
- end KF_Meta_Shift_Page_Down;
-
-
- procedure KF_Meta_Shift_Page_Up
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_meta_shift_page_up (This.Void_Ptr);
- end KF_Meta_Shift_Page_Up;
-
-
- procedure KF_Meta_Shift_Down
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_meta_shift_down (This.Void_Ptr);
- end KF_Meta_Shift_Down;
-
-
- procedure KF_Meta_Shift_Left
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_meta_shift_left (This.Void_Ptr);
- end KF_Meta_Shift_Left;
-
-
- procedure KF_Meta_Shift_Right
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_meta_shift_right (This.Void_Ptr);
- end KF_Meta_Shift_Right;
-
-
- procedure KF_Meta_Shift_Up
- (This : in out Text_Editor'Class) is
- begin
- fl_text_editor_meta_shift_up (This.Void_Ptr);
- end KF_Meta_Shift_Up;
-
-
-
-
- procedure Add_Key_Binding
- (This : in out Text_Editor;
- Key : in Key_Combo;
- Func : in Key_Func) is
- begin
- if Func /= null then
- This.Bindings.Append ((Key, Func));
- end if;
- end Add_Key_Binding;
-
-
- procedure Add_Key_Binding
- (This : in out Text_Editor;
- Bind : in Key_Binding) is
- begin
- if Bind.Func /= null then
- This.Bindings.Append (Bind);
- end if;
- end Add_Key_Binding;
-
-
- procedure Add_Key_Bindings
- (This : in out Text_Editor;
- Bind : in Key_Binding_Array) is
- begin
- for Item of Bind loop
- if Item.Func /= null then
- This.Bindings.Append (Item);
- end if;
- end loop;
- end Add_Key_Bindings;
-
-
- function Get_Bound_Key_Function
- (This : in Text_Editor;
- Key : in Key_Combo)
- return Key_Func is
- begin
- for I in 1 .. Integer (This.Bindings.Length) loop
- if This.Bindings.Element (I).Key = Key then
- return This.Bindings.Element (I).Func;
- end if;
- end loop;
- return null;
- end Get_Bound_Key_Function;
-
-
- function Get_All_Bound_Key_Functions
- (This : in Text_Editor)
- return Key_Binding_Array is
- begin
- return Result : Key_Binding_Array (1 .. Integer (This.Bindings.Length)) do
- for Place in Result'Range loop
- Result (Place) := This.Bindings.Element (Place);
- end loop;
- end return;
- end Get_All_Bound_Key_Functions;
-
-
- procedure Remove_Key_Binding
- (This : in out Text_Editor;
- Key : in Key_Combo) is
- begin
- for I in reverse 1 .. Integer (This.Bindings.Length) loop
- if This.Bindings.Element (I).Key = Key then
- This.Bindings.Delete (I);
- end if;
- end loop;
- end Remove_Key_Binding;
-
-
- procedure Remove_Key_Binding
- (This : in out Text_Editor;
- Bind : in Key_Binding) is
- begin
- for I in reverse 1 .. Integer (This.Bindings.Length) loop
- if This.Bindings.Element (I) = Bind then
- This.Bindings.Delete (I);
- end if;
- end loop;
- end Remove_Key_Binding;
-
-
- procedure Remove_Key_Bindings
- (This : in out Text_Editor;
- Bind : in Key_Binding_Array) is
- begin
- for Item of Bind loop
- This.Remove_Key_Binding (Item);
- end loop;
- end Remove_Key_Bindings;
-
-
- procedure Remove_All_Key_Bindings
- (This : in out Text_Editor) is
- begin
- This.Bindings.Clear;
- end Remove_All_Key_Bindings;
-
-
- function Get_Default_Key_Function
- (This : in Text_Editor)
- return Default_Key_Func is
- begin
- return This.Default_Func;
- end Get_Default_Key_Function;
-
-
- procedure Set_Default_Key_Function
- (This : in out Text_Editor;
- Func : in Default_Key_Func) is
- begin
- This.Default_Func := Func;
- end Set_Default_Key_Function;
-
-
-
-
- function Get_Insert_Mode
- (This : in Text_Editor)
- return Insert_Mode
- is
- Result : Interfaces.C.int := fl_text_editor_get_insert_mode (This.Void_Ptr);
- begin
- return Insert_Mode'Val (Result);
- exception
- when Constraint_Error => raise Internal_FLTK_Error with
- "Fl_Text_Editor::insert_mode returned unexpected int value of " &
- Interfaces.C.int'Image (Result);
- end Get_Insert_Mode;
-
-
- procedure Set_Insert_Mode
- (This : in out Text_Editor;
- To : in Insert_Mode) is
- begin
- fl_text_editor_set_insert_mode (This.Void_Ptr, Insert_Mode'Pos (To));
- end Set_Insert_Mode;
-
-
-
-
- function Get_Tab_Mode
- (This : in Text_Editor)
- return Tab_Navigation
- is
- Result : Interfaces.C.int := fl_text_editor_get_tab_nav (This.Void_Ptr);
- begin
- return Tab_Navigation'Val (Result);
- exception
- when Constraint_Error => raise Internal_FLTK_Error with
- "Fl_Text_Editor::tab_nav returned unexpected int value of " &
- Interfaces.C.int'Image (Result);
- end Get_Tab_Mode;
-
-
- procedure Set_Tab_Mode
- (This : in out Text_Editor;
- To : in Tab_Navigation) is
- begin
- fl_text_editor_set_tab_nav (This.Void_Ptr, Tab_Navigation'Pos (To));
- end Set_Tab_Mode;
-
-
-
-
- function Handle
- (This : in out Text_Editor;
- Event : in Event_Kind)
- return Event_Outcome is
- begin
- return Text_Display (This).Handle (Event);
- end Handle;
-
-
- function Handle_Key
- (This : in out Text_Editor)
- return Event_Outcome
- is
- Result : Interfaces.C.int := fl_text_editor_handle_key (This.Void_Ptr);
- begin
- return Event_Outcome'Val (Result);
- exception
- when Constraint_Error => raise Internal_FLTK_Error with
- "Fl_Text_Editor::handle_key returned unexpected int value of " &
- Interfaces.C.int'Image (Result);
- end Handle_Key;
-
-
- procedure Maybe_Do_Callback
- (This : in out Text_Editor) is
- begin
- fl_text_editor_maybe_do_callback (This.Void_Ptr);
- end Maybe_Do_Callback;
-
-
-end FLTK.Widgets.Groups.Text_Displays.Text_Editors;
-
-