diff options
Diffstat (limited to 'body/fltk-widgets-inputs-text-file.adb')
-rw-r--r-- | body/fltk-widgets-inputs-text-file.adb | 32 |
1 files changed, 24 insertions, 8 deletions
diff --git a/body/fltk-widgets-inputs-text-file.adb b/body/fltk-widgets-inputs-text-file.adb index c7e4919..42c4961 100644 --- a/body/fltk-widgets-inputs-text-file.adb +++ b/body/fltk-widgets-inputs-text-file.adb @@ -28,6 +28,8 @@ package body FLTK.Widgets.Inputs.Text.File is -- Functions From C -- ------------------------ + -- Allocation -- + function new_fl_file_input (X, Y, W, H : in Interfaces.C.int; Text : in Interfaces.C.char_array) @@ -43,6 +45,8 @@ package body FLTK.Widgets.Inputs.Text.File is + -- Settings -- + function fl_file_input_get_down_box (F : in Storage.Integer_Address) return Interfaces.C.int; @@ -70,6 +74,8 @@ package body FLTK.Widgets.Inputs.Text.File is + -- Text Field -- + function fl_file_input_get_value (F : in Storage.Integer_Address) return Interfaces.C.Strings.chars_ptr; @@ -87,6 +93,8 @@ package body FLTK.Widgets.Inputs.Text.File is + -- Drawing, Events -- + procedure fl_file_input_draw (W : in Storage.Integer_Address); pragma Import (C, fl_file_input_draw, "fl_file_input_draw"); @@ -156,11 +164,11 @@ package body FLTK.Widgets.Inputs.Text.File is begin return This : File_Input do This.Void_Ptr := new_fl_file_input - (Interfaces.C.int (X), - Interfaces.C.int (Y), - Interfaces.C.int (W), - Interfaces.C.int (H), - Interfaces.C.To_C (Text)); + (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; @@ -186,6 +194,8 @@ package body FLTK.Widgets.Inputs.Text.File is -- API Subprograms -- ----------------------- + -- Settings -- + function Get_Down_Box (This : in File_Input) return Box_Kind is @@ -220,11 +230,13 @@ package body FLTK.Widgets.Inputs.Text.File is + -- Text Field -- + function Get_Value (This : in File_Input) return String is - Ptr : Interfaces.C.Strings.chars_ptr := fl_file_input_get_value (This.Void_Ptr); + Ptr : constant Interfaces.C.Strings.chars_ptr := fl_file_input_get_value (This.Void_Ptr); begin if Ptr = Interfaces.C.Strings.Null_Ptr then return ""; @@ -239,18 +251,22 @@ package body FLTK.Widgets.Inputs.Text.File is (This : in out File_Input; To : in String) is - Result : Interfaces.C.int := fl_file_input_set_value + Result : constant Interfaces.C.int := fl_file_input_set_value (This.Void_Ptr, Interfaces.C.To_C (To), To'Length); begin pragma Assert (Result /= 0); exception - when Chk.Assertion_Error => raise Internal_FLTK_Error; + when Chk.Assertion_Error => raise Internal_FLTK_Error with + "Fl_File_Input::value returned unexpected int value of " & + Interfaces.C.int'Image (Result); end Set_Value; + -- Drawing, Events -- + procedure Draw (This : in out File_Input) is begin |