Kanzi  3.9.3
Kanzi Engine API
kanzi::ActivityConcept Class Referenceabstract

Base class for Activity classes. More...

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

Inheritance diagram for kanzi::ActivityConcept:
[legend]

Classes

class  ActivityInternalMessageArguments
 Class for all the internal Activity messages that do not require any message arguments. More...
 
class  ActivityMessageArguments
 Message arguments that hold the name of the Activity included in the message. More...
 
class  StartActivationInternalMessageArguments
 Message arguments for the StartActivationInternalMessage. More...
 
class  StatusChangedInternalMessageArguments
 Message arguments for internal Activity messages related to Activity status changes. More...
 
class  StatusChangedMessageArguments
 Message arguments for the StatusChangedMessage. More...
 

Public Types

enum  Status { Status::Active, Status::Inactive, Status::Activating, Status::Deactivating }
 Defines possible states of an Activity. More...
 

Public Member Functions

virtual NoderestoreLastFocusedNode ()=0
 Restores the focus to a child node of this Activity, if this Activity: More...
 
virtual void setLastFocusedNodePath ()=0
 Sets the last focused node path of this Activity to the currently focused child node, if the Activity: More...
 
virtual bool tryRestoreLastFocusedPathCompletely (const Node *candidateChild)=0
 Tries to recursively restore the last focused node path in this and each ancestor Activity. More...
 
virtual ~ActivityConcept ()=default
 Destructor. More...
 

Static Public Member Functions

template<typename Type >
static bool isActivity (const Type &object)
 Returns whether an object is an Activity. More...
 
static bool isActivityMetaclass (const Metaclass *metaclass)
 Checks whether the given Metaclass is an ActivityConcept metaclass or contains it as a mixin metaclass. More...
 
static PropertyTypeEditorInfoSharedPtr makeEditorInfo ()
 

Static Public Attributes

Properties
static PropertyType< StatusStatusProperty
 Specifies the status of this Activity. More...
 
static PropertyType< float > DummyStateManagerProperty
 Lack of a queuing mechanism for incoming messages from an Activity Host can cause Kanzi to enter a recursive call in the setProperty(). More...
 
static PropertyType< bool > ActivatedByActivationModifierProperty
 Specifies whether the activation of an Activity is requested by modifier bindings callbacks of an ApplyAction of a DataTrigger. More...
 
static PropertyType< bool > SaveLastFocusedNodeProperty
 Indicates whether to serialize the last focused child node of a focus scope Activity and restore the focus on deserialization. More...
 
Messages
static MessageType< StatusChangedMessageArgumentsStatusChangedMessage
 Subscribe to this message to receive notifications when the ActivityConcept::Status of this Activity changes. More...
 
static MessageType< ActivityMessageArgumentsActivityActivatingMessage
 Subscribe to this message to receive notifications when this Activity is in the activating state. More...
 
static MessageType< ActivityMessageArgumentsActivityActivatedMessage
 Subscribe to this message to receive notifications when this Activity is activated. More...
 
static MessageType< ActivityMessageArgumentsActivityDeactivatingMessage
 Subscribe to this message to receive notifications when this Activity is in the deactivating state. More...
 
static MessageType< ActivityMessageArgumentsActivityDeactivatedMessage
 Subscribe to this message to receive notifications when this Activity is deactivated. More...
 
Internal Messages
static MessageType< StartActivationInternalMessageArgumentsStartActivationInternalMessage
 Internal message sent by an Activity Host to the Activity to initialize the resources of the Activity. More...
 
static MessageType< ActivityInternalMessageArgumentsStartDeactivationInternalMessage
 Internal message sent by an Activity Host to the Activity to deactivate the Activity. More...
 
static MessageType< StatusChangedInternalMessageArgumentsReadyForActivationAnimationInternalMessage
 Internal message sent by the Activity to its parent Activity Host when the Activity has finished initializing its resources. More...
 
static MessageType< ActivityInternalMessageArgumentsStartParallelActivatingAnimationInternalMessage
 Internal message sent by an Activity Host to the Activity to start the parallel activation animation of the Activity. More...
 
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. More...
 
static MessageType< ActivityInternalMessageArgumentsStartExclusiveActivatingAnimationInternalMessage
 Internal message sent by an Activity Host to the Activity to start the exclusive activation animation of the Activity. More...
 
static MessageType< ActivityInternalMessageArgumentsStartExclusiveDeactivatingAnimationInternalMessage
 Internal message sent by an Activity Host to the Activity to start the exclusive deactivation animation of the Activity. More...
 
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. More...
 
static MessageType< ActivityInternalMessageArgumentsStartParallelDeactivatingAnimationInternalMessage
 Internal message sent by an Activity Host to the Activity to start the parallel deactivation animation of the Activity. More...
 
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. More...
 

Detailed Description

Base class for Activity classes.

This class defines common types, properties, and messages for Activity classes.

See also
Activity2D, Activity3D

Member Enumeration Documentation

◆ Status

Defines possible states of an Activity.

