kanzi::StateManager::StateGroupRuntime Class Reference

State group runtime. More...

#include <kanzi/core.ui/state_manager/state_manager.hpp>

Public Member Functions

 ~StateGroupRuntime ()
 Destructor. More...
 
void stopTransition ()
 
void goToInitialState ()
 Set initial state. More...
 
void goToState (const StateRuntimeSharedPtr &newStateRuntime, bool immediate)
 Go to a state in a state group. More...
 
void syncState (bool immediate)
 Sync the state in the state group. More...
 
template<typename T >
void toggleControlPropertyNotificationHandler (Node *node, AbstractPropertyType propertyType, bool add)
 
void toggleControlPropertyNotificationHandler (Node *node, AbstractPropertyType propertyType, bool add)
 

Static Public Member Functions

static StateGroupRuntimeSharedPtr create (const StateManagerRuntimeSharedPtr &stateManagerRuntime, StateGroup &stateGroup)
 
template<typename T >
static void controlPropertyNotificationHandler (PropertyObject &object, const typename PropertyType< T >::Traits::StorageType &, PropertyNotificationReason reason, void *userData)
 

Public Attributes

StateManagerRuntimeWeakPtr m_stateManagerRuntime
 State manager runtime. More...
 
StateGroupm_group
 State group. More...
 
StateRuntimeContainer m_stateRuntimes
 State runtimes. More...
 
StateRuntimeSharedPtr m_currentStateRuntime
 Current state runtime. More...
 
Statem_previousState
 Previous state. More...
 
TimelinePlaybackSharedPtr m_transitionPlayback
 Transition timeline playback. More...
 
bool m_inTransition
 Is in transition. More...
 
chrono::milliseconds m_transitionBaseTime
 Base transition time in ms. More...
 
AbstractPropertyType m_notificationHandlerPropertyType
 Property type the property notification handler has been installed for. More...
 

Protected Member Functions

 StateGroupRuntime (const StateManagerRuntimeSharedPtr &stateManagerRuntime, StateGroup &stateGroup)
 
void onTransitionFinished (TimelinePlayback &)
 Transition finished message handler. More...
 
void createAnimation (Object *stateObject, string_view stateObjectPath, AbstractPropertyType propertyType, AbstractPropertyTypeDescriptor::ValueSource *valueSource, chrono::milliseconds start, chrono::milliseconds duration, AnimationMode animationMode, const EasingArguments &easingArguments, AnimationEasingMode easingMode, ParallelTimeline &timeline, bool longerPath)
 Create an animation for a state group. More...
 

Detailed Description

State group runtime.

Constructor & Destructor Documentation

kanzi::StateManager::StateGroupRuntime::~StateGroupRuntime ( )
inline

Destructor.

kanzi::StateManager::StateGroupRuntime::StateGroupRuntime ( const StateManagerRuntimeSharedPtr stateManagerRuntime,
StateGroup stateGroup 
)
explicitprotected

Member Function Documentation

static StateGroupRuntimeSharedPtr kanzi::StateManager::StateGroupRuntime::create ( const StateManagerRuntimeSharedPtr stateManagerRuntime,
StateGroup stateGroup 
)
static
void kanzi::StateManager::StateGroupRuntime::stopTransition ( )
void kanzi::StateManager::StateGroupRuntime::goToInitialState ( )

Set initial state.

Should be called after creating the state group runtime, after it has been added to group runtimes.

void kanzi::StateManager::StateGroupRuntime::goToState ( const StateRuntimeSharedPtr newStateRuntime,
bool  immediate 
)

Go to a state in a state group.

void kanzi::StateManager::StateGroupRuntime::syncState ( bool  immediate)

Sync the state in the state group.

template<typename T >
static void kanzi::StateManager::StateGroupRuntime::controlPropertyNotificationHandler ( PropertyObject object,
const typename PropertyType< T >::Traits::StorageType &  ,
PropertyNotificationReason  reason,
void *  userData 
)
static
template<typename T >
void kanzi::StateManager::StateGroupRuntime::toggleControlPropertyNotificationHandler ( Node node,
AbstractPropertyType  propertyType,
bool  add 
)
void kanzi::StateManager::StateGroupRuntime::toggleControlPropertyNotificationHandler ( Node node,
AbstractPropertyType  propertyType,
bool  add 
)
void kanzi::StateManager::StateGroupRuntime::onTransitionFinished ( TimelinePlayback )
protected

Transition finished message handler.

void kanzi::StateManager::StateGroupRuntime::createAnimation ( Object stateObject,
string_view  stateObjectPath,
AbstractPropertyType  propertyType,
AbstractPropertyTypeDescriptor::ValueSource valueSource,
chrono::milliseconds  start,
chrono::milliseconds  duration,
AnimationMode  animationMode,
const EasingArguments easingArguments,
AnimationEasingMode  easingMode,
ParallelTimeline timeline,
bool  longerPath 
)
protected

Create an animation for a state group.

Member Data Documentation

StateManagerRuntimeWeakPtr kanzi::StateManager::StateGroupRuntime::m_stateManagerRuntime

State manager runtime.

StateGroup* kanzi::StateManager::StateGroupRuntime::m_group

State group.

StateRuntimeContainer kanzi::StateManager::StateGroupRuntime::m_stateRuntimes

State runtimes.

StateRuntimeSharedPtr kanzi::StateManager::StateGroupRuntime::m_currentStateRuntime

Current state runtime.

State* kanzi::StateManager::StateGroupRuntime::m_previousState

Previous state.

TimelinePlaybackSharedPtr kanzi::StateManager::StateGroupRuntime::m_transitionPlayback

Transition timeline playback.

bool kanzi::StateManager::StateGroupRuntime::m_inTransition

Is in transition.

chrono::milliseconds kanzi::StateManager::StateGroupRuntime::m_transitionBaseTime

Base transition time in ms.

AbstractPropertyType kanzi::StateManager::StateGroupRuntime::m_notificationHandlerPropertyType

Property type the property notification handler has been installed for.

If no notification handler has been installed, the property type is empty.


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