Kanzi  3.9.6
Kanzi Engine API
kanzi::ActivityHostConceptImpl< TBaseClass, TDerivedClass > Class Template Referenceabstract

Implementation class for ActivityHostConcept. More...

#include <kanzi/ui/node/concept/activity/activity_host_concept_impl.hpp>

Inheritance diagram for kanzi::ActivityHostConceptImpl< TBaseClass, TDerivedClass >:
[legend]

Public Member Functions

void deserialize (string_view data) override
 ActivityElement::deserialize implementation. More...
 
void notifyChildrenNodeTreeAvailable () override
 ActivityElement::notifyChildrenNodeTreeAvailable implementation. More...
 
string serialize () override
 ActivityElement::serialize implementation. More...
 
- Public Member Functions inherited from kanzi::ActivityElementImpl< TBaseClass, TDerivedClass >
NodegetNode () override
 Gets the underlying Node object. More...
 
const NodegetNode () const override
 Gets the underlying Node object. More...
 
- Public Member Functions inherited from kanzi::ActivityElement
vector< NodeSharedPtr >::const_iterator beginChildHosts () const
 Returns the begin iterator to the registered child Activity Host. More...
 
vector< NodeSharedPtr >::const_iterator endChildHosts () const
 Returns the end iterator to the registered child Activity Host. More...
 
NodefindChildHost (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...
 
ActivityHistoryManagergetHistoryManager () const
 Gets the history manager of this activity element. More...
 
ActivityElementgetParentElement ()
 Gets the parent ActivityElement type node. More...
 
bool isLeafActivityNode () const
 Returns whether an ActivityElement has a child Activity Host. 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...
 
virtual ~ActivityElement ()=default
 Destructor. More...
 
- Public Member Functions inherited from kanzi::ActivityHostConcept
virtual vector< string > getActivatingNames ()=0
 Returns the names of activating Activities in this Activity Host. More...
 
virtual void onActivateActivityOverride (string_view activationPath)=0
 Derived classes implement this method to react to ActivateActivity message. More...
 
virtual void resolveFocusWithPolicy (Node &activityNode)=0
 Focuses a given Activity if the focusing policy of this Activity Host instructs so. More...
 
virtual void setActivationModifier (string_view activityName, BindingTokenWeakPtr weakModifier)=0
 Sets a property modifier to apply activation to a child Activity Node of an Activity Host. More...
 
virtual ~ActivityHostConcept ()=default
 Destructor. More...
 

Protected Member Functions

 ActivityHostConceptImpl (Domain *domain, string_view name)
 Constructor. More...
 
void clearCurrentActivationTarget () const
 Clears current activation target. More...
 
virtual vector< NodeWeakPtrgetActiveOrAttachedActivating ()=0
 Returns all nodes of already attached Activity nodes except deactivating ones. More...
 
virtual optional< ActivityHostConcept::ActivityInfogetActivityInfo (string_view name) const =0
 Gets the information for child Activity node with the given name. More...
 
virtual vector< NodeWeakPtrgetAttachedActivityNodes ()=0
 Returns all nodes of already attached Activity nodes. More...
 
void initialize ()
 Initializes this Activity Host Concept. More...
 
void registerInParentActivityElement () final
 ActivityElement::registerInParentActivityElement implementation. More...
 
void resolveFocusOnActivated (Node &activityNode)
 Performs the necessary operations to fix the application focus when an Activity has activated in this Activity Host. 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...
 
void initialize ()
 Initializes the activity element. More...
 
void onAttached () override
 Node::onAttached implementation. More...
 
virtual void onAttachedOverride ()
 Overrides the onAttached method. 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::ActivityIDgetActivityID () 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...
 

Protected Attributes

string m_activationTarget
 The name of the Activity that is the candidate to be the activation target. More...
 
bool m_deserializing
 Indicates that this Activity Host is performing property deserialization. More...
 
bool m_hostHadFocus
 Indicates that the Activity Host had focus before it started to activate new activation target Activity. 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...
 
- 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)
 Returns whether an 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 bool isActivityHostMetaclass (const Metaclass *metaclass)
 Checks whether the given Metaclass is an ActivityHostConcept metaclass or contains it as a mixin metaclass. More...
 
static PropertyTypeEditorInfoSharedPtr makeEditorInfo ()
 
- Static Public Attributes inherited from kanzi::ActivityElement
static PropertyType< bool > AttachedProperty
 
- Static Public Attributes inherited from kanzi::ActivityHostConcept
static MessageType< ActivationMessageArgumentsActivateActivityMessage
 You can send ActivateActivity to the Activity Host to activate an Activity. More...
 
static MessageType< ActivationMessageArgumentsDeactivateActivityMessage
 You can send DeactivateActivity to the Activity Host to deactivate an Activity. More...
 
static MessageType< ActivityPrefabMessageArgumentsActivityPrefabAttachedMessage
 An Activity Host sends this message when it attaches the prefab of the Activity that is activated. More...
 
static MessageType< ActivityPrefabMessageArgumentsActivityPrefabDetachedMessage
 An Activity Host sends this message when it attaches the prefab of the Activity that is activated. More...
 
