DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

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 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ B T

⟦3c0f2b37b⟧ TextFile

    Length: 5009 (0x1391)
    Types: TextFile
    Names: »B«

Derivation

└─⟦149519bd4⟧ Bits:30000546 8mm tape, Rational 1000, !projects 93-07-13
    └─ ⟦124ff5788⟧ »DATA« 
        └─⟦this⟧ 
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
    └─ ⟦129cab021⟧ »DATA« 
        └─⟦this⟧ 
└─⟦f64eaa120⟧ Bits:30000752 8mm tape, Rational 1000, !projects 93 02 16
    └─ ⟦6f12a12be⟧ »DATA« 
        └─⟦this⟧ 
└─⟦2f6cfab89⟧ Bits:30000547 8mm tape, Rational 1000, !projects 94-01-04
    └─ ⟦d65440be7⟧ »DATA« 
        └─⟦this⟧ 

TextFile

with Text_Io;
with Xt_Interface;  
with Ada_C;  
with Local_Frames;  
with Events;  
with Error_List;
with List_Editor;
with Status;
with Directory;
with Object_Management_System;

package body Library_Ed is
    package Oms renames Object_Management_System;
    Frame_Lf : constant Local_Frames.Local_Frame := Editor_Lf;
    List_Lf : constant Local_Frames.Local_Frame := Editor_Lf;

    Object_Dir : Oms.Library_Object := Oms.Library.Home;


    Error_Widget_Path : constant String := "F.PW.F2.SL2.SList";
    Library_Widget_Path : constant String := "F.PW.MW1.F1.SL1.SList";


    package Error is new Error_List (Lf => List_Lf,
                                     Widget_Path => Error_Widget_Path);

    package Status_Ed is new Status;

    procedure List_Process_Event;

    package List_Ed is new List_Editor (Lf => List_Lf,
                                        Widget_Path => "F.PW.ListEd",
                                        Process_Event => List_Process_Event);
    procedure List_Process_Event is
    begin
        List_Ed.Delete_All_Items;
    end List_Process_Event;


    procedure Display_Directory is
        I : Oms.Iterator;
    begin
        List_Ed.Delete_All_Items;
        Status_Ed.Set_Status (The_Editor => "( Library )",
                              The_Object => "",
                              Object_Status => "O",
                              Frame_Status => "F",
                              Editor_Status => "R");
        List_Ed.Set_Label (Label => Status_Ed.Get_Status);

        I := Oms.Library.Children (The_Library => Object_Dir);
        while not Oms.Done (Iter => I) loop
            List_Ed.Add_Item (Item => Oms.Any_Object.Image
                                         (The_Object => Oms.Value (Iter => I)));
            Oms.Next (Iter => I);
        end loop;
    end Display_Directory;

    procedure Init (Dir_Name : String) is
    begin  
        Error.Init;  
        List_Ed.Init;
        Display_Directory;
        null; -- must be replace by use of dir_name
    end Init;

    function Process_Events return Process_Events_State.Elements is
        Result_State : Process_Events_State.Elements :=
           Process_Events_State.Not_Processed;
    begin
        if not Events.Empty then
            declare  
                Lf : constant Local_Frames.Local_Frame := Events.Get_Lf;
                Evt_Type : constant String := Events.Get_Type;
                Field : constant String := Events.Get_Field;
                Value : constant String := Events.Get_Value;
            begin
                Text_Io.Put_Line ("GETEVENT: lf:" & Integer'Image (Lf) &
                                  "  type:" & Evt_Type & "  field:" &
                                  Field & "  value:" & Value);
                if Evt_Type = "Select" and Field = "FN" then
                    Display_Directory;
                    -- Events.Next;
                    Result_State := Process_Events_State.Processed;
                elsif Evt_Type = "Select" and Field = "FQ" then
                    Result_State := Process_Events_State.Quit;
                elsif Evt_Type = "Select" and Field = "OC" then
                    Error.Init;
                elsif Evt_Type = "Select" and Field = "OS" then
                    Error.Put_Line ("");
                elsif Evt_Type = "Select" and Field = "LL" then
                    declare
                        Object_Tmp : Oms.Library_Object :=
                           Oms.Any_Object.Value (The_String => Value);
                    begin
                        if Oms.Any_Object.Is_Library (Object_Tmp) then
                            Object_Dir := Object_Tmp;
                            Display_Directory;
                        else
                            Error.Put_Line ("this object is not a Library");
                        end if;
                    end;
                elsif Evt_Type = "Select" and Field = "TF" then
                    declare
                        Object_Tmp : Oms.Library_Object :=
                           Oms.Any_Object.Value (The_String =>
                                                    List_Ed.Get_Selected_Item);
                    begin
                        if Oms.Any_Object.Is_Library (Object_Tmp) then
                            Object_Dir := Object_Tmp;
                            Display_Directory;
                        else
                            Error.Put_Line ("this object is not a Library");
                        end if;
                    end;
                elsif Evt_Type = "Select" and Field = "TN" then
                    Object_Dir := Oms.Library.Enclosing_Library;
                    Display_Directory;
                elsif Evt_Type = "Select" then
                    Error.Put_Line (Field & " not yet implemented");
                end if;
                -- ligne suivante a supprimer
                Events.Next;
            end;
        end if;
        return Result_State;
    end Process_Events;
end Library_Ed;