This is the base class for all Exclusive Activity Host nodes. More...
#include <kanzi/ui/node/concept/activity/exclusive_activity_host_concept.hpp>
Classes | |
struct | ActivityInExclusiveHostInfo |
Stores information that identifies an Activity node under an ExclusiveActivityHost. More... | |
struct | ExclusiveActivityHostContent |
Container for the content information for an ExclusiveActivityHost. More... | |
class | ImplicitActivityChangeRequestMessageArguments |
Base class for Exclusive Activity Host Concept message argument classes. More... | |
Public Types | |
enum class | ExclusiveActivityHostFocusingPolicy { WhenHostHasFocus , AlwaysFocus , NeverFocus } |
Specifies the focusing policy that Kanzi applies to an activating Activity in an Exclusive Activity Host. More... | |
Public Member Functions | |
virtual const vector< ExclusiveActivityHostConcept::ActivityInExclusiveHostInfo > & | getActivitiesInfo () const =0 |
Provides access to the list of all registered activities. | |
virtual const Node * | getNode () const =0 |
Returns underlying Node of this ExclusiveActivityHostConcept instance. | |
virtual Node * | getNode ()=0 |
Returns underlying Node of this ExclusiveActivityHostConcept instance. | |
virtual void | onActivityActivated (NodeSharedPtr activity, string_view prefabPath)=0 |
Informs that an Activity node is activated. | |
virtual void | onActivityDeactivated (NodeSharedPtr activity)=0 |
Informs that an Activity node is deactivated. | |
virtual NodeSharedPtr | onPrefabLoaded (PrefabTemplateSharedPtr prefab, string_view name)=0 |
Informs this ExclusiveActivityHost that the prefab for an Activity node has been loaded. | |
virtual | ~ExclusiveActivityHostConcept ()=default |
Destructor. | |
Static Public Member Functions | |
static PropertyTypeEditorInfoSharedPtr | makeEditorInfo () |
Returns PropertyType editor info of exclusive activity concept. | |
Static Public Attributes | |
static MessageType< ImplicitActivityChangeRequestMessageArguments > | NavigateNextMessage |
In an Exclusive Activity Host requests the activation of the next Activity node in that Exclusive Activity Host node. | |
static MessageType< ImplicitActivityChangeRequestMessageArguments > | NavigatePreviousMessage |
In an Exclusive Activity Host requests the activation of the previous Activity node in that Exclusive Activity Host node. | |
Properties | |
static PropertyType< string > | ExclusiveActivityHostContentProperty |
Describes the content of an Exclusive Activity Host node. | |
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. | |
static PropertyType< string > | ActivationPathProperty |
The activation path containing the branch of the Activity tree that is requested to be activated. | |
static PropertyType< ExclusiveActivityHostFocusingPolicy > | FocusOnActivatingActivityProperty |
Sets the policy that an Exclusive Activity Host uses to decide whether it tries to set focus to an activating Activity. | |
Protected Member Functions | |
virtual void | onNavigateNextMessage (const ExclusiveActivityHostConcept::ImplicitActivityChangeRequestMessageArguments &args)=0 |
Message handler for ExclusiveActivityHostConcept::NavigateNextMessage. | |
virtual void | onNavigatePreviousMessage (const ExclusiveActivityHostConcept::ImplicitActivityChangeRequestMessageArguments &args)=0 |
Message handler for ExclusiveActivityHostConcept::NavigatePreviousMessage. | |
This is the base class for all Exclusive Activity Host nodes.
Specifies the focusing policy that Kanzi applies to an activating Activity in an Exclusive Activity Host.
Apply this rule to an Exclusive Activity Host.
Enumerator | |
---|---|
WhenHostHasFocus | If the Activity Host contains focus, set focus to the Activity. |
AlwaysFocus | Always set focus to the Activity. |
NeverFocus | Never set focus to the Activity. |
|
virtualdefault |
Destructor.
|
static |
Returns PropertyType editor info of exclusive activity concept.
|
pure virtual |
Provides access to the list of all registered activities.
Implemented in kanzi::ExclusiveActivityHostBaseImpl< TBaseClass, TDerivedClass >, kanzi::ExclusiveActivityHostBaseImpl< ContentLayout2D, DataDrivenExclusiveActivityHost2D >, kanzi::ExclusiveActivityHostBaseImpl< ContentLayout2D, ExclusiveActivityHost2D >, kanzi::ExclusiveActivityHostBaseImpl< ContentLayout3D, DataDrivenExclusiveActivityHost3D >, kanzi::ExclusiveActivityHostBaseImpl< ContentLayout3D, ExclusiveActivityHost3D >, kanzi::ExclusiveActivityHostImpl< TBaseClass, TDerivedClass >, kanzi::ExclusiveActivityHostImpl< ContentLayout2D, ExclusiveActivityHost2D >, and kanzi::ExclusiveActivityHostImpl< ContentLayout3D, ExclusiveActivityHost3D >.
Returns underlying Node of this ExclusiveActivityHostConcept instance.
Implemented in kanzi::DataDrivenExclusiveActivityHostImpl< TBaseClass, TDerivedClass >, kanzi::DataDrivenExclusiveActivityHostImpl< ContentLayout2D, DataDrivenExclusiveActivityHost2D >, kanzi::DataDrivenExclusiveActivityHostImpl< ContentLayout3D, DataDrivenExclusiveActivityHost3D >, kanzi::ExclusiveActivityHostBaseImpl< TBaseClass, TDerivedClass >, kanzi::ExclusiveActivityHostBaseImpl< ContentLayout2D, DataDrivenExclusiveActivityHost2D >, kanzi::ExclusiveActivityHostBaseImpl< ContentLayout2D, ExclusiveActivityHost2D >, kanzi::ExclusiveActivityHostBaseImpl< ContentLayout3D, DataDrivenExclusiveActivityHost3D >, kanzi::ExclusiveActivityHostBaseImpl< ContentLayout3D, ExclusiveActivityHost3D >, kanzi::ExclusiveActivityHostImpl< TBaseClass, TDerivedClass >, kanzi::ExclusiveActivityHostImpl< ContentLayout2D, ExclusiveActivityHost2D >, and kanzi::ExclusiveActivityHostImpl< ContentLayout3D, ExclusiveActivityHost3D >.
Returns underlying Node of this ExclusiveActivityHostConcept instance.
Implemented in kanzi::DataDrivenExclusiveActivityHostImpl< TBaseClass, TDerivedClass >, kanzi::DataDrivenExclusiveActivityHostImpl< ContentLayout2D, DataDrivenExclusiveActivityHost2D >, kanzi::DataDrivenExclusiveActivityHostImpl< ContentLayout3D, DataDrivenExclusiveActivityHost3D >, kanzi::ExclusiveActivityHostBaseImpl< TBaseClass, TDerivedClass >, kanzi::ExclusiveActivityHostBaseImpl< ContentLayout2D, DataDrivenExclusiveActivityHost2D >, kanzi::ExclusiveActivityHostBaseImpl< ContentLayout2D, ExclusiveActivityHost2D >, kanzi::ExclusiveActivityHostBaseImpl< ContentLayout3D, DataDrivenExclusiveActivityHost3D >, kanzi::ExclusiveActivityHostBaseImpl< ContentLayout3D, ExclusiveActivityHost3D >, kanzi::ExclusiveActivityHostImpl< TBaseClass, TDerivedClass >, kanzi::ExclusiveActivityHostImpl< ContentLayout2D, ExclusiveActivityHost2D >, and kanzi::ExclusiveActivityHostImpl< ContentLayout3D, ExclusiveActivityHost3D >.
|
pure virtual |
Informs that an Activity node is activated.
activity | The activated Activity node. |
prefabPath | The prefab path for the Activity node. |
Implemented in kanzi::ExclusiveActivityHostBaseImpl< TBaseClass, TDerivedClass >, kanzi::ExclusiveActivityHostBaseImpl< ContentLayout2D, DataDrivenExclusiveActivityHost2D >, kanzi::ExclusiveActivityHostBaseImpl< ContentLayout2D, ExclusiveActivityHost2D >, kanzi::ExclusiveActivityHostBaseImpl< ContentLayout3D, DataDrivenExclusiveActivityHost3D >, and kanzi::ExclusiveActivityHostBaseImpl< ContentLayout3D, ExclusiveActivityHost3D >.
|
pure virtual |
Informs that an Activity node is deactivated.
activity | The deactivated Activity node. |
Implemented in kanzi::ExclusiveActivityHostBaseImpl< TBaseClass, TDerivedClass >, kanzi::ExclusiveActivityHostBaseImpl< ContentLayout2D, DataDrivenExclusiveActivityHost2D >, kanzi::ExclusiveActivityHostBaseImpl< ContentLayout2D, ExclusiveActivityHost2D >, kanzi::ExclusiveActivityHostBaseImpl< ContentLayout3D, DataDrivenExclusiveActivityHost3D >, and kanzi::ExclusiveActivityHostBaseImpl< ContentLayout3D, ExclusiveActivityHost3D >.
|
pure virtual |
Informs this ExclusiveActivityHost that the prefab for an Activity node has been loaded.
prefab | The loaded prefab for the Activity node. |
name | The name of the Activity node whose prefab was loaded. |
Implemented in kanzi::DataDrivenExclusiveActivityHostImpl< TBaseClass, TDerivedClass >, kanzi::DataDrivenExclusiveActivityHostImpl< ContentLayout2D, DataDrivenExclusiveActivityHost2D >, kanzi::DataDrivenExclusiveActivityHostImpl< ContentLayout3D, DataDrivenExclusiveActivityHost3D >, kanzi::ExclusiveActivityHostBaseImpl< TBaseClass, TDerivedClass >, kanzi::ExclusiveActivityHostBaseImpl< ContentLayout2D, DataDrivenExclusiveActivityHost2D >, kanzi::ExclusiveActivityHostBaseImpl< ContentLayout2D, ExclusiveActivityHost2D >, kanzi::ExclusiveActivityHostBaseImpl< ContentLayout3D, DataDrivenExclusiveActivityHost3D >, and kanzi::ExclusiveActivityHostBaseImpl< ContentLayout3D, ExclusiveActivityHost3D >.
|
protectedpure virtual |
Message handler for ExclusiveActivityHostConcept::NavigateNextMessage.
Activates an activity following the currently active activity. Activates first if no activity active.
|
protectedpure virtual |
Message handler for ExclusiveActivityHostConcept::NavigatePreviousMessage.
Activates an activity following the currently active activity. Activates first if no activity active.
|
static |
In an Exclusive Activity Host requests the activation of the next Activity node in that Exclusive Activity Host node.
|
static |
In an Exclusive Activity Host requests the activation of the previous Activity node in that Exclusive Activity Host node.
|
static |
Describes the content of an Exclusive Activity Host node.
An Exclusive Activity Host node uses the value of this property to instantiate Activity node prefabs and to control the status and lifetime of its child Activity nodes.
Kanzi Studio user cannot directly edit this property. The ActivityBrowserController sets the value of this property according to the changes done to the state of the Activity Tree in the ActivityBrowser.
The expected format for the property value is the name of an Activity node that an ExclusiveActivityHost initially activates, followed by a list of Activity node descriptions. Each of this Activity node descriptions contains:
Syntax: {<is-initially-active-activity-name>,{<child-activity-name>,<controller-property-value>,<activity-prefab-path>},{<child-activity-name>,<controller-property-value>,<activity-prefab-path>},...} Example: {name0,{name1,666,path1},{name2,123,path2}}.
By default the value of this property is empty, that is, the Activity Host does not contain any content.
|
static |
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.
By default this property does not point to any Activity node. The default value is "".
|
static |
The activation path containing the branch of the Activity tree that is requested to be activated.
It stores the path value only from the moment of receiving an activation request with an activation path longer than just one node, to when this path is forwarded to the first element in the activation path, then The property is reset to default. By default, this property does not contain any activation path. You should not update this property. The Exclusive Activity Host does not react to a change on this property. Kanzi uses this property internally, together with ActiveActivityProperty, during activation with ActivityHostConcept::ActivateActivityMessage.
|
static |
Sets the policy that an Exclusive Activity Host uses to decide whether it tries to set focus to an activating Activity.