|  | 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 - metrics - downloadIndex: B T
    Length: 2804 (0xaf4)
    Types: TextFile
    Names: »B«
└─⟦bfaa708f6⟧ Bits:30000531 8mm tape, Rational 1000, INSIGHT 1_3_0
    └─⟦c51948655⟧ »DATA« 
        └─⟦266b31e86⟧ 
            └─⟦this⟧ 
with Seat_Controls;
with Screen;
package body Panel_Interface is
    function "<" (A, B : Seats.Seat_Id) return Boolean renames Seats."<";
    The_Panel : Screen.Panel;
    procedure Dump_O2 (Open : Boolean; Seat : Seats.Seat_Id) is
    begin
        [statement]  
    end Dump_O2;
    function Is_Passenger_Reading_Light (Seat : Seats.Seat_Id) return Boolean is
    begin
        return Seat < 100;
        -- Total kludge!!
    end Is_Passenger_Reading_Light;
    procedure Light_On (Seat : Seats.Seat_Id) is
    begin
        if Is_Passenger_Reading_Light (Seat) then
            Screen.Set_Light (Screen.On, The_Panel);
        else  -- Must be the service call light.
            Screen.Set_Service_Call (Screen.On, The_Panel);
        end if;
    end Light_On;
    procedure Light_Off (Seat : Seats.Seat_Id) is
    begin
        if Is_Passenger_Reading_Light (Seat) then
            Screen.Set_Light (Screen.Off, The_Panel);
        else  -- Must be the service call light.
            Screen.Set_Service_Call (Screen.Off, The_Panel);
        end if;
    end Light_Off;
    procedure Interact_Passenger is  
        Selection : Screen.Display_Item_With_Label;
        use Screen;  
        Available_Choices :
           constant array (Screen.Display_Item_With_Passenger_Choices) of
                       String (1 .. 40) :=
           (Audio_Channel => "1,2,3,4,5,6                             ",
            Game => "Pong, Pac_Man, Chess, Go, Tic_Tac_Toe   ",
            Movie => "Airport, Witness, Silver_Streak, Big    ");
    begin
        Screen.Create (The_Panel);
        loop
            Selection := Screen.Get_Selection (The_Panel);
            case Selection is
                when Weather | Flight_Info | Reservations |
                     Call | Redial | Modem =>
                    null;
                when Audio_Channel | Game | Movie =>
                    declare
                        Choice : constant String :=
                           Screen.Get_Choice
                              (For_Item => Selection,
                               From_List => Available_Choices (Selection),
                               On_The_Panel => The_Panel);
                    begin
                        null; -- don't need to do anything with the choice yet.
                    end;
                when Stock_Market =>
                    null;
                    -- Hard coded message!
                when Light_On =>
                    Seat_Controls.Light_On (23);
                when Light_Off =>
                    Seat_Controls.Light_Off (23);
                when Service_Call =>
                    Seat_Controls.Call_Button (23);
            end case;
        end loop;
        Screen.Close (The_Panel);
    end Interact_Passenger;
end Panel_Interface;