Kanzi 3.9.10
kanzi::ActivityConceptImpl< TBaseClass, TDerivedClass > Class Template Reference

Implementation class for ActivityConcept. More...

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

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

Public Member Functions

bool collectActivatingDescendantActivities () override
 Implements ActivityConcept::collectActivatingDescendantActivities.
 
void enableFocusGain (bool enable) override
 Overrides ActivityConcept::enableFocusGain().
 
void enableFocusRecovery (bool enable) override
 Overrides ActivityConcept::enableFocusRecovery().
 
void enableInput (bool enable) override
 Overrides ActivityConcept::enableInput().
 
const NodegetNode () const override
 Gets the underlying Node object.
 
NodegetNode () override
 Gets the underlying Node object.
 
ActivityConceptgetParentActivity () override
 ActivityConcept::getParentActivity implementation.
 
bool isAutoClosingBecauseFocusMove () const override
 Overrides ActivityConcept::isAutoClosingBecauseFocusMove().
 
void notifyPendingActivationBeforeFocusFinished (string_view activityName) override
 Implements ActivityConcept::notifyPendingActivationBeforeFocusFinished.
 
void notifyReadyForFocus ()
 
void restoreLastFocusedNode () final
 ActivityConcept::restoreLastFocusedNode implementation.
 
string serialize () override
 ActivityElement::serialize implementation.
 
void setLastFocusedNodePath () final
 ActivityConcept::setLastFocusedNodePath implementation.
 
void tryRestoreLastFocusedPathCompletely (const Node *candidateChild) final
 ActivityConcept::tryRestoreLastFocusedPathCompletely implementation.
 
void updateFocusScopeInfo (FocusScopePtr &nodeScopeInfo) override
 Overrides Node::updateFocusScopeInfo().
 
- Public Member Functions inherited from kanzi::ActivityElementImpl< TBaseClass, TDerivedClass >
const NodegetNode () const override
 Gets the underlying Node object.
 
NodegetNode () override
 Gets the underlying Node object.
 
- Public Member Functions inherited from kanzi::ActivityElement
vector< NodeSharedPtr >::const_iterator beginChildHosts () const
 Returns the begin iterator to the registered child Activity Host.
 
virtual void deserialize (string_view data)
 Deserializes the activity element from a byte buffer.
 
vector< NodeSharedPtr >::const_iterator endChildHosts () const
 Returns the end iterator to the registered child Activity Host.
 
NodefindChildHost (string_view hostName)
 Finds a child Activity Host by name.
 
vector< string > getCommands () const
 Gets the list of commands handled by code behind of this activity element.
 
ActivityHistoryManagergetHistoryManager () const
 Gets the history manager of this activity element.
 
ActivityElementgetParentElement ()
 Gets the parent ActivityElement type node.
 
bool isLeafActivityNode () const
 Returns whether an ActivityElement has a child Activity Host.
 
void setCodeBehind (CodeBehindSharedPtr codeBehind)
 Attaches a code behind object.
 
void setCodeBehind (const Metaclass *metaclass)
 Instantiates and attaches a code behind object by specifying its metaclass.
 
virtual ~ActivityElement ()=default
 Destructor.
 
- Public Member Functions inherited from kanzi::ActivityConcept
void cancelWaitBeforeFocus ()
 Makes an Activity no longer wait for any pending activations.
 
optional< string > getPathToActivity (ActivityConcept *activity) const
 Returns a path from this Activity to a given Activity, if that Activity is a descendant node of this Activity.
 
bool isWaitingActivationsBeforeFocus () const
 Returns whether an Activity is waiting for its descendant Activities to activate before Kanzi applies the focus policy to the activated Activity.
 
bool isWaitingForActivation (ActivityConcept *activity) const
 Returns whether an Activity is waiting for the activation of a given Activity.
 
virtual ~ActivityConcept ()=default
 Destructor.
 

Protected Member Functions

 ActivityConceptImpl (Domain *domain, string_view name)
 Constructor.
 
void initialize ()
 Initializes this activity.
 
void onAttached () override
 Node::onAttached implementation.
 
void onDetached () override
 Node::onDetached implementation.
 
void onInputOutsideOverlay (FocusManager::InputOutsideOverlayMessageArguments &args)
 Message handler for InputOutsideOverlayMessage message.
 
void registerInParentActivityElement () final
 ActivityElement::registerInParentActivityElement implementation.
 
