kanzi::StateManager::StateGroupRuntime Class Reference

State group runtime. More...

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

Public Member Functions

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...
 

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 ( 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.


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