|
|
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: 6204 (0x183c)
Types: TextFile
Names: »B«
└─⟦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⟧
with System;
with Text_Io;
package body Ihm is
procedure Init_C;
pragma Interface (C, Init_C);
pragma Interface_Information (Init_C, ".InitFrame");
procedure Action_C (Fid : Integer;
Fctn : System.Address;
Field : System.Address;
Value : System.Address);
pragma Interface (C, Action_C);
pragma Interface_Information (Action_C, ".Action");
procedure Action (Wid : Window_Id;
Fctn : String;
Field : String;
Value : String) is
C_Fctn : constant String := Fctn & Ascii.Nul;
C_Field : constant String := Field & Ascii.Nul;
C_Value : constant String := Value & Ascii.Nul;
begin
Action_C (Wid, C_Fctn (C_Fctn'First)'Address,
C_Field (C_Field'First)'Address,
C_Value (C_Value'First)'Address);
end Action;
function String_Length_C (Ptr : System.Address) return Integer;
pragma Interface (C, String_Length_C);
pragma Interface_Information (String_Length_C, ".strlen");
function String_C_To_Ada (S : System.Address) return String is
Str : String (1 .. String_Length_C (S));
for Str use at S;
--Ptr : array (1 .. String_Length_C (S)) of Character;
--for Ptr use at S;
--Str : String (1 .. String_Length_C (S));
begin
--for I in Str'Range loop
-- Str (I) := Ptr (I);
--end loop;
return Str;
end String_C_To_Ada;
package body Window is
function Get_Id_C (Window_Name : System.Address) return Integer;
pragma Interface (C, Get_Id_C);
pragma Interface_Information (Get_Id_C, ".GetFrameId");
function Get_Name_C (Local_Frame : Integer) return System.Address;
pragma Interface (C, Get_Name_C);
pragma Interface_Information (Get_Name_C, ".GetFrameName");
function Nb_Wid_C return Integer;
pragma Interface (C, Nb_Wid_C);
pragma Interface_Information (Nb_Wid_C, ".MaxFrame");
procedure Put_Event_C (Fid : Integer;
Fctn : System.Address;
Field : System.Address;
Value : System.Address);
pragma Interface (C, Put_Event_C);
pragma Interface_Information (Put_Event_C, ".PutEventAda");
------------------------------------------------------------
function Name (Wid : Window_Id) return String is
begin
return String_C_To_Ada (Get_Name_C (Wid));
end Name;
function Nb_Wid return Window_Id is
begin
return Nb_Wid_C;
end Nb_Wid;
function Open (Name : String) return Window_Id is
C_Message : constant String := Name & Ascii.Nul;
Wid : Window_Id;
begin
Wid := Get_Id_C (C_Message (C_Message'First)'Address);
Action (Wid, "OpenWindow", Name, "");
return Wid;
end Open;
procedure Close (Wid : Window_Id) is
begin
Action (Wid, "CloseWindow", "", "");
end Close;
procedure Put_Field (Wid : Window_Id; Field : String; Value : String) is
C_Fctn : constant String := "PutField" & Ascii.Nul;
C_Field : constant String := Field & Ascii.Nul;
C_Value : constant String := Value & Ascii.Nul;
begin
Put_Event_C (Wid, C_Fctn (C_Fctn'First)'Address,
C_Field (C_Field'First)'Address,
C_Value (C_Value'First)'Address);
end Put_Field;
procedure Display_Field
(Wid : Window_Id; Field : String; Value : String) is
begin
Action (Wid, "PutField", Field, Value);
end Display_Field;
end Window;
package body Event is
function Empty_C (Wid : Integer) return Integer;
pragma Interface (C, Empty_C);
pragma Interface_Information (Empty_C, ".Empty");
function Get_Type_C (Wid : Integer) return System.Address;
pragma Interface (C, Get_Type_C);
pragma Interface_Information (Get_Type_C, ".GetType");
function Get_Field_C (Wid : Integer) return System.Address;
pragma Interface (C, Get_Field_C);
pragma Interface_Information (Get_Field_C, ".GetField");
function Get_Value_C (Fid : Integer) return System.Address;
pragma Interface (C, Get_Value_C);
pragma Interface_Information (Get_Value_C, ".GetValue");
procedure Next_C (Wid : Integer);
pragma Interface (C, Next_C);
pragma Interface_Information (Next_C, ".Next");
function Get_Event (Wid : Window_Id) return Kind is
Event_String : constant String :=
String_C_To_Ada (Get_Type_C (Wid));
begin
if Event_String = "PushButton" then
return Pushbutton;
elsif Event_String = "FieldEnter" then
return Fieldenter;
elsif Event_String = "PutField" then
return Putfield;
end if;
return Unknown;
end Get_Event;
function Get_Field (Wid : Window_Id) return String is
begin
return String_C_To_Ada (Get_Field_C (Wid));
end Get_Field;
function Get_Value (Wid : Window_Id) return String is
begin
return String_C_To_Ada (Get_Value_C (Wid));
end Get_Value;
procedure Next (Wid : Window_Id) is
begin
Next_C (Wid);
end Next;
function Empty (Wid : Window_Id) return Boolean is
begin
if Empty_C (Wid) = 1 then
return True;
else
return False;
end if;
end Empty;
end Event;
package body Xt is
procedure Process_Event_C;
pragma Interface (C, Process_Event_C);
pragma Interface_Information (Process_Event_C, ".ProcessEvent");
procedure Process_Event is
begin
Process_Event_C;
end Process_Event;
end Xt;
begin
Init_C;
end Ihm;