|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 6144 (0x1800)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, generic, procedure Add_Object_Hyper_Table, seg_004587
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
--| @SUMMARY The procedure will traverse a set of objects and their children
--| by build an abstract document table of objects that meet some criteria.
--|
--| @DESCRIPTION This procedure traverses the entire set of objects in all
--| units specified by the Units parameter. Based on the feedback from the
--| formal function parameter Included_Object, a row is included in a table.
--| For each column (designated by an enumeration type), an image, explanation,
--| and linkage is requested from the instantiator.
--|
--| if Include_Object (The_Object) then
--| for C in Columns loop
--|
--| Linkage (For_Column => C,
--| For_Object => My_Object,
--| Linkage => Linkage_Object,
--| Linkage_List => Linkage_Objects);
--|
--| Table.Item (Image (C, My_Object),
--| Object_Linkage => Linkage_Object,
--| Object_Linkage_List => Linkage_Objects,
--| Explanation => Explanation (C, My_Object));
--| end loop;
--| end if;
--|
--| After each object is analyze the instantiator is queried to determine in
--| traversal should continue with any child objects:
--|
--| if Continue_Traversal (My_Object) then
--| Control := Traversal.Continue;
--| else
--| Control := Traversal.Skip_Children;
--| end if;
--|
--| Once all elements are traversed and the table completed, it is sorted in
--| left to right column order. The table is then appended to an existing
--| (open) document handle.
--|
--| @INDICES (DIRECTORY_TRAVERSAL, HYPER_TEXT)
with Directory_Tools;
with Abstract_Document;
generic
--| @DESCRIPTION Determines whether to include a row in the table for
--| the current object
with function Include_Object
(Obj : Directory_Tools.Object.Handle) return Boolean;
--| @DESCRIPTION Determines whether to continue traversal to child objects
with function Continue_Traversal
(For_Object : Directory_Tools.Object.Handle)
return Boolean;
--| @DESCRIPTION Defines 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 (<>);
--| @DESCRIPTION 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;
--| @DESCRIPTION Provides the image of each column of the table row for
--| the current object
with function Image
(For_Column : Columns;
For_Object : Directory_Tools.Object.Handle) return String;
--| @DESCRIPTION Provides explanation text for each column of the table
--| row for the current object. This text is displayed when the user
--| presses the Explain key.
with function Explanation
(For_Column : Columns;
For_Object : Directory_Tools.Object.Handle) return String;
--| @DESCRIPTION Provides an object or list of object that the column
--| is "linked" to. If the user presses the Definition key on the column
--| the editor will traverse to this object or generate a menu of
--| objects.
with procedure Linkage (For_Column : Columns;
For_Object : Directory_Tools.Object.Handle;
Linkage : out Directory_Tools.Object.Handle;
Linkage_List : out Directory_Tools.Object.Iterator);
--| @DESCRIPTION Defines the title of the table placed in the
--| abstract document.
Table_Title : String := "";
procedure Add_Object_Hyper_Table
(Units : in out Directory_Tools.Object.Iterator;
To_Document : in out Abstract_Document.Handle;
Response : String := "<PROFILE>");
nblk1=5
nid=0
hdr6=a
[0x00] rec0=16 rec1=00 rec2=01 rec3=00c
[0x01] rec0=1a rec1=00 rec2=02 rec3=09c
[0x02] rec0=16 rec1=00 rec2=03 rec3=07a
[0x03] rec0=15 rec1=00 rec2=04 rec3=016
[0x04] rec0=02 rec1=00 rec2=05 rec3=000
tail 0x217002096815c6507177f 0x42a00088462061e03