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

⟦174d2c17a⟧ Ada Source

    Length: 6144 (0x1800)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, generic, package Hyper_Table, seg_004420

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 The add_table procedure will 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.
--|
with Ada_Program;
with Abstract_Document;
with Directory_Tools;
package Hyper_Table is
--
-- 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.
-- After all elements in the scope of the 'units' have been traversed
-- the generic then calls the additional_included_elements function to include
-- any other elements to be includede from outside the scope of 'units'.

-- The following function returns an empty element list and serves as
-- a default generic formal to add_table.
--
    function Nil_Element_List return Ada_Program.Element_List;

    generic
        -- determines whether to include a row the current element
        with function Include_Element
                         (Elem : Ada_Program.Element) return Boolean;

        -- provides the list of columns. The name of the column is the image
        -- of the enumeration value.  Data is sorted in left to right column order.
        type Columns is (<>);

        -- Defines if the data in the column is integer values.  If this is so it
        -- will be sorted by its integer magnitude, not by its string image.
        with function Is_Integer_Valued (C : Columns) return Boolean;

        -- 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;

        -- 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;

        -- 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);

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

        -- After all units are traversed this function is called to include
        -- any elements that should be in the table that were not in the
        -- closure of the given units.  Image, Explanation, and Linkage are
        -- all called for each of these elements - but Included is assumed
        -- to be true.
        with function Additional_Included_Elements
                         return Ada_Program.Element_List is Nil_Element_List;

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

end Hyper_Table;

E3 Meta Data

    nblk1=5
    nid=0
    hdr6=a
        [0x00] rec0=19 rec1=00 rec2=01 rec3=062
        [0x01] rec0=18 rec1=00 rec2=02 rec3=028
        [0x02] rec0=12 rec1=00 rec2=03 rec3=04a
        [0x03] rec0=12 rec1=00 rec2=04 rec3=040
        [0x04] rec0=04 rec1=00 rec2=05 rec3=000
    tail 0x2150035ba815c63cb5a79 0x42a00088462061e03