|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 5120 (0x1400)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, generic, package Single_Selection_Line_Menus, seg_0046fe
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
--| @SUMMARY Defines an abstraction for defining, displaying, and providing
--| user interaction with menus.
--| @INDICES (Window_Io, Menus)
--|
with Window_Io;
generic
type Element is private;
--| @DESCRIPTION Defines the image displayed in the menu for an element
--| placed in the menu definition.
with function Line_Image (E : Element) return String;
--| @DESCRIPTION When keys unknown by the menu are pressed, they are
--| passed to the user for interpretation and possible effect. Know keys
--| are: Up_Arrow, Down_Arrow, Left_Arrow, Right_Arrow, Window - Up,
--| Window - Down, Definition, and Promote. All alpha-numeric characters
--| are also recognised, move the cursor to the first item in the menu that
--| begins with that character.
with procedure Unknown_Key (Key : Window_Io.Raw.Key; E : in out Element);
package Single_Selection_Line_Menus is
subtype Window_Type is Window_Io.File_Type;
type Menu_Definition is private;
function Make return Menu_Definition;
procedure Add (E : Element; To : in out Menu_Definition);
--| @DESCRIPTION Turns the image of an element on the screen to
--| reverse video
procedure Highlight_Element (Menu_Output : Window_Type;
E : Element;
Def : Menu_Definition;
Font : Window_Io.Font);
type Layout is (Vertical, Horizontal);
--| @DESCRIPTION Displays a menu definition at the specified column
--| and lien offset. The menu can either be displayed vertically or
--| horizontally.
procedure Display (Menu_Output : Window_Type;
Def : Menu_Definition;
Title : String := "";
Column_Offset : Natural := 0;
Line_Offset : Natural := 0;
Presentation : Layout := Vertical);
--| @DESCRIPTION Allows a user to manipulate the menu, moving from
--| element to element with the cursor keys and "electric" alpha-
--| numeric keys. When the user presses Promote the current menu
--| item is returned.
function Get_Response (Menu_Input : Window_Type;
Menu_Output : Window_Type;
Def : Menu_Definition) return Element;
private
type Node;
type Menu_Access is access Node;
type Menu_Definition is access Node;
type Node is
record
Elem : Element;
Elem_Number : Positive;
First_Char : Character;
Line : Positive;
Column : Positive;
Next : Menu_Definition;
Previous : Menu_Definition;
Current_Node : Menu_Definition;
end record;
end Single_Selection_Line_Menus;
nblk1=4
nid=0
hdr6=8
[0x00] rec0=1a rec1=00 rec2=01 rec3=00e
[0x01] rec0=17 rec1=00 rec2=02 rec3=02a
[0x02] rec0=1c rec1=00 rec2=03 rec3=036
[0x03] rec0=01 rec1=00 rec2=04 rec3=001
tail 0x217002a80815c67778f30 0x42a00088462061e03