From 48f31d9f71523aa9cc027c16e5c8cd48ff1e792a Mon Sep 17 00:00:00 2001 From: Jed Barber Date: Tue, 6 Sep 2016 00:12:05 +1000 Subject: Getting things back into a compilable order --- src/fltk_binding/fltk-menu_items.adb | 35 +++++++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 8 deletions(-) (limited to 'src/fltk_binding/fltk-menu_items.adb') diff --git a/src/fltk_binding/fltk-menu_items.adb b/src/fltk_binding/fltk-menu_items.adb index b72d8c3..254de5f 100644 --- a/src/fltk_binding/fltk-menu_items.adb +++ b/src/fltk_binding/fltk-menu_items.adb @@ -8,19 +8,19 @@ use type System.Address; package body FLTK.Menu_Items is - function Create + function Shortcut (Key : Pressable_Key) return Shortcut_Key is begin return This : Shortcut_Key do - This.Modifiers := Mod_None; + This.Modifier := Mod_None; This.Keypress := Key; end return; - end Create; + end Shortcut; function "+" - (Left, Right : in Modifer_Key) + (Left, Right : in Modifier_Key) return Modifier_Key is begin return Left or Right; @@ -33,19 +33,19 @@ package body FLTK.Menu_Items is return Shortcut_Key is begin return This : Shortcut_Key do - This.Modifiers := Left; + This.Modifier := Left; This.Keypress := Right; end return; end "+"; function "+" - (Left : in Modifer_Key; + (Left : in Modifier_Key; Right : in Shortcut_Key) return Shortcut_Key is begin return This : Shortcut_Key do - This.Modifiers := Left or Right.Modifiers; + This.Modifier := Left or Right.Modifier; This.Keypress := Right.Keypress; end return; end "+"; @@ -63,10 +63,29 @@ package body FLTK.Menu_Items is + function new_fl_menu_item + (Text : in Interfaces.C.char_array; + CBack : in System.Address; + -- Data : in System.Address; + Key : in Interfaces.C.unsigned_long; + Flags : in Interfaces.C.unsigned_short) + return System.Address; + pragma Import (C, new_fl_menu_item, "new_fl_menu_item"); + + procedure free_fl_menu_item + (M : in System.Address); + pragma Import (C, free_fl_menu_item, "free_fl_menu_item"); + + + + procedure Finalize (This : in out Menu_Item) is begin - null; + Finalize (Wrapper (This)); + if This in Menu_Item then + free_fl_menu_item (This.Void_Ptr); + end if; end Finalize; -- cgit