Kanzi  3.9.8
Kanzi Engine C++ API
Property

Properties provide the means to specify and examine the state, appearance, and behavior of nodes. More...

Collaboration diagram for Property:

Classes

class  kanzi::AbstractIndexedRange
 Abstract indexed range interface. More...
 
class  kanzi::AbstractPropertyNotificationHandler
 Abstract property notification handler. More...
 
class  kanzi::AbstractPropertyType
 AbstractPropertyType is a homogeneous property type handle to an existing property type. More...
 
class  kanzi::AbstractPropertyTypeDescriptor
 AbstractPropertyTypeDescriptor is used internally by the property type system to manage property types. More...
 
class  kanzi::AbstractRange
 Abstract range interface. More...
 
class  kanzi::AbstractRangeIterator
 Abstract range iterator interface. More...
 
class  kanzi::AbstractRangeLocation
 Location into a range. More...
 
class  kanzi::ClassPropertyDefaultValue< TDataType >
 ClassPropertyDefaultValue is a helper for installing property values as class metadata. More...
 
class  kanzi::Constraints
 Contains property types of Constraints. More...
 
class  kanzi::PropertyObject
 PropertyObject is the base class that supports setting and retrieving of property types. More...
 
class  kanzi::PropertyType< Type, typename >
 An instance of a PropertyType represents a single property type in the Kanzi property system. More...
 
class  kanzi::PropertyType< Type, typename enable_if< is_enum< Type >::value >::type >
 Specialization for PropertyType for enums. See PropertyType. More...
 

Typedefs

using kanzi::PropertyTypeRegistry = unordered_map< string_view, AbstractPropertyTypeDescriptor * >
 Alias for map of all property types. More...
 

Enumerations

enum  kanzi::PropertyNotificationReason { kanzi::PropertyNotificationReasonChanged, kanzi::PropertyNotificationReasonRemoved }
 Property notification reason. More...
 
enum  kanzi::PropertyTypeChangeFlag {
  kanzi::PropertyTypeChangeFlagFinalTransformation, kanzi::PropertyTypeChangeFlagMeasure, kanzi::PropertyTypeChangeFlagParentMeasure, kanzi::PropertyTypeChangeFlagArrange,
  kanzi::PropertyTypeChangeFlagRender, kanzi::PropertyTypeChangeFlagDraw, kanzi::PropertyTypeChangeFlagConstraint
}
 Each property type has a set of property change flags that indicate the effects that changing a property has. More...
 
enum  kanzi::PropertyValuePrecedence { kanzi::PropertyValuePrecedenceClass, kanzi::PropertyValuePrecedenceStyle, kanzi::PropertyValuePrecedenceLocal }
 Property value precedence. More...
 

Functions

PropertyTypeRegistry::const_iterator kanzi::beginPropertyTypes ()
 Get iterator to the beginning of registry of all property types. More...
 
PropertyTypeRegistry::const_iterator kanzi::endPropertyTypes ()
 Get iterator to the end of registry of all property types. More...
 

Detailed Description

Properties provide the means to specify and examine the state, appearance, and behavior of nodes.

For example, a property can define a color, indicate whether a button is pressed, or specify the alignment of an item. Properties provide a uniform way to access data of Kanzi nodes, so that many Kanzi subsystems can manipulate the data.That way you can, for example, animate property values, provide bindings between property values, and monitor property value changes.

Typedef Documentation

using kanzi::PropertyTypeRegistry = typedef unordered_map<string_view, AbstractPropertyTypeDescriptor*>

Alias for map of all property types.

Enumeration Type Documentation

Each property type has a set of property change flags that indicate the effects that changing a property has.

For example, when the Text property of a Text Block node changes, the layout of that Text Block must be recalculated, which is why the Text property type has the PropertyTypeChangeFlagMeasure.

Enumerator
PropertyTypeChangeFlagFinalTransformation 

Property type with this flag affects final transformation of a node and all its children.

Causes updateRender() to be ran.

PropertyTypeChangeFlagMeasure 

Property type with this flag causes layout measure() to be ran.

Set by property changes that affect layout.

PropertyTypeChangeFlagParentMeasure 

Property type with this flag affects measure requirement of node's parent.

PropertyTypeChangeFlagArrange 

Property type with this flag causes layout arrange() to be ran.

Flag is also set by measure pass on nodes where measurements were changed.

PropertyTypeChangeFlagRender 

Property type with this flag affects rendering and causes updateRender() to be ran.

PropertyTypeChangeFlagDraw 

Change flag set when updateRender() is ran, causes node to be drawn.

PropertyTypeChangeFlagConstraint 

Property type with this flag informs that constraints are in use.

Property notification reason.

Enumerator
PropertyNotificationReasonChanged 

The property value was modified.

PropertyNotificationReasonRemoved 

The property value was removed.

Property value precedence.

Enumerator
PropertyValuePrecedenceClass 

Property value precedence used by the class default values.

PropertyValuePrecedenceStyle 

Property value precedence used by styles.

PropertyValuePrecedenceLocal 

Property value precedence used by local values.

Function Documentation

PropertyTypeRegistry::const_iterator kanzi::beginPropertyTypes ( )

Get iterator to the beginning of registry of all property types.

Returns
A const iterator to the beginning of property type registry.
PropertyTypeRegistry::const_iterator kanzi::endPropertyTypes ( )

Get iterator to the end of registry of all property types.

Returns
A const iterator to the end of property type registry.