diff options
author | Jed Barber <jjbarber@y7mail.com> | 2016-10-04 18:52:32 +1100 |
---|---|---|
committer | Jed Barber <jjbarber@y7mail.com> | 2016-10-04 18:52:32 +1100 |
commit | 3f1a529a3b82c322678163cb70a8884fdf3eb920 (patch) | |
tree | f4c37f9c5d156d5d66658df7cae20557c8f6ac02 /fltk-text_buffers.adb | |
parent | bc54653c3e5277afecaecf2f208e1ee335df3a6e (diff) |
Basic find functionality working
Diffstat (limited to 'fltk-text_buffers.adb')
-rw-r--r-- | fltk-text_buffers.adb | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/fltk-text_buffers.adb b/fltk-text_buffers.adb index 6a25399..6df96cb 100644 --- a/fltk-text_buffers.adb +++ b/fltk-text_buffers.adb @@ -67,6 +67,15 @@ package body FLTK.Text_Buffers is return Interfaces.C.int; pragma Import (C, fl_text_buffer_savefile, "fl_text_buffer_savefile"); + function fl_text_buffer_search_forward + (TB : in System.Address; + SP : in Interfaces.C.int; + IT : in Interfaces.C.char_array; + FP : out Interfaces.C.int; + CA : in Interfaces.C.int) + return Interfaces.C.int; + pragma Import (C, fl_text_buffer_search_forward, "fl_text_buffer_search_forward"); + procedure fl_text_buffer_select (TB : in System.Address; S, E : in Interfaces.C.int); @@ -281,6 +290,31 @@ package body FLTK.Text_Buffers is + function Search_Forward + (This : in Text_Buffer; + Start_At : in Natural; + Item : in String; + Found_At : out Natural; + Match_Case : in Boolean) + return Boolean is + + Found_Raw : Interfaces.C.int; + Result : Interfaces.C.int; + + begin + Result := fl_text_buffer_search_forward + (This.Void_Ptr, + Interfaces.C.int (Start_At), + Interfaces.C.To_C (Item), + Found_Raw, + Boolean'Pos (Match_Case)); + Found_At := Natural (Found_Raw); + return Boolean'Val (Result); + end Search_Forward; + + + + procedure Set_Selection (This : in out Text_Buffer; Start, Finish : in Natural) is |