From fa595e9e5b9c7692f21df548a0d06b5a3671fbc1 Mon Sep 17 00:00:00 2001 From: Jed Barber Date: Mon, 14 Nov 2016 14:43:10 +1100 Subject: Edit and search menu items now grey themselves out when appropriate --- fltk-widgets-menus.adb | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) (limited to 'fltk-widgets-menus.adb') diff --git a/fltk-widgets-menus.adb b/fltk-widgets-menus.adb index 169e71d..b1ffd9a 100644 --- a/fltk-widgets-menus.adb +++ b/fltk-widgets-menus.adb @@ -91,6 +91,12 @@ package body FLTK.Widgets.Menus is return Interfaces.C.int; pragma Import (C, fl_menu_add, "fl_menu_add"); + function fl_menu_find_item + (M : in System.Address; + T : in Interfaces.C.char_array) + return System.Address; + pragma Import (C, fl_menu_find_item, "fl_menu_find_item"); + function fl_menu_mvalue (M : in System.Address) return System.Address; @@ -101,6 +107,14 @@ package body FLTK.Widgets.Menus is return Interfaces.C.int; pragma Import (C, fl_menuitem_value, "fl_menuitem_value"); + procedure fl_menuitem_activate + (MI : in System.Address); + pragma Import (C, fl_menuitem_activate, "fl_menuitem_activate"); + + procedure fl_menuitem_deactivate + (MI : in System.Address); + pragma Import (C, fl_menuitem_deactivate, "fl_menuitem_deactivate"); + @@ -150,6 +164,21 @@ package body FLTK.Widgets.Menus is + function Find_Item + (This : in Menu'Class; + Name : in String) + return Menu_Item is + begin + return Item : Menu_Item do + Item.Void_Ptr := fl_menu_find_item + (This.Void_Ptr, + Interfaces.C.To_C (Name)); + end return; + end Find_Item; + + + + function Chosen (This : in Menu'Class) return Menu_Item is @@ -170,5 +199,23 @@ package body FLTK.Widgets.Menus is end Value; + + + procedure Activate + (Item : in Menu_Item) is + begin + fl_menuitem_activate (Item.Void_Ptr); + end Activate; + + + + + procedure Deactivate + (Item : in Menu_Item) is + begin + fl_menuitem_deactivate (Item.Void_Ptr); + end Deactivate; + + end FLTK.Widgets.Menus; -- cgit