DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

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

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦a04b15c47⟧ Ada Source

    Length: 15360 (0x3c00)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Xlbp_Window_Property, seg_004f96

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦5a81ac88f⟧ »Space Info Vol 1« 
        └─⟦this⟧ 

E3 Source Code



with Xlbt_Arithmetic;  
use Xlbt_Arithmetic;  
with Xlbt_Basic;  
use Xlbt_Basic;  
with Xlbt_Hint;  
use Xlbt_Hint;  
with Xlbt_String;  
use Xlbt_String;  
with Xlbt_Window;  
use Xlbt_Window;

package Xlbp_Window_Property is
------------------------------------------------------------------------------
-- X Library Window Properties
--
-- Xlbp_Window_Property - Working with window properties
------------------------------------------------------------------------------
-- Copyright 1989 - 1991 by Rational, Santa Clara, California.
-- Copyright 1988 by Wyse Technology, Inc., San Jose, Ca.,
-- Copyright 1985 - 1989 by the Massachusetts Institute of Technology
--
--                  All Rights Reserved.
--
-- Permission to use, copy, modify, and distribute this software and its
-- documentation for any purpose and without fee is hereby granted,
-- provided that the above copyright notice(s) appear in all copies and that
-- both that copyright notice(s) and this permission notice appear in
-- supporting documentation, and that the names of MIT, Rational, or Wyse
-- not be used in advertising or publicity pertaining to distribution of
-- the software without specific, written prior permission.
--
-- MIT, Rational, and Wyse disclaim all warranties with regard to this
-- software, including all implied warranties of merchantability and fitness,
-- in no event shall MIT, Rational, or Wyse be liable for any special,
-- indirect or consequential damages or any damages whatsoever resulting from
-- loss of use, data or profits, whether in an action of contract, negligence
-- or other tortious action, arising out of or in connection with the use or
-- performance of this software.
------------------------------------------------------------------------------

--\x0c
    procedure X_Change_Property (Display        : X_Display;  
                                 Window         : X_Window;  
                                 Property       : X_Atom;  
                                 Representation : X_Atom;  
                                 Format         : U_Char;  
                                 Mode           : X_Property_Mode;  
                                 Data           : U_Char_Array);
------------------------------------------------------------------------------
--  Display       - Specifies the display to use.
--  Window        - Specifies the window to use.
--  Property      - Specifies the atom identifier of the property to be changed.
--  Representation- Specifies the atom identifier of the property's type.
--  Format        - Specifies 8, 16, or 32 bit data format.
--  Mode          - Specifies the mode of the operation; Prop_Mode_Replace,
--                  Prop_Mode_Prepend, Prop_Mode_Append.
--  Data          - Specifies the data bytes which make up the property value.
--
-- Change/Set the value for a property.  This is the general purpose version.
-- Versions of this routine which handle 7-bit character strings, records,
-- and arrays follow.
------------------------------------------------------------------------------

    procedure X_Delete_Property (Display  : X_Display;  
                                 Window   : X_Window;  
                                 Property : X_Atom);
------------------------------------------------------------------------------
--  Display   - Specifies the display to use.
--  Window    - Specifies the window to use.
--  Property  - Specifies the atom identifier for the property.
--
-- Deletes the property from the window.  Causes the X server to generate a
-- Property_Notify event if the property existed in the window.
------------------------------------------------------------------------------

    procedure X_Get_Window_Property (Display        :     X_Display;  
                                     Window         :     X_Window;  
                                     Property       :     X_Atom;  
                                     Offset         :     S_Natural;  
                                     Maximum_Length :     S_Natural;  
                                     Delete         :     Boolean;  
                                     Representation :     X_Atom;  
                                     Actual_Type    : out X_Atom;  
                                     Actual_Format  : out U_Char;  
                                     N_Items        : out S_Natural;  
                                     Bytes_After    : out S_Natural;  
                                     Data           : out U_Char_List;  
                                     Status         : out X_Status);
