X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fada%2Fterminal_interface-curses-menus__ads.htm;h=537c4ac52abb729d9574595d4a127c91205fa2e6;hp=4d5f290afaef667360359e922db2ff615511d41e;hb=refs%2Ftags%2Fv5.5;hpb=a8987e73ec254703634802b4f7ee30d3a485524d diff --git a/doc/html/ada/terminal_interface-curses-menus__ads.htm b/doc/html/ada/terminal_interface-curses-menus__ads.htm index 4d5f290a..537c4ac5 100644 --- a/doc/html/ada/terminal_interface-curses-menus__ads.htm +++ b/doc/html/ada/terminal_interface-curses-menus__ads.htm @@ -1,3 +1,4 @@ + terminal_interface-curses-menus.ads

File : terminal_interface-curses-menus.ads


@@ -57,57 +58,57 @@ Space : Character renames Ada.Characters.Latin_1.Space; - type Item is private; + type Item is private; type Menu is private; --------------------------- -- Interface constants -- --------------------------- - Null_Item : constant Item; + Null_Item : constant Item; Null_Menu : constant Menu; subtype Menu_Request_Code is Key_Code range (Key_Max + 1) .. (Key_Max + 17); -- The prefix M_ stands for "Menu Request" - M_Left_Item : constant Menu_Request_Code := Key_Max + 1; - M_Right_Item : constant Menu_Request_Code := Key_Max + 2; - M_Up_Item : constant Menu_Request_Code := Key_Max + 3; - M_Down_Item : constant Menu_Request_Code := Key_Max + 4; - M_ScrollUp_Line : constant Menu_Request_Code := Key_Max + 5; - M_ScrollDown_Line : constant Menu_Request_Code := Key_Max + 6; - M_ScrollDown_Page : constant Menu_Request_Code := Key_Max + 7; - M_ScrollUp_Page : constant Menu_Request_Code := Key_Max + 8; - M_First_Item : constant Menu_Request_Code := Key_Max + 9; - M_Last_Item : constant Menu_Request_Code := Key_Max + 10; - M_Next_Item : constant Menu_Request_Code := Key_Max + 11; - M_Previous_Item : constant Menu_Request_Code := Key_Max + 12; - M_Toggle_Item : constant Menu_Request_Code := Key_Max + 13; - M_Clear_Pattern : constant Menu_Request_Code := Key_Max + 14; - M_Back_Pattern : constant Menu_Request_Code := Key_Max + 15; - M_Next_Match : constant Menu_Request_Code := Key_Max + 16; + M_Left_Item : constant Menu_Request_Code := Key_Max + 1; + M_Right_Item : constant Menu_Request_Code := Key_Max + 2; + M_Up_Item : constant Menu_Request_Code := Key_Max + 3; + M_Down_Item : constant Menu_Request_Code := Key_Max + 4; + M_ScrollUp_Line : constant Menu_Request_Code := Key_Max + 5; + M_ScrollDown_Line : constant Menu_Request_Code := Key_Max + 6; + M_ScrollDown_Page : constant Menu_Request_Code := Key_Max + 7; + M_ScrollUp_Page : constant Menu_Request_Code := Key_Max + 8; + M_First_Item : constant Menu_Request_Code := Key_Max + 9; + M_Last_Item : constant Menu_Request_Code := Key_Max + 10; + M_Next_Item : constant Menu_Request_Code := Key_Max + 11; + M_Previous_Item : constant Menu_Request_Code := Key_Max + 12; + M_Toggle_Item : constant Menu_Request_Code := Key_Max + 13; + M_Clear_Pattern : constant Menu_Request_Code := Key_Max + 14; + M_Back_Pattern : constant Menu_Request_Code := Key_Max + 15; + M_Next_Match : constant Menu_Request_Code := Key_Max + 16; M_Previous_Match : constant Menu_Request_Code := Key_Max + 17; -- For those who like the old 'C' names for the request codes - REQ_LEFT_ITEM : Menu_Request_Code renames M_Left_Item; - REQ_RIGHT_ITEM : Menu_Request_Code renames M_Right_Item; - REQ_UP_ITEM : Menu_Request_Code renames M_Up_Item; - REQ_DOWN_ITEM : Menu_Request_Code renames M_Down_Item; - REQ_SCR_ULINE : Menu_Request_Code renames M_ScrollUp_Line; - REQ_SCR_DLINE : Menu_Request_Code renames M_ScrollDown_Line; - REQ_SCR_DPAGE : Menu_Request_Code renames M_ScrollDown_Page; - REQ_SCR_UPAGE : Menu_Request_Code renames M_ScrollUp_Page; - REQ_FIRST_ITEM : Menu_Request_Code renames M_First_Item; - REQ_LAST_ITEM : Menu_Request_Code renames M_Last_Item; - REQ_NEXT_ITEM : Menu_Request_Code renames M_Next_Item; - REQ_PREV_ITEM : Menu_Request_Code renames M_Previous_Item; - REQ_TOGGLE_ITEM : Menu_Request_Code renames M_Toggle_Item; - REQ_CLEAR_PATTERN : Menu_Request_Code renames M_Clear_Pattern; - REQ_BACK_PATTERN : Menu_Request_Code renames M_Back_Pattern; - REQ_NEXT_MATCH : Menu_Request_Code renames M_Next_Match; + REQ_LEFT_ITEM : Menu_Request_Code renames M_Left_Item; + REQ_RIGHT_ITEM : Menu_Request_Code renames M_Right_Item; + REQ_UP_ITEM : Menu_Request_Code renames M_Up_Item; + REQ_DOWN_ITEM : Menu_Request_Code renames M_Down_Item; + REQ_SCR_ULINE : Menu_Request_Code renames M_ScrollUp_Line; + REQ_SCR_DLINE : Menu_Request_Code renames M_ScrollDown_Line; + REQ_SCR_DPAGE : Menu_Request_Code renames M_ScrollDown_Page; + REQ_SCR_UPAGE : Menu_Request_Code renames M_ScrollUp_Page; + REQ_FIRST_ITEM : Menu_Request_Code renames M_First_Item; + REQ_LAST_ITEM : Menu_Request_Code renames M_Last_Item; + REQ_NEXT_ITEM : Menu_Request_Code renames M_Next_Item; + REQ_PREV_ITEM : Menu_Request_Code renames M_Previous_Item; + REQ_TOGGLE_ITEM : Menu_Request_Code renames M_Toggle_Item; + REQ_CLEAR_PATTERN : Menu_Request_Code renames M_Clear_Pattern; + REQ_BACK_PATTERN : Menu_Request_Code renames M_Back_Pattern; + REQ_NEXT_MATCH : Menu_Request_Code renames M_Next_Match; REQ_PREV_MATCH : Menu_Request_Code renames M_Previous_Match; - procedure Request_Name (Key : in Menu_Request_Code; + procedure Request_Name (Key : in Menu_Request_Code; Name : out String); function Request_Name (Key : Menu_Request_Code) return String; @@ -124,14 +125,13 @@ pragma Warnings (Off); type Menu_Option_Set is record - One_Valued : Boolean; - Show_Descriptions : Boolean; - Row_Major_Order : Boolean; - Ignore_Case : Boolean; - Show_Matches : Boolean; + One_Valued : Boolean; + Show_Descriptions : Boolean; + Row_Major_Order : Boolean; + Ignore_Case : Boolean; + Show_Matches : Boolean; Non_Cyclic : Boolean; - end record; - pragma Pack (Menu_Option_Set); + end record; pragma Convention (C, Menu_Option_Set); for Menu_Option_Set use @@ -158,8 +158,7 @@ type Item_Option_Set is record Selectable : Boolean; - end record; - pragma Pack (Item_Option_Set); + end record; pragma Convention (C, Item_Option_Set); for Item_Option_Set use @@ -183,7 +182,7 @@ type Item_Array_Access is access Item_Array; - procedure Free (IA : in out Item_Array_Access; + procedure Free (IA : in out Item_Array_Access; Free_Items : Boolean := False); -- Release the memory for an allocated item array -- If Free_Items is True, call Delete() for all the items in @@ -194,14 +193,14 @@ -- |===================================================================== -- #1A NAME="AFU_1"#2| - function Create (Name : String; + function Create (Name : String; Description : String := "") return Item; -- AKA: new_item() -- Not inlined. -- #1A NAME="AFU_2"#2| - function New_Item (Name : String; - Description : String := "") return Item + function New_Item (Name : String; + Description : String := "") return Item renames Create; -- AKA: new_item() @@ -215,7 +214,7 @@ -- |===================================================================== -- #1A NAME="AFU_4"#2| - procedure Set_Value (Itm : in Item; + procedure Set_Value (Itm : in Item; Value : in Boolean := True); -- AKA: set_item_value() pragma Inline (Set_Value); @@ -239,14 +238,14 @@ -- |===================================================================== -- #1A NAME="AFU_7"#2| - procedure Set_Options (Itm : in Item; + procedure Set_Options (Itm : in Item; Options : in Item_Option_Set); -- AKA: set_item_opts() -- An overloaded Set_Options is defined later. Pragma Inline appears there -- #1A NAME="AFU_8"#2| - procedure Switch_Options (Itm : in Item; - Options : in Item_Option_Set; + procedure Switch_Options (Itm : in Item; + Options : in Item_Option_Set; On : Boolean := True); -- AKA: item_opts_on() -- AKA: item_opts_off() @@ -254,7 +253,7 @@ -- Pragma Inline appears there -- #1A NAME="AFU_9"#2| - procedure Get_Options (Itm : in Item; + procedure Get_Options (Itm : in Item; Options : out Item_Option_Set); -- AKA: item_opts() @@ -268,7 +267,7 @@ -- |===================================================================== -- #1A NAME="AFU_11"#2| - procedure Name (Itm : in Item; + procedure Name (Itm : in Item; Name : out String); -- AKA: item_name() function Name (Itm : Item) return String; @@ -277,7 +276,7 @@ pragma Inline (Name); -- #1A NAME="AFU_12"#2| - procedure Description (Itm : in Item; + procedure Description (Itm : in Item; Description : out String); -- AKA: item_description(); @@ -291,7 +290,7 @@ -- |===================================================================== -- #1A NAME="AFU_13"#2| - procedure Set_Current (Men : in Menu; + procedure Set_Current (Men : in Menu; Itm : in Item); -- AKA: set_current_item() pragma Inline (Set_Current); @@ -302,7 +301,7 @@ pragma Inline (Current); -- #1A NAME="AFU_15"#2| - procedure Set_Top_Row (Men : in Menu; + procedure Set_Top_Row (Men : in Menu; Line : in Line_Position); -- AKA: set_top_row() pragma Inline (Set_Top_Row); @@ -325,7 +324,7 @@ -- |===================================================================== -- #1A NAME="AFU_18"#2| - procedure Post (Men : in Menu; + procedure Post (Men : in Menu; Post : in Boolean := True); -- AKA: post_menu() -- AKA: unpost_menu() @@ -336,21 +335,21 @@ -- |===================================================================== -- #1A NAME="AFU_19"#2| - procedure Set_Options (Men : in Menu; + procedure Set_Options (Men : in Menu; Options : in Menu_Option_Set); -- AKA: set_menu_opts() pragma Inline (Set_Options); -- #1A NAME="AFU_20"#2| - procedure Switch_Options (Men : in Menu; - Options : in Menu_Option_Set; + procedure Switch_Options (Men : in Menu; + Options : in Menu_Option_Set; On : Boolean := True); -- AKA: menu_opts_on() -- AKA: menu_opts_off() pragma Inline (Switch_Options); -- #1A NAME="AFU_21"#2| - procedure Get_Options (Men : in Menu; + procedure Get_Options (Men : in Menu; Options : out Menu_Option_Set); -- AKA: menu_opts() @@ -364,7 +363,7 @@ -- |===================================================================== -- #1A NAME="AFU_23"#2| - procedure Set_Window (Men : in Menu; + procedure Set_Window (Men : in Menu; Win : in Window); -- AKA: set_menu_win() pragma Inline (Set_Window); @@ -375,7 +374,7 @@ pragma Inline (Get_Window); -- #1A NAME="AFU_25"#2| - procedure Set_Sub_Window (Men : in Menu; + procedure Set_Sub_Window (Men : in Menu; Win : in Window); -- AKA: set_menu_sub() pragma Inline (Set_Sub_Window); @@ -386,8 +385,8 @@ pragma Inline (Get_Sub_Window); -- #1A NAME="AFU_27"#2| - procedure Scale (Men : in Menu; - Lines : out Line_Count; + procedure Scale (Men : in Menu; + Lines : out Line_Count; Columns : out Column_Count); -- AKA: scale_menu() pragma Inline (Scale); @@ -406,13 +405,13 @@ -- |===================================================================== -- #1A NAME="AFU_29"#2| - procedure Set_Mark (Men : in Menu; + procedure Set_Mark (Men : in Menu; Mark : in String); -- AKA: set_menu_mark() pragma Inline (Set_Mark); -- #1A NAME="AFU_30"#2| - procedure Mark (Men : in Menu; + procedure Mark (Men : in Menu; Mark : out String); -- AKA: menu_mark() @@ -427,73 +426,73 @@ -- #1A NAME="AFU_31"#2| procedure Set_Foreground - (Men : in Menu; - Fore : in Character_Attribute_Set := Normal_Video; + (Men : in Menu; + Fore : in Character_Attribute_Set := Normal_Video; Color : in Color_Pair := Color_Pair'First); -- AKA: set_menu_fore() pragma Inline (Set_Foreground); -- #1A NAME="AFU_32"#2| - procedure Foreground (Men : in Menu; + procedure Foreground (Men : in Menu; Fore : out Character_Attribute_Set); -- AKA: menu_fore() -- #1A NAME="AFU_33"#2| - procedure Foreground (Men : in Menu; - Fore : out Character_Attribute_Set; + procedure Foreground (Men : in Menu; + Fore : out Character_Attribute_Set; Color : out Color_Pair); -- AKA: menu_fore() pragma Inline (Foreground); -- #1A NAME="AFU_34"#2| procedure Set_Background - (Men : in Menu; - Back : in Character_Attribute_Set := Normal_Video; + (Men : in Menu; + Back : in Character_Attribute_Set := Normal_Video; Color : in Color_Pair := Color_Pair'First); -- AKA: set_menu_back() pragma Inline (Set_Background); -- #1A NAME="AFU_35"#2| - procedure Background (Men : in Menu; + procedure Background (Men : in Menu; Back : out Character_Attribute_Set); -- AKA: menu_back() -- #1A NAME="AFU_36"#2| - procedure Background (Men : in Menu; - Back : out Character_Attribute_Set; + procedure Background (Men : in Menu; + Back : out Character_Attribute_Set; Color : out Color_Pair); -- AKA: menu_back() pragma Inline (Background); -- #1A NAME="AFU_37"#2| procedure Set_Grey - (Men : in Menu; - Grey : in Character_Attribute_Set := Normal_Video; + (Men : in Menu; + Grey : in Character_Attribute_Set := Normal_Video; Color : in Color_Pair := Color_Pair'First); -- AKA: set_menu_grey() pragma Inline (Set_Grey); -- #1A NAME="AFU_38"#2| - procedure Grey (Men : in Menu; + procedure Grey (Men : in Menu; Grey : out Character_Attribute_Set); -- AKA: menu_grey() -- #1A NAME="AFU_39"#2| procedure Grey - (Men : in Menu; - Grey : out Character_Attribute_Set; + (Men : in Menu; + Grey : out Character_Attribute_Set; Color : out Color_Pair); -- AKA: menu_grey() pragma Inline (Grey); -- #1A NAME="AFU_40"#2| - procedure Set_Pad_Character (Men : in Menu; + procedure Set_Pad_Character (Men : in Menu; Pad : in Character := Space); -- AKA: set_menu_pad() pragma Inline (Set_Pad_Character); -- #1A NAME="AFU_41"#2| - procedure Pad_Character (Men : in Menu; + procedure Pad_Character (Men : in Menu; Pad : out Character); -- AKA: menu_pad() pragma Inline (Pad_Character); @@ -503,17 +502,17 @@ -- |===================================================================== -- #1A NAME="AFU_42"#2| - procedure Set_Spacing (Men : in Menu; - Descr : in Column_Position := 0; - Row : in Line_Position := 0; + procedure Set_Spacing (Men : in Menu; + Descr : in Column_Position := 0; + Row : in Line_Position := 0; Col : in Column_Position := 0); -- AKA: set_menu_spacing() pragma Inline (Set_Spacing); -- #1A NAME="AFU_43"#2| - procedure Spacing (Men : in Menu; - Descr : out Column_Position; - Row : out Line_Position; + procedure Spacing (Men : in Menu; + Descr : out Column_Position; + Row : out Line_Position; Col : out Column_Position); -- AKA: menu_spacing() pragma Inline (Spacing); @@ -523,14 +522,14 @@ -- |===================================================================== -- #1A NAME="AFU_44"#2| - function Set_Pattern (Men : Menu; + function Set_Pattern (Men : Menu; Text : String) return Boolean; -- AKA: set_menu_pattern() -- Return TRUE if the pattern matches, FALSE otherwise pragma Inline (Set_Pattern); -- #1A NAME="AFU_45"#2| - procedure Pattern (Men : in Menu; + procedure Pattern (Men : in Menu; Text : out String); -- AKA: menu_pattern() pragma Inline (Pattern); @@ -540,8 +539,8 @@ -- |===================================================================== -- #1A NAME="AFU_46"#2| - procedure Set_Format (Men : in Menu; - Lines : in Line_Count; + procedure Set_Format (Men : in Menu; + Lines : in Line_Count; Columns : in Column_Count); -- Not implemented: 0 argument for Lines or Columns; -- instead use Format to get the current sizes @@ -554,8 +553,8 @@ pragma Inline (Set_Format); -- #1A NAME="AFU_47"#2| - procedure Format (Men : in Menu; - Lines : out Line_Count; + procedure Format (Men : in Menu; + Lines : out Line_Count; Columns : out Column_Count); -- AKA: menu_format() pragma Inline (Format); @@ -568,25 +567,25 @@ pragma Convention (C, Menu_Hook_Function); -- #1A NAME="AFU_48"#2| - procedure Set_Item_Init_Hook (Men : in Menu; + procedure Set_Item_Init_Hook (Men : in Menu; Proc : in Menu_Hook_Function); -- AKA: set_item_init() pragma Inline (Set_Item_Init_Hook); -- #1A NAME="AFU_49"#2| - procedure Set_Item_Term_Hook (Men : in Menu; + procedure Set_Item_Term_Hook (Men : in Menu; Proc : in Menu_Hook_Function); -- AKA: set_item_term() pragma Inline (Set_Item_Term_Hook); -- #1A NAME="AFU_50"#2| - procedure Set_Menu_Init_Hook (Men : in Menu; + procedure Set_Menu_Init_Hook (Men : in Menu; Proc : in Menu_Hook_Function); -- AKA: set_menu_init() pragma Inline (Set_Menu_Init_Hook); -- #1A NAME="AFU_51"#2| - procedure Set_Menu_Term_Hook (Men : in Menu; + procedure Set_Menu_Term_Hook (Men : in Menu; Proc : in Menu_Hook_Function); -- AKA: set_menu_term() pragma Inline (Set_Menu_Term_Hook); @@ -616,17 +615,17 @@ -- |===================================================================== -- #1A NAME="AFU_56"#2| - procedure Redefine (Men : in Menu; + procedure Redefine (Men : in Menu; Items : in Item_Array_Access); -- AKA: set_menu_items() pragma Inline (Redefine); - procedure Set_Items (Men : in Menu; - Items : in Item_Array_Access) renames Redefine; + procedure Set_Items (Men : in Menu; + Items : in Item_Array_Access) renames Redefine; pragma Inline (Set_Items); -- #1A NAME="AFU_57"#2| - function Items (Men : Menu; + function Items (Men : Menu; Index : Positive) return Item; -- AKA: menu_items() pragma Inline (Items); @@ -657,13 +656,13 @@ -- | Man page menu_driver.3x -- |===================================================================== - type Driver_Result is (Menu_Ok, - Request_Denied, - Unknown_Request, + type Driver_Result is (Menu_Ok, + Request_Denied, + Unknown_Request, No_Match); -- #1A NAME="AFU_61"#2| - function Driver (Men : Menu; + function Driver (Men : Menu; Key : Key_Code) return Driver_Result; -- AKA: menu_driver() -- Driver is not inlined @@ -672,10 +671,10 @@ -- Not Implemented: menu_request_name, menu_request_by_name ------------------------------------------------------------------------------- private - type Item is new System.Storage_Elements.Integer_Address; + type Item is new System.Storage_Elements.Integer_Address; type Menu is new System.Storage_Elements.Integer_Address; - Null_Item : constant Item := 0; + Null_Item : constant Item := 0; Null_Menu : constant Menu := 0; end Terminal_Interface.Curses.Menus;