From f5f77c762534ed15adc557009d1a645e5fd998a5 Mon Sep 17 00:00:00 2001
From: Jedidiah Barber <contact@jedbarber.id.au>
Date: Sat, 16 Nov 2024 10:30:34 +1300
Subject: Reworked widget init/create subprograms

---
 src/fltk-widgets-boxes.adb | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

(limited to 'src/fltk-widgets-boxes.adb')

diff --git a/src/fltk-widgets-boxes.adb b/src/fltk-widgets-boxes.adb
index dbd8395..56c7007 100644
--- a/src/fltk-widgets-boxes.adb
+++ b/src/fltk-widgets-boxes.adb
@@ -72,6 +72,15 @@ package body FLTK.Widgets.Boxes is
 
 
 
+    procedure Extra_Init
+           (This       : in out Box;
+            X, Y, W, H : in     Integer;
+            Text       : in     String) is
+    begin
+        Extra_Init (Widget (This), X, Y, W, H, Text);
+    end Extra_Init;
+
+
     package body Forge is
 
         function Create
@@ -86,12 +95,9 @@ package body FLTK.Widgets.Boxes is
                         Interfaces.C.int (W),
                         Interfaces.C.int (H),
                         Interfaces.C.To_C (Text));
-                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);
                 box_set_draw_hook (This.Void_Ptr, Storage.To_Integer (Draw_Hook'Address));
                 box_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;
 
-- 
cgit