void unregisterInParentActivityElement () final
 ActivityElement::registerInParentActivityElement implementation.
 
 ~ActivityConceptImpl () override=default
 Destructor.
 
- Protected Member Functions inherited from kanzi::ActivityElementImpl< TBaseClass, TDerivedClass >
 ActivityElementImpl (Domain *domain, string_view name)
 Constructor.
 
void initialize ()
 Initializes the activity element.
 
void onAttached () override
 Node::onAttached implementation.
 
virtual void onAttachedOverride ()
 Overrides the onAttached method.
 
void onDetached () override
 Node::onDetached implementation.
 
void onNodePropertyChanged (AbstractPropertyType propertyType, PropertyNotificationReason reason) override
 Node::onNodePropertyChanged implementation.
 
 ~ActivityElementImpl () override=default
 Destructor.
 
- 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.
 
string getPathInParent ()
 Gets the activation path of this activity element relative to its parent.
 
void initialize ()
 Initializes the activity element.
 
bool isRootActivityElement () const
 Returns whether an ActivityElement is the root Activity Host node of the Screen node.
 
virtual void notifyChildrenNodeTreeAvailable ()
 Notifies child activity elements that node info tree is available.
 
void onForceTrigger (const ActivityBrowserController::ForceTriggerMessageArguments &args)
 Message handler for ActivityBrowserController::ForceTriggerMessage.
 
void onNodeInfoTreeAvailable (const ActivityBrowserController::NodeInfoTreeAvailableArguments &)
 Message handler for ActivityBrowserController::NodeInfoTreeAvailableMessage.
 
void registerChildHost (string_view hostPath)
 Registers a child host in this activity element.
 
void setActivityID (optional< ActivityBrowserController::ActivityID > activityID)
 Sets the unique ID that is used by the implementation of the Activity Browser.
 
void unregisterChildHost (string_view hostName)
 Unregisters a child host from this activity element.
 
void updateActivityBrowserProperties ()
 Triggers the Activity Browser to update the properties of the Activity Element.
 

Static Protected Member Functions

static PropertyTypeEditorInfoSharedPtr makeEditorInfo ()
 

Additional Inherited Members

- Public Types inherited from kanzi::ActivityConcept
enum class  Status { Active , Inactive , Activating , Deactivating }
 Defines possible states 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.
 
static string getRestToForward (string_view activationSequence)
 Gets the remainder of the activation sequence.
 
template<typename Type >
static bool isActivityElement (const Type &object)
 Returns whether an object is an ActivityElement.
 
static PropertyTypeEditorInfoSharedPtr makeEditorInfo ()
 
- Static Public Member Functions inherited from kanzi::ActivityConcept
template<typename Type >
static bool isActivity (const Type &object)
 Returns whether an object is an Activity.
 
static bool isActivityMetaclass (const Metaclass *metaclass)
 Checks whether the given Metaclass is an ActivityConcept metaclass or contains it as a mixin metaclass.
 
static PropertyTypeEditorInfoSharedPtr makeEditorInfo ()
 
- Static Public Attributes inherited from kanzi::ActivityElement
static PropertyType< boolAttachedProperty
 
static PropertyType< boolPreserveHistoryProperty
 Enables the preservation of Activity property values when that Activity becomes inactive.
 
- Static Public Attributes inherited from kanzi::ActivityConcept
static NodeWeakPtr s_activationTargetActivity
 The Activity that is the activation target.
 
static PropertyType< StatusStatusProperty
 Specifies the status of this Activity.
 
static PropertyType< floatDummyStateManagerProperty
 Lack of a queuing mechanism for incoming messages from an Activity Host can cause Kanzi to enter a recursive call in the setProperty().
 
static PropertyType< boolActivatedByActivationModifierProperty
 Specifies whether the activation of an Activity is requested by modifier bindings callbacks of an ApplyAction of a DataTrigger.
 
static PropertyType< boolSaveLastFocusedNodeProperty
 Indicates whether to serialize the last focused child node of a focus scope Activity and restore the focus on deserialization.
 
static MessageType< StatusChangedMessageArgumentsStatusChangedMessage
 Subscribe to this message to receive notifications when the ActivityConcept::Status of this Activity changes.
 
static MessageType< ActivityMessageArgumentsActivityActivatingMessage
 Subscribe to this message to receive notifications when this Activity is in the activating state.
 
static MessageType< ActivityMessageArgumentsActivityActivatedMessage
 Subscribe to this message to receive notifications when this Activity is activated.
 
