separate (Help_Utility)
-------------------------PROLOGUE---------------------------------------
--                                                                    -*
-- Unit name    :  DISPLAY_ALL_HELP_INFO
-- Date created :  28 January 1985
-- Last update  :
--                                                                    -*
------------------------------------------------------------------------
--                                                                    -*
-- Abstract     :  This procedure prints all information under the
----------------: given node including text and menu.
----------------: It traverses the tree using recursion.
--                                                                    -*
------------------------------------------------------------------------
--
-- Mnemonic     :
-- Name         :
-- Release date :
------------------ Revision history ------------------------------------
--
-- DATE  AUTHOR   HISTORY
--
--
--


--------------------END-PROLOGUE----------------------------------------
procedure Display_All_Help_Info (Node : in Help_Utility.Help_Link) is

    Blank_Line_Length : constant Positive := 1;

begin

    Help_Info_Support.Append_To_Display
       (Help_Utility.Blank_Line, Blank_Line_Length);
    Help_Utility.Output_Line := Help_Utility.Blank_Line;
    Help_Utility.Output_Line (1 .. Node.Name_Length) :=
       Node.Name (1 .. Node.Name_Length);
    Help_Info_Support.Append_To_Display
       (Help_Utility.Output_Line, Node.Name_Length);
    Help_Info_Support.Append_To_Display
       (Help_Utility.Blank_Line, Blank_Line_Length);
    Help_Utility.Print_Topic_Text (Node);

    if Node.Subtopics /= null then
        Help_Info_Support.Append_To_Display
           (Help_Utility.Blank_Line, Blank_Line_Length);
        Help_Info_Support.Append_To_Display
           (Help_Utility.Add_Header_Line, Help_Utility.Add_Header_Line'Length);
        Help_Info_Support.Append_To_Display
           (Help_Utility.Blank_Line, Blank_Line_Length);
        Help_Utility.Print_Topic_Menu (Node);
    end if;

    -- go down subtopics link first

    if Node.Subtopics /= null then
        Display_All_Help_Info (Node.Subtopics);
    end if;

    -- go down next topic link last

    if Node.Next_Topic /= null then
        Display_All_Help_Info (Node.Next_Topic);
    end if;

end Display_All_Help_Info;