Activity Host nodes can activate and deactivate their child Activities. This enumeration defines the possible states of an Activity during the the process of activation and deactivation. You can use this functionality to react to changes in Activity status in your application code and in Kanzi Studio.

See also
Activity, StatusProperty
Enumerator
Active 

The Activity is active.

In an Exclusive Activity Host only one child Activity can be in the Active state at a time. In a Parallel Activity Host more than one Activity can be in the Active state at the same time, therefore any Activity can be in any state.

Inactive 

The Activity is inactive.

Inactive Activities do not show their content.

Activating 

The Activity is transitioning into the active state.

In an Exclusive Activity Host while one Activity is in Activating state, another Activity can be in the Deactivating state at the same time. In a Parallel Activity Host more than one Activity can be in the Active state at the same time, therefore any Activity can be in any state.

Deactivating 

The Activity is transitioning into the inactive state.

In an Exclusive Activity Host while one Activity is in Deactivating state, another Activity can at the same time be in the Activating state. In a Parallel Activity Host more than one Activity can be in the Active state at the same time, therefore any Activity can be in any state.

Constructor & Destructor Documentation

◆ ~ActivityConcept()

virtual kanzi::ActivityConcept::~ActivityConcept ( )
virtualdefault

Destructor.

Member Function Documentation

◆ makeEditorInfo()

static PropertyTypeEditorInfoSharedPtr kanzi::ActivityConcept::makeEditorInfo ( )
static

◆ restoreLastFocusedNode()

virtual Node* kanzi::ActivityConcept::restoreLastFocusedNode ( )
pure virtual

Restores the focus to a child node of this Activity, if this Activity:

  • Is a focus scope node
  • Has serialized the last focused node
  • The serialized last focused node is a focusable node and is not an Activity

If Kanzi successfully restores the focus, it clears the value of the Kanzi internal property FocusScopeCore::LastFocusedNodePathProperty.

Returns
Returns the pointer to the child node to which the focus was restored. If the focus was not restored, returns nullptr.
Since
Kanzi 3.9.2. Moved the function declaration and definition from ActivityElement to ActivityConcept and to ActivityConceptImpl.

Implemented in kanzi::ActivityConceptImpl< TBaseClass, TDerivedClass >, kanzi::ActivityConceptImpl< ContentLayout2D, Activity2D >, and kanzi::ActivityConceptImpl< ContentLayout3D, Activity3D >.

◆ setLastFocusedNodePath()

virtual void kanzi::ActivityConcept::setLastFocusedNodePath ( )
pure virtual

Sets the last focused node path of this Activity to the currently focused child node, if the Activity:

Since
Kanzi 3.9.2. Moved the function declaration and definition from ActivityElement to ActivityConcept and to ActivityConceptImpl.

Implemented in kanzi::ActivityConceptImpl< TBaseClass, TDerivedClass >, kanzi::ActivityConceptImpl< ContentLayout2D, Activity2D >, and kanzi::ActivityConceptImpl< ContentLayout3D, Activity3D >.

◆ tryRestoreLastFocusedPathCompletely()

virtual bool kanzi::ActivityConcept::tryRestoreLastFocusedPathCompletely ( const Node candidateChild)
pure virtual

Tries to recursively restore the last focused node path in this and each ancestor Activity.

Parameters
candidateChildThe child Activity where the last focused node path of this Activity is pointing, in order for the restoring to succeed.
Returns
If the last focused node path of each ancestor Activity is pointing to this Activity, true, otherwise false.
Since
Kanzi 3.9.2

Implemented in kanzi::ActivityConceptImpl< TBaseClass, TDerivedClass >, kanzi::ActivityConceptImpl< ContentLayout2D, Activity2D >, and kanzi::ActivityConceptImpl< ContentLayout3D, Activity3D >.

◆ isActivity()

template<typename Type >
static bool kanzi::ActivityConcept::isActivity ( const Type &  object)
inlinestatic

Returns whether an object is an Activity.

Parameters
objectObject for which you want to check whether it is an Activity.
Returns
If the object is an Activity, returns true, otherwise false.
Since
Kanzi 3.9.2

◆ isActivityMetaclass()

static bool kanzi::ActivityConcept::isActivityMetaclass ( const Metaclass metaclass)
inlinestatic

Checks whether the given Metaclass is an ActivityConcept metaclass or contains it as a mixin metaclass.

Parameters
metaclassThe metaclass to check.
Returns
If the given metaclass is an ActivityConcept metaclass or contains it as a mixin metaclass, returns true, otherwise false.
Since
Kanzi 3.9.3

Member Data Documentation

◆ StatusProperty

PropertyType<Status> kanzi::ActivityConcept::StatusProperty
static

Specifies the status of this Activity.

◆ DummyStateManagerProperty

PropertyType<float> kanzi::ActivityConcept::DummyStateManagerProperty
static

Lack of a queuing mechanism for incoming messages from an Activity Host can cause Kanzi to enter a recursive call in the setProperty().

A temporary solution to this is the DummyStateManagerProperty that Kanzi sets in states with different values, and adds an any-to-any transition with the duration of 1 millisecond.

