summaryrefslogtreecommitdiff
path: root/src/fltk_binding/fltk-menu_items.ads
diff options
context:
space:
mode:
Diffstat (limited to 'src/fltk_binding/fltk-menu_items.ads')
-rw-r--r--src/fltk_binding/fltk-menu_items.ads31
1 files changed, 17 insertions, 14 deletions
diff --git a/src/fltk_binding/fltk-menu_items.ads b/src/fltk_binding/fltk-menu_items.ads
index 8cade15..5e0751f 100644
--- a/src/fltk_binding/fltk-menu_items.ads
+++ b/src/fltk_binding/fltk-menu_items.ads
@@ -11,8 +11,8 @@ package FLTK.Menu_Items is
type Shortcut_Key is private;
- subtype Pressable_Key is range Character'Val(32) .. Character'Val(126);
- function Create (Key : Pressable_Key) return Shortcut_Key;
+ subtype Pressable_Key is Character range Character'Val (32) .. Character'Val (126);
+ function Shortcut (Key : Pressable_Key) return Shortcut_Key;
No_Key : constant Shortcut_Key;
@@ -20,9 +20,10 @@ package FLTK.Menu_Items is
function "+" (Left, Right : in Modifier_Key) return Modifier_Key;
function "+" (Left : in Modifier_Key; Right : in Pressable_Key) return Shortcut_Key;
function "+" (Left : in Modifier_Key; Right : in Shortcut_Key) return Shortcut_Key;
- Mod_None : constant Modifier_Key;
- Mod_Ctrl : constant Modifier_Key;
- Mod_Alt : constant Modifier_Key;
+ Mod_None : constant Modifier_Key;
+ Mod_Shift : constant Modifier_Key;
+ Mod_Ctrl : constant Modifier_Key;
+ Mod_Alt : constant Modifier_Key;
type Menu_Flag is private;
@@ -48,29 +49,31 @@ package FLTK.Menu_Items is
private
+ -- these values designed to align with FLTK enumeration types
+ type Modifier_Key is new Interfaces.Unsigned_8;
+ Mod_None : constant Modifier_Key := 2#0000#;
+ Mod_Shift : constant Modifier_Key := 2#0001#;
+ Mod_Ctrl : constant Modifier_Key := 2#0100#;
+ Mod_Alt : constant Modifier_Key := 2#1000#;
+
+
type Shortcut_Key is
record
Modifier : Modifier_Key;
Keypress : Character;
end record;
No_Key : constant Shortcut_Key :=
- (Modifer => Mod_None, Keypress => Character'Val(0));
-
-
- type Modifier_Key is Interfaces.Unsigned_2;
- Mod_None : constant Modifier_Key := 2#00#;
- Mod_Ctrl : constant Modifier_Key := 2#01#;
- Mod_Alt : constant Modifier_Key := 2#10#;
+ (Modifier => Mod_None, Keypress => Character'Val (0));
- type Menu_Flag is Interfaces.Unsigned_8;
+ type Menu_Flag is new Interfaces.Unsigned_8;
Flag_Normal : constant Menu_Flag := 2#00000000#;
Flag_Inactive : constant Menu_Flag := 2#00000001#;
Flag_Toggle : constant Menu_Flag := 2#00000010#;
Flag_Value : constant Menu_Flag := 2#00000100#;
Flag_Radio : constant Menu_Flag := 2#00001000#;
Flag_Invisible : constant Menu_Flag := 2#00010000#;
- -- Flag_Submenu_Pointer is currently unused
+ -- Flag_Submenu_Pointer is currently unused
Flag_Submenu : constant Menu_Flag := 2#01000000#;
Flag_Divider : constant Menu_Flag := 2#10000000#;