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-inputs-outputs-multiline.adb | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

(limited to 'src/fltk-widgets-inputs-outputs-multiline.adb')

diff --git a/src/fltk-widgets-inputs-outputs-multiline.adb b/src/fltk-widgets-inputs-outputs-multiline.adb
index 1782cdb..d5333e7 100644
--- a/src/fltk-widgets-inputs-outputs-multiline.adb
+++ b/src/fltk-widgets-inputs-outputs-multiline.adb
@@ -70,6 +70,15 @@ package body FLTK.Widgets.Inputs.Outputs.Multiline is
 
 
 
+    procedure Extra_Init
+           (This       : in out Multiline_Output;
+            X, Y, W, H : in     Integer;
+            Text       : in     String) is
+    begin
+        Extra_Init (Output (This), X, Y, W, H, Text);
+    end Extra_Init;
+
+
     package body Forge is
 
         function Create
@@ -84,14 +93,11 @@ package body FLTK.Widgets.Inputs.Outputs.Multiline 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);
                 multiline_output_set_draw_hook
                     (This.Void_Ptr, Storage.To_Integer (Draw_Hook'Address));
                 multiline_output_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