◆ ActivatedByActivationModifierProperty

PropertyType<bool> kanzi::ActivityConcept::ActivatedByActivationModifierProperty
static

Specifies whether the activation of an Activity is requested by modifier bindings callbacks of an ApplyAction of a DataTrigger.

Kanzi uses this property internally to disable serialization and deserialization of the activation status for such Activities.

Since
Kanzi 3.9.0

◆ SaveLastFocusedNodeProperty

PropertyType<bool> kanzi::ActivityConcept::SaveLastFocusedNodeProperty
static

Indicates whether to serialize the last focused child node of a focus scope Activity and restore the focus on deserialization.

If an Activity is a focus scope, add and set this property to True when you want to save and restore the focus from a serialized Activity and its focus scope.

Since
Kanzi 3.9.0

◆ StatusChangedMessage

MessageType<StatusChangedMessageArguments> kanzi::ActivityConcept::StatusChangedMessage
static

Subscribe to this message to receive notifications when the ActivityConcept::Status of this Activity changes.

◆ ActivityActivatingMessage

MessageType<ActivityMessageArguments> kanzi::ActivityConcept::ActivityActivatingMessage
static

Subscribe to this message to receive notifications when this Activity is in the activating state.

Since
Kanzi 3.9.1.

◆ ActivityActivatedMessage

MessageType<ActivityMessageArguments> kanzi::ActivityConcept::ActivityActivatedMessage
static

Subscribe to this message to receive notifications when this Activity is activated.

Since
Kanzi 3.9.1.

◆ ActivityDeactivatingMessage

MessageType<ActivityMessageArguments> kanzi::ActivityConcept::ActivityDeactivatingMessage
static

Subscribe to this message to receive notifications when this Activity is in the deactivating state.

Since
Kanzi 3.9.1.

◆ ActivityDeactivatedMessage

MessageType<ActivityMessageArguments> kanzi::ActivityConcept::ActivityDeactivatedMessage
static

Subscribe to this message to receive notifications when this Activity is deactivated.

Since
Kanzi 3.9.1.

◆ StartActivationInternalMessage

MessageType<StartActivationInternalMessageArguments> kanzi::ActivityConcept::StartActivationInternalMessage
static

Internal message sent by an Activity Host to the Activity to initialize the resources of the Activity.

◆ StartDeactivationInternalMessage

MessageType<ActivityInternalMessageArguments> kanzi::ActivityConcept::StartDeactivationInternalMessage
static

Internal message sent by an Activity Host to the Activity to deactivate the Activity.

Since
Kanzi 3.9.1. Renamed DeactivateInternalMessage to StartDeactivationInternalMessage.

◆ ReadyForActivationAnimationInternalMessage

MessageType<StatusChangedInternalMessageArguments> kanzi::ActivityConcept::ReadyForActivationAnimationInternalMessage
static

Internal message sent by the Activity to its parent Activity Host when the Activity has finished initializing its resources.

◆ StartParallelActivatingAnimationInternalMessage

MessageType<ActivityInternalMessageArguments> kanzi::ActivityConcept::StartParallelActivatingAnimationInternalMessage
static

Internal message sent by an Activity Host to the Activity to start the parallel activation animation of the Activity.

◆ FinishedParallelActivatingAnimationInternalMessage

MessageType<StatusChangedInternalMessageArguments> kanzi::ActivityConcept::FinishedParallelActivatingAnimationInternalMessage
static

Internal message sent by the Activity to its parent Activity Host when the Activity has finished the parallel activation animation of the Activity.

◆ StartExclusiveActivatingAnimationInternalMessage

MessageType<ActivityInternalMessageArguments> kanzi::ActivityConcept::StartExclusiveActivatingAnimationInternalMessage
static

Internal message sent by an Activity Host to the Activity to start the exclusive activation animation of the Activity.

◆ StartExclusiveDeactivatingAnimationInternalMessage

MessageType<ActivityInternalMessageArguments> kanzi::ActivityConcept::StartExclusiveDeactivatingAnimationInternalMessage
static

Internal message sent by an Activity Host to the Activity to start the exclusive deactivation animation of the Activity.

◆ FinishedExclusiveDeactivatingAnimationInternalMessage

MessageType<StatusChangedInternalMessageArguments> kanzi::ActivityConcept::FinishedExclusiveDeactivatingAnimationInternalMessage
static

Internal message sent by the Activity to its parent Activity Host when the Activity has finished the exclusive deactivation animation of the Activity.

◆ StartParallelDeactivatingAnimationInternalMessage

MessageType<ActivityInternalMessageArguments> kanzi::ActivityConcept::StartParallelDeactivatingAnimationInternalMessage
static

Internal message sent by an Activity Host to the Activity to start the parallel deactivation animation of the Activity.

◆ FinishedParallelDeactivatingAnimationInternalMessage

MessageType<StatusChangedInternalMessageArguments> kanzi::ActivityConcept::FinishedParallelDeactivatingAnimationInternalMessage
static

Internal message sent by the Activity to its parent Activity Host when the Activity has finished the parallel deactivation animation of the Activity.


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