diff options
| author | Jedidiah Barber <contact@jedbarber.id.au> | 2024-11-16 10:30:34 +1300 | 
|---|---|---|
| committer | Jedidiah Barber <contact@jedbarber.id.au> | 2024-11-16 10:30:34 +1300 | 
| commit | f5f77c762534ed15adc557009d1a645e5fd998a5 (patch) | |
| tree | 7b9d8c3099c303c74bf41079e9a0785983bd8a31 /src/fltk-widgets-groups.adb | |
| parent | 66fba2bf75c5fc3deb2690a6a66cf504f47b7652 (diff) | |
Reworked widget init/create subprograms
Diffstat (limited to 'src/fltk-widgets-groups.adb')
| -rw-r--r-- | src/fltk-widgets-groups.adb | 24 | 
1 files changed, 19 insertions, 5 deletions
| diff --git a/src/fltk-widgets-groups.adb b/src/fltk-widgets-groups.adb index 5ab1f5f..3f07083 100644 --- a/src/fltk-widgets-groups.adb +++ b/src/fltk-widgets-groups.adb @@ -44,6 +44,14 @@ package body FLTK.Widgets.Groups is +    procedure fl_group_end +           (G : in Storage.Integer_Address); +    pragma Import (C, fl_group_end, "fl_group_end"); +    pragma Inline (fl_group_end); + + + +      procedure fl_group_add             (G, W : in Storage.Integer_Address);      pragma Import (C, fl_group_add, "fl_group_add"); @@ -174,6 +182,16 @@ package body FLTK.Widgets.Groups is +    procedure Extra_Init +           (This       : in out Group; +            X, Y, W, H : in     Integer; +            Text       : in     String) is +    begin +        fl_group_end (This.Void_Ptr); +        Extra_Init (Widget (This), X, Y, W, H, Text); +    end Extra_Init; + +      package body Forge is          function Create @@ -188,13 +206,9 @@ package body FLTK.Widgets.Groups is                          Interfaces.C.int (W),                          Interfaces.C.int (H),                          Interfaces.C.To_C (Text)); -                fl_group_end (This.Void_Ptr); -                fl_widget_set_user_data -                       (This.Void_Ptr, -                        Storage.To_Integer (Widget_Convert.To_Address (This'Unchecked_Access))); +                Extra_Init (This, X, Y, W, H, Text);                  group_set_draw_hook (This.Void_Ptr, Storage.To_Integer (Draw_Hook'Address));                  group_set_handle_hook (This.Void_Ptr, Storage.To_Integer (Handle_Hook'Address)); -                fl_widget_set_label (This.Void_Ptr, Interfaces.C.To_C (Text));              end return;          end Create; | 