static MessageType< ActivityMessageArgumentsActivityDeactivatingMessage
 Subscribe to this message to receive notifications when this Activity is in the deactivating state.
 
static MessageType< ActivityMessageArgumentsActivityDeactivatedMessage
 Subscribe to this message to receive notifications when this Activity is deactivated.
 
static MessageType< StartActivationInternalMessageArgumentsStartActivationInternalMessage
 Internal message sent by an Activity Host to the Activity to initialize the resources of the Activity.
 
static MessageType< ActivityInternalMessageArgumentsStartDeactivationInternalMessage
 Internal message sent by an Activity Host to the Activity to deactivate the Activity.
 
static MessageType< StatusChangedInternalMessageArgumentsReadyForActivationAnimationInternalMessage
 Internal message sent by the Activity to its parent Activity Host when the Activity has finished initializing its resources.
 
static MessageType< ActivityInternalMessageArgumentsStartParallelActivatingAnimationInternalMessage
 Internal message sent by an Activity Host to the Activity to start the parallel activation animation of the Activity.
 
static MessageType< StatusChangedInternalMessageArgumentsFinishedParallelActivatingAnimationInternalMessage
 Internal message sent by the Activity to its parent Activity Host when the Activity has finished the parallel activation animation of the Activity.
 
static MessageType< ActivityInternalMessageArgumentsStartExclusiveActivatingAnimationInternalMessage
 Internal message sent by an Activity Host to the Activity to start the exclusive activation animation of the Activity.
 
static MessageType< ActivityInternalMessageArgumentsStartExclusiveDeactivatingAnimationInternalMessage
 Internal message sent by an Activity Host to the Activity to start the exclusive deactivation animation of the Activity.
 
static MessageType< StatusChangedInternalMessageArgumentsFinishedExclusiveDeactivatingAnimationInternalMessage
 Internal message sent by the Activity to its parent Activity Host when the Activity has finished the exclusive deactivation animation of the Activity.
 
static MessageType< ActivityInternalMessageArgumentsStartParallelDeactivatingAnimationInternalMessage
 Internal message sent by an Activity Host to the Activity to start the parallel deactivation animation of the Activity.
 
static MessageType< StatusChangedInternalMessageArgumentsFinishedParallelDeactivatingAnimationInternalMessage
 Internal message sent by the Activity to its parent Activity Host when the Activity has finished the parallel deactivation animation of the Activity.
 
- Protected Attributes inherited from kanzi::ActivityConcept
vector< string > m_pendingActivationsBeforeFocus
 The paths of the activating Activities that this Activity is waiting to be activated.
 

Detailed Description

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

Implementation class for ActivityConcept.

Constructor & Destructor Documentation

◆ ActivityConceptImpl()

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

Constructor.

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

◆ ~ActivityConceptImpl()

template<typename TBaseClass , typename TDerivedClass >
kanzi::ActivityConceptImpl< TBaseClass, TDerivedClass >::~ActivityConceptImpl ( )
overrideprotecteddefault

Destructor.

Member Function Documentation

◆ getNode() [1/2]

template<typename TBaseClass , typename TDerivedClass >
Node * kanzi::ActivityConceptImpl< TBaseClass, TDerivedClass >::getNode ( )
overridevirtual

Gets the underlying Node object.

Returns
The underlying Node object pointer.

Implements kanzi::ActivityElement.

◆ getNode() [2/2]

template<typename TBaseClass , typename TDerivedClass >
const Node * kanzi::ActivityConceptImpl< TBaseClass, TDerivedClass >::getNode ( ) const
overridevirtual

Gets the underlying Node object.

Returns
The underlying Node object pointer.

Implements kanzi::ActivityElement.

◆ serialize()

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

ActivityElement::serialize implementation.

Since
Kanzi 3.9.2

Reimplemented from kanzi::ActivityElement.

◆ restoreLastFocusedNode()

template<typename TBaseClass , typename TDerivedClass >
void kanzi::ActivityConceptImpl< TBaseClass, TDerivedClass >::restoreLastFocusedNode ( )
finalvirtual

ActivityConcept::restoreLastFocusedNode implementation.

Since
Kanzi 3.9.2

Implements kanzi::ActivityConcept.

◆ setLastFocusedNodePath()

template<typename TBaseClass , typename TDerivedClass >
void kanzi::ActivityConceptImpl< TBaseClass, TDerivedClass >::setLastFocusedNodePath ( )
finalvirtual

ActivityConcept::setLastFocusedNodePath implementation.

Since
Kanzi 3.9.2

Implements kanzi::ActivityConcept.

◆ tryRestoreLastFocusedPathCompletely()

template<typename TBaseClass , typename TDerivedClass >
void kanzi::ActivityConceptImpl< TBaseClass, TDerivedClass >::tryRestoreLastFocusedPathCompletely ( const Node * candidateChild)
finalvirtual

◆ getParentActivity()

template<typename TBaseClass , typename TDerivedClass >
ActivityConcept * kanzi::ActivityConceptImpl< TBaseClass, TDerivedClass >::getParentActivity ( )
overridevirtual

◆ updateFocusScopeInfo()

template<typename TBaseClass , typename TDerivedClass >
void kanzi::ActivityConceptImpl< TBaseClass, TDerivedClass >::updateFocusScopeInfo ( FocusScopePtr & nodeScopeInfo)
override

◆ collectActivatingDescendantActivities()

template<typename TBaseClass , typename TDerivedClass >
bool kanzi::ActivityConceptImpl< TBaseClass, TDerivedClass >::collectActivatingDescendantActivities ( )
overridevirtual

◆ notifyPendingActivationBeforeFocusFinished()

template<typename TBaseClass , typename TDerivedClass >
void kanzi::ActivityConceptImpl< TBaseClass, TDerivedClass >::notifyPendingActivationBeforeFocusFinished ( string_view activityName)
overridevirtual

◆ notifyReadyForFocus()

template<typename TBaseClass , typename TDerivedClass >
void kanzi::ActivityConceptImpl< TBaseClass, TDerivedClass >::notifyReadyForFocus ( )

◆ enableFocusRecovery()

template<typename TBaseClass , typename TDerivedClass >
void kanzi::ActivityConceptImpl< TBaseClass, TDerivedClass >::enableFocusRecovery ( bool enable)
overridevirtual

Overrides ActivityConcept::enableFocusRecovery().

Since
Kanzi 3.9.3

Implements kanzi::ActivityConcept.

◆ enableFocusGain()

template<typename TBaseClass , typename TDerivedClass >
void kanzi::ActivityConceptImpl< TBaseClass, TDerivedClass >::enableFocusGain ( bool enable)
overridevirtual

Overrides ActivityConcept::enableFocusGain().

Since
Kanzi 3.9.3

Implements kanzi::ActivityConcept.

◆ enableInput()

template<typename TBaseClass , typename TDerivedClass >
void kanzi::ActivityConceptImpl< TBaseClass, TDerivedClass >::enableInput ( bool enable)
overridevirtual

Overrides ActivityConcept::enableInput().

Since
Kanzi 3.9.4

Implements kanzi::ActivityConcept.

◆ isAutoClosingBecauseFocusMove()

template<typename TBaseClass , typename TDerivedClass >
bool kanzi::ActivityConceptImpl< TBaseClass, TDerivedClass >::isAutoClosingBecauseFocusMove ( ) const
overridevirtual

◆ makeEditorInfo()

template<typename TBaseClass , typename TDerivedClass >
PropertyTypeEditorInfoSharedPtr kanzi::ActivityConceptImpl< TBaseClass, TDerivedClass >::makeEditorInfo ( )
staticprotected

◆ initialize()

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

Initializes this activity.

◆ registerInParentActivityElement()

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

◆ unregisterInParentActivityElement()

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

◆ onDetached()

template<typename TBaseClass , typename TDerivedClass >
void kanzi::ActivityConceptImpl< TBaseClass, TDerivedClass >::onDetached ( )
overrideprotected

Node::onDetached implementation.

◆ onAttached()

template<typename TBaseClass , typename TDerivedClass >
void kanzi::ActivityConceptImpl< TBaseClass, TDerivedClass >::onAttached ( )
overrideprotected

Node::onAttached implementation.

◆ onInputOutsideOverlay()

template<typename TBaseClass , typename TDerivedClass >
void kanzi::ActivityConceptImpl< TBaseClass, TDerivedClass >::onInputOutsideOverlay ( FocusManager::InputOutsideOverlayMessageArguments & args)
protected

Message handler for InputOutsideOverlayMessage message.

Only Auto-Closing Overlay Activities should handle the InputOutsideOverlayMessage with this handler.

Parameters
argsMessage arguments.
Since
Kanzi 3.9.3

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