DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ T V ┃
Length: 7610 (0x1dba) Types: TextFile Names: »V«
└─⟦d10a02448⟧ Bits:30000409 8mm tape, Rational 1000, ENVIRONMENT, D_12_7_3 └─ ⟦fc9b38f02⟧ »DATA« └─⟦9b46a407a⟧ └─⟦12c68c704⟧ └─⟦this⟧ └─⟦5f3412b64⟧ Bits:30000745 8mm tape, Rational 1000, ENVIRONMENT 12_6_5 TOOLS └─ ⟦91c658230⟧ »DATA« └─⟦458657fb6⟧ └─⟦220843204⟧ └─⟦this⟧
with Default; with Directory; with Machine; package Object_Editor is pragma Subsystem (Object_Editor, Closed); pragma Module_Name (4, 2223); -- Detached jobs and jobs initiated via the program package have -- no associated image. type Focus is (Selection, Cursor, Image, Region); -- If not named specifically, an object (or collection of objects) can -- be designated by a highlighted selection on an image or by the -- location of the cursor within an image. Different algorithms -- for determining such designated objects are implemented by this -- package to satisfy the differing requirements of environment -- commands (taking one argument denoted in this way) -- Selection -- An object is selected in this mode only if its declaration is -- highlighted and the cursor is within or immediately adjacent to -- that highlighted region. -- This is the most restrictive selection mode and would be used -- by commands, such as delete and demote, that must have a -- strong indication from the user of the intended object. -- Cursor -- An object is selected in this mode if its declaration is -- selected as described in the preceding case or, if there is no -- highlighted selection on the image of the cursor, the cursor -- is on a portion of the object's declaration. -- This is less restrictive than the preceding case in that it -- accepts any placement of the cursor within an image. Commands -- such as definition or help would use this mode because it -- reduces the number of key strokes required by the user. -- Image -- An object is selected in this mode if its declaration is -- selected as described in the Selection mode or, if there is no -- highlighted selection on the image of the cursor, the cursor is -- on the image associated with the object. -- This mode accepts the same configurations of cursor and -- selection as in the Cursor mode, but treats the cursor less -- specifically by selecting the object that is represented by the -- entire image rather than the object that is represented by the -- portion of the image that the cursor is on. -- Region -- An object is selected in this mode if its declaration is -- highlighted. The cursor does NOT have to be in the region. -- This is less restrictive than Selection focus and would be -- used by commands such as copy to obtain their source object. -- Some object editors will behave the same in the Cursor and -- Image modes because they do not support the notion of designations -- nested within an image. For such editors, the Selection mode will -- always fail unless the selection constitutes the entire image. procedure Get_Declaration (Decl : out Directory.Declaration; Status : out Directory.Naming.Name_Status; Precision : Object_Editor.Focus := Object_Editor.Selection; Job : Default.Process_Id := Default.Process); -- Returns the declaration for the object designated by the current -- selection according to the specified algorithm. procedure Get_Object (Object : out Directory.Object; Status : out Directory.Naming.Name_Status; Class : Directory.Class := Directory.Nil; Precision : Object_Editor.Focus := Object_Editor.Selection; Job : Default.Process_Id := Default.Process); -- Returns the Directory object designated by the current selection -- according to the specified algorithm. function Get_Text (Precision : Object_Editor.Focus := Object_Editor.Region; Job : Default.Process_Id := Default.Process) return String; -- Returns the text contained in the current focus. Region selections -- are allowed. Text may include Ascii.LF's to indicate end of line. function Get_Name (Precision : Object_Editor.Focus := Object_Editor.Image; Job : Default.Process_Id := Default.Process) return String; -- Return the name of the image, which may not be a valid directory name, -- or the name of the declaration/object associated with the -- current cursor/selection/region/window. -- IMAGE MANIPULATION OPERATIONS procedure Release_Access (The_Object : Directory.Object); -- acquire rights to the designated object if they are held by the current -- session; allows tools to guard against being locked out by other windows -- procedure Display_Declaration (For_Object : Directory.Object; -- In_Library : Boolean := False; -- In_Place : Boolean := False); -- procedure Display_Declaration (For_Version : Directory.Version; -- In_Library : Boolean := False; -- In_Place : Boolean := False); -- -- procedure Display (The_Object : Directory.Object; -- In_Place : Boolean := False); -- procedure Display (The_Version : Directory.Version; -- In_Place : Boolean := False); -- -- -- In_Library will cause ada subunits to have their enclosing -- -- library displayed instead of their stub declaration in their -- -- parent ada unit. pragma Consume_Offset (4); procedure Update_Changed_Image (The_Object : Directory.Object); -- notify the editor that changes have been made to the object that it -- doesn't know about yet procedure Update_Changed_Images; -- non-specific (and slower) version of the above subtype Editor_Name is String; function Name return Editor_Name; -- Returns the name of the object editor associated with the current image. function Supports_Declarations (Editor : Editor_Name := Name) return Boolean; function Supports_Subobjects (Class : Directory.Class := Directory.Nil; Editor : Editor_Name := Name) return Boolean; -- Indicates whether the named editor can ever associate -- objects/declarations with the cursor or selection (other than the -- object/declaration associated with the containing image). -- Iterate over all object editors. Primarily for completeness, but -- allows tool writers to determine the set of applicable OE's. type Iterator is private; procedure Init (Iter : out Iterator); function Done (Iter : Iterator) return Boolean; function Value (Iter : Iterator) return Editor_Name; procedure Next (Iter : in out Iterator); -- Returns the job that the editor regards as current function Current_Job return Machine.Job_Id; procedure Display_Declaration (For_Object : Directory.Object; In_Library : Boolean := False; In_Place : Boolean := False); procedure Display_Declaration (For_Version : Directory.Version; In_Library : Boolean := False; In_Place : Boolean := False); procedure Display (The_Object : Directory.Object; In_Place : Boolean := False); procedure Display (The_Version : Directory.Version; In_Place : Boolean := False); end Object_Editor;