Implementation class for DataDrivenExclusiveActivityHostConcept and ExclusiveActivityHostConcept. More...
#include <kanzi/ui/node/concept/activity/data_driven_exclusive_activity_host_impl.hpp>
Public Member Functions | |
Node * | getNode () override |
ExclusiveActivityHostConcept::getNode implementation. More... | |
const Node * | getNode () const override |
ExclusiveActivityHostConcept::getNode const implementation. More... | |
TDerivedClass * | getThisObject () |
Internal accessor for curiously recurring template pattern. More... | |
const TDerivedClass * | getThisObject () const |
Internal accessor for curiously recurring template pattern. More... | |
void | initialize () |
Initialize with internal activities factory. More... | |
Public Member Functions inherited from kanzi::ExclusiveActivityHostBaseImpl< TBaseClass, TDerivedClass > | |
TDerivedClass * | getThisObject () |
Internal accessor for curiously recurring template pattern. More... | |
const TDerivedClass * | getThisObject () const |
Internal accessor for curiously recurring template pattern. More... | |
void | onFinishedExclusiveDeactivatingAnimationInternal (const ActivityConcept::ActivityBaseArguments &args) |
Message handler for FinishedExclusiveDeactivatingAnimationInternal message. More... | |
void | onFinishedParallelActivatingAnimationInternal (const ActivityConcept::ActivityBaseArguments &args) |
Message handler for FinishedParallelActivatingAnimationInternal message. More... | |
void | onFinishedParallelDeactivatingAnimationInternal (const ActivityConcept::ActivityBaseArguments &args) |
Message handler for FinishedParallelDeactivatingAnimationInternal message. More... | |
NodeSharedPtr | onPrefabLoaded (PrefabTemplateSharedPtr prefabTemplate, string_view activityName) override |
ExclusiveActivityHostConcept::onPrefabLoaded implementation. More... | |
void | setActivationModifier (string_view activityName, BindingTokenWeakPtr weakModifier) override |
ActivityHostConcept::setActivationModifier implementation. More... | |
Public Member Functions inherited from kanzi::ActivityHostConceptImpl< TBaseClass, TDerivedClass > | |
void | deserialize (string_view data) override |
ActivityElement::deserialize implementation. More... | |
TDerivedClass * | getThisObject () |
Internal accessor for curiously recurring template pattern. More... | |
const TDerivedClass * | getThisObject () const |
Internal accessor for curiously recurring template pattern. More... | |
void | notifyChildrenNodeTreeAvailable () override |
ActivityElement::notifyChildrenNodeTreeAvailable implementation. More... | |
string | serialize () override |
ActivityElement::serialize implementation. More... | |
Public Member Functions inherited from kanzi::ActivityElement | |
Node * | findChildHost (string_view hostName) |
Finds a child Activity Host by name. More... | |
vector< string > | getCommands () const |
Gets the list of commands handled by code behind of this activity element. More... | |
ActivityHistoryManager * | getHistoryManager () const |
Gets the history manager of this activity element. More... | |
ActivityElement * | getParentElement () |
Gets the parent ActivityElement type node. More... | |
bool | isLeafActivityNode () const |
Returns whether an ActivityElement has a child Activity Host. More... | |
const Node * | restoreLastFocusedNode () |
Restores the focus to a child node of this Activity node, if the Activity node: More... | |
void | setCodeBehind (const Metaclass *metaclass) |
Instantiates and attaches a code behind object by specifying its metaclass. More... | |
void | setCodeBehind (CodeBehindSharedPtr codeBehind) |
Attaches a code behind object. More... | |
void | setLastFocusedNodePath () |
Sets the last focused node path of this Activity node to the currently focused child node, if the Activity node: More... | |
virtual | ~ActivityElement ()=default |
Destructor. More... | |
Public Member Functions inherited from kanzi::ActivityHostConcept | |
virtual | ~ActivityHostConcept ()=default |
Destructor. More... | |
Public Member Functions inherited from kanzi::ExclusiveActivityHostConcept | |
virtual | ~ExclusiveActivityHostConcept ()=default |
Destructor. More... | |
Public Member Functions inherited from kanzi::DataDrivenExclusiveActivityHostConcept | |
int | getActiveItemIndex () const |
Gets the value of the ActiveItemIndexProperty. More... | |
ResourceSharedPtr | getActivitySource () const |
Gets the value of the ActivitySourceProperty. More... | |
string | getActivityTemplate () const |
Gets the value of the ActivityTemplateProperty. More... | |
void | setActiveItemIndex (int value) |
Sets the value of the ActiveItemIndexProperty. More... | |
void | setActivitySource (ResourceSharedPtr value) |
Sets the value of the ActivitySourceProperty. More... | |
void | setActivityTemplate (string prefabUrl) |
Sets the value of the ActivityTemplateProperty. More... | |
virtual | ~DataDrivenExclusiveActivityHostConcept ()=default |
Destructor. More... | |
Static Public Member Functions | |
static PropertyTypeEditorInfoSharedPtr | makeEditorInfo () |
Returns PropertyType editor info of properties of Data-Driven Exclusive Activity Host. More... | |
Static Public Member Functions inherited from kanzi::ActivityElement | |
static string | getFirstElement (string_view activationSequence) |
Gets the first element of the activation sequence. More... | |
static string | getRestToForward (string_view activationSequence) |
Gets the remainder of the activation sequence. More... | |
template<typename Type > | |
static bool | isActivityElement (const Type &object) |
Checks if and object is an ActivityElement. More... | |
static PropertyTypeEditorInfoSharedPtr | makeEditorInfo () |
Static Public Member Functions inherited from kanzi::ActivityHostConcept | |
template<typename Type > | |
static bool | isActivityHost (const Type &object) |
Determines if an object is an ActivityHost. More... | |
static PropertyTypeEditorInfoSharedPtr | makeEditorInfo () |
Static Public Member Functions inherited from kanzi::ExclusiveActivityHostConcept | |
static PropertyTypeEditorInfoSharedPtr | makeEditorInfo () |
Returns PropertyType editor info of exclusive activity concept. More... | |
Static Public Member Functions inherited from kanzi::DataDrivenExclusiveActivityHostConcept | |
static string | getNameForIndex (int index) |
Returns a unique name for the data Activity node at the given index in the Data Source List. More... | |
static PropertyTypeEditorInfoSharedPtr | makeEditorInfo () |
Returns PropertyType editor info of exclusive activity concept. More... | |
Protected Member Functions | |
DataDrivenExclusiveActivityHostImpl (Domain *domain, string_view name) | |
Constructor. More... | |
optional< ActivityHostConcept::ActivityInfo > | getActivityInfo (string_view name) const override |
ExclusiveActivityHostBaseImpl::getActivityInfo implementation. More... | |
void | onAttachedOverride () override |
Overrides the onAttached method. More... | |
void | onDetached () override |
Node::onDetached implementation. More... | |
void | onNodePropertyChanged (AbstractPropertyType propertyType, PropertyNotificationReason reason) override |
Node::onNodePropertyChanged implementation. More... | |
NodeSharedPtr | onPrefabLoaded (PrefabTemplateSharedPtr prefabTemplate, string_view activityName) override |
ExclusiveActivityHostConcept::onPrefabLoaded implementation. More... | |
Protected Member Functions inherited from kanzi::ExclusiveActivityHostBaseImpl< TBaseClass, TDerivedClass > | |
void | activate (const ActivityHostConcept::ActivityInfo &activity) |
Requests the ExclusiveActivityHost to activate an Activity node. More... | |
void | activate (const ActivityHostConcept::ActivityInfo &activity, string_view activationPath) |
Requests the ExclusiveActivityHost to activate an Activity node, and to forward the activation path to activate the children of the Activity node, if the Activity node is already active or activating. More... | |
void | deactivate () |
Requests the ExclusiveActivityHost to deactivate the currently active Activity node. More... | |
ExclusiveActivityHostBaseImpl (Domain *domain, string_view name) | |
Constructor. More... | |
string | getActiveOrActivatingName () const |
Gets the currently active or activating Activity node. More... | |
vector< NodeWeakPtr > | getActiveOrAttachedActivating () override |
ActivityHostConceptImpl::getActiveOrAttachedActivating implementation. More... | |
const vector< ExclusiveActivityHostConcept::ActivityInExclusiveHostInfo > & | getActivitiesInfo () const override |
ExclusiveActivityHostConcept::getActivitiesInfo implementation. More... | |
optional< ActivityHostConcept::ActivityInfo > | getActivityInfo (string_view name) const override |
ActivityHostConceptImpl::getActivityInfo implementation. More... | |
vector< NodeWeakPtr > | getAttachedActivityNodes () override |
ActivityHostConceptImpl::getAttachedActivityNodes implementation. More... | |
Node * | getNode () override |
ExclusiveActivityHostConcept::getNode implementation. More... | |
const Node * | getNode () const override |
ExclusiveActivityHostConcept::getNode implementation. More... | |
void | initialize () |
Initializes this exclusive activity host. More... | |
template<typename Iterator > | |
string | nextToActivate (Iterator iterBegin, Iterator iterEnd, string_view current, bool looping) const |
Calculates which Activity node is going to be activated if the current active Activity node deactivates. More... | |
void | onActivateActivityOverride (string_view activationPath) override |
ActivityHostConcept::onActivateActivityOverride implementation. More... | |
void | onActivityActivated (NodeSharedPtr activity, string_view prefabPath) override |
ExclusiveActivityHostConcept::onActivityActivated implementation. More... | |
void | onActivityDeactivated (NodeSharedPtr activity) override |
ExclusiveActivityHostConcept::onActivityDeactivated implementation. More... | |
void | onAttachedOverride () override |
ActivityElement::onAttachedOverride implementation. More... | |
void | onDetached () override |
Node::onDetached implementation. More... | |
void | onNodePropertyChanged (AbstractPropertyType propertyType, PropertyNotificationReason reason) override |
Node::onNodePropertyChanged implementation. More... | |
virtual | ~ExclusiveActivityHostBaseImpl ()=default |
Destructor. More... | |
Protected Member Functions inherited from kanzi::ActivityHostConceptImpl< TBaseClass, TDerivedClass > | |
ActivityHostConceptImpl (Domain *domain, string_view name) | |
Constructor. More... | |
void | initialize () |
Initializes this Activity Host Concept. More... | |
void | registerInParentActivityElement () final |
ActivityElement::registerInParentActivityElement implementation. More... | |
void | unregisterInParentActivityElement () final |
ActivityElement::unregisterInParentActivityElement implementation. More... | |
virtual | ~ActivityHostConceptImpl ()=default |
Destructor. More... | |
Protected Member Functions inherited from kanzi::ActivityElementImpl< TBaseClass, TDerivedClass > | |
ActivityElementImpl (Domain *domain, string_view name) | |
Constructor. More... | |
TDerivedClass * | getThisObject () |
Internal accessor for curiously recurring template pattern. More... | |
const TDerivedClass * | getThisObject () const |
Internal accessor for curiously recurring template pattern. More... | |
void | initialize () |
Initializes the activity element. More... | |
void | onAttached () override |
Node::onAttached implementation. More... | |
void | onDetached () override |
Node::onDetached implementation. More... | |
void | onNodePropertyChanged (AbstractPropertyType propertyType, PropertyNotificationReason reason) override |
Node::onNodePropertyChanged implementation. More... | |
~ActivityElementImpl () override=default | |
Destructor. More... | |
Protected Member Functions inherited from kanzi::ActivityElement | |
optional< ActivityBrowserController::ActivityID > | getActivityID () const |
Gets the unique ID that is used by the implementation of the Activity Browser. More... | |
string | getPathInParent () |
Gets the activation path of this activity element relative to its parent. More... | |
void | initialize () |
Initializes the activity element. More... | |
bool | isRootActivityElement () const |
Returns whether an ActivityElement is the root Activity Host node of the Screen node. More... | |
void | onForceTrigger (const ActivityBrowserController::ForceTriggerMessageArguments &args) |
Message handler for ActivityBrowserController::ForceTriggerMessage. More... | |
void | onNodeInfoTreeAvailable (const ActivityBrowserController::NodeInfoTreeAvailableArguments &) |
Message handler for ActivityBrowserController::NodeInfoTreeAvailableMessage. More... | |
void | registerChildHost (string_view hostPath) |
Registers a child host in this activity element. More... | |
void | setActivityID (optional< ActivityBrowserController::ActivityID > activityID) |
Sets the unique ID that is used by the implementation of the Activity Browser. More... | |
void | unregisterChildHost (string_view hostName) |
Unregisters a child host from this activity element. More... | |
void | updateActivityBrowserProperties () |
Triggers the Activity Browser to update the properties of the Activity Element. More... | |
Additional Inherited Members | |
Public Types inherited from kanzi::ActivityHostConcept | |
enum | ActivationStatus { ActivationStatus::PreparingForActivation, ActivationStatus::ParallelAnimation, ActivationStatus::ExclusiveAnimation } |
Specifies possible stages for internal tracking of activation of an activity. More... | |
using | ActivityInfoContainer = vector< ActivityInfo > |
enum | DeactivationStatus { DeactivationStatus::ExclusiveAnimation, DeactivationStatus::ParallelAnimation, DeactivationStatus::WaitingForRelease } |
Specifies possible stages for internal tracking of deactivation of an activity. More... | |
enum | FocusLostFlag { FocusLostFlag::FocusLossObserved, FocusLostFlag::NoFocusLossObserved } |
An Activity Host uses this enum to keep track of whether it has lost focus during Activity switching. More... | |
Static Public Attributes inherited from kanzi::ActivityElement | |
static PropertyType< bool > | AttachedProperty |
Static Public Attributes inherited from kanzi::ActivityHostConcept | |
static MessageType< ActivationMessageArguments > | ActivateActivityMessage |
You can send ActivateActivity to the host to activate an activity. More... | |
static MessageType< ActivationMessageArguments > | DeactivateActivityMessage |
You can send DeactivateActivity to the host to deactivate an activity. More... | |
static MessageType< RegisterActivityElementInternalMessageArguments > | RegisterHostInternalMessage |
Internal message sent by an activity host to its parent activity or activity host to register the host in the parent. More... | |
static MessageType< ActivityHostConceptInternalArguments > | RestoreFocusInternalMessage |
Internal message sent by an Activity Host to its ancestor parent Activity Hosts to trigger the focus resolving. More... | |
static MessageType< UnregisterActivityElementInternalMessageArguments > | UnregisterHostInternalMessage |
Internal message sent by an activity host to its parent activity or activity host to unregister the host from the parent. More... | |
Static Public Attributes inherited from kanzi::ExclusiveActivityHostConcept | |
static MessageType< ImplicitActivityChangeRequestMessageArguments > | NavigateNextMessage |
In an Exclusive Activity Host requests the activation of the next Activity node in that Exclusive Activity Host node. More... | |
static MessageType< ImplicitActivityChangeRequestMessageArguments > | NavigatePreviousMessage |
In an Exclusive Activity Host requests the activation of the previous Activity node in that Exclusive Activity Host node. More... | |
static PropertyType< string > | ExclusiveActivityHostContentProperty |
Describes the content of an Exclusive Activity Host node. More... | |
static PropertyType< string > | ActiveActivityProperty |
The name of the child Activity node of an Exclusive Activity Host, that is either in ActivityConcept::Status::Active or in ActivityConcept::Status::Activating state. More... | |
static PropertyType< string > | ActivationPathProperty |
The activation path containing the branch of the Activity tree that is requested to be activated. More... | |
Static Public Attributes inherited from kanzi::DataDrivenExclusiveActivityHostConcept | |
static constexpr const char * | s_activeDataActivityName |
Public name which Kanzi uses to refer to the currently and exclusively active data Activity node of a Data-Driven Exclusive Activity Host. More... | |
static constexpr int | s_defaultActiveItemIndex |
The default value of the DataDrivenExclusiveActivityHostConcept::ActiveItemIndexProperty. More... | |
static PropertyType< ResourceSharedPtr > | ActivitySourceProperty |
Sets the DataObject that provides the data for Activity nodes of a Data-Driven Exclusive Activity Host. More... | |
static PropertyType< string > | ActivityTemplateProperty |
Sets the prefab template that a Data-Driven Exclusive Activity Host uses for Activity nodes that it creates. More... | |
static PropertyType< int > | ActiveItemIndexProperty |
The index of the active Activity in the Data-Driven Exclusive Activity Host node. More... | |
Protected Attributes inherited from kanzi::ActivityHostConceptImpl< TBaseClass, TDerivedClass > | |
FocusLostFlag | m_focusLostDuringSwitching |
Indicates whether this Activity Host lost focus during Activity switching, resulting in the loss of the active focus. More... | |
Implementation class for DataDrivenExclusiveActivityHostConcept and ExclusiveActivityHostConcept.
|
explicitprotected |
Constructor.
domain | The domain to which the new node belongs. |
name | The name of the node. |
|
static |
Returns PropertyType editor info of properties of Data-Driven Exclusive Activity Host.
TDerivedClass * kanzi::DataDrivenExclusiveActivityHostImpl< TBaseClass, TDerivedClass >::getThisObject | ( | ) |
Internal accessor for curiously recurring template pattern.
const TDerivedClass * kanzi::DataDrivenExclusiveActivityHostImpl< TBaseClass, TDerivedClass >::getThisObject | ( | ) | const |
Internal accessor for curiously recurring template pattern.
|
overridevirtual |
ExclusiveActivityHostConcept::getNode implementation.
Implements kanzi::DataDrivenExclusiveActivityHostConcept.
|
overridevirtual |
ExclusiveActivityHostConcept::getNode const implementation.
Implements kanzi::DataDrivenExclusiveActivityHostConcept.
void kanzi::DataDrivenExclusiveActivityHostImpl< TBaseClass, TDerivedClass >::initialize | ( | ) |
Initialize with internal activities factory.
|
overrideprotectedvirtual |
ExclusiveActivityHostBaseImpl::getActivityInfo implementation.
Additional handling for the Data Source List item names.
Implements kanzi::ActivityHostConceptImpl< TBaseClass, TDerivedClass >.
|
overrideprotected |
Node::onNodePropertyChanged implementation.
|
overrideprotectedvirtual |
Overrides the onAttached method.
Reimplemented from kanzi::ActivityElementImpl< TBaseClass, TDerivedClass >.
|
overrideprotected |
Node::onDetached implementation.
|
overrideprotectedvirtual |
ExclusiveActivityHostConcept::onPrefabLoaded implementation.
Additional preparation for the Activity nodes from the Data Source.
Implements kanzi::ExclusiveActivityHostConcept.