DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦3b5f6c985⟧ Ada Source

    Length: 6144 (0x1800)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Window_Utilities, seg_004702

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦this⟧ 

E3 Source Code



--| @SUMMARY Provides some useful utilities for manipulating windows.
--| @INDICES (WINDOW_IO)
with Window_Io;
with Bounded_String;
package Window_Utilities is

    --| @DESCRIPTION  Moves the cursor to the beginning of the current line.
    procedure Beginning_Of_Line (Window : Window_Io.File_Type);

    --| @DESCRIPTION  Moves the cursor to the end of the current line.
    procedure End_Of_Line (Window : Window_Io.File_Type);

    --| @DESCRIPTION  Moves the cursor to the same column position  of the
    --| next line.
    procedure Next_Line (Window : Window_Io.File_Type);

    --| @DESCRIPTION  Moves the cursor to the upper left hand corner of the
    --| window
    procedure Home (Window : Window_Io.File_Type);

    procedure Erase (Window : Window_Io.File_Type);

    procedure Erase_Column (Window : Window_Io.File_Type;
                            Offset : Natural;
                            Width  : Positive;
                            Length : Natural := 0);

    --| @DESCRIPTION Places the specified prompt at the specified place
    --| in the window and hangs, waiting for the user to press promote.
    --| When this is done the procedure returns.
    procedure Continue (Input_Window  : Window_Io.File_Type;
                        Output_Window : Window_Io.File_Type;
                        Prompt        : String;
                        Line          : Positive;
                        Column        : Positive);

    --| @DESCRIPTION Places the specified prompt at the specified place
    --| in the window and hangs, allowing the user to edit the prompt.
    --| When the user presses Promote, the function returns the text entered
    --| on the prompt by the user.
    function Query (Input_Window  : Window_Io.File_Type;
                    Output_Window : Window_Io.File_Type;
                    Prompt        : String;
                    Line          : Positive;
                    Column        : Positive) return String;

    --| @DESCRIPTION Places the specified prompt at the specified place
    --| in the window and hangs, allowing the user to edit the prompt.
    --| When the user presses Promote, the function returns the text entered
    --| on the prompt by the user and deletes the text from the screen.
    function Prompt_Query (Input_Window  : Window_Io.File_Type;
                           Output_Window : Window_Io.File_Type;
                           Prompt        : String;
                           Line          : Positive;
                           Column        : Positive) return String;

    --| @DESCRIPTION Places the specified prompt at the specified place
    --| in the window and hangs, allowing the user to edit the prompt.
    --| When the user enters a character a '*' is placed in the prompt image.
    --| Deleted characters are replaced with a '+'.  This allows the user
    --| to enter text without it begin displayed on the screen.
    --| When the user presses Promote, the function returns the text entered
    --| on the prompt by the user.
    function Hidden_Query (Input_Window  : Window_Io.File_Type;
                           Output_Window : Window_Io.File_Type;
                           Prompt        : String;
                           Line          : Positive;
                           Column        : Positive) return String;



    type Iterator is private;

    --| @DESCRIPTION Provides iteration through all lines in a window.
    function Initialize (Window : Window_Io.File_Type) return Iterator;

    function  Done  (Iter : Iterator) return Boolean;
    function  Value (Iter : Iterator) return String;
    procedure Next  (Iter : in out Iterator);
private
    Line_Length : constant := 256;
    subtype Bound_String is Bounded_String.Variable_String (Line_Length);

    type Node;
    type Iterator is access Node;

    type Node is
        record
            Line : Bound_String;
            Next : Iterator;
        end record;
end Window_Utilities;

E3 Meta Data

    nblk1=5
    nid=0
    hdr6=a
        [0x00] rec0=1b rec1=00 rec2=01 rec3=042
        [0x01] rec0=13 rec1=00 rec2=02 rec3=046
        [0x02] rec0=11 rec1=00 rec2=03 rec3=008
        [0x03] rec0=1b rec1=00 rec2=04 rec3=030
        [0x04] rec0=04 rec1=00 rec2=05 rec3=000
    tail 0x217002a88815c6783130a 0x42a00088462061e03