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

⟦a6a7abac8⟧ Ada Source

    Length: 9216 (0x2400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Info, seg_0046be, separate Spreadsheet_Generic.Engine

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



with Window_Io;
separate (Spreadsheet_Generic.Engine)
package body Info is
    package Wio renames Window_Io;
    Help_Window  : constant String := Default_Name & "_Help";
    Release_Data : constant String :=
       Default_Name & ' ' & Application_Version &
          " / Spreadsheet " & Spreadsheet_Version;
    type State is (Off, On);
    Help_State : State := Off;

    Hlp, Hlpin : Wio.File_Type;

    procedure Show (S : String) is
    begin
        Wio.Insert (Hlp, S, Kind => Wio.Protected);
        Wio.New_Line (Hlp);
    end Show;  
    procedure Show_Basic is
    begin
        Show
           ("Basic function:            Facit terminal      VT100    Rational");
        Show
           ("-----------------------------------------------------------------");  
        Show ("Help        **             F5  [Help/Help]     PF1      F11");
        Show ("Definition  *              F4  [Definition]    pad 8    F10");
        Show ("Show        *             F9  [Other Part]    pad 6    F17");
        Show ("Format                     X6  [Format]        pad -    Format");
        Show ("Compute     *              X4  [Promote]       enter    Promot");
        Show ("Save        **             F6  [Install]       pad 2    F13");
        Show ("Load        *              F10 [Semanticize]   pad 3    F16");
        Show ("Time                       F12 [What Time]     PF4      F20");
        Show ("Command     *              F8  [Create Comm.]  pad .    F15");
        Show ("Window                     X3  [Window]        PF2      window");
        Show ("Print       (future)       F11 [Print]         PF3      CM_F11");
        Show ("                                                        ");
        Show ("*  indicates that function is application dependent");
        Show ("** indicates that function is patially application dependent");
        Show ("");
        Show ("Up, Down                   Up, Down           <-idem    <-idem");
        Show ("Left, Right                Left,Right");  
        Show ("                                                        ");
        Show
           ("Begin_Of                       [Back_Tab]      pad 7    Begin_of");
        Show ("End_Of                     C_I [Tab]           pad 9    End_Of");
        Show
           ("Home                       X5  [Complete]      pad 5    complet");
        Show ("Bottom                     C_  Line_Feed       C_       ????");
        Show ("                           ");
        Show ("Del                        Del                          Del");
        Show ("Erase                      C_D                 C_D      C_D");
        Show ("                                        ");
        Show ("Reset                      C_H [Backspace]     pad 4    C_H");
        Show
           ("Quit                       Esc-Enter           Esc-G    Esc-Enter");
        Show ("Disconnect                 C_G                 C_G      C_G");
        Show ("Reconnect                  esc-F11             ????     ????");
        Show ("");
    end Show_Basic;

    procedure Show_Application is
        H    : constant String := Help;
        I, J : Integer         := H'First;
    begin
        while I <= H'Last loop
            J := I;
            while J <= H'Last and then H (J) /= Ascii.Lf loop
                J := J + 1;
            end loop;
            Show (H (I .. J - 1));
            I := J + 1;
        end loop;
    end Show_Application;

    procedure Display is
        Str : String (1 .. 10);
        Lst : Integer;
    begin  
        if Help_State = Off then
            Wio.Create (Hlp, Name => Help_Window);
        else
            Wio.Open (Hlp, Name => Help_Window);
        end if;  
        Wio.Position_Cursor (Hlp);
        Wio.Overwrite (Hlp, "Help for " & Release_Data, Kind => Wio.Protected);
        Wio.Position_Cursor (Hlp, 3);
        if Help_State = Off then
            Show_Application;
        end if;
        loop
            Show ("To return to application, press [enter]");
            Show ("For basic spreadsheet functions help, press [Help] again.");
            Show ("Any other key to disconnect.");

            case Keyboard.Get_Key is
                when Keyboard.Help =>
                    Wio.Move_Cursor (Hlp, -3, 0);
                    Wio.Delete_Lines (Hlp, 3);
                    Show_Basic;
                when Keyboard.Enter =>
                    Wio.Move_Cursor (Hlp, -3, 0);
                    Wio.Delete_Lines (Hlp, 3);
                    exit;
                when Keyboard.Del =>
                    Wio.Delete (Hlp);
                    Screen.Cursor;
                    return;
                when others =>
                    Wio.Move_Cursor (Hlp, -3, 0);
                    Wio.Delete_Lines (Hlp, 3);
                    Wio.Open (Hlpin, Wio.In_File, Wio.Name (Hlp));
                    Wio.Position_Cursor (Hlpin, Wio.Last_Line (Hlp) + 1);
                    Wio.Get_Line
                       (Hlpin, "To reconnect to application, put cursor" &
                                  " here and press [ENTER]", Str, Lst);
                    Wio.Close (Hlpin);
                    exit;
            end case;  
        end loop;
        Help_State := On;
        Wio.Close (Hlp);
        Screen.Cursor;
    end Display;
end Info;

E3 Meta Data

    nblk1=8
    nid=0
    hdr6=10
        [0x00] rec0=1c rec1=00 rec2=01 rec3=03e
        [0x01] rec0=00 rec1=00 rec2=08 rec3=002
        [0x02] rec0=0d rec1=00 rec2=02 rec3=084
        [0x03] rec0=10 rec1=00 rec2=03 rec3=070
        [0x04] rec0=1f rec1=00 rec2=04 rec3=016
        [0x05] rec0=00 rec1=00 rec2=07 rec3=016
        [0x06] rec0=19 rec1=00 rec2=05 rec3=008
        [0x07] rec0=0d rec1=00 rec2=06 rec3=001
    tail 0x217002a04815c66f94fbb 0x42a00088462061e03