------------------------------------------------------------------------------
--  Display       - Specifies the display to use.
--  Window        - Specifies the window to use.
--  Property      - Specifies the property atom.
--  Offset        - Specifies the offset in the property (in 32-bit quantities)
--                  to use when retrieving data.
--  Maximum_Length- Specifies the maximum amount of data to retrieve (in 32-bit
--                  quantities)
--  Delete        - Specifies True to cause the property to be deleted from the
--                  window.
--  Representation- Specifies the property type atom.  You can also pass
--                  Any_Property_Type.
--  Actual_Type   - Receives the atom identifier that defines the actual type
--                  of the property.
--  Actual_Format - Receives the actual format of the property (8, 16, or 32).
--  N_Items       - Receives the number of 8/16/32 bit items that are to be
--                  read with X_Get_Window_Property.
--  Bytes_After   - Receives the number of bytes remaining in the property.
--                  This is the number of bytes remaining to be read in the
--                  property if a partial read was performed.
--  Data          - Receives a pointer to the received data
--  Status        - Receives Successful or Failed.
--
-- Called to obtain the data associated with some window's (window-manager)
-- property.  The Data'length received is equal to:
--      Length = (Actual_Format / 8) * N_Items
------------------------------------------------------------------------------

    function X_List_Properties (Display : X_Display;  
                                Window  : X_Window) return X_Atom_List;
------------------------------------------------------------------------------
--  Display - Specifies the display to use.
--  Window  - Specifies the window to use.
--
-- Returns a pointer to a list of atom properties which are defined for the
-- specified window.  Returns None_X_Atom_List if there are no defined
-- properties.
--
-- Free the list after use with the Free_X_Atom_List routine.
------------------------------------------------------------------------------

    procedure X_Rotate_Window_Properties  
                 (Display     : X_Display;  
                  Window      : X_Window;  
                  Properties  : X_Atom_Array;  
                  N_Positions : S_Short);
------------------------------------------------------------------------------
--  Display       - Specifies the display to use.
--  Window        - Specifies the window to use.
--  Properties    - Specifies the array of properties that are to be rotated.
--  N_Positions   - Specifies the rotation amount.
--
-- Rotates the properties in the properties array and causes the X server to
-- generate a Property_Notify event.  If the property names in the Properties
-- array are viewed as being numbered starting from zero and if there are
-- N property names then the value associated with property
-- name I becomes the property name (I+N_Positions) mod N, for all
-- I in the properties.
------------------------------------------------------------------------------

--\x0c
    ------------------------------------------------------------------------------
-- Text Properties - Users of X_Text_Property
------------------------------------------------------------------------------

    procedure X_Get_Text_Property (Display  :     X_Display;  
                                   Window   :     X_Window;  
                                   Data     : out X_Text_Property;  
                                   Property :     X_Atom;  
                                   Status   : out X_Status);  
    procedure X_Get_Text_Property (Display  :     X_Display;  
                                   Window   :     X_Window;  
                                   Data     : out X_String_Pointer;  
                                   Property :     X_Atom;  
                                   Status   : out X_Status);
------------------------------------------------------------------------------
--  Display       - Specifies the display to use.
--  Window        - Specifies the window to use.
--  Data          - Receives a record of the received data
--  Property      - Specifies the property atom.
--  Status        - Receives Successful or Failed.
--
-- Called to obtain the "textual" data associated with some window's
-- (window-manager) property.  The Data'length received is equal to:
--      Length = (Data.Format / 8) * Data.N_Items
--
-- Free the storage in the Data after use with the Free_X_Text_Property routine.
------------------------------------------------------------------------------

    procedure X_Set_Text_Property (Display  : X_Display;  
                                   Window   : X_Window;  
                                   Data     : X_Text_Property;  
                                   Property : X_Atom);  
    procedure X_Set_Text_Property (Display  : X_Display;  
                                   Window   : X_Window;  
                                   Data     : X_String;  
                                   Property : X_Atom);
------------------------------------------------------------------------------
--  Display       - Specifies the display to use.
--  Window        - Specifies the window to use.
--  Data          - Specifies a record of the new data
--  Property      - Specifies the property atom.
--
-- Called to set the "textual" data associated with some window's
-- (window-manager) property.  The Data'length sent is expected to be equal to:
--      Length = (Data.Format / 8) * Data.N_Items
--
-- Free the storage in the Data after use with the Free_X_Text_Property routine.
------------------------------------------------------------------------------

    procedure Free_X_Text_Property (Prop : in out X_Text_Property);
------------------------------------------------------------------------------
--  Prop    - Specifies the X_Text_Property whose contents are to be freed
--
-- Called to free up any heap storage contained within an X_Text_Property.
-- Since an X_Text_Property is a record type and not an access type the
-- X_Text_Property itself is not freed; only its contents.
------------------------------------------------------------------------------

    procedure X_String_List_To_Text_Property (List :     X_String_Pointer_Array;  
                                              Data : out X_Text_Property);
------------------------------------------------------------------------------
--  List    - Specifies the list of strings to convert
--  Data    - Receives the converted list
--
-- Converts the list of strings into a X_Text_Property.  Each string is
-- included verbatim with an added trailing Ascii.Nul added to the end.
-- The final string does not have a trailing null.
--
-- Free the storage in the Data after use with the Free_X_Text_Property routine.
------------------------------------------------------------------------------

    procedure X_Text_Property_To_String_List  
                 (Data   :     X_Text_Property;  
                  List   : out X_String_Pointer_List;  
                  Status : out X_Status);
------------------------------------------------------------------------------
--  Data    - Specifies the converted list
--  List    - Receives None_X_String_Pointer_List or the result list
--  Status  - Receives Successful or Failed.
--
-- Converts the X_Text_Property into a list of strings.  Returns
-- None_X_String_Pointer_List if the conversion was Successful but the list
-- was empty or if the conversion Failed.
--
-- Free the storage in the list after use with the Free_X_String_Pointer_List
-- routine.
------------------------------------------------------------------------------

    procedure X_String_To_Text_Property (Str  :     X_String;  
                                         Data : out X_Text_Property);
------------------------------------------------------------------------------
--  Str  - Specifies the string to convert
--  Data - Receives the converted list
--
-- Converts the string into a X_Text_Property.
--
-- Free the storage in the Prop after use with the Free_X_Text_Property routine.
------------------------------------------------------------------------------

    procedure X_Text_Property_To_String (Data   :     X_Text_Property;  
                                         Str    : out X_String_Pointer;  
                                         Status : out X_Status);
------------------------------------------------------------------------------
--  Data    - Specifies the converted list
--  Str     - Receives the result
--  Status  - Receives Successful or Failed.
--
-- Converts the X_Text_Property into a single string.
--
-- Free the storage in the String after use with the Free_X_String_Pointer
-- routine.
------------------------------------------------------------------------------

--\x0c
end Xlbp_Window_Property;  

E3 Meta Data

    nblk1=e
    nid=0
    hdr6=1c
        [0x00] rec0=1c rec1=00 rec2=01 rec3=038
        [0x01] rec0=11 rec1=00 rec2=02 rec3=048
        [0x02] rec0=10 rec1=00 rec2=03 rec3=02a
        [0x03] rec0=12 rec1=00 rec2=04 rec3=07a
        [0x04] rec0=0f rec1=00 rec2=05 rec3=06c
        [0x05] rec0=10 rec1=00 rec2=06 rec3=052
        [0x06] rec0=15 rec1=00 rec2=07 rec3=054
        [0x07] rec0=14 rec1=00 rec2=08 rec3=034
        [0x08] rec0=10 rec1=00 rec2=09 rec3=050
        [0x09] rec0=13 rec1=00 rec2=0a rec3=054
        [0x0a] rec0=13 rec1=00 rec2=0b rec3=02a
        [0x0b] rec0=12 rec1=00 rec2=0c rec3=060
        [0x0c] rec0=14 rec1=00 rec2=0d rec3=034
        [0x0d] rec0=17 rec1=00 rec2=0e rec3=000
    tail 0x215009660819783ae5bfc 0x42a00088462063203