static MessageType< RegisterActivityElementInternalMessageArgumentsRegisterHostInternalMessage
 Internal message sent by an Activity Host to its parent Activity or Activity Host to register the Activity Host in the parent. More...
 
static MessageType< UnregisterActivityElementInternalMessageArgumentsUnregisterHostInternalMessage
 Internal message sent by an Activity Host to its parent Activity or Activity Host to unregister the Activity Host from the parent. More...
 

Detailed Description

template<typename TBaseClass, typename TDerivedClass>
class kanzi::ActivityHostConceptImpl< TBaseClass, TDerivedClass >

Implementation class for ActivityHostConcept.

See also
ActivityHostConcept.

Constructor & Destructor Documentation

◆ ~ActivityHostConceptImpl()

template<typename TBaseClass, typename TDerivedClass>
virtual kanzi::ActivityHostConceptImpl< TBaseClass, TDerivedClass >::~ActivityHostConceptImpl ( )
protectedvirtualdefault

Destructor.

◆ ActivityHostConceptImpl()

template<typename TBaseClass , typename TDerivedClass >
kanzi::ActivityHostConceptImpl< TBaseClass, TDerivedClass >::ActivityHostConceptImpl ( Domain domain,
string_view  name 
)
explicitprotected

Constructor.

Parameters
domainThe domain the new node belongs to.
nameThe name of the node.

Member Function Documentation

◆ notifyChildrenNodeTreeAvailable()

template<typename TBaseClass , typename TDerivedClass >
void kanzi::ActivityHostConceptImpl< TBaseClass, TDerivedClass >::notifyChildrenNodeTreeAvailable ( )
overridevirtual

ActivityElement::notifyChildrenNodeTreeAvailable implementation.

Notifies also the Activity nodes that are already attached to an Activity Host node.

Reimplemented from kanzi::ActivityElement.

◆ serialize()

template<typename TBaseClass , typename TDerivedClass >
string kanzi::ActivityHostConceptImpl< TBaseClass, TDerivedClass >::serialize ( )
overridevirtual

ActivityElement::serialize implementation.

Since
Kanzi 3.9.0

Reimplemented from kanzi::ActivityElement.

◆ deserialize()

◆ registerInParentActivityElement()

template<typename TBaseClass , typename TDerivedClass >
void kanzi::ActivityHostConceptImpl< TBaseClass, TDerivedClass >::registerInParentActivityElement ( )
finalprotectedvirtual

◆ unregisterInParentActivityElement()

template<typename TBaseClass , typename TDerivedClass >
void kanzi::ActivityHostConceptImpl< TBaseClass, TDerivedClass >::unregisterInParentActivityElement ( )
finalprotectedvirtual

◆ initialize()

template<typename TBaseClass , typename TDerivedClass >
void kanzi::ActivityHostConceptImpl< TBaseClass, TDerivedClass >::initialize ( )
protected

Initializes this Activity Host Concept.

◆ getActiveOrAttachedActivating()

template<typename TBaseClass, typename TDerivedClass>
virtual vector<NodeWeakPtr> kanzi::ActivityHostConceptImpl< TBaseClass, TDerivedClass >::getActiveOrAttachedActivating ( )
protectedpure virtual

◆ getAttachedActivityNodes()

◆ getActivityInfo()

◆ resolveFocusOnActivated()

template<typename TBaseClass , typename TDerivedClass >
void kanzi::ActivityHostConceptImpl< TBaseClass, TDerivedClass >::resolveFocusOnActivated ( Node activityNode)
protected

Performs the necessary operations to fix the application focus when an Activity has activated in this Activity Host.

Parameters
activityNodeThe activated Activity.
Since
Kanzi 3.9.4

◆ clearCurrentActivationTarget()

template<typename TBaseClass , typename TDerivedClass >
void kanzi::ActivityHostConceptImpl< TBaseClass, TDerivedClass >::clearCurrentActivationTarget ( ) const
protected

Clears current activation target.

Member Data Documentation

◆ m_activationTarget

template<typename TBaseClass, typename TDerivedClass>
string kanzi::ActivityHostConceptImpl< TBaseClass, TDerivedClass >::m_activationTarget
protected

The name of the Activity that is the candidate to be the activation target.

See also
ActivityConcept::s_activationTargetActivity
Since
Kanzi 3.9.4

◆ m_deserializing

template<typename TBaseClass, typename TDerivedClass>
bool kanzi::ActivityHostConceptImpl< TBaseClass, TDerivedClass >::m_deserializing
protected

Indicates that this Activity Host is performing property deserialization.

Since
Kanzi 3.9.4

◆ m_hostHadFocus

template<typename TBaseClass, typename TDerivedClass>
bool kanzi::ActivityHostConceptImpl< TBaseClass, TDerivedClass >::m_hostHadFocus
protected

Indicates that the Activity Host had focus before it started to activate new activation target Activity.

Kanzi uses this flag the determine whether it applies the focusing policy to the activating Activity.

See also
ExclusiveActivityHostConcept::ExclusiveActivityHostFocusingPolicy, ParallelActivityHostConcept::ParallelActivityHostFocusingPolicy
Since
Kanzi 3.9.4

The documentation for this class was generated from the following files: