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

⟦984973cee⟧ Ada Source

    Length: 5120 (0x1400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, generic, procedure Add_Hyper_Table, seg_004611

Derivation

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

E3 Source Code



--| @SUMMARY This procedure will traverse a set of installed Ada units
--| performing a depth first traversal on each unit.  The instantiator
--| of this generic can select which elements are included in the table
--| and can provide an image, explanantion text, and linkage for
--| each table element.  Table entries are sorted left to right and then
--| added to an open abstract document handle.
--| @DESCRIPTION This procedure traverse the entire set of elements in all
--| units specified by the Units parameter.  Based on the feedback from the
--| formal parameter Included_Element, a row is included in a table.  For
--| each column (designated by an enumeration type), an image and linkage
--| is requested from the instantiator.
--|
--| if Include_Element (Program_Element) then
--|     for C in Columns loop
--|
--|         Linkage (For_Column => C,
--|                  For_Element => Program_Element,
--|                  Linkage => Linkage_Element,
--|                  Linkage_List => Linkage_Elements);
--|
--|         Table.Item (Image (C, Program_Element),
--|                     Linkage => Linkage_Element,
--|                     Linkage_List => Linkage_Elements,
--|                     Explanation => Explanation
--|                                       (C, Program_Element));
--|     end loop;
--| end if;
--|
--| Once all elements are traversed and the table completed,
--| it is sorted in left to right column order and displayed.  Two options are
--| available, one to create a preview object and place the table in the first
--| paragraph, or another to append a table to existing (open) document handle.
with Ada_Program;
with Abstract_Document;
with Directory_Tools;
generic
    --| @DESCRIPTION Determines whether to include a row the in the table
    --| for the element
    with function Include_Element (Elem : Ada_Program.Element) return Boolean;

    --| @DESCRIPTION Defines the list of columns.  The name of the column is
    --| the image of the enumeration value.  Table entries are sorted in left
    --| to right column order.
    type Columns is (<>);

    --| @DESCRIPTION Determines if the data entries in the column are integer
    --| values.  If this is so, they will be sorted by integer magnitude,
    --| and not by their string image.
    with function Is_Integer_Valued (C : Columns) return Boolean;

    --| @DESCRIPTION Provides the image for each column in the table row
    --| for the current element
    with function Image (For_Column  : Columns;  
                         For_Element : Ada_Program.Element) return String;

    --| @DESCRIPTION Provides explanation text for each column in the table
    --| row for the current element.  This text is displayed when the user
    --| presses the Explain key.
    with function Explanation (For_Column  : Columns;  
                               For_Element : Ada_Program.Element) return String;

    --| @DESCRIPTION provides an element or elements that the column is
    --| "linked" to.  If the user performs a Definition on the column the
    --| editor will traverse to this element or generate a menu of elements.
    with procedure Linkage (For_Column   :     Columns;
                            For_Element  :     Ada_Program.Element;
                            Linkage      : out Ada_Program.Element;
                            Linkage_List : out Ada_Program.Element_List);

    --| @DESCRIPTION Defines the title of the table placed in the abstract
    --| document.
    Table_Title : String := "";

procedure Add_Hyper_Table (Units       : in out Directory_Tools.Object.Iterator;
                           To_Document : in out Abstract_Document.Handle;
                           Response    :        String := "<PROFILE>");

E3 Meta Data

    nblk1=4
    nid=0
    hdr6=8
        [0x00] rec0=14 rec1=00 rec2=01 rec3=020
        [0x01] rec0=16 rec1=00 rec2=02 rec3=088
        [0x02] rec0=15 rec1=00 rec2=03 rec3=026
        [0x03] rec0=0f rec1=00 rec2=04 rec3=001
    tail 0x215004200815c65ad75a1 0x42a00088462061e03