summaryrefslogtreecommitdiff
path: root/src/fltk_binding/fltk-widgets-menus.ads
diff options
context:
space:
mode:
Diffstat (limited to 'src/fltk_binding/fltk-widgets-menus.ads')
-rw-r--r--src/fltk_binding/fltk-widgets-menus.ads19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/fltk_binding/fltk-widgets-menus.ads b/src/fltk_binding/fltk-widgets-menus.ads
index 27b9d4a..cf6fcf7 100644
--- a/src/fltk_binding/fltk-widgets-menus.ads
+++ b/src/fltk_binding/fltk-widgets-menus.ads
@@ -12,9 +12,7 @@ package FLTK.Widgets.Menus is
with Implicit_Dereference => Data;
- type Menu_Item is private;
- type Menu_Item_Cursor (Data : access Menu_Item) is limited null record
- with Implicit_Dereference => Data;
+ type Menu_Item is tagged limited private;
type Index is new Positive;
@@ -62,13 +60,26 @@ package FLTK.Widgets.Menus is
Flags : in Menu_Flag := Flag_Normal);
+ function Chosen
+ (This : in Menu'Class)
+ return Menu_Item;
+
+
+ function Value
+ (Item : in Menu_Item)
+ return Boolean;
+
+
private
type Menu is abstract new Widget with null record;
- type Menu_Item is new System.Address;
+ type Menu_Item is tagged limited
+ record
+ Void_Ptr : System.Address;
+ end record;
-- these values designed to align with FLTK enumeration types