X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fada%2Fterminal_interface-curses-menus__ads.htm;fp=doc%2Fhtml%2Fada%2Fterminal_interface-curses-menus__ads.htm;h=22584143bc38d2ac0c100da1439a7cacb1fab6b2;hp=0000000000000000000000000000000000000000;hb=b1f61d9f3aa244512045a6b02e759825d7049d34;hpb=0eb88fc5281804773e2a0c7a488a4452463535ce diff --git a/doc/html/ada/terminal_interface-curses-menus__ads.htm b/doc/html/ada/terminal_interface-curses-menus__ads.htm new file mode 100644 index 00000000..22584143 --- /dev/null +++ b/doc/html/ada/terminal_interface-curses-menus__ads.htm @@ -0,0 +1,674 @@ +
+ +------------------------------------------------------------------------------ +-- -- +-- GNAT ncurses Binding -- +-- -- +-- Terminal_Interface.Curses.Menu -- +-- -- +-- S P E C -- +-- -- +------------------------------------------------------------------------------ +-- Copyright (c) 1998 Free Software Foundation, Inc. -- +-- -- +-- Permission is hereby granted, free of charge, to any person obtaining a -- +-- copy of this software and associated documentation files (the -- +-- "Software"), to deal in the Software without restriction, including -- +-- without limitation the rights to use, copy, modify, merge, publish, -- +-- distribute, distribute with modifications, sublicense, and/or sell -- +-- copies of the Software, and to permit persons to whom the Software is -- +-- furnished to do so, subject to the following conditions: -- +-- -- +-- The above copyright notice and this permission notice shall be included -- +-- in all copies or substantial portions of the Software. -- +-- -- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- +-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- +-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- +-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- +-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- +-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- +-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- +-- -- +-- Except as contained in this notice, the name(s) of the above copyright -- +-- holders shall not be used in advertising or otherwise to promote the -- +-- sale, use or other dealings in this Software without prior written -- +-- authorization. -- +------------------------------------------------------------------------------ +-- Author: Jürgen Pfeifer <<juergen.pfeifer@gmx.net>> 1996 +-- Version Control: +-- @Revision: 1.20 @ +-- Binding Version 01.00 +------------------------------------------------------------------------------ +-- menu binding. +-- This module is generated. Please don't change it manually! +-- Run the generator instead. +-- | +with System; +with Interfaces.C; +with Ada.Characters.Latin_1; + +package Terminal_Interface.Curses.Menus is + pragma Preelaborate (Terminal_Interface.Curses.Menus); + pragma Linker_Options ("-lmenu"); + pragma Linker_Options ("-lncurses"); + + Space : Character renames Ada.Characters.Latin_1.Space; + + type Item is private; + type Menu is private; + + --------------------------- + -- Interface constants -- + --------------------------- + 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_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_PREV_MATCH : Menu_Request_Code renames M_Previous_Match; + + procedure Request_Name (Key : in Menu_Request_Code; + Name : out String); + + function Request_Name (Key : Menu_Request_Code) return String; + -- Same as function + + ------------------ + -- Exceptions -- + ------------------ + + Menu_Exception : exception; + -- + -- Menu options + -- + 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; + Non_Cyclic : Boolean; + end record; + pragma Pack (Menu_Option_Set); + pragma Convention (C, Menu_Option_Set); + + for Menu_Option_Set use + record + One_Valued at 0 range 0 .. 0; + Show_Descriptions at 0 range 1 .. 1; + Row_Major_Order at 0 range 2 .. 2; + Ignore_Case at 0 range 3 .. 3; + Show_Matches at 0 range 4 .. 4; + Non_Cyclic at 0 range 5 .. 5; + end record; + for Menu_Option_Set'Size use 32; + -- Please note: this rep. clause is generated and may be + -- different on your system. + pragma Warnings (On); + + function Default_Menu_Options return Menu_Option_Set; + -- Initial default options for a menu. + pragma Inline (Default_Menu_Options); + -- + -- Item options + -- + pragma Warnings (Off); + type Item_Option_Set is + record + Selectable : Boolean; + end record; + pragma Pack (Item_Option_Set); + pragma Convention (C, Item_Option_Set); + + for Item_Option_Set use + record + Selectable at 0 range 0 .. 0; + end record; + for Item_Option_Set'Size use 32; + -- Please note: this rep. clause is generated and may be + -- different on your system. + pragma Warnings (On); + + function Default_Item_Options return Item_Option_Set; + -- Initial default options for an item. + pragma Inline (Default_Item_Options); + + -- + -- Item Array + -- + type Item_Array is array (Positive range <>) of aliased Item; + pragma Convention (C, Item_Array); + + type Item_Array_Access is access Item_Array; + + 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 + -- the array. + + -- |===================================================================== + -- | Man page mitem_new.3x + -- |===================================================================== + + -- #1A NAME="AFU_1"#2| + 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 + renames Create; + -- AKA: new_item() + + -- #1A NAME="AFU_3"#2| + procedure Delete (Itm : in out Item); + -- AKA: free_item() + -- Resets Itm to Null_Item + + -- |===================================================================== + -- | Man page mitem_value.3x + -- |===================================================================== + + -- #1A NAME="AFU_4"#2| + procedure Set_Value (Itm : in Item; + Value : in Boolean := True); + -- AKA: set_item_value() + pragma Inline (Set_Value); + + -- #1A NAME="AFU_5"#2| + function Value (Itm : Item) return Boolean; + -- AKA: item_value() + pragma Inline (Value); + + -- |===================================================================== + -- | Man page mitem_visible.3x + -- |===================================================================== + + -- #1A NAME="AFU_6"#2| + function Visible (Itm : Item) return Boolean; + -- AKA: item_visible() + pragma Inline (Visible); + + -- |===================================================================== + -- | Man page mitem_opts.3x + -- |===================================================================== + + -- #1A NAME="AFU_7"#2| + 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; + On : Boolean := True); + -- AKA: item_opts_on() + -- AKA: item_opts_off() + -- An overloaded Switch_Options is defined later. + -- Pragma Inline appears there + + -- #1A NAME="AFU_9"#2| + procedure Get_Options (Itm : in Item; + Options : out Item_Option_Set); + -- AKA: item_opts() + + -- #1A NAME="AFU_10"#2| + function Get_Options (Itm : Item := Null_Item) return Item_Option_Set; + -- AKA: item_opts() + -- An overloaded Get_Options is defined later. Pragma Inline appears there + + -- |===================================================================== + -- | Man page mitem_name.3x + -- |===================================================================== + + -- #1A NAME="AFU_11"#2| + procedure Name (Itm : in Item; + Name : out String); + -- AKA: item_name() + function Name (Itm : Item) return String; + -- AKA: item_name() + -- Implemented as function + pragma Inline (Name); + + -- #1A NAME="AFU_12"#2| + procedure Description (Itm : in Item; + Description : out String); + -- AKA: item_description(); + + function Description (Itm : Item) return String; + -- AKA: item_description(); + -- Implemented as function + pragma Inline (Description); + + -- |===================================================================== + -- | Man page mitem_current.3x + -- |===================================================================== + + -- #1A NAME="AFU_13"#2| + procedure Set_Current (Men : in Menu; + Itm : in Item); + -- AKA: set_current_item() + pragma Inline (Set_Current); + + -- #1A NAME="AFU_14"#2| + function Current (Men : Menu) return Item; + -- AKA: current_item() + pragma Inline (Current); + + -- #1A NAME="AFU_15"#2| + procedure Set_Top_Row (Men : in Menu; + Line : in Line_Position); + -- AKA: set_top_row() + pragma Inline (Set_Top_Row); + + -- #1A NAME="AFU_16"#2| + function Top_Row (Men : Menu) return Line_Position; + -- AKA: top_row() + pragma Inline (Top_Row); + + -- #1A NAME="AFU_17"#2| + function Get_Index (Itm : Item) return Positive; + -- AKA: item_index() + -- Please note that in this binding we start the numbering of items + -- with 1. So this is number is one more than you get from the low + -- level call. + pragma Inline (Get_Index); + + -- |===================================================================== + -- | Man page menu_post.3x + -- |===================================================================== + + -- #1A NAME="AFU_18"#2| + procedure Post (Men : in Menu; + Post : in Boolean := True); + -- AKA: post_menu() + -- AKA: unpost_menu() + pragma Inline (Post); + + -- |===================================================================== + -- | Man page menu_opts.3x + -- |===================================================================== + + -- #1A NAME="AFU_19"#2| + 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; + 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; + Options : out Menu_Option_Set); + -- AKA: menu_opts() + + -- #1A NAME="AFU_22"#2| + function Get_Options (Men : Menu := Null_Menu) return Menu_Option_Set; + -- AKA: menu_opts() + pragma Inline (Get_Options); + + -- |===================================================================== + -- | Man page menu_win.3x + -- |===================================================================== + + -- #1A NAME="AFU_23"#2| + procedure Set_Window (Men : in Menu; + Win : in Window); + -- AKA: set_menu_win() + pragma Inline (Set_Window); + + -- #1A NAME="AFU_24"#2| + function Get_Window (Men : Menu) return Window; + -- AKA: menu_win() + pragma Inline (Get_Window); + + -- #1A NAME="AFU_25"#2| + procedure Set_Sub_Window (Men : in Menu; + Win : in Window); + -- AKA: set_menu_sub() + pragma Inline (Set_Sub_Window); + + -- #1A NAME="AFU_26"#2| + function Get_Sub_Window (Men : Menu) return Window; + -- AKA: menu_sub() + pragma Inline (Get_Sub_Window); + + -- #1A NAME="AFU_27"#2| + procedure Scale (Men : in Menu; + Lines : out Line_Count; + Columns : out Column_Count); + -- AKA: scale_menu() + pragma Inline (Scale); + + -- |===================================================================== + -- | Man page menu_cursor.3x + -- |===================================================================== + + -- #1A NAME="AFU_28"#2| + procedure Position_Cursor (Men : Menu); + -- AKA: pos_menu_cursor() + pragma Inline (Position_Cursor); + + -- |===================================================================== + -- | Man page menu_mark.3x + -- |===================================================================== + + -- #1A NAME="AFU_29"#2| + 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; + Mark : out String); + -- AKA: menu_mark() + + function Mark (Men : Menu) return String; + -- AKA: menu_mark() + -- Implemented as function + pragma Inline (Mark); + + -- |===================================================================== + -- | Man page menu_attribs.3x + -- |===================================================================== + + -- #1A NAME="AFU_31"#2| + procedure Set_Foreground + (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; + Fore : out Character_Attribute_Set); + -- AKA: menu_fore() + + -- #1A NAME="AFU_33"#2| + 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; + 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; + Back : out Character_Attribute_Set); + -- AKA: menu_back() + -- #1A NAME="AFU_36"#2| + + 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; + 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; + Grey : out Character_Attribute_Set); + -- AKA: menu_grey() + + -- #1A NAME="AFU_39"#2| + procedure Grey + (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; + Pad : in Character := Space); + -- AKA: set_menu_pad() + pragma Inline (Set_Pad_Character); + + -- #1A NAME="AFU_41"#2| + procedure Pad_Character (Men : in Menu; + Pad : out Character); + -- AKA: menu_pad() + pragma Inline (Pad_Character); + + -- |===================================================================== + -- | Man page menu_spacing.3x + -- |===================================================================== + + -- #1A NAME="AFU_42"#2| + 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; + Col : out Column_Position); + -- AKA: menu_spacing() + pragma Inline (Spacing); + + -- |===================================================================== + -- | Man page menu_pattern.3x + -- |===================================================================== + + -- #1A NAME="AFU_44"#2| + 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; + Text : out String); + -- AKA: menu_pattern() + pragma Inline (Pattern); + + -- |===================================================================== + -- | Man page menu_format.3x + -- |===================================================================== + + -- #1A NAME="AFU_46"#2| + procedure Set_Format (Men : in Menu; + Lines : in Line_Count; + Columns : in Column_Count); + -- AKA: set_menu_format() + pragma Inline (Set_Format); + + -- #1A NAME="AFU_47"#2| + procedure Format (Men : in Menu; + Lines : out Line_Count; + Columns : out Column_Count); + -- AKA: menu_format() + pragma Inline (Format); + + -- |===================================================================== + -- | Man page menu_hook.3x + -- |===================================================================== + + type Menu_Hook_Function is access procedure (Men : in Menu); + pragma Convention (C, Menu_Hook_Function); + + -- #1A NAME="AFU_48"#2| + 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; + 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; + 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; + Proc : in Menu_Hook_Function); + -- AKA: set_menu_term() + pragma Inline (Set_Menu_Term_Hook); + + -- #1A NAME="AFU_52"#2| + function Get_Item_Init_Hook (Men : Menu) return Menu_Hook_Function; + -- AKA: item_init() + pragma Inline (Get_Item_Init_Hook); + + -- #1A NAME="AFU_53"#2| + function Get_Item_Term_Hook (Men : Menu) return Menu_Hook_Function; + -- AKA: item_term() + pragma Inline (Get_Item_Term_Hook); + + -- #1A NAME="AFU_54"#2| + function Get_Menu_Init_Hook (Men : Menu) return Menu_Hook_Function; + -- AKA: menu_init() + pragma Inline (Get_Menu_Init_Hook); + + -- #1A NAME="AFU_55"#2| + function Get_Menu_Term_Hook (Men : Menu) return Menu_Hook_Function; + -- AKA: menu_term() + pragma Inline (Get_Menu_Term_Hook); + + -- |===================================================================== + -- | Man page menu_items.3x + -- |===================================================================== + + -- #1A NAME="AFU_56"#2| + 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; + pragma Inline (Set_Items); + + -- #1A NAME="AFU_57"#2| + function Items (Men : Menu; + Index : Positive) return Item; + -- AKA: menu_items() + pragma Inline (Items); + + -- #1A NAME="AFU_58"#2| + function Item_Count (Men : Menu) return Natural; + -- AKA: item_count() + pragma Inline (Item_Count); + + -- |===================================================================== + -- | Man page menu_new.3x + -- |===================================================================== + + -- #1A NAME="AFU_59"#2| + function Create (Items : Item_Array_Access) return Menu; + -- AKA: new_menu() + -- Not inlined + + function New_Menu (Items : Item_Array_Access) return Menu renames Create; + + -- #1A NAME="AFU_60"#2| + procedure Delete (Men : in out Menu); + -- AKA: free_menu() + -- Reset Men to Null_Menu + -- Not inlined + + -- |===================================================================== + -- | Man page menu_new.3x + -- |===================================================================== + + type Driver_Result is (Menu_Ok, + Request_Denied, + Unknown_Request, + No_Match); + + -- #1A NAME="AFU_61"#2| + function Driver (Men : Menu; + Key : Key_Code) return Driver_Result; + -- AKA: menu_driver() + -- Driver is not inlined + +------------------------------------------------------------------------------- +private + type Item is new System.Storage_Elements.Integer_Address; + type Menu is new System.Storage_Elements.Integer_Address; + + Null_Item : constant Item := 0; + Null_Menu : constant Menu := 0; + +end Terminal_Interface.Curses.Menus; +\ No newline at end of file