Base class for Kanzi nodes. More...
#include <kanzi/core.ui/node/node.hpp>
Classes | |
class | MessageSubscriptionToken |
Message subscription token for nodes. More... | |
struct | NodeComponentEntry |
Object node component entry. More... | |
Public Member Functions | |
ResourceSharedPtr | acquireResource (const ResourceID &id) const |
Acquires a resource from the node or the node's closest ancestor having the resource id in the resource dictionary. More... | |
template<typename T > | |
shared_ptr< T > | acquireResource (const ResourceID &id) const |
Acquires a resource from the node or the node's closest ancestor having the resource id in the resource dictionary, and casts the resource to given type. More... | |
ResourceManager::AcquireTaskSharedPtr | acquireResourceAsync (const ResourceID &key, ResourceManager::AsyncAcquireFinishedCallback func) const |
Posts an asynchronous task to acquire a resource. More... | |
ResourceDictionarySharedPtr | acquireResourceDictionary () |
Gets a resource dictionary of a node. More... | |
virtual bool | addAbstractChildOverride (NodeSharedPtr child)=0 |
void | addAnonymousResource (ResourceSharedPtr resource) |
Adds alias resource to an object node. More... | |
void | addInputManipulator (InputManipulatorBaseSharedPtr inputManipulator) |
Transfers the ownership and attaches an input manipulator to an object node. More... | |
template<typename TMessageType , typename TClass , typename TClassMethod > | |
MessageSubscriptionToken | addMessageFilter (TMessageType &messageType, TClass *messageHandlerObject, TClassMethod method) |
Adds a message filter where the filter is a method that is invoked on an object. More... | |
template<typename TMessageType > | |
MessageSubscriptionToken | addMessageFilter (const TMessageType &messageType, typename TMessageType::FunctionType function) |
Adds a message filter where the filter is a function. More... | |
template<typename TMessageType , typename TClass , typename TClassMethod > | |
MessageSubscriptionToken | addMessageHandler (TMessageType &messageType, TClass *messageHandlerObject, TClassMethod method) |
Adds a message handler where the handler is a method that is invoked on an object. More... | |
template<typename TMessageType > | |
MessageSubscriptionToken | addMessageHandler (const TMessageType &messageType, typename TMessageType::FunctionType function) |
Adds a message handler where the handler is a function. More... | |
template<typename TMessageType > | |
MessageSubscriptionToken | addMessageHandler (const TMessageType &messageType, typename TMessageType::FunctionType function, Node *messageSourceFilter) |
Adds a message handler where the handler is a function and you explicitly define the accepted source. More... | |
void | addNodeComponent (NodeComponentSharedPtr nodeComponent) |
Transfers the ownership of a node component to an object node. More... | |
void | addNodeComponentWithOwner (NodeComponentSharedPtr nodeComponent, const void *owner) |
Transfers the ownership of a node component to an object node and sets the owner of the node component. More... | |
void | addNodeReference (AbstractPropertyType propertyType, AbstractNodeReference *reference) |
void | addResource (const ResourceID &resourceId, string_view resourceUrl) |
Adds a resource manager resource to an object node. If resourceID already exists in object, removes the existing entry. If resourceURL is NULL, error is thrown. */. More... | |
void | addResourceDictionary (ResourceDictionarySharedPtr resourceDictionary) |
Adds a nested resource dictionary to the resource dictionary of a node. More... | |
void | addResourceReference (AbstractPropertyType propertyType, AbstractResourceReference *reference) |
This is a helper for automatic resource tracking in ResourceReference. More... | |
template<typename TMessageType > | |
MessageSubscriptionToken | addTunnelingFilter (const TMessageType &messageType, typename TMessageType::FunctionType function) |
Adds a message filter where the filter is a function. More... | |
template<typename TMessageType , typename TClass , typename TClassMethod > | |
MessageSubscriptionToken | addTunnelingFilter (const TMessageType &messageType, TClass *messageHandlerObject, TClassMethod method) |
Adds a message filter where the filter is a method that is invoked on an object. More... | |
template<typename TMessageType > | |
MessageSubscriptionToken | addTunnelingHandler (const TMessageType &messageType, typename TMessageType::FunctionType function, Node *messageSourceFilter) |
Adds a message handler where the handler is a function and you explicitly define the accepted source. More... | |
AppliedStyleEntrySharedPtr | applyManualStyle (StyleSharedPtr style) |
Applies a style to an object node. More... | |
AppliedStyleEntrySharedPtr | applyStyle (StyleSharedPtr style) |
Applies a style to an object node. More... | |
void | applyStyles () |
Apply all styles for an object node. More... | |
void | applyStylesRecursive () |
Applies styles recursively. More... | |
void | attachRecursive () |
Attaches an object node and its children recursively. More... | |
InputManipulatorConstIterator | beginInputManipulators () const |
NodeComponentConstIterator | beginNodeComponents () const |
void | clearChangeFlag (uint32_t flag) |
Clears a change flag. More... | |
void | clearChildChangeFlag (uint32_t flag) |
Clears a child change flag. More... | |
bool | containsResource (const ResourceID &resourceID) const |
Returns if object node resource dictionary contains the resource with given ID. Resource can be any type: style, alias or resource manager resource. */. More... | |
BindingLookupContextPtr | createLookupContext (NodeSharedPtr templateRoot) |
Creates a lookup context for the node. More... | |
void | detachRecursive () |
Detaches a node and its descendants. More... | |
void | dispatchAbstractMessage (const AbstractMessageType &messageType, MessageArguments &messageArguments) |
Dispatches a message from this node with specified arguments. More... | |
template<typename TArgumentsType > | |
void | dispatchMessage (const MessageType< TArgumentsType > &messageType, typename MessageType< TArgumentsType >::ArgumentsType &messageArguments) |
Dispatches a message from this node with specified arguments. More... | |
InputManipulatorConstIterator | endInputManipulators () const |
NodeComponentConstIterator | endNodeComponents () const |
template<typename TNodeType > | |
shared_ptr< TNodeType > | findAbstractChild (string_view name) |
Find a child by name. Finds direct children as well as children connected indirectly for example Viewport->Scene. More... | |
optional< string > | findResourceURL (const ResourceID &resourceId) const |
Tries to find Resource URL for Resource ID from this node. More... | |
virtual size_t | getAbstractChildCountOverride ()=0 |
virtual size_t | getAbstractChildIndexOverride (const Node &node)=0 |
virtual NodeSharedPtr | getAbstractChildOverride (size_t index)=0 |
template<typename DataType > | |
DataType | getAbstractProperty (AbstractPropertyType abstractPropertyType) const |
uint32_t | getChangeFlags () const |
Get current change flags. More... | |
uint32_t | getChildChangeFlags () const |
Get current child change flags. More... | |
FocusManager * | getFocusManager () const |
Returns the Focus Manager associated with the Screen node to which this node belongs. More... | |
FocusScope * | getFocusScopeInfo () const |
Returns the information about the focus scope for a node. More... | |
InputManager * | getInputManager () const |
Returns the Input Manager associated with the Screen node to which this node belongs. More... | |
AbstractPropertyTypeDescriptor::ValueSource * | getNodeFinalValueSource (AbstractPropertyTypeDescriptor &descriptor) const |
template<typename DataType > | |
optional< typename PropertyType< DataType >::DataType > | getOptionalAbstractProperty (AbstractPropertyType abstractPropertyType) const |
template<typename DataType > | |
optional< typename PropertyType< DataType >::Traits::ReturnType > | getOptionalProperty (const PropertyType< DataType > &propertyType) const |
Evaluates the property value in the same way as the overload above but does not default to the value in property metadata if there are no inputs to the property value. More... | |
Node * | getParent () const |
Returns the parent of the node. More... | |
template<typename DataType > | |
PropertyType< DataType >::Traits::ReturnType | getProperty (const PropertyType< DataType > &propertyType) const |
Returns the current value of a property. More... | |
ResourceDictionarySharedPtr | getResourceDictionary () const |
If a node has a resource dictionary, returns the resource dictionary of that node. More... | |
Screen * | getScreen () const |
Returns the Screen node to which this node belongs. More... | |
NodeSharedPtr | getTemplateRoot () const |
Gets the template root of this node. More... | |
void | invalidateArrange () |
Invalidates arrange. More... | |
void | invalidateDraw () |
Invalidates draw flag for the node. More... | |
void | invalidateFinalTransform () |
Invalidates final transform for node. More... | |
void | invalidateMeasure () |
Invalidates measure for the node. More... | |
void | invalidateRender () |
Invalidates render for node. More... | |
bool | isAnyChangeFlagSet (uint32_t flag) const |
Checks if any of given flags is set. More... | |
bool | isAnyChildChangeFlagSet (uint32_t flag) const |
Checks if any child change flags (corresponding to given mask) are set. More... | |
bool | isAttached () const |
Returns true if the node is attached to a screen or one of its descendants. More... | |
bool | isAttaching () const |
Returns true if node is in the process of attaching, false otherwise. More... | |
bool | isChangeFlagSet (uint32_t flag) const |
Checks if a change flag is set. More... | |
bool | isChildChangeFlagSet (uint32_t flag) const |
Checks if child change flags match. More... | |
bool | isDetaching () const |
Returns true if the node currently detaching. More... | |
bool | isEffectivelyFocusable () const |
Returns whether a node is focusable. More... | |
bool | isEffectivelyVisible () const |
Returns whether a node and its ancestor nodes are visible. More... | |
bool | isInitialized () const |
Returns true if initialize() has been called, false otherwise. More... | |
bool | isInvalidArrange () const |
Checks if the node needs arrange. More... | |
bool | isInvalidDraw () |
Tells if node draw flag is invalid. More... | |
bool | isInvalidFinalTransform () const |
Tells if final transform flag is invalid for node. More... | |
bool | isInvalidMeasure () const |
Check if the node needs measure. More... | |
bool | isInvalidRender () const |
Returns if node render flag is invalid. More... | |
bool | isNamed (string_view name) const |
KZ_METACLASS_PROPERTY_TYPE (FontFamilyProperty) | |
template<typename Type > | |
shared_ptr< Type > | lookupNode (string_view pathOrKey) |
Returns a node of specified type by looking it up with specified path or alias. More... | |
template<typename Type > | |
shared_ptr< Type > | lookupNodeComponent (string_view name) |
Returns a node component of specified type by looking it up with specified name. More... | |
Node * | lookupNodeRaw (string_view relativePath) |
Get an object node by another node and a relative path. More... | |
ObjectSharedPtr | lookupObject (string_view relativePath) |
Lookup for an object from a node. More... | |
template<typename Type > | |
shared_ptr< Type > | lookupObject (string_view relativePath) |
Lookup for an object from a node. More... | |
tuple< NodeSharedPtr, AbstractPropertyType > | lookupObjectForStateManager (string_view relativePath) |
Lookup for an node and possible object from within the node for state manager. More... | |
virtual bool | moveAbstractChildToPositionOverride (NodeSharedPtr child, size_t index)=0 |
Moves a child node to a given position in the list of child nodes. More... | |
void | notifyResourceDictionaryModified () |
Forces the re-evaluation of resource IDs in a node tree. More... | |
virtual bool | removeAbstractChildOverride (Node &child)=0 |
void | removeAnonymousResource (const Resource &resource) |
Removes anonymous resource from object node resources. More... | |
void | removeInputManipulator (InputManipulator &inputManipulator) |
Removes the ownership and detaches an input manipulator from an object node. More... | |
void | removeKZBData (flat_set< AbstractPropertyType > *keepProperties) |
Destroys all object node data loaded from KZB, including properties, bindings, node components, resources etc. More... | |
void | removeKZBData () |
Destroys all object node data loaded from KZB. More... | |
void | removeMessageHandler (MessageSubscriptionToken token) |
Removes a message subscription. More... | |
void | removeNodeComponent (NodeComponent &nodeComponent) |
Removes the ownership of a node component from an object node. More... | |
void | removeNodeComponentWithOwner (const void *owner) |
Removes all bindings with the specified owner. More... | |
void | removeNodeReference (const AbstractNodeReference &reference) |
void | removeResource (const ResourceID &resourceId) |
Removes a resource with given ID from object node resource dictionary. Does not do anything if resourceID was not found. */. More... | |
void | removeResourceReference (const AbstractResourceReference &reference) |
This is a helper for automatic resource tracking in ResourceReference. More... | |
virtual void | restoreResources () |
Reattaches an object node after potential resource change. More... | |
void | setChangeFlag (uint32_t flag) |
Sets a change flag. More... | |
void | setChildChangeFlag (uint32_t flag) |
Sets a child change flag. More... | |
void | setParent (Node *parent) |
Kanzi uses this method internally to set the parent of a node. More... | |
void | setResourceDictionary (ResourceDictionarySharedPtr resourceDictionary) |
Replaces the resource dictionary of a node. More... | |
void | setScreen (Screen *screen) |
Sets the Screen node to which this node belongs. More... | |
void | setTemplateRoot (NodeSharedPtr templateRoot) |
Sets the template root of this node. More... | |
ResourceSharedPtr | tryAcquireResource (const ResourceID &id) const |
Acquires a resource from the node or the node's closest ancestor having the resource id in the resource dictionary. More... | |
template<typename T > | |
shared_ptr< T > | tryAcquireResource (const ResourceID &id) const |
Acquires a resource from the node or the node's closest ancestor having the resource and casts the resource to given type. More... | |
KZ_DEPRECATED NodeSharedPtr | trySetActiveFocus () |
Tries to move the focus on this node. More... | |
NodeSharedPtr | trySetFocus () |
Tries to move the focus to this node. More... | |
NodeSharedPtr | trySetFocus (FocusFallback fallbackOption) |
Tries to set the focus to the newFocusNode using FocusManager::trySetFocus() but with a fallback behavior in case the node does not gain focus. More... | |
void | unapplyStyle (AppliedStyleEntrySharedPtr appliedStyleEntry) |
Unapplies a style from an object node. More... | |
void | unapplyStyles () |
Unapplies and removes all applied styles. More... | |
void | unapplyStylesRecursive () |
Unapplies styles recursively. More... | |
void | validateArrange () |
Validates arrange. More... | |
void | validateDraw () |
Validates draw flags for the node. More... | |
void | validateDrawForChildrenRecursive () |
Recursively validates draw for the children from this 2D node onwards. More... | |
void | validateMeasure () |
Validates measure for the node. More... | |
void | validateRender () |
Validates render for node. More... | |
VisitorResult | visit (const Visitor &visitor, VisitorOrder order) |
Visits a node and its descendants. More... | |
VisitorResult | visitDescendants (const Visitor &visitor, VisitorOrder order) |
Visits the descendants of a node. More... | |
~Node () override | |
Destructor. More... | |
Public Member Functions inherited from kanzi::Object | |
AppliedStyleEntrySharedPtr | applyObjectStyle (kanzi::StyleSharedPtr style) |
Applies a style to an object. More... | |
void | applyObjectStyles () |
Apply all styles for an object node. More... | |
Domain * | getDomain () const |
Returns the domain the object belongs to. More... | |
const Metaclass * | getDynamicMetaclass () const override |
Returns the metaclass of the dynamic type of the object. More... | |
MainLoopScheduler * | getMainLoopScheduler () const |
Returns the MainLoopScheduler instance of the associated Domain. More... | |
detail::MessageDispatcher * | getMessageDispatcher () const |
Returns the message dispatcher of the object. More... | |
ResourceManager * | getResourceManager () const |
Returns the resource manager of the object. More... | |
ScriptingContextSharedPtr | getScriptingContext () const |
Gets the scripting context of the object. More... | |
Object (Domain *domain) | |
void | setScriptingContext (ScriptingContextSharedPtr context) |
Sets the scripting context of the object. More... | |
void | unapplyObjectStyle (AppliedStyleEntrySharedPtr appliedStyleEntry) |
void | unapplyObjectStyles () |
Unapplies and removes all applied styles. More... | |
~Object () override | |
Public Member Functions inherited from kanzi::MetaObject | |
bool | isTypeOf (const Metaclass *objectType) const |
Determines if the type of this object is the given type or derived from it. More... | |
virtual | ~MetaObject () |
Public Member Functions inherited from kanzi::PropertyObject | |
template<typename DataType > | |
void | addPropertyModifier (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::ModifierCallback callback, void *owner) |
template<typename DataType > | |
void | addPropertyModifierWithoutNotifyingHandlers (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::ModifierCallback callback, void *owner) |
Adds a property modifier without notifying handlers. More... | |
template<typename DataType > | |
void | addPropertyNotificationHandler (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::NotificationCallback callback, void *owner) |
template<typename DataType > | |
void | addPropertyValueSource (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::TypedValueSource *valueSource, PropertyValuePrecedence precedence, void *ownerPointer) |
template<typename DataType > | |
void | addPropertyValueSource (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::TypedValueSource *valueSource, PropertyValuePrecedence precedence, AbstractPropertyTypeDescriptor::ValueSourceOwner *owner) |
PropertyStorageContainer::iterator | beginPropertyStorage () |
Returns the begin iterator to the internal property storage container. More... | |
PropertyStorageContainer::const_iterator | beginPropertyStorage () const |
Returns the begin iterator to the internal property storage container. More... | |
void | clearPropertyFlag (AbstractPropertyType propertyType, uint32_t flag) |
void | copyLocalValue (const PropertyObject &other, AbstractPropertyType propertyType) |
Copies local value of single property from another object. More... | |
void | copyLocalValues (const PropertyObject &other) |
Copies all local values from another object. More... | |
PropertyStorageContainer::iterator | endPropertyStorage () |
Returns the end iterator to the internal property storage container. More... | |
PropertyStorageContainer::const_iterator | endPropertyStorage () const |
Returns the end iterator to the internal property storage container. More... | |
template<typename DataType > | |
PropertyType< DataType >::Traits::ReturnType | getAbstractProperty (AbstractPropertyType abstractPropertyType) const |
template<typename DataType > | |
PropertyType< DataType >::Traits::ReturnType | getAbstractPropertyBase (AbstractPropertyType abstractPropertyType) const |
template<typename DataType > | |
optional< typename PropertyType< DataType >::Traits::ReturnType > | getOptionalAbstractProperty (AbstractPropertyType abstractPropertyType) const |
template<typename DataType > | |
optional< typename PropertyType< DataType >::Traits::ReturnType > | getOptionalProperty (const PropertyType< DataType > &propertyType) const |
Evaluates the property value in the same way as the overload above but does not default to the value in property metadata if there are no inputs to the property value. More... | |
template<typename DataType > | |
optional< typename PropertyType< DataType >::Traits::ReturnType > | getOptionalPropertyBase (const PropertyType< DataType > &propertyType) const |
Returns the current value of a property disregarding modifiers, but does not default to the value in property metadata if there are no inputs to the property value. More... | |
template<typename DataType > | |
PropertyType< DataType >::Traits::ReturnType | getProperty (const PropertyType< DataType > &propertyType) const |
Returns the current value of a property type. More... | |
template<typename DataType > | |
PropertyType< DataType >::Traits::ReturnType | getPropertyBase (const PropertyType< DataType > &propertyType) const |
Returns the current value of a property disregarding modifiers. More... | |
template<typename DataType > | |
size_t | getPropertyNotificationHandlerCount (const PropertyType< DataType > &propertyType) const |
Gets number of current notification handlers for given property type. More... | |
bool | hasBaseValue (AbstractPropertyType propertyType) const |
Evaluates whether there are any inputs into the property value, disregarding modifiers. More... | |
bool | hasLocalValue (AbstractPropertyType propertyType) const |
Evaluates whether there is a local value set for the property. More... | |
bool | hasNonClassValue (AbstractPropertyType propertyType) const |
Evaluates whether there is a value of any precedence higher than class default value set for the property. More... | |
bool | hasValue (AbstractPropertyType propertyType) const |
Evaluates whether there are any inputs into the property value. More... | |
bool | isPropertyFlagSet (AbstractPropertyType propertyType, uint32_t flag) const |
PropertyObject () | |
void | removeKzbProperties (flat_set< AbstractPropertyType > *keepProperties) |
Remove all KZB properties that are not included in a given set. More... | |
void | removeKzbProperties () |
Remove all KZB properties. More... | |
template<typename DataType > | |
void | removeLocalPropertyValueSource (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::TypedValueSource *valueSource, void *ownerPointer) |
void | removeLocalValue (AbstractPropertyType propertyType) |
Removes the local value associated with the property. More... | |
template<typename DataType > | |
void | removePropertyModifier (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::ModifierCallback callback, void *owner) |
template<typename DataType > | |
void | removePropertyNotificationHandler (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::NotificationCallback callback, void *owner) |
template<typename DataType > | |
void | removePropertyValueSource (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::TypedValueSource *valueSource, void *ownerPointer) |
template<typename DataType > | |
void | setAbstractProperty (AbstractPropertyType abstractPropertyType, typename PropertyType< DataType >::Traits::ParameterType value) |
template<typename DataType > | |
void | setProperty (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Traits::ParameterType value) |
Sets the local value of a property type. More... | |
void | setPropertyFlag (AbstractPropertyType propertyType, uint32_t flag) |
KZ_DEPRECATED void | validatePropertyModifiers (AbstractPropertyType propertyType) |
Validates property modifiers and notifies handlers. More... | |
void | validatePropertyModifiersAndNotifyHandlers (AbstractPropertyType propertyType) |
Validates property modifiers and notifies handlers. More... | |
virtual | ~PropertyObject () |
Public Member Functions inherited from kanzi::BindingHostConceptImpl< Node > | |
void | addBindingRuntime (AbstractBindingRuntimeSharedPtr entry, shared_ptr< void > owner) |
Adds an already-created binding runtime to this binding host. More... | |
BindingRuntimeHandle | setBinding (AbstractBindingSharedPtr binding, shared_ptr< Node > templateRoot, AbstractPropertyType propertyType, PropertyField field, PropertyValuePrecedence precedence) |
Wrapper for setting a binding. More... | |
BindingRuntimeHandle | setBinding (AbstractBindingSharedPtr binding, shared_ptr< Node > templateRoot, AbstractPropertyType propertyType, PropertyField field) |
Wrapper for setting a binding. More... | |
BindingRuntimeHandle | setBinding (AbstractBindingSharedPtr binding, shared_ptr< Node > templateRoot, AbstractPropertyType propertyType, PropertyValuePrecedence precedence) |
Wrapper for setting a binding. More... | |
BindingRuntimeHandle | setBinding (AbstractBindingSharedPtr binding, AbstractPropertyType propertyType, PropertyField field, PropertyValuePrecedence precedence) |
Wrapper for setting a binding. More... | |
BindingRuntimeHandle | setBinding (AbstractBindingSharedPtr binding, AbstractPropertyType propertyType, PropertyField field) |
Wrapper for setting a binding. More... | |
BindingRuntimeHandle | setBinding (AbstractBindingSharedPtr binding, AbstractPropertyType propertyType, PropertyValuePrecedence precedence) |
Wrapper for setting a binding. More... | |
BindingRuntimeHandle | setBinding (AbstractBindingSharedPtr binding, AbstractPropertyType propertyType) |
Wrapper for setting a binding. More... | |
BindingRuntimeHandle | setBinding (AbstractBindingSharedPtr binding, shared_ptr< Node > templateRoot) |
Sets a binding with no target. More... | |
BindingRuntimeHandle | setBinding (AbstractBindingSharedPtr binding) |
Wrapper for setting a binding with no target. More... | |
BindingRuntimeHandle | setBindingWithOwner (AbstractBindingSharedPtr binding, shared_ptr< void > owner, shared_ptr< Node > templateRoot, AbstractPropertyType propertyType, PropertyField field, PropertyValuePrecedence precedence) |
Sets a binding to a certain property. More... | |
BindingRuntimeHandle | setBindingWithOwner (AbstractBindingSharedPtr binding, shared_ptr< void > owner, AbstractPropertyType propertyType, PropertyField field, PropertyValuePrecedence precedence) |
Wrapper for setting a binding with owner. More... | |
BindingRuntimeHandle | setBindingWithOwner (AbstractBindingSharedPtr binding, shared_ptr< void > owner, AbstractPropertyType propertyType) |
Wrapper for setting a binding with owner. More... | |
BindingRuntimeHandle | setBindingWithOwner (AbstractBindingSharedPtr binding, shared_ptr< void > owner, shared_ptr< Node > templateRoot) |
Sets a binding with no target. More... | |
BindingRuntimeHandle | setBindingWithOwner (AbstractBindingSharedPtr binding, shared_ptr< void > owner) |
Wrapper for setting a binding with no target. More... | |
BindingRuntimeHandle | setModifierBinding (AbstractBindingSharedPtr binding, shared_ptr< Node > templateRoot, AbstractPropertyType propertyType, PropertyField field) |
Wrapper for setting a modifier binding. More... | |
BindingRuntimeHandle | setModifierBinding (AbstractBindingSharedPtr binding, AbstractPropertyType propertyType, PropertyField field) |
Wrapper for setting a modifier binding. More... | |
BindingRuntimeHandle | setModifierBinding (AbstractBindingSharedPtr binding, AbstractPropertyType propertyType) |
Wrapper for setting a modifier binding. More... | |
BindingRuntimeHandle | setModifierBindingWithOwner (AbstractBindingSharedPtr binding, shared_ptr< void > owner, shared_ptr< Node > templateRoot, AbstractPropertyType propertyType, PropertyField field) |
Sets a modifier binding. More... | |
BindingRuntimeHandle | setModifierBindingWithOwner (AbstractBindingSharedPtr binding, shared_ptr< void > owner, AbstractPropertyType propertyType, PropertyField field) |
Wrapper for setting a modifier binding. More... | |
BindingRuntimeHandle | setModifierBindingWithOwner (AbstractBindingSharedPtr binding, shared_ptr< void > owner, AbstractPropertyType propertyType) |
Wrapper for setting a modifier binding. More... | |
Public Member Functions inherited from kanzi::BindingHostConcept | |
BindingRuntimeConstIterator | beginBindingRuntimes () const |
Returns an iterator to the beginning of binding runtimes. More... | |
BindingRuntimeConstIterator | endBindingRuntimes () const |
Returns an iterator to the end of binding runtimes. More... | |
AbstractBindingRuntimeSharedPtr | getBindingRuntime (size_t idx) |
Gets binding by index. More... | |
size_t | getBindingRuntimeCount () const |
Gets the number of binding runtimes added to this node. More... | |
void | removeAllBindings () |
Removes all binding runtimes. More... | |
void | removeBinding (BindingRuntimeHandle &bindingRuntime) |
Removes a binding runtime added earlier. More... | |
void | removeBindingsWithOwner (shared_ptr< void > owner) |
Removes all binding runtimes with the specified owner. More... | |
Static Public Member Functions | |
static bool | isUnboundedLayoutValue (float layoutValue) |
Indicates whether a value is an unbound layout value. More... | |
static bool | isValidLayoutValue (float value) |
Indicates whether a value is valid layout value. More... | |
static float | replaceUnboundedLayoutValue (float layoutValue, float resetValue) |
Replaces layout value with the specified value if it is unbounded and returns it. More... | |
static float | replaceUnboundedLayoutValueWithZero (float layoutValue) |
Replaces layout value with zero if it is unbounded layout value and returns it. More... | |
static float | unboundedLayoutValue () |
Returns an unbounded layout value. More... | |
Static Public Member Functions inherited from kanzi::Object | |
static const Metaclass * | getStaticMetaclass () |
Returns the metaclass of Object class. More... | |
static PropertyTypeEditorInfoSharedPtr | makeEditorInfo () |
Default implementation that returns empty editor info. More... | |
Static Public Member Functions inherited from kanzi::MetaObject | |
static const Metaclass * | getStaticMetaclass () |
Returns the metaclass of Object class. More... | |
static PropertyTypeEditorInfoSharedPtr | makeEditorInfo () |
Default implementation that returns empty editor info. More... | |
Static Protected Member Functions | |
static VisitorResult | applyStylesVisitor (Node &node, bool apply) |
static VisitorResult | attachVisitor (Node &node) |
static VisitorResult | detachVisitor (Node &node) |
static bool | processPropertyChanged (Node &node, AbstractPropertyType propertyType, const PropertyStoragePtr &nodePropertyStorage, AbstractPropertyTypeDescriptor::PropertyStorage *changedPropertyStorage, PropertyNotificationReason reason) |
Processes notification handlers for node and property storage. More... | |
static VisitorResult | propertyChangedVisitor (Node &node, AbstractPropertyType propertyType, AbstractPropertyTypeDescriptor::PropertyStorage *propertyStorage, PropertyNotificationReason reason) |
static VisitorResult | updateAllResourcesVisitor (Node &node) |
static VisitorResult | updateResourceVisitor (Node &node, const ResourceID &id) |
static VisitorResult | validateDrawVisitor (Node &node) |
Visitor for validating draw. More... | |
Friends | |
class | InputManager |
Properties | |
static PropertyType< string > | NameProperty |
Name property. More... | |
static PropertyType< string > | PathProperty |
Path property. More... | |
static PropertyType< string > | LocaleProperty |
Locale property. More... | |
static PropertyType< bool > | CreatedFromKZBProperty |
CreatedFromKZB property. More... | |
static PropertyType< bool > | HitTestableProperty |
HitTestable property. More... | |
static PropertyType< bool > | HitTestableContainerProperty |
HitTestableContainer property. More... | |
static PropertyType< bool > | VisibleProperty |
Visible property. More... | |
static PropertyType< bool > | EnabledProperty |
Sets whether the node is enabled. More... | |
static PropertyType< bool > | EffectivelyEnabledProperty |
Indicates whether the node and its ancestor nodes are enabled. More... | |
static PropertyType< bool > | FocusableProperty |
Sets whether a node can get focus and can participate in the focus chain navigation. More... | |
static PropertyType< bool > | FocusedProperty |
Sets whether a node is an focus node and can receive key messages. More... | |
static PropertyType< FocusState > | FocusStateProperty |
Reports the focus state of a focusable node or focus scope node. More... | |
static PropertyType< ResourceSharedPtr > | FontFamilyProperty |
Sets the font family the node uses. More... | |
static PropertyType< float > | VisibleAmountInParentProperty |
VisibleAmountInParent property. More... | |
static PropertyType< float > | Projection2DTo3DScaleProperty |
Projection2DTo3DScale property. More... | |
static PropertyType< ResourceSharedPtr > | StyleProperty |
Style property. More... | |
static PropertyType< ResourceSharedPtr > | StateManagerProperty |
StateManager property. More... | |
static PropertyType< void * > | PrefabTemplateSourceProperty |
PrefabTemplateSource property. More... | |
static PropertyType< float > | WidthProperty |
Width property. More... | |
static PropertyType< float > | HeightProperty |
Height property. More... | |
static PropertyType< float > | DepthProperty |
Depth property. More... | |
static PropertyType< float > | ActualWidthProperty |
ActualWidth property. More... | |
static PropertyType< float > | ActualHeightProperty |
ActualHeight property. More... | |
static PropertyType< float > | ActualDepthProperty |
ActualDepth property. More... | |
static PropertyType< Node::HorizontalAlignment > | HorizontalAlignmentProperty |
HorizontalAlignment property. More... | |
static PropertyType< Node::VerticalAlignment > | VerticalAlignmentProperty |
VerticalAlignment property. More... | |
static PropertyType< Node::DepthAlignment > | DepthAlignmentProperty |
DepthAlignment property. More... | |
static PropertyType< Vector2 > | HorizontalMarginProperty |
Sets the horizontal space between this node and other nodes that are adjacent to this node in a layout. More... | |
static PropertyType< Vector2 > | VerticalMarginProperty |
Sets the vertical space between this node and other nodes that are adjacent to this node in a layout. More... | |
static PropertyType< Vector2 > | DepthMarginProperty |
Sets the space in the depth direction between this node and other nodes that are adjacent to this node in a layout. More... | |
static PropertyType< Node::ContentStretch > | ContentStretchProperty |
ContentStretch property. More... | |
static PropertyType< float > | OpacityProperty |
Opacity property. More... | |
static PropertyType< bool > | HoverProperty |
Kanzi updates the HoverProperty for a hit testable node to indicate whether the node is the foremost node under the cursor. More... | |
static PropertyType< bool > | ClipChildrenProperty |
ClipChildren property. More... | |
static PropertyType< int > | SceneGraphAddNodeChangeChildFlagsProperty |
SceneGraphAddNodeChangeChildFlags property. More... | |
static PropertyType< int > | SceneGraphAddNodeChangeParentFlagsProperty |
SceneGraphAddNodeChangeParentFlags property. More... | |
static PropertyType< int > | SceneGraphRemoveNodeChangeChildFlagsProperty |
SceneGraphRemoveNodeChangeChildFlags property. More... | |
static PropertyType< int > | SceneGraphRemoveNodeChangeParentFlagsProperty |
SceneGraphRemoveNodeChangeParentFlags property. More... | |
string | getName () const |
Gets the value of NameProperty. More... | |
void | setName (string_view value) |
Sets the value of NameProperty. More... | |
string | getPath () const |
Gets the value of PathProperty. More... | |
void | setPath (string value) |
Sets the value of PathProperty. More... | |
string | getLocale () const |
Gets the value of LocaleProperty. More... | |
void | setLocale (string value) |
Sets the value of LocaleProperty. More... | |
bool | isHitTestable () const |
Gets the value of HitTestableProperty. More... | |
void | setHitTestable (bool value) |
Sets the value of HitTestableProperty. More... | |
bool | isHitTestableContainer () const |
Gets the value of HitTestableContainerProperty. More... | |
void | setHitTestableContainer (bool value) |
Sets the value of HitTestableContainerProperty. More... | |
bool | isVisible () const |
Gets the value of VisibleProperty. More... | |
void | setVisible (bool value) |
Sets the value of VisibleProperty. More... | |
bool | isEnabled () const |
Returns the value of the EnabledProperty. More... | |
void | setEnabled (bool value) |
Sets the value of the EnabledProperty. More... | |
bool | isEffectivelyEnabled () const |
Returns the value of EffectivelyEnabledProperty. More... | |
bool | isFocusable () const |
Gets the value of the FocusableProperty. More... | |
void | setFocusable (bool value) |
Sets the value of the FocusableProperty. More... | |
bool | isFocused () const |
Gets the value of the FocusedProperty. More... | |
void | setFocused (bool value) |
Sets the value of the FocusedProperty. More... | |
FocusState | getFocusState () const |
Gets the value of the FocusStateProperty. More... | |
void | setFocusState (FocusState state) |
Sets the value of the FocusStateProperty. More... | |
FontFamilySharedPtr | getFontFamily () const |
Gets the font family the node uses. More... | |
void | setFontFamily (FontFamilySharedPtr value) |
Sets the font family the node uses. More... | |
float | getVisibleAmountInParent () const |
Gets the value of VisibleAmountInParentProperty. More... | |
void | setVisibleAmountInParent (float value) |
Sets the value of VisibleAmountInParentProperty. More... | |
float | getProjection2DTo3DScale () const |
Gets the value of Projection2DTo3DScaleProperty. More... | |
void | setProjection2DTo3DScale (float value) |
Sets the value of Projection2DTo3DScaleProperty. More... | |
ResourceSharedPtr | getStyle () const |
Gets the value of StyleProperty. More... | |
void | setStyle (ResourceSharedPtr value) |
Sets the value of StyleProperty. More... | |
ResourceSharedPtr | getStateManager () const |
Gets the value of StateManagerProperty. More... | |
void | setStateManager (ResourceSharedPtr value) |
Sets the value of StateManagerProperty. More... | |
float | getWidth () const |
Gets the value of WidthProperty. More... | |
void | setWidth (float value) |
Sets the value of WidthProperty. More... | |
float | getHeight () const |
Gets the value of HeightProperty. More... | |
void | setHeight (float value) |
Sets the value of HeightProperty. More... | |
float | getDepth () const |
Gets the value of DepthProperty. More... | |
void | setDepth (float value) |
Sets the value of DepthProperty. More... | |
float | getActualWidth () const |
Gets the value of ActualWidthProperty. More... | |
void | setActualWidth (float value) |
Sets the value of ActualWidthProperty. More... | |
float | getActualHeight () const |
Gets the value of ActualHeightProperty. More... | |
void | setActualHeight (float value) |
Sets the value of ActualHeightProperty. More... | |
float | getActualDepth () const |
Gets the value of ActualDepthProperty. More... | |
void | setActualDepth (float value) |
Sets the value of ActualDepthProperty. More... | |
Node::HorizontalAlignment | getHorizontalAlignment () const |
Gets the value of HorizontalAlignmentProperty. More... | |
void | setHorizontalAlignment (Node::HorizontalAlignment value) |
Sets the value of HorizontalAlignmentProperty. More... | |
Node::VerticalAlignment | getVerticalAlignment () const |
Gets the value of VerticalAlignmentProperty. More... | |
void | setVerticalAlignment (Node::VerticalAlignment value) |
Sets the value of VerticalAlignmentProperty. More... | |
Node::DepthAlignment | getDepthAlignment () const |
Gets the value of DepthAlignmentProperty. More... | |
void | setDepthAlignment (Node::DepthAlignment value) |
Sets the value of DepthAlignmentProperty. More... | |
Vector2 | getHorizontalMargin () const |
Gets the value of HorizontalMarginProperty. More... | |
void | setHorizontalMargin (Vector2 value) |
Sets the value of HorizontalMarginProperty. More... | |
Vector2 | getVerticalMargin () const |
Gets the value of VerticalMarginProperty. More... | |
void | setVerticalMargin (Vector2 value) |
Sets the value of VerticalMarginProperty. More... | |
Vector2 | getDepthMargin () const |
Gets the value of DepthMarginProperty. More... | |
void | setDepthMargin (Vector2 value) |
Sets the value of DepthMarginProperty. More... | |
Node::ContentStretch | getContentStretch () const |
Gets the value of ContentStretchProperty. More... | |
void | setContentStretch (Node::ContentStretch value) |
Sets the value of ContentStretchProperty. More... | |
float | getOpacity () const |
Gets the value of OpacityProperty. More... | |
void | setOpacity (float value) |
Sets the value of OpacityProperty. More... | |
bool | isHover () const |
Returns whether the node has HoverProperty set to true. More... | |
bool | isClipChildren () const |
Gets the value of ClipChildrenProperty. More... | |
void | setClipChildren (bool value) |
Sets the value of ClipChildrenProperty. More... | |
Additional Inherited Members | |
Protected Types inherited from kanzi::Object | |
typedef vector< AppliedStyleEntrySharedPtr > | AppliedStyleContainer |
Applied style container. More... | |
Protected Attributes inherited from kanzi::Object | |
AppliedStyleContainer | m_appliedStyles |
Listing of applied styles applied to this object. More... | |
Protected Attributes inherited from kanzi::BindingHostConcept | |
BindingRuntimeContainer | m_bindingRuntimes |
Bindings in this object. More... | |
Base class for Kanzi nodes.
Use the interface provided by Node to dispatch messages and enable the nodes in the node tree to react to messages.
When you dispatch a message it travels in two phases: first tunneling, then bubbling. During the tunneling phase the message travels from the root node to the node where the message originated. From there the message bubbles back to the root node.
When you want a node to react to a message when that message passes, add message handlers or filters to those nodes. A message filter intercepts messages from any node while a message handler listens only to messages from a specific source node. To register message handlers and filters that react to:
To remove all types of handlers and filters use Node::removeMessageHandler().
To dispatch a single message, use Node::dispatchMessage().
To define a simple example node, one message type, two callbacks which are suitable for message handlers and a counting mechanism to verify the callback invocations:
To add a handler that consumes the messages sent by the node itself with Node::addMessageHandler():
To remove the handler with Node::removeMessageHandler():
To add a bubbling handler with Node::addMessageHandler():
To remove a bubbling handler with Node::removeMessageHandler():
To add a tunneling filter with Node::addTunnelingFilter():
To remove a tunneling filter with Node::removeMessageHandler():
To dispatch a message use Node::dispatchMessage():
To set node properties:
To introduce new message types and use them:
typedef kanzi::vector<Node::MessageSubscriptionToken> kanzi::Node::MessageSubscriptionTokenVector |
typedef function<VisitorResult(Node&)> kanzi::Node::Visitor |
Defines the type of the function that Kanzi executes for each node when visiting a node tree.
typedef vector<InputManipulatorBaseSharedPtr> kanzi::Node::InputManipulatorContainer |
Gets the input manipulator iterator.
typedef InputManipulatorContainer::iterator kanzi::Node::InputManipulatorIterator |
typedef InputManipulatorContainer::const_iterator kanzi::Node::InputManipulatorConstIterator |
typedef vector<NodeComponentEntry> kanzi::Node::NodeComponentContainer |
Gets the node component iterator.
typedef NodeComponentContainer::iterator kanzi::Node::NodeComponentIterator |
typedef NodeComponentContainer::const_iterator kanzi::Node::NodeComponentConstIterator |
Content stretch option.
Defines the order in which Kanzi visits the nodes in a node tree.
Defines the return type of the Node::Visitor function.
|
override |
Destructor.
|
explicitprotected |
Constructor.
|
inline |
Gets the value of NameProperty.
|
inline |
Sets the value of NameProperty.
|
inline |
Gets the value of PathProperty.
|
inline |
Sets the value of PathProperty.
|
inline |
Gets the value of LocaleProperty.
|
inline |
Sets the value of LocaleProperty.
|
inline |
Gets the value of HitTestableProperty.
|
inline |
Sets the value of HitTestableProperty.
|
inline |
Gets the value of HitTestableContainerProperty.
|
inline |
Sets the value of HitTestableContainerProperty.
|
inline |
Gets the value of VisibleProperty.
|
inline |
Sets the value of VisibleProperty.
|
inline |
Returns the value of the EnabledProperty.
|
inline |
Sets the value of the EnabledProperty.
|
inline |
Returns the value of EffectivelyEnabledProperty.
|
inline |
Gets the value of the FocusableProperty.
|
inline |
Sets the value of the FocusableProperty.
value | To enable a node to get focus and participate in focus chain navigation, set to true, otherwise false. |
|
inline |
Gets the value of the FocusedProperty.
|
inline |
Sets the value of the FocusedProperty.
value | To set focus, set to true. To clear focus, set to false. |
|
inline |
|
inline |
FontFamilySharedPtr kanzi::Node::getFontFamily | ( | ) | const |
void kanzi::Node::setFontFamily | ( | FontFamilySharedPtr | value | ) |
|
inline |
Gets the value of VisibleAmountInParentProperty.
|
inline |
Sets the value of VisibleAmountInParentProperty.
|
inline |
Gets the value of Projection2DTo3DScaleProperty.
|
inline |
Sets the value of Projection2DTo3DScaleProperty.
|
inline |
Gets the value of StyleProperty.
|
inline |
Sets the value of StyleProperty.
|
inline |
Gets the value of StateManagerProperty.
|
inline |
Sets the value of StateManagerProperty.
|
inline |
Gets the value of WidthProperty.
|
inline |
Sets the value of WidthProperty.
|
inline |
Gets the value of HeightProperty.
|
inline |
Sets the value of HeightProperty.
|
inline |
Gets the value of DepthProperty.
|
inline |
Sets the value of DepthProperty.
|
inline |
Gets the value of ActualWidthProperty.
|
inline |
Sets the value of ActualWidthProperty.
|
inline |
Gets the value of ActualHeightProperty.
|
inline |
Sets the value of ActualHeightProperty.
|
inline |
Gets the value of ActualDepthProperty.
|
inline |
Sets the value of ActualDepthProperty.
|
inline |
Gets the value of HorizontalAlignmentProperty.
|
inline |
Sets the value of HorizontalAlignmentProperty.
|
inline |
Gets the value of VerticalAlignmentProperty.
|
inline |
Sets the value of VerticalAlignmentProperty.
|
inline |
Gets the value of DepthAlignmentProperty.
|
inline |
Sets the value of DepthAlignmentProperty.
|
inline |
Gets the value of HorizontalMarginProperty.
|
inline |
Sets the value of HorizontalMarginProperty.
|
inline |
Gets the value of VerticalMarginProperty.
|
inline |
Sets the value of VerticalMarginProperty.
|
inline |
Gets the value of DepthMarginProperty.
|
inline |
Sets the value of DepthMarginProperty.
|
inline |
Gets the value of ContentStretchProperty.
|
inline |
Sets the value of ContentStretchProperty.
|
inline |
Gets the value of OpacityProperty.
|
inline |
Sets the value of OpacityProperty.
|
inline |
Returns whether the node has HoverProperty set to true.
|
inline |
Gets the value of ClipChildrenProperty.
|
inline |
Sets the value of ClipChildrenProperty.
kanzi::Node::KZ_METACLASS_PROPERTY_TYPE | ( | FontFamilyProperty | ) |
|
inline |
Returns the current value of a property.
The value returned by this function is the result of the property system evaluating the inputs that can affect the values of properties. The final value is calculated by determining the base value of the property and applying existing modifiers to it.
Base value is affected by the following inputs where the highest entry in the list determines the base value:
When the base value is determined the system applies modifiers to the value that can change the value or replace it completely. The following is the list of possible modifiers, where the order of evaluation is determined by the order the modifiers were added or applied.
If the property metadata specifies that the property is inheritable and no inputs for the property value can be determined at the current node the system iterates the node tree to the root until inputs are found or the root is reached.
If no inputs to the property value can be established the system returns the value registered in the property type metadata.
propertyType | The property type identifying the property to retrieve. |
|
inline |
|
inline |
Evaluates the property value in the same way as the overload above but does not default to the value in property metadata if there are no inputs to the property value.
propertyType | The property type identifying the property to retrieve. |
DataType kanzi::Node::getAbstractProperty | ( | AbstractPropertyType | abstractPropertyType | ) | const |
optional<typename PropertyType<DataType>::DataType> kanzi::Node::getOptionalAbstractProperty | ( | AbstractPropertyType | abstractPropertyType | ) | const |
MessageSubscriptionToken kanzi::Node::addMessageHandler | ( | TMessageType & | messageType, |
TClass * | messageHandlerObject, | ||
TClassMethod | method | ||
) |
Adds a message handler where the handler is a method that is invoked on an object.
The handler is invoked when a message of messageType is signaled in the node the handler is added to.
messageType | The message type to listen to. |
messageHandlerObject | The object that owns the method. A shared pointer must own this object. |
method | The method invoked when the node that owns the handler receives a matching message. The source of the message has to be the node itself. |
MessageSubscriptionToken kanzi::Node::addMessageFilter | ( | TMessageType & | messageType, |
TClass * | messageHandlerObject, | ||
TClassMethod | method | ||
) |
Adds a message filter where the filter is a method that is invoked on an object.
The filter is invoked when a message of messageType bubbles through the node the filter is added to.
messageType | The message type to listen to. |
messageHandlerObject | The object that owns the method. A shared pointer must own this object. |
method | The method invoked when the node that owns the filter receives a matching message. |
MessageSubscriptionToken kanzi::Node::addMessageHandler | ( | const TMessageType & | messageType, |
typename TMessageType::FunctionType | function | ||
) |
Adds a message handler where the handler is a function.
The handler is invoked when a message of messageType is signaled in the node the handler is added to.
messageType | The message type to listen to. |
function | The function invoked when the node that owns the handler receives a matching message. The source of the message has to be the node itself. |
MessageSubscriptionToken kanzi::Node::addMessageFilter | ( | const TMessageType & | messageType, |
typename TMessageType::FunctionType | function | ||
) |
Adds a message filter where the filter is a function.
The filter is invoked when a message of messageType bubbles through the node the filter is added to.
messageType | The message type to listen to. |
function | The function invoked when the node that owns the filter receives a matching message. |
MessageSubscriptionToken kanzi::Node::addMessageHandler | ( | const TMessageType & | messageType, |
typename TMessageType::FunctionType | function, | ||
Node * | messageSourceFilter | ||
) |
Adds a message handler where the handler is a function and you explicitly define the accepted source.
The handler is invoked when a message of messageType bubbles through the node to which you add the handler, but only when you dispatch it from the given source node.
messageType | The message type to listen to. |
function | The function invoked when the node that owns the handler receives a matching message. |
messageSourceFilter | Source node of the messages. |
MessageSubscriptionToken kanzi::Node::addTunnelingHandler | ( | const TMessageType & | messageType, |
typename TMessageType::FunctionType | function, | ||
Node * | messageSourceFilter | ||
) |
Adds a message handler where the handler is a function and you explicitly define the accepted source.
The handler is invoked when a message of messageType tunnels through the node to which you add the handler, but only when you dispatch it from the given source node.
messageType | The message type to listen to. |
function | The function invoked when the node that owns the handler receives a matching message. |
messageSourceFilter | Source node of the messages. |
MessageSubscriptionToken kanzi::Node::addTunnelingFilter | ( | const TMessageType & | messageType, |
typename TMessageType::FunctionType | function | ||
) |
Adds a message filter where the filter is a function.
The filter is invoked when a message of messageType tunnels through the node to which you add this filter.
messageType | The message type to listen to. |
function | The function invoked when the node that owns the filter receives a matching message. |
MessageSubscriptionToken kanzi::Node::addTunnelingFilter | ( | const TMessageType & | messageType, |
TClass * | messageHandlerObject, | ||
TClassMethod | method | ||
) |
Adds a message filter where the filter is a method that is invoked on an object.
The filter is invoked when a message of messageType tunnels through the node to which you add this filter.
messageType | The message type to listen to. |
messageHandlerObject | The object that owns the method. A shared pointer must own this object. |
method | The method invoked when the node that owns the filter receives a matching message. |
void kanzi::Node::removeMessageHandler | ( | MessageSubscriptionToken | token | ) |
Removes a message subscription.
token | The message subscription token which identifies the handler or filter. |
void kanzi::Node::dispatchMessage | ( | const MessageType< TArgumentsType > & | messageType, |
typename MessageType< TArgumentsType >::ArgumentsType & | messageArguments | ||
) |
Dispatches a message from this node with specified arguments.
messageType | The type of the dispatched message. |
messageArguments | The arguments of the dispatched message. |
void kanzi::Node::dispatchAbstractMessage | ( | const AbstractMessageType & | messageType, |
MessageArguments & | messageArguments | ||
) |
Dispatches a message from this node with specified arguments.
messageType | The type of the dispatched message. |
messageArguments | The arguments of the dispatched message. |
void kanzi::Node::addResource | ( | const ResourceID & | resourceId, |
string_view | resourceUrl | ||
) |
Adds a resource manager resource to an object node. If resourceID already exists in object, removes the existing entry. If resourceURL is NULL, error is thrown. */.
void kanzi::Node::removeResource | ( | const ResourceID & | resourceId | ) |
Removes a resource with given ID from object node resource dictionary. Does not do anything if resourceID was not found. */.
bool kanzi::Node::containsResource | ( | const ResourceID & | resourceID | ) | const |
Returns if object node resource dictionary contains the resource with given ID. Resource can be any type: style, alias or resource manager resource. */.
optional<string> kanzi::Node::findResourceURL | ( | const ResourceID & | resourceId | ) | const |
ResourceSharedPtr kanzi::Node::acquireResource | ( | const ResourceID & | id | ) | const |
Acquires a resource from the node or the node's closest ancestor having the resource id in the resource dictionary.
If the resource id maps to a resource url, but the url doesn't map to any resource, throws an exception.
id | Name of the resource. |
shared_ptr<T> kanzi::Node::acquireResource | ( | const ResourceID & | id | ) | const |
Acquires a resource from the node or the node's closest ancestor having the resource id in the resource dictionary, and casts the resource to given type.
If the cast fails, or the found resource url doesn't map to a resource, throws an exception.
id | Name of the resource. |
ResourceSharedPtr kanzi::Node::tryAcquireResource | ( | const ResourceID & | id | ) | const |
Acquires a resource from the node or the node's closest ancestor having the resource id in the resource dictionary.
id | Name of the resource. |
ResourceManager::AcquireTaskSharedPtr kanzi::Node::acquireResourceAsync | ( | const ResourceID & | key, |
ResourceManager::AsyncAcquireFinishedCallback | func | ||
) | const |
Posts an asynchronous task to acquire a resource.
key | Name of the resource. |
func | Callback to execute upon completion of the task. |
shared_ptr<T> kanzi::Node::tryAcquireResource | ( | const ResourceID & | id | ) | const |
Acquires a resource from the node or the node's closest ancestor having the resource and casts the resource to given type.
id | Name of the resource. |
ResourceDictionarySharedPtr kanzi::Node::getResourceDictionary | ( | ) | const |
If a node has a resource dictionary, returns the resource dictionary of that node.
ResourceDictionarySharedPtr kanzi::Node::acquireResourceDictionary | ( | ) |
Gets a resource dictionary of a node.
If a resource dictionary does not exist, the function creates it.
void kanzi::Node::notifyResourceDictionaryModified | ( | ) |
Forces the re-evaluation of resource IDs in a node tree.
If you modify a resource dictionary of a node that is already attached, you can use this function to update the resource properties. Note that you need to use this function only if you modify the dictionary directly through getResourceDictionary or acquireResourceDictionary. If you use other Node class functions like addResource or setResourceDictionary, you do not need to call this function.
void kanzi::Node::setResourceDictionary | ( | ResourceDictionarySharedPtr | resourceDictionary | ) |
Replaces the resource dictionary of a node.
Updates all the resource references of the child nodes.
resourceDictionary | The resource dictionary. |
void kanzi::Node::addResourceDictionary | ( | ResourceDictionarySharedPtr | resourceDictionary | ) |
Adds a nested resource dictionary to the resource dictionary of a node.
Updates all the resource references of the child nodes.
resourceDictionary | The nested resource dictionary. |
void kanzi::Node::addAnonymousResource | ( | ResourceSharedPtr | resource | ) |
Adds alias resource to an object node.
Removes alias resource from an object node. Adds anonymous resource (such as style) for object node resources.
void kanzi::Node::removeAnonymousResource | ( | const Resource & | resource | ) |
Removes anonymous resource from object node resources.
bool kanzi::Node::isNamed | ( | string_view | name | ) | const |
Node* kanzi::Node::getParent | ( | ) | const |
Returns the parent of the node.
void kanzi::Node::setParent | ( | Node * | parent | ) |
Kanzi uses this method internally to set the parent of a node.
Do not use this method directly to change the parent of a node. Instead, use the addAbstractChildOverride and removeAbstractChildOverride methods from the parent node.
parent | The parent node to set. |
VisitorResult kanzi::Node::visit | ( | const Visitor & | visitor, |
VisitorOrder | order | ||
) |
Visits a node and its descendants.
visitor | The visitor function to apply for the visited nodes. |
order | The visiting order. |
VisitorResult kanzi::Node::visitDescendants | ( | const Visitor & | visitor, |
VisitorOrder | order | ||
) |
Visits the descendants of a node.
visitor | The visitor function to apply for the visited nodes. |
order | The visiting order. |
shared_ptr<Type> kanzi::Node::lookupNode | ( | string_view | pathOrKey | ) |
Returns a node of specified type by looking it up with specified path or alias.
Node* kanzi::Node::lookupNodeRaw | ( | string_view | relativePath | ) |
Get an object node by another node and a relative path.
User should use lookupNode.
relativePath | Path to use for relative lookup. |
ObjectSharedPtr kanzi::Node::lookupObject | ( | string_view | relativePath | ) |
Lookup for an object from a node.
Object found may be another node or a resource within a node.
relativePath | Relative path to use for lookup. |
tuple<NodeSharedPtr, AbstractPropertyType> kanzi::Node::lookupObjectForStateManager | ( | string_view | relativePath | ) |
Lookup for an node and possible object from within the node for state manager.
If the path points to a resource within the node, the node, and the associated abstract property type will be returned.
relativePath | Relative path to use for lookup. |
|
inline |
Lookup for an object from a node.
Object found may be another node or a resource within a node.
relativePath | Relative path to use for lookup. |
shared_ptr<TNodeType> kanzi::Node::findAbstractChild | ( | string_view | name | ) |
Find a child by name. Finds direct children as well as children connected indirectly for example Viewport->Scene.
|
pure virtual |
Implemented in kanzi::Node2D, and kanzi::Node3D.
|
pure virtual |
Implemented in kanzi::Node2D, kanzi::Node3D, and kanzi::Viewport2D.
|
pure virtual |
Implemented in kanzi::Node2D, kanzi::Node3D, and kanzi::Viewport2D.
|
pure virtual |
Implemented in kanzi::Node2D, kanzi::Node3D, and kanzi::Viewport2D.
|
pure virtual |
Implemented in kanzi::Node2D, and kanzi::Node3D.
|
pure virtual |
Moves a child node to a given position in the list of child nodes.
child | Child node to reposition. |
index | Position at which to place the child node in the list of child nodes. |
Implemented in kanzi::Node2D, and kanzi::Node3D.
void kanzi::Node::addInputManipulator | ( | InputManipulatorBaseSharedPtr | inputManipulator | ) |
Transfers the ownership and attaches an input manipulator to an object node.
inputManipulator | The input manipulator to add. |
void kanzi::Node::removeInputManipulator | ( | InputManipulator & | inputManipulator | ) |
Removes the ownership and detaches an input manipulator from an object node.
inputManipulator | The input manipulator to remove. |
InputManipulatorConstIterator kanzi::Node::beginInputManipulators | ( | ) | const |
InputManipulatorConstIterator kanzi::Node::endInputManipulators | ( | ) | const |
void kanzi::Node::addNodeComponent | ( | NodeComponentSharedPtr | nodeComponent | ) |
Transfers the ownership of a node component to an object node.
void kanzi::Node::addNodeComponentWithOwner | ( | NodeComponentSharedPtr | nodeComponent, |
const void * | owner | ||
) |
Transfers the ownership of a node component to an object node and sets the owner of the node component.
void kanzi::Node::removeNodeComponent | ( | NodeComponent & | nodeComponent | ) |
Removes the ownership of a node component from an object node.
void kanzi::Node::removeNodeComponentWithOwner | ( | const void * | owner | ) |
Removes all bindings with the specified owner.
NodeComponentConstIterator kanzi::Node::beginNodeComponents | ( | ) | const |
NodeComponentConstIterator kanzi::Node::endNodeComponents | ( | ) | const |
shared_ptr<Type> kanzi::Node::lookupNodeComponent | ( | string_view | name | ) |
Returns a node component of specified type by looking it up with specified name.
If name is not specified, then the first anonymous node component of specified type is returned.
bool kanzi::Node::isEffectivelyVisible | ( | ) | const |
Returns whether a node and its ancestor nodes are visible.
bool kanzi::Node::isEffectivelyFocusable | ( | ) | const |
Returns whether a node is focusable.
A node is focusable when it is a focus scope node or has FocusableProperty attached and set to true, or both.
FocusScope* kanzi::Node::getFocusScopeInfo | ( | ) | const |
Returns the information about the focus scope for a node.
|
inline |
Get current change flags.
|
inline |
Get current child change flags.
void kanzi::Node::setChangeFlag | ( | uint32_t | flag | ) |
Sets a change flag.
void kanzi::Node::clearChangeFlag | ( | uint32_t | flag | ) |
Clears a change flag.
bool kanzi::Node::isChangeFlagSet | ( | uint32_t | flag | ) | const |
Checks if a change flag is set.
bool kanzi::Node::isAnyChangeFlagSet | ( | uint32_t | flag | ) | const |
Checks if any of given flags is set.
void kanzi::Node::setChildChangeFlag | ( | uint32_t | flag | ) |
Sets a child change flag.
void kanzi::Node::clearChildChangeFlag | ( | uint32_t | flag | ) |
Clears a child change flag.
bool kanzi::Node::isChildChangeFlagSet | ( | uint32_t | flag | ) | const |
Checks if child change flags match.
bool kanzi::Node::isAnyChildChangeFlagSet | ( | uint32_t | flag | ) | const |
Checks if any child change flags (corresponding to given mask) are set.
bool kanzi::Node::isInvalidMeasure | ( | ) | const |
Check if the node needs measure.
void kanzi::Node::invalidateMeasure | ( | ) |
Invalidates measure for the node.
void kanzi::Node::validateMeasure | ( | ) |
Validates measure for the node.
bool kanzi::Node::isInvalidArrange | ( | ) | const |
Checks if the node needs arrange.
void kanzi::Node::invalidateArrange | ( | ) |
Invalidates arrange.
void kanzi::Node::validateArrange | ( | ) |
Validates arrange.
bool kanzi::Node::isInvalidRender | ( | ) | const |
Returns if node render flag is invalid.
void kanzi::Node::validateRender | ( | ) |
Validates render for node.
void kanzi::Node::invalidateRender | ( | ) |
Invalidates render for node.
bool kanzi::Node::isInvalidFinalTransform | ( | ) | const |
Tells if final transform flag is invalid for node.
void kanzi::Node::invalidateFinalTransform | ( | ) |
Invalidates final transform for node.
bool kanzi::Node::isInvalidDraw | ( | ) |
Tells if node draw flag is invalid.
void kanzi::Node::invalidateDraw | ( | ) |
Invalidates draw flag for the node.
void kanzi::Node::validateDraw | ( | ) |
Validates draw flags for the node.
void kanzi::Node::validateDrawForChildrenRecursive | ( | ) |
Recursively validates draw for the children from this 2D node onwards.
Called internally by the system in situations where draw does not otherwise descend to the node.
bool kanzi::Node::isInitialized | ( | ) | const |
Returns true if initialize() has been called, false otherwise.
bool kanzi::Node::isAttached | ( | ) | const |
Returns true if the node is attached to a screen or one of its descendants.
bool kanzi::Node::isAttaching | ( | ) | const |
Returns true if node is in the process of attaching, false otherwise.
bool kanzi::Node::isDetaching | ( | ) | const |
Returns true if the node currently detaching.
void kanzi::Node::attachRecursive | ( | ) |
Attaches an object node and its children recursively.
void kanzi::Node::detachRecursive | ( | ) |
Detaches a node and its descendants.
AppliedStyleEntrySharedPtr kanzi::Node::applyStyle | ( | StyleSharedPtr | style | ) |
Applies a style to an object node.
Returns a style entry that is used to unapply the style.
AppliedStyleEntrySharedPtr kanzi::Node::applyManualStyle | ( | StyleSharedPtr | style | ) |
Applies a style to an object node.
Returns a style entry that is used to unapply the style. The style must be unapplied manually.
void kanzi::Node::unapplyStyle | ( | AppliedStyleEntrySharedPtr | appliedStyleEntry | ) |
Unapplies a style from an object node.
appliedStyleEntry | Style entry from a style applied earlier. |
void kanzi::Node::applyStyles | ( | ) |
Apply all styles for an object node.
void kanzi::Node::unapplyStyles | ( | ) |
Unapplies and removes all applied styles.
void kanzi::Node::applyStylesRecursive | ( | ) |
Applies styles recursively.
void kanzi::Node::unapplyStylesRecursive | ( | ) |
Unapplies styles recursively.
void kanzi::Node::removeKZBData | ( | flat_set< AbstractPropertyType > * | keepProperties | ) |
Destroys all object node data loaded from KZB, including properties, bindings, node components, resources etc.
It is possible to pass a set of properties as input. The local values of those properties will not be removed.
keepProperties | Set of properties to keep. |
|
inline |
Destroys all object node data loaded from KZB.
All local values of properties will be removed.
void kanzi::Node::addResourceReference | ( | AbstractPropertyType | propertyType, |
AbstractResourceReference * | reference | ||
) |
This is a helper for automatic resource tracking in ResourceReference.
propertyType | Property type to listen changes on. |
reference | Reference to react on. |
void kanzi::Node::removeResourceReference | ( | const AbstractResourceReference & | reference | ) |
This is a helper for automatic resource tracking in ResourceReference.
reference | Reference to remove. |
void kanzi::Node::addNodeReference | ( | AbstractPropertyType | propertyType, |
AbstractNodeReference * | reference | ||
) |
void kanzi::Node::removeNodeReference | ( | const AbstractNodeReference & | reference | ) |
BindingLookupContextPtr kanzi::Node::createLookupContext | ( | NodeSharedPtr | templateRoot | ) |
Creates a lookup context for the node.
templateRoot | Template root for the node. |
|
inlinevirtual |
Reattaches an object node after potential resource change.
Reimplemented in kanzi::Node2D, kanzi::Viewport2D, kanzi::TextBox3D, kanzi::ProgressiveRenderingViewport2D, and kanzi::TextBlock3D.
|
inlinestatic |
Indicates whether a value is valid layout value.
Valid layout value is a non-negative floating point number. Valid layout value can be positive infinity (unbounded layout value).
value | Value to test if it is unbound layout value. |
|
inlinestatic |
Returns an unbounded layout value.
|
inlinestatic |
Indicates whether a value is an unbound layout value.
layoutValue | Value to test if it is unbound layout value. |
|
inlinestatic |
Replaces layout value with the specified value if it is unbounded and returns it.
layoutValue | Layout value to test if it is unbounded layout value. |
resetValue | The value which is returned if layoutValue is unbounded layout value. |
|
inlinestatic |
Replaces layout value with zero if it is unbounded layout value and returns it.
layoutValue | Layout value to test if it is unbounded layout value. |
|
inline |
Gets the template root of this node.
Template root is used in template root bindings. This is an internal function.
|
inline |
Sets the template root of this node.
Template root is used in template root bindings. This is an internal function.
|
inline |
Tries to move the focus on this node.
If this node is a focus scope node, this method tries to focus the preserved focus of the focus scope, or tries to focus on the first focusable descendant node of this node. This is a convenience function of the FocusManager::trySetFocus(), that uses the node as target node.
NodeSharedPtr kanzi::Node::trySetFocus | ( | ) |
Tries to move the focus to this node.
If this node is a focus scope node, this method tries to focus the preserved focus of the focus scope, or tries to focus on the first focusable descendant node of this node. This is a convenience function of the FocusManager::trySetFocus(), that uses the node as target node.
NodeSharedPtr kanzi::Node::trySetFocus | ( | FocusFallback | fallbackOption | ) |
Tries to set the focus to the newFocusNode using FocusManager::trySetFocus() but with a fallback behavior in case the node does not gain focus.
fallbackOption | The fallback behavior:
|
void kanzi::Node::setScreen | ( | Screen * | screen | ) |
Screen* kanzi::Node::getScreen | ( | ) | const |
InputManager* kanzi::Node::getInputManager | ( | ) | const |
FocusManager* kanzi::Node::getFocusManager | ( | ) | const |
|
protected |
Node-specific initialization.
Since initialization is called with the full knowledge of node type, inheriting classes may statically call the base class function.
|
protectedvirtual |
Called when an object node becomes attached.
Reimplemented in kanzi::ListBoxConceptImpl< Node3D, GridListBox3D, GridListBox3DTraits >, kanzi::ListBoxConceptImpl< Node3D, TrajectoryListBox3D, TrajectoryListBox3DTraits >, kanzi::ListBoxConceptImpl< Node2D, GridListBox2D, GridListBox2DTraits >, kanzi::Node3D, kanzi::TrajectoryListBox3D, kanzi::Light, kanzi::NinePatchImage2D, kanzi::ButtonConceptImpl< Node2D, Button2D >, kanzi::ButtonConceptImpl< Node3D, Button3D >, kanzi::ButtonConceptImpl< Node3D, ToggleButton3D >, kanzi::ButtonConceptImpl< Node2D, ToggleButton2D >, kanzi::Page, kanzi::Screen, kanzi::Viewport2D, kanzi::Instantiator3D, kanzi::PageHost, kanzi::TextBox3D, kanzi::Model3D, kanzi::Viewport3D, kanzi::ProgressiveRenderingViewport2D, kanzi::TextBox2D, kanzi::ActivityConceptImpl< ContentLayout2D, Activity2D >, kanzi::ActivityConceptImpl< ContentLayout3D, Activity3D >, kanzi::ClickConceptImpl< Node2D, Button2D >, kanzi::ClickConceptImpl< Node3D, Button3D >, kanzi::ClickConceptImpl< ContentLayout2D, ListBoxItemContainer2D >, kanzi::ClickConceptImpl< ContentLayout3D, ListBoxItemContainer3D >, kanzi::ClickConceptImpl< Node3D, ToggleButton3D >, kanzi::ClickConceptImpl< Node2D, ToggleButton2D >, kanzi::ParallelActivityHostImpl< ContentLayout3D, ParallelActivityHost3D >, kanzi::ParallelActivityHostImpl< ContentLayout2D, ParallelActivityHost2D >, kanzi::TextBlock2D, kanzi::ActivityElementImpl< ContentLayout2D, DataDrivenExclusiveActivityHost2D >, kanzi::ActivityElementImpl< ContentLayout3D, ParallelActivityHost3D >, kanzi::ActivityElementImpl< ContentLayout2D, ParallelActivityHost2D >, kanzi::ActivityElementImpl< ContentLayout3D, DataDrivenExclusiveActivityHost3D >, kanzi::ActivityElementImpl< ContentLayout2D, ExclusiveActivityHost2D >, kanzi::ActivityElementImpl< ContentLayout3D, ExclusiveActivityHost3D >, kanzi::ActivityElementImpl< ContentLayout2D, Activity2D >, and kanzi::ActivityElementImpl< ContentLayout3D, Activity3D >.
|
protectedvirtual |
Called when an object node becomes detached.
Reimplemented in kanzi::Node2D, kanzi::TextBoxConceptImpl< Node2D, TextBox2D, TextBox2DTraits >, kanzi::TextBoxConceptImpl< Node3D, TextBox3D, TextBox3DTraits >, kanzi::ListBoxConceptImpl< Node3D, GridListBox3D, GridListBox3DTraits >, kanzi::ListBoxConceptImpl< Node3D, TrajectoryListBox3D, TrajectoryListBox3DTraits >, kanzi::ListBoxConceptImpl< Node2D, GridListBox2D, GridListBox2DTraits >, kanzi::Node3D, kanzi::NinePatchImage2D, kanzi::ButtonConceptImpl< Node2D, Button2D >, kanzi::ButtonConceptImpl< Node3D, Button3D >, kanzi::ButtonConceptImpl< Node3D, ToggleButton3D >, kanzi::ButtonConceptImpl< Node2D, ToggleButton2D >, kanzi::Page, kanzi::Screen, kanzi::Viewport2D, kanzi::Instantiator3D, kanzi::PageHost, kanzi::TextBox3D, kanzi::Model3D, kanzi::TextBlock3D, kanzi::Viewport3D, kanzi::ProgressiveRenderingViewport2D, kanzi::ToggleButtonGroupConceptImpl< Node2D, ToggleButtonGroup2D >, kanzi::ToggleButtonGroupConceptImpl< Node3D, ToggleButtonGroup3D >, kanzi::ActivityConceptImpl< ContentLayout2D, Activity2D >, kanzi::ActivityConceptImpl< ContentLayout3D, Activity3D >, kanzi::ClickConceptImpl< Node2D, Button2D >, kanzi::ClickConceptImpl< Node3D, Button3D >, kanzi::ClickConceptImpl< ContentLayout2D, ListBoxItemContainer2D >, kanzi::ClickConceptImpl< ContentLayout3D, ListBoxItemContainer3D >, kanzi::ClickConceptImpl< Node3D, ToggleButton3D >, kanzi::ClickConceptImpl< Node2D, ToggleButton2D >, kanzi::ParallelActivityHostImpl< ContentLayout3D, ParallelActivityHost3D >, kanzi::ParallelActivityHostImpl< ContentLayout2D, ParallelActivityHost2D >, kanzi::TextBlock2D, kanzi::DataDrivenExclusiveActivityHostImpl< ContentLayout2D, DataDrivenExclusiveActivityHost2D >, kanzi::DataDrivenExclusiveActivityHostImpl< ContentLayout3D, DataDrivenExclusiveActivityHost3D >, kanzi::ExclusiveActivityHostImpl< ContentLayout2D, ExclusiveActivityHost2D >, kanzi::ExclusiveActivityHostImpl< ContentLayout3D, ExclusiveActivityHost3D >, kanzi::ExclusiveActivityHostBaseImpl< ContentLayout2D, DataDrivenExclusiveActivityHost2D >, kanzi::ExclusiveActivityHostBaseImpl< ContentLayout3D, DataDrivenExclusiveActivityHost3D >, kanzi::ExclusiveActivityHostBaseImpl< ContentLayout2D, ExclusiveActivityHost2D >, kanzi::ExclusiveActivityHostBaseImpl< ContentLayout3D, ExclusiveActivityHost3D >, kanzi::ActivityElementImpl< ContentLayout2D, DataDrivenExclusiveActivityHost2D >, kanzi::ActivityElementImpl< ContentLayout3D, ParallelActivityHost3D >, kanzi::ActivityElementImpl< ContentLayout2D, ParallelActivityHost2D >, kanzi::ActivityElementImpl< ContentLayout3D, DataDrivenExclusiveActivityHost3D >, kanzi::ActivityElementImpl< ContentLayout2D, ExclusiveActivityHost2D >, kanzi::ActivityElementImpl< ContentLayout3D, ExclusiveActivityHost3D >, kanzi::ActivityElementImpl< ContentLayout2D, Activity2D >, and kanzi::ActivityElementImpl< ContentLayout3D, Activity3D >.
|
protectedvirtual |
Method executed on node property change.
propertyType | Property that was changed in node. |
reason | Change reason. |
Reimplemented in kanzi::Node2D, kanzi::TextBoxConceptImpl< Node2D, TextBox2D, TextBox2DTraits >, kanzi::TextBoxConceptImpl< Node3D, TextBox3D, TextBox3DTraits >, kanzi::ScrollViewConceptImpl< Node3D, ScrollView3D >, kanzi::ScrollViewConceptImpl< Node2D, ScrollView2D >, kanzi::ListBoxConceptImpl< Node3D, GridListBox3D, GridListBox3DTraits >, kanzi::ListBoxConceptImpl< Node3D, TrajectoryListBox3D, TrajectoryListBox3DTraits >, kanzi::ListBoxConceptImpl< Node2D, GridListBox2D, GridListBox2DTraits >, kanzi::TrajectoryListBox3D, kanzi::Node3D, kanzi::NinePatchImage2D, kanzi::GridLayoutConceptImpl< Node2D, GridLayout2D >, kanzi::GridLayoutConceptImpl< Node3D, GridLayout3D >, kanzi::ButtonConceptImpl< Node2D, Button2D >, kanzi::ButtonConceptImpl< Node3D, Button3D >, kanzi::ButtonConceptImpl< Node3D, ToggleButton3D >, kanzi::ButtonConceptImpl< Node2D, ToggleButton2D >, kanzi::TrajectoryLayoutConceptImpl< Node3D, TrajectoryLayout3D >, kanzi::TrajectoryLayoutConceptImpl< Node2D, TrajectoryLayout2D >, kanzi::Viewport2D, kanzi::Screen, kanzi::GridListBox3D, kanzi::GridListBox2D, kanzi::PageHost, kanzi::ListBoxItemContainerImpl< ContentLayout3D, ListBoxItemContainer3D, ContentLayout3D >, kanzi::ListBoxItemContainerImpl< ContentLayout2D, ListBoxItemContainer2D, ContentLayout2D >, kanzi::TextBox3D, kanzi::Instantiator3D, kanzi::Model3D, kanzi::PrefabViewConceptImpl< Node2D, PrefabView2D >, kanzi::PrefabViewConceptImpl< Node3D, PrefabView3D >, kanzi::Viewport3D, kanzi::TextBlock3D, kanzi::TextBox2D, kanzi::ToggleButtonGroupConceptImpl< Node2D, ToggleButtonGroup2D >, kanzi::ToggleButtonGroupConceptImpl< Node3D, ToggleButtonGroup3D >, kanzi::TextBlockConceptImpl< Node3D, TextBlock3D >, kanzi::TextBlockConceptImpl< Node2D, TextBlock2D >, kanzi::ClickConceptImpl< Node2D, Button2D >, kanzi::ClickConceptImpl< Node3D, Button3D >, kanzi::ClickConceptImpl< ContentLayout2D, ListBoxItemContainer2D >, kanzi::ClickConceptImpl< ContentLayout3D, ListBoxItemContainer3D >, kanzi::ClickConceptImpl< Node3D, ToggleButton3D >, kanzi::ClickConceptImpl< Node2D, ToggleButton2D >, kanzi::TextBlock2D, kanzi::ExclusiveActivityHostImpl< ContentLayout2D, ExclusiveActivityHost2D >, kanzi::ExclusiveActivityHostImpl< ContentLayout3D, ExclusiveActivityHost3D >, kanzi::ExclusiveActivityHostBaseImpl< ContentLayout2D, DataDrivenExclusiveActivityHost2D >, kanzi::ExclusiveActivityHostBaseImpl< ContentLayout3D, DataDrivenExclusiveActivityHost3D >, kanzi::ExclusiveActivityHostBaseImpl< ContentLayout2D, ExclusiveActivityHost2D >, kanzi::ExclusiveActivityHostBaseImpl< ContentLayout3D, ExclusiveActivityHost3D >, kanzi::DataDrivenExclusiveActivityHostImpl< ContentLayout2D, DataDrivenExclusiveActivityHost2D >, kanzi::DataDrivenExclusiveActivityHostImpl< ContentLayout3D, DataDrivenExclusiveActivityHost3D >, kanzi::ActivityElementImpl< ContentLayout2D, DataDrivenExclusiveActivityHost2D >, kanzi::ActivityElementImpl< ContentLayout3D, ParallelActivityHost3D >, kanzi::ActivityElementImpl< ContentLayout2D, ParallelActivityHost2D >, kanzi::ActivityElementImpl< ContentLayout3D, DataDrivenExclusiveActivityHost3D >, kanzi::ActivityElementImpl< ContentLayout2D, ExclusiveActivityHost2D >, kanzi::ActivityElementImpl< ContentLayout3D, ExclusiveActivityHost3D >, kanzi::ActivityElementImpl< ContentLayout2D, Activity2D >, and kanzi::ActivityElementImpl< ContentLayout3D, Activity3D >.
|
protectedpure virtual |
Implemented in kanzi::Node2D, kanzi::Node3D, kanzi::Viewport2D, and kanzi::Viewport3D.
|
protectedpure virtual |
Implemented in kanzi::Node2D, kanzi::Node3D, kanzi::Viewport2D, and kanzi::Viewport3D.
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
Visitor for validating draw.
|
staticprotected |
Processes notification handlers for node and property storage.
node | Node to invoke change notification on. |
propertyType | Changed property type. |
nodePropertyStorage | Property storage for the node being modified. |
changedPropertyStorage | Property storage actually being changed (not necessarily from node). |
reason | Change reason. |
|
staticprotected |
|
protected |
Invokes property notifications for inherited properties during node tree connections.
|
protected |
Invokes property notifications for inherited properties during node tree disconnections.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Attaches the object node.
|
protected |
Detaches the object node.
|
protectedvirtual |
Updates the overlay scope information that is attached to the root node of an overlay scope.
Reimplemented in kanzi::ListBoxConceptImpl< Node3D, GridListBox3D, GridListBox3DTraits >, kanzi::ListBoxConceptImpl< Node3D, TrajectoryListBox3D, TrajectoryListBox3DTraits >, kanzi::ListBoxConceptImpl< Node2D, GridListBox2D, GridListBox2DTraits >, kanzi::ActivityConceptImpl< ContentLayout2D, Activity2D >, and kanzi::ActivityConceptImpl< ContentLayout3D, Activity3D >.
|
overrideprotectedvirtual |
Notifies all property handlers on a property storage.
Hold a reference to the property storage before you call this function. The notification handlers can otherwise cause the storage to become invalid.
storagePtr | Pointer to the property storage. |
reason | Reason for the notification. |
Reimplemented from kanzi::PropertyObject.
|
friend |
|
static |
|
static |
|
static |
|
static |
CreatedFromKZB property.
The default value is false.
|
static |
|
static |
HitTestableContainer property.
The default value is false.
|
static |
|
static |
Sets whether the node is enabled.
When you set the EnabledProperty to false for a node, also its descendant nodes in the same overlay scope are effectively disabled. Effectively disabling a node removes that node from the focus chain and cancels the active input manipulators. Use the EffectivelyEnabledProperty to observe whether a node is effectively enabled. The default value is true.
|
static |
Indicates whether the node and its ancestor nodes are enabled.
To enable or disable a node, use the EnabledProperty. Use the EffectivelyEnabledProperty in state managers and bindings to observe whether a node is effectively enabled. When a node is effectively disabled:
The default value is true.
|
static |
Sets whether a node can get focus and can participate in the focus chain navigation.
When the node is also a focus scope, this property sets whether the scope is a focus fence. The default value is false.
|
static |
Sets whether a node is an focus node and can receive key messages.
In a Kanzi application only one node at a time can have focus. The default value is false.
|
static |
Reports the focus state of a focusable node or focus scope node.
To observe whether a node is the key focus node, use isFocused() to get the value of the FocusedProperty.
|
static |
Sets the font family the node uses.
The default value is ResourceSharedPtr().
|
static |
VisibleAmountInParent property.
The default value is 1.0f.
|
static |
Projection2DTo3DScale property.
The default value is 0.02f.
|
static |
|
static |
StateManager property.
The default value is ResourceSharedPtr().
|
static |
PrefabTemplateSource property.
The default value is 0.
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
HorizontalAlignment property.
The default value is Node::HorizontalAlignmentCenter.
|
static |
VerticalAlignment property.
The default value is Node::VerticalAlignmentCenter.
|
static |
DepthAlignment property.
The default value is Node::DepthAlignmentCenter.
|
static |
Sets the horizontal space between this node and other nodes that are adjacent to this node in a layout.
The X component sets the left margin and the Y component sets the right margin. The default value is Vector2(0.0f, 0.0f).
|
static |
Sets the vertical space between this node and other nodes that are adjacent to this node in a layout.
The X component sets the bottom margin and the Y component sets the top margin. The default value is Vector2(0.0f, 0.0f).
|
static |
Sets the space in the depth direction between this node and other nodes that are adjacent to this node in a layout.
The X component sets the back margin and the Y component sets the front margin. The default value is Vector2(0.0f, 0.0f).
|
static |
ContentStretch property.
The default value is Node::ContentStretchUniform.
|
static |
|
static |
Kanzi updates the HoverProperty for a hit testable node to indicate whether the node is the foremost node under the cursor.
Kanzi also sets HoverProperty to true for the all of the ancestors of the foremost hit testable node under the cursor.
|
static |
|
static |
SceneGraphAddNodeChangeChildFlags property.
The default value is PropertyTypeChangeFlagFinalTransformation | PropertyTypeChangeFlagMeasure.
|
static |
SceneGraphAddNodeChangeParentFlags property.
The default value is PropertyTypeChangeFlagMeasure.
|
static |
SceneGraphRemoveNodeChangeChildFlags property.
The default value is 0.
|
static |
SceneGraphRemoveNodeChangeParentFlags property.
The default value is PropertyTypeChangeFlagMeasure.