Carbon


Key Form and Descriptor Type Object Specifier Constants

Header: AEObjects.h

Specify possible values for the keyAEKeyForm field of an object specifier, as well as descriptor types used in resolving object specifier records.

enum {
    formAbsolutePosition = 'indx',
    formRelativePosition = 'rele',
    formTest = 'test',
    formRange = 'rang',
    formPropertyID = 'prop',
    formName = 'name',
    typeObjectSpecifier = 'obj ',
    typeObjectBeingExamined = 'exmn',
    typeCurrentContainer = 'ccnt',
    typeToken = 'toke',
    typeRelativeDescriptor = 'rel ',
    typeAbsoluteOrdinal = 'abso',
    typeIndexDescriptor = 'inde',
    typeRangeDescriptor = 'rang',
    typeLogicalDescriptor = 'logi',
    typeCompDescriptor = 'cmpd',
    typeOSLTokenList = 'ostl'
};

Constant descriptions

formAbsolutePosition

An integer or other constant indicating the position of one or more elements in relation to the beginning or end of their container. The key data consists of an integer that specifies either an offset or an ordinal position.

For descriptor type typeAbsoluteOrdinal, the data consists of one of the constants kAEFirst, kAEMiddle, kAELast, kAEAny, or kAEAll, which are described in “Constants for Object Specifier Records, Positions, and Logical and Comparison Operations”.

For other descriptor types, the data can be coerced to either a positive integer, indicating the offset of the requested element from the beginning of the container, or a negative integer, indicating its offset from the end of the container.

formRelativePosition

Specifies an element position either immediately before or immediately after a container, not inside it. The key data is specified by a descriptor record of type typeEnumerated whose data consists of one of the constants kAENext and kAEPrevious, which are described in “Constants for Object Specifier Records, Positions, and Logical and Comparison Operations”.

formTest

Specifies a test. The key data is specified by either a comparison descriptor record or a logical descriptor record.

The Apple Event Manager internally translates object specifier records of key form formTest into object specifier records of key form formWhose to optimize resolution of object specifier records. This involves collapsing the key form and key data from two object specifier records in a container hierarchy into one object specifier record with the key form formWhose.

See also “Comparison Operator Constants”, “Constants for Object Specifier Records, Positions, and Logical and Comparison Operations”, “CreateCompDescriptor”, and “CreateLogicalDescriptor”.

formRange

Specifies a group of elements between two other elements. The key data is specified by a range descriptor record, which is a coerced AE record of type typeRangeDescriptor that identifies two Apple event objects marking the beginning and end of a range of elements.

The data for a range descriptor record consists of two keyword-specified descriptor records with the keywords keyAERangeStart and keyAERangeStop.

formPropertyID

Specifies the property ID for an element’s property.

formName

Specifies the Apple event object by name.

typeObjectSpecifier

Specifies a descriptor record used with the keyAEContainer keyword in a keyword-specified descriptor record. The key data for the descriptor record is an object specifier record.

typeObjectBeingExamined

Specifies a descriptor record that acts as a placeholder for each of the successive elements in a container when the Apple Event Manager tests those elements one at a time. The descriptor has a null data storage pointer. This descriptor type is used only with formTest.

typeCurrentContainer

Specifies a container for an element that demarcates one boundary in a range. The descriptor has a null data storage pointer. This descriptor type is used only with formRange.

typeToken

Specifies a descriptor record whose data storage pointer refers to a structure of type ccntTokenRecord.

typeRelativeDescriptor

Specifies a descriptor record whose data consists of one of the constants kAENext or kAEPrevious, which are described in “Constants for Object Specifier Records, Positions, and Logical and Comparison Operations”. Used with formRelativePosition.

typeAbsoluteOrdinal

Specifies a descriptor record whose data consists of one of the constants kAEFirst, kAEMiddle, kAELast, kAEAny, or kAEAll, which are described in “Constants for Object Specifier Records, Positions, and Logical and Comparison Operations”. Used with formAbsolutePosition.

typeIndexDescriptor

Specifies a descriptor record whose data indicates an indexed position within a range of values.

typeRangeDescriptor

Specifies a range descriptor record that identifies two Apple event objects marking the beginning and end of a range of elements. The data for a range descriptor record consists of two keyword-specified descriptor records with the keywords keyAERangeStart and keyAERangeStop, respectively, which specify the first Apple event object in the desired range and the last Apple event object in the desired range.

typeLogicalDescriptor

Specifies a logical descriptor record. Data is one of the constants described in “Constants for Object Specifier Records, Positions, and Logical and Comparison Operations”.

typeCompDescriptor

Specifies a comparison descriptor record. Data is one of the constants described in “Comparison Operator Constants”.

typeOSLTokenList

Specifies a descriptor record whose data consists of a list of tokens. (Token is defined in AEDisposeToken.)

The constants in this enum that begin with “form” specify the key form for an object specifier record. The key form indicates how key data should be interpreted. Key form is one of the keyword-specified descriptor records described in “Constants for Object Specifier Records, Positions, and Logical and Comparison Operations”.

The constants in this enum that begin with “type” specify descriptor types used in resolving object specifier records. An object specifier record is a coerced AE record of descriptor type typeObjectSpecifier whose data consists of the four keyword-specified descriptor records described in “Key Form and Descriptor Type Object Specifier Constants”. One of those four keyword-specified descriptor records has the type keyAEKeyData.This descriptor can contain data or nested descriptor records specified by any of the descriptor type constants defined here (or by types defined by your application).

See also the constants defined in “Constants for Object Specifier Records, Positions, and Logical and Comparison Operations”.


© 2000 Apple Computer, Inc. (Last Updated 6/30/2000)