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: 10284 (0x282c) Types: TextFile Names: »V«
└─⟦85b835f43⟧ Bits:30000549 8mm tape, Rational 1000, Xlib rev 6.00 └─ ⟦0c20f784e⟧ »DATA« └─⟦1abbe589f⟧ └─⟦059497ac5⟧ └─⟦this⟧
with Xlbt_Arithmetic; use Xlbt_Arithmetic; with Xlbt_Display3; use Xlbt_Display3; with Xlbt_Rm3; use Xlbt_Rm3; with Xlbt_String; use Xlbt_String; package Xlbp_Rm_Quark is ------------------------------------------------------------------------------ -- X Library Resource Manager - Quarks - Named constant strings -- -- Xlbp_Rm_Quark - Manager of application/window/object resources ------------------------------------------------------------------------------ -- Copyright 1989 - 1991 by Rational, Santa Clara, California. -- Copyright 1987 - 1989 by Digital Equipment Corporation, Maynard, Mass. -- Copyright 1987 - 1989 by Massachusetts Institute of Technology, -- Cambridge, Massachusetts. -- -- 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 Digital, MIT, or Rational -- not be used in advertising or publicity pertaining to distribution of -- the software without specific, written prior permission. -- -- Digital, MIT, and Rational disclaim all warranties with regard to this -- software, including all implied warranties of merchantability and fitness, -- in no event shall Digital, MIT, or Rational 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. ------------------------------------------------------------------------------ --\f function X_Rm_Quark_To_String (Quark : X_Rm_Quark) return X_String; ------------------------------------------------------------------------------ -- Quark - Specifies the quark whose string value is queried. -- -- Returns the string corresponding to the Quark. Returns "" for Quark values -- obtained from X_Rm_Unique_Quarks. Raises Constraint_Error if an -- uninitialized Quark value is passed. ------------------------------------------------------------------------------ function X_Rm_String_To_Quark (Str : X_String; Validate : Boolean := True) return X_Rm_Quark; ------------------------------------------------------------------------------ -- Str - Specifies the string value being converted to a Quark. -- The string need not be null terminated. -- Validate - Specifies whether or not the Str must be a valid -- Component Name as defined by the Resource Manager. -- -- Returns the Quark value that has or which will now correspond to the -- contents of the specified string. If Validate is True, Constraint_Error -- will be raised if any characters other than 'a'..'z', 'A'..'Z', '0'..'9', -- '-', or '_' are present in the Str. ------------------------------------------------------------------------------ procedure X_Rm_String_To_Quark (Str : X_String; Ptr : out X_String_Pointer; Quark : out X_Rm_Quark; Validate : Boolean := True); ------------------------------------------------------------------------------ -- Str - Specifies the string value being converted to a Quark. -- The string need not be null terminated. -- Ptr - Receives the string pointer stored in the quark map for Str -- Quark - Receives the Quark value representing Str -- Validate - Specifies whether or not the Str must be a valid -- Component Name as defined by the Resource Manager. -- -- Returns the Quark value that has or which will now correspond to the -- contents of the specified string. If Validate is True, Constraint_Error -- will be raised if any characters other than 'a'..'z', 'A'..'Z', '0'..'9', -- '-', or '_' are present in the Str. Note: The Ptr value belongs to the Xlib -- and it must not be freed by the application. ------------------------------------------------------------------------------ function X_Rm_Quark_To_String_Pointer (Quark : X_Rm_Quark) return X_String_Pointer; ------------------------------------------------------------------------------ -- Quark - Specifies the quark whose string value is queried. -- -- Returns the string corresponding to the Quark. Returns "" for Quark values -- obtained from X_Rm_Unique_Quarks. Raises Constraint_Error if an -- uninitialized Quark value is passed. Note: This string belongs to the Xlib -- and it must not be freed by the application. Quarks generated by -- X_Rm_Unique_Quark were not created with a string value and return -- None_X_String_Pointer. ------------------------------------------------------------------------------ procedure X_Rm_String_Pointer_To_Quark (Str : in out X_String_Pointer; Quark : out X_Rm_Quark; Validate : Boolean := True); ------------------------------------------------------------------------------ -- Str - Specifies the string value being converted to a Quark. -- The string need not be null terminated. -- Quark - Receives the quark value corresponding to the string. -- Validate - Specifies whether or not the Str must be a valid -- Component Name as defined by the Resource Manager. -- -- Returns the Quark value that has or which will now correspond to the -- contents of the specified string. If an some existing Quark has the same -- string value then that quark, and that string pointer, will be returned. If -- no existing Quark has the same string value then a new Quark is created and -- returned, and the X_String_Pointer String argument becomes the property of -- the Xlib and must not be free by the appliation. If Validate is True then -- Constraint_Error will be raised if any characters other than 'a'..'z', -- 'A'..'Z', '0'..'9', '-', or '_' are present in the String. ------------------------------------------------------------------------------ generic type Quark_Type is private; None_Quark : in Quark_Type; type Quark_Array_Type is array (S_Natural range <>) of Quark_Type; with function String_To_Quark (Str : X_String; Validate : Boolean) return Quark_Type; procedure X_Rm_String_To_Quark_List (Str : X_String; List : out Quark_Array_Type); ------------------------------------------------------------------------------ -- Str - Specifies a series of names separated by '.' or '*'. -- The string need not be null terminated. If an Ascii.Nul is -- found then it is considered to be the "end" of the string. -- List - Receives a list of Quarks; terminated by a None_Quark. The -- list must be long enough. -- -- Called with a string of the form ".name1.name2*name3" where the number -- of names in the string must be at least one less than List'Length. -- The initial separator is optional. -- -- For each name in the list the corresponding Quark value is placed into -- the Quarks list in the same order as the names appear in the Name string. -- In Quarks, the quark corresponding to the last name will be followed by a -- None_Quark entry. (That is why List'Length > number of names.) -- -- Will raise Constraint_Error if the Quarks list is too small. ------------------------------------------------------------------------------ generic type Quark_Type is private; None_Quark : in Quark_Type; type Quark_Array_Type is array (S_Natural range <>) of Quark_Type; with function String_To_Quark (Str : X_String; Validate : Boolean) return Quark_Type; procedure X_Rm_String_To_Binding_Quark_List (Str : X_String; Bindings : out X_Rm_Binding_Array; Quarks : out Quark_Array_Type); ------------------------------------------------------------------------------ -- Str - Specifies a series of names separated by '.' or '*'. -- The string need not be null terminated. If an Ascii.Nul is -- found then it is considered to be the "end" of the string. -- Bindings- Returns a list of binding values indicating '.' and '*' -- separators for the Quarks list. -- Quarks - Returns a list of quarks; terminated by a None_Quark. The -- list must be long enough. -- -- Called with a string of the form ".name1.name2*name3" where the number -- of names in the string must be at least one less than Quarks'Length. The -- legal separators between the names are Ascii.'.' and Ascii.'*'. Anything -- that isn't Ascii.'.', Ascii.'*', or Ascii.Nul is taken to be part of a name. -- The leading separator is optional, and if omitted '.' will be assumed. -- -- For each name in the list the corresponding Quark value is placed into -- the Quarks list in the same order as the names appear in the Name string. -- In Quarks, the quark corresponding to the last name will be followed by a -- None_Quark entry. (That is why Quark'Length > number of names.) -- -- For each entry in the Quarks list there is a Bindings entry. The Binding -- entry indicates that the name was preceded by a '.' (Bind_Tightly), by -- a '*' (Bind_Loosely), or is the first name in the string (Bind_Tightly). -- -- Will raise Constraint_Error if the Quarks or Bindings list is too small. ------------------------------------------------------------------------------ function X_Rm_Unique_Quark return X_Rm_Quark; ------------------------------------------------------------------------------ -- Returns a unique quark that does not correspond to any particular string -- value. ------------------------------------------------------------------------------ end Xlbp_Rm_Quark;