DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

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 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: B T

⟦b5b3661cd⟧ TextFile

    Length: 3665 (0xe51)
    Types: TextFile
    Names: »B«

Derivation

└─⟦180fe333a⟧ Bits:30000405 8mm tape, Rational 1000, SW CATALOG, 10_20_0
└─⟦180fe333a⟧ Bits:30000537 8mm tape, Rational 1000, SW Catalog 10_20_0
    └─⟦5cb1d1d7f⟧ »DATA« 
        └─⟦3b1ee7bd8⟧ 
            └─⟦this⟧ 

TextFile

-------------------------PROLOGUE---------------------------------------
--                                                                    -*
-- Unit name    :  HELP_UTILITY         body
-- Date created :  28 January 1985
-- Last update  :
--                                                                    -*
------------------------------------------------------------------------
--                                                                    -*
-- Abstract     : Body for the HELP Utility
----------------: Contains the data strucutures and procedures used in the
----------------: help utility other than those in the support package.
--                                                                    -*
------------------------------------------------------------------------
--
-- Mnemonic     :
-- Name         :
-- Release date :
------------------ Revision history ------------------------------------
--
-- DATE  AUTHOR   HISTORY
--
--
--
--------------------END-PROLOGUE----------------------------------------

with Text_Io;
with Help_Info_Support;
use Help_Info_Support;

package body Help_Utility is

    -- Text File for Help Utility

    Help_File_Type : Text_Io.File_Type;

    -- Tree Data Structures

    type Help_Topic;
    type Help_Link is access Help_Topic;
    type Help_Topic is
        record
            Name : File_Text_Line;
            Name_Length : Positive := 1;
            Level : Natural := 1;
            Text_Lines : Help_Info_Support.Text_Link := null;
            Subtopics : Help_Link := null; -- link to first subtopic
            Parent : Help_Link := null; -- link to parent record
            Next_Topic : Help_Link := null; -- link to next on same level
        end record;

    -- other common needs

    Top_Node : Help_Link := new Help_Topic;
    Current_Node : Help_Link := null;

    Output_Line : Help_Info_Support.Help_Info_Text_Line;
    Blank_Line : Help_Info_Text_Line :=
       (1 .. Help_Info_Support.Max_Line_Length => ' ');
    Header_Line : constant String := "Information Available:";
    Add_Header_Line : constant String := "Additional Information Available:";
    Term_Line : constant String := "Help Terminated";
    Topic_Line : constant String := "topic? ";
    Subtopic_Line : constant String := "subtopic? ";
    No_Doc_Line : constant String := "Sorry, no documentation available on ";

    Help_Mode : Boolean := False;
    First_Help_Me_Call : Boolean := True;
    Initialized : Boolean := False;

    -- Procedures

    procedure Initialize (Help_File_Name : in String) is separate;

    procedure Find_Keyword (Node_Name : in String;
                            Node_Name_Length : in Natural;
                            Node : in Help_Link;
                            Keyword_Matches : out Help_Link;
                            Match_Count : in out Natural) is separate;

    procedure Print_Topic_Menu (Node : in Help_Link) is separate;

    procedure Print_Topic_Text (Node : in Help_Link) is separate;

    procedure Print_Current_Prompt (Node : in Help_Link) is separate;

    procedure Display_All_Help_Info (Node : in Help_Link) is separate;

    procedure Help_Me (Cli_Buffer : in String) is separate;

    procedure Get_Text_Line (Line : out String;
                             Char_Count : out Natural;
                             Is_Last : out Boolean) is separate;

    procedure Exit_Help is separate;

    procedure Reset_Help is separate;

    function Help_Is_Terminated return Boolean is
    begin
        if Help_Mode then
            return False;
        else
            return True;
        end if;
    end Help_Is_Terminated;

end Help_Utility;