A structure representing a property definition.
typedef struct { API_PropertyDefinitionType definitionType; API_Guid guid; API_Guid groupGuid; GS::UniString name; GS::UniString description; API_PropertyCollectionType collectionType; API_VariantType valueType; API_PropertyMeasureType measureType; API_PropertyDefaultValue defaultValue; GS::Array<API_Guid> availability; GS::Array<API_SingleEnumerationVariant> possibleEnumValues; bool canValueBeEditable; } API_PropertyDefinition;
Members
- definitionType
- The type of this property definition
Meaning
API_PropertyStaticBuiltInDefinitionType
It is a built-in property (the definition itself is read only). The set of static built-in properties do not change.
API_PropertyDynamicBuiltInDefinitionType
It is a built-in property (the definition itself is read only). The set of dynamic built-in properties may change as a result of Archicad operations.
API_PropertyCustomDefinitionType
It is a user-defined property definition (can be modified).
- guid
- The unique identifier of the property definition
- groupGuid
- The unique identifier of the property group that contains this definition
- name
- The name of the property definition
- description
- The description of the property definition
- collectionType
- The collection type of the property definition
Meaning
API_PropertySingleCollectionType
The property stores a single value
API_PropertyListCollectionType
The property stores a list of values
API_PropertySingleChoiceEnumerationCollectionType
The property stores a single value from a list of allowed values
API_PropertyMultipleChoiceEnumerationCollectionType
The property stores a subset of values from a list of allowed values
- valueType
- Type of the data that the property stores
Meaning
API_PropertyIntegerValueType
The property has integer value(s)
API_PropertyRealValueType
The property has real (double) value(s)
API_PropertyBooleanValueType
The property has boolean value(s)
API_PropertyStringValueType
The property has string value(s)
- measureType
-
Measure type of the data that the property stores.
Measure types other than API_PropertyDefaultMeasureType (and API_PropertyUndefinedMeasureType) are only valid for properties which are of a single real type (collectionType is API_PropertySingleCollectionType and valueType is API_PropertyRealValueType).
Meaning
API_PropertyUndefinedMeasureType
The property is in invalid state.
API_PropertyDefaultMeasureType
The property doesn’t have special measure.
API_PropertyLengthMeasureType
The property has length value.
API_PropertyAreaMeasureType
The property has area value.
API_PropertyVolumeMeasureType
The property has volume value.
API_PropertyAngleMeasureType
The property has angle value.
- defaultValue
- The default value of this property definition.
- availability
- The list of classification GUIDs this property definition is available for.
- possibleEnumValues
- The list of available values in case of an enumeration value type.
- canValueBeEditable
- Specifies if the property values of this definition can possibly be edited. For custom properties it is always true, for built-ins, it might be false.
Remarks
In Archicad v2018 the
defaultValue
‘s type has been changed to API_PropertyDefaultValue
from API_PropertyValue
.
Requirements
- Version: API 20 or later
- Header: APIdefs_Properties.h