Action Behaviors
Contents List
- Animation Action Behaviors
- Control Action Behaviors
- Custom
- Gesture Action Behaviors
- Property Action Behaviors
- Scroll Action Behaviors
- Streaming Action Behaviors
- Transition Action Behaviors
Animation Action Behaviors
Configure and Play Animation
Description
Starts, stops, pauses, resumes animations and offers additional properties for configuration. Also sends AnimationEvents with the state of the animation. These Events can be received by an AnimationStateCondition.
Common Properties
| Property Name | Type | Description |
|---|---|---|
| Animation | Candera::Animation::AnimationPlayer | The animation that should be controlled. |
| Action | CgiStudioControl::AnimationAction::Enum | Action that shall be executed on the animation: Start, Stop, Pause, Resume, Speedup, Finish, Change. |
| Direction | CgiStudioControl::AnimationDirection::Enum | Playback direction of the animation. |
| Speed | FeatStd::Float | Playback speed of the animation. |
Advanced Properties
| Property Name | Type | Description |
|---|---|---|
| RepeatMode | CgiStudioControl::RepeatMode::Enum | Defines how the animation shall be repeated. |
| RepeatCount | CgiStudioControl::RepeatCount::Enum | Count of replays. If set to 0 the animation loops till it gets stopped. |
| EventDispatchStrategy | CgiStudioControl::EventDispatchStrategyType::Enum | The way the event gets sent. |
| DedicatedBehavior | Candera::Behavior* | A dedicated behavior that will receive the animation event. |
| FinishTime | Candera::Animation::WorldTimeType | Finish time in milliseconds. |
| IncreasedSpeed | FeatStd::Float | Increased playback speed of the animation. If set and Play is executed again during playback, animation will speed up (can be used only once per animation!). Zero means immediate position seek. |
| IncreasedSpeedRevertMargin | Candera::Animation::WorldTimeType | Defines trailing part of animation (in milliseconds) that will be played at normal speed again. If not set, speedup will last until the end of animation. |
| SequenceStartTime | Candera::Animation::SequenceTimeType | The start point of the animation. [ms] |
| SequenceDurationTime | Candera::Animation::SequenceTimeType | The duration of the animation. [ms] |
Control Action Behaviors
Breadcrumb Action
Description
An Action Behavior that sends breadcrumb action events. It allows you to control a Breadcrumb or a node with a Breadcrumb Behavior attached.
The operations that can be performed are:
- SetPath - sets elements contained in the breadcrumb.
- BackToPrevious - calls breadcrumb to create a path without the last element from the ones existing in the breadcrumb.
- BackToElement - the action will be called if the element exists in the breadcrumb. It will create a path from beginning to the selected element from the breadcrumb.
Common Properties
| Property Name | Type | Description |
|---|---|---|
| Action | CgiStudioControl::AnimationAction::Enum | Action that shall be executed on the animation. |
| Path | CgiStudioControl::AnimationDirection::Enum | The Path that will be set when the action is triggered. Only available for 'Set Path'. The path-separator is defined in the receiving breadcrumb. |
| BreadcrumbNode | Candera::AbstractNodePointer | Breadcrumb Control Node. |
Change selection
Description
Checks if the culture has changed and is fulfilled if this culture matches the locale.
Common Properties
This behavior does not have any configurable properties.
Conditional Action
Description
A conditional action can be used to add further checking of conditions while actions are already performed. E.g. a click may trigger one action in a specific control state and another if this state is not set.
Common Properties
| Property Name | Type | Description |
|---|---|---|
| Condition | Candera::ConditionBehavior* | The ConditionBehavior that TriggerBehavior passes a value to and expect a response from to see if Action needs to be invoked. |
| Actions | Candera::ActionBehaviorArrayProperty | The set of ActionBehaviors that TriggerBehavior invokes in the even that it receives a positive response from Condition. |
| Postpone | bool | Set this flag to true to perform the actions after all other actions have been performed. This may become nessecary if the actions alter the state and other conditional actions may be invoked due to that changed state. |
Change Drawer State
Description
An Action that allows to hide/show the contents of a Drawer or a Node with a Drawer Behavior attached.
The operation that can be performed are: Close, Open or Toggle.
Common Properties
| Property Name | Type | Description |
|---|---|---|
| Action | CgiStudioControl::DrawerEventType::Enum | The action that should be performed. |
| EventDispatchStrategy | CgiStudioControl::EventDispatchStrategyType::Enum | The way the event gets sent. |
| TargetNode | Candera::AbstractNodePointer | The target node to which the events are routed from the source node. If the property is not set, the event will be routed to the node of the behavior |
Advanced Properties
| Property Name | Type | Description |
|---|---|---|
| DedicatedBehavior | Candera::Behavior* | A dedicated behavior that will receive the event. Only available when Dispatch Strategy is set to 'DedicatedBehavior'. |
Set Focus
Description
Sets the Keyboard Focus to a control.
Common Properties
| Property Name | Type | Description |
|---|---|---|
| TargetNode | Candera::AbstractNodePointer | The Node which is modified. If not set, then the node where the bihaviors is attached to, will be modified. |
Interpolate Value Action
Description
Action Behavior which sends specific action event allows you control the InterpolateProcessValueBehavior.
Common Properties
| Property Name | Type | Description |
|---|---|---|
| Action | ActionTYpe | The Node which gets the given text. If not set, then the node where the behavior is attached to, will be modified. |
| AnimationMode | AnimationModeType | The Style that will be set to the Text Node. |
| TargetNode | TargetNodeType | The Node to which the event should be sent. |
Interval Switch Action
Description
This action changes the state of the interval switch behavior (by selecting a target Node). With this behavior we can set the state to the following values: on, off, blinking.
Common Properties
| Property Name | Type | Description |
|---|---|---|
| TargetNode | TargetNodeType | The Node which is mofified. If not set, then the node where the behavior is attached to, will be modified. |
| SwitchState | SwitchStateType | SwitchState: IntervalSwitchState: Enum |
Keyboard Action
Description
Keyboard action to manage keyboard control.
Common Properties
| Property Name | Type | Description |
|---|---|---|
| Action | ActionType | Keyboard action to execute. |
| KeyboardNode | KeyboardNodeType | Keyboard Node. |
| Layout | LayoutType | Layout name. |
| AutoHideKeyboard | AutoHideKeyboardType | Should keyboard be hidden when node loses focus and show again when node is focused? |
Map Action
Description
Call a specified action on selected MapBehavior.
Common Properties
| Property Name | Type | Description |
|---|---|---|
| MapNode | MapNodeType | Map node on which this action should be called. |
| Action | ActionType | Action that will be called on the MapBehavior. |
| Latitude | LatitudeType | GPS latitude at which the camera looks at. |
| Longitude | LongitudeType | GPS longitude at which the camera looks at. |
| Zoomlevel | ZoomLevelType | Determines how close is the camera to the groud level. |
| Bearing | BearingType | Determines the bearing angle at which the camera is rotated relative to north. |
| Tilt | TiltType | Determines the tilt angle at which the camera looks at specified location. |
| SyleUrl | StyleUrlType | Theme that describes how the map looks like and how is styled. |
Map Location Action
Description
Represents a location on the map which can be sent to MapBehavior.
Common Properties
| Property Name | Type | Description |
|---|---|---|
| TargetNode | TargetNodeType | Map node on which this action should be called. |
| Latitude | LatitudeType | Latitude of the location. |
| LongitudeLayout | LongitudeType | Longitude of the location. |
| Address | AddressType | Address of the location (usually street name). |
Navigation Action
Description
Invoke a specified navigation action on selected Map
Common Properties
| Property Name | Type | Description |
|---|---|---|
| MapNode | MapNodeType | Map node on which this action should be called. |
| Actoin | ActionType | Action that will be called on the MapNode. |
MenuScreenAction
Description
Action Behavior which sends menuscreen action event allows you control the menu screen. The operations it can do are: add, dlete element and change screen page.
Common Properties
| Property Name | Type | Description |
|---|---|---|
| Action | MenuScreenAction::Enum | Action that will be called on the menu screen. |
| MenuItemNode | Candera::AbstractNodePointer | Needed to identify which node should be deleted. |
| MenuScreenNode | Candera::AbstractNodePointer | MenuScreen node to which event will be sent. |
Page Indicator Action
Description
Sends an event to PageIndicator from external control (change number of pages, change active index)
It is also used by PageIndicatorElement (ActivateDot) to activate clicked element and to define visual properties of the PageIndicatorElement.
Common Properties
| Property Name | Type | Description |
|---|---|---|
| Action | PageIndicatorAction::Enum | Action to perform on PageIndicator (change number of pages, change active index) |
| PageIndicatorNode | Candera::AbstractNodePointer | PageIndicator node to communicate with. |
| Value | FeatStd::Int32 | Value to be sent to PageIndicator (for ChangeActiveIndex and ChangeNumberOfPages actions) |
| ChangeValue | ChangeValue::Enum | Type of value change to be sent to PageIndicator (for ChangeActiveIndex and ChangeNumberOfPages actions) |
Properties for usage within PageIndicatorElement (ActivateDot)
These properties are used only when the behavior is used within PageIndicatorElement and action is set to ActivateDot.
| Property Name | Type | Description |
|---|---|---|
| RenderNode | Candera::AbstractNodePointer | Render node for current PageIndicatorElement. |
| NormalImagePropertyProvider | Behavior* | Property Behavior which contains the image of normal (unselected) PageIndicatorElement. |
| ActiveImagePropertyProvider | Behavior* | Property Behavior which contains the image of active (selected) PageIndicatorElement. |
Set Control State
Description
Sets the state of a control by sending an Event to a control considering the selected EventDispatchStrategy.
Supports
- Any Node with a Handle Control State attached.
Used In
Example Usage
Common Properties
| Property Name | Type | Description |
|---|---|---|
| State | Candera::AbstractNodePointer | Choose the State which has to be changed to True or False. |
| ChangeTo | bool | Switch the state of the control to True or False. |
| EventDispatchStrategy | Candera::AbstractNodePointer | The way the event gets sent |
| TargetNode | Candera::AbstractNodePointer | The target node to which the events are routed from the source node. If the property is not set, the event will be routed to the node of the behavior |
Advanced Properties
| Property Name | Type | Description |
|---|---|---|
| DedicatedBehavior | Candera::Behavior* | A dedicated behavior that will receive the event. Only available when Dispatch Strategy is set to 'DedicatedBehavior'. |
See also
Set Image, Set Text, Set Color
Start Timer
Description
Start Timer Behavior starts a timer. If the delay time is passed the behavior's node or target node will receive a Timer Event. The Timer Event can then be handled by an Event Handler with a Check Timer Behavior to trigger an action.
Used In
Example Usage
Common Properties
| Property Name | Type | Description |
|---|---|---|
| Delay | FeatStd::UInt32 | Delay time for the timer event (specification in milliseconds) |
| Target Node | Candera::AbstractNodePointer | The target node to which the events are routed from the source node. |
See also
Custom
Click to Message
Description
Sends a custom message on invoke action event.
Common Properties
This behavior does not have any configurable properties.
Gesture Action Behaviors
Transform Gesture Action
Description
Use the transform gesture action to apply the transformation of a transform gesture event (pan, pinch and rotate) to a node. You can use tis behavior as an action or directly without an event handler.
Pan
If you touch the Render Node with one finger, the content that you have touched will follow your finger. If you touch it with two fingers the point of the content that hits the center between your fingers will follow the center between your fingers.
- Use the Maximum/Minimum properties for X/Y to limit the movement of the position to a certain area.
- Use the Pan mode selector to limit the transformation to X or Y axis.
- Deactivate the Pan to disallow any position change.
Pinch
If you pinch/stretch the content with your fingers the content will be scaled down/up.
- Use the Maximum/Minimum properties to limit the absolute scale of the node.
- Use the Pinch mode selector to either limit the scaling to X or Y axis or to switch to non-uniform scaling where both axis are scaled individually.
- Deactivate the Pinch to disallow any scale change.
Rotate
If you touch the content with two fingers and drag them around the rotation change of the line between your fingers will be applied on the content.
- Use the Maximum/Minimum properties to limit the absolute scale of the node.
- Use the Pinch mode selector to either limit the scaling to X or Y axis or to switch to none uniform scaling where both axis are scaled individually.
Only if all transformations are allowed the content is able to follow your fingers. Otherwise there may be a displacement that matches the configuration but not the finger position (e.g. if the pan/scale is locked to an axis or Rotation is disabled but scale is still set to uniform scale). The default values are chosen to most fit the common use cases (e.g. it is more likely that uniform scale is required than a non-uniform scale).
Example Usage
Common Properties
| Property Name | Type | Description |
|---|---|---|
| TargetNode | Candera::AbstractNodePointer | The Node which is manipulated. If not set, then the node where the behavior is attached to, will will be manipulated |
| Pan | FeatStd::Optional<PanGestureType::Enum> | The pan transformation of a pan gesture is applied to the node. |
| PanMinimumX | FeatStd::Optional<FeatStd::Float> | The minimum pan X value. |
| PanMinimumY | FeatStd::Optional<FeatStd::Float> | The minimum pan Y value. |
| PanMaximumY | FeatStd::Optional<FeatStd::Float> | The maximum pan X value. |
| PanMaximumX | FeatStd::Optional<FeatStd::Float> | The maximum pan Y value. |
| Pinch | FeatStd::Optional<PinchGestureType::Enum> | The scale transformation of a pinch gesture is applied to the node. |
| PinchMinimumX | FeatStd::Optional<FeatStd::Float> | The minimum pinch X value. |
| PinchMinimumY | FeatStd::Optional<FeatStd::Float> | The minimum pinch Y value. |
| PinchMaximumX | FeatStd::Optional<FeatStd::Float> | The maximum pinch X value. |
| PinchMaximumY | FeatStd::Optional<FeatStd::Float> | The maximum pinch Y value. |
| PinchMinimumUniform | FeatStd::Optional<FeatStd::Float> | The minimum pinch uniform value. |
| PinchMaximumUniform | FeatStd::Optional<FeatStd::Float> | The maximum pinch uniform value. |
| Rotate | bool | The rotate transformation of a rotate gesture is applied to the node. |
| RotateMinimum | FeatStd::Optional<FeatStd::Float> | The minimum rotate value |
| RotateMaximum | FeatStd::Optional<FeatStd::Float> | The maximum rotate value |
Property Action Behaviors
Send Value as Event
Description
Sends out a new value. Associated controls with a value property receive the new value.
Example Usage
Common Properties
| Property Name | Type | Description |
|---|---|---|
| PropertyReference | CgiStudioControl::PropertyReference::Enum | Choose how the property gets set. Via own property or from another Behavior. |
| Value | Variant | The value of the event which gets sent. |
| Change Value | Enum (Absolute, Relative) | How the event value shall be handled by the receiving. |
| Event Dispatch Strategy | Enum (Direct, Broadcast, Bubble, Tunnel, DedicatedBehavior) | The way the event gets sent. |
| Dedicated Behavior | ProcessValueBehavior * | |
| Target Node | AbstractNodePointer | The target node which the events are routed from the source node. If this property is not set, the event will be routed to the node of the behavior. |
| DedicatedBehavior | Candera::ProcessValueBehavior* | The dedicated process value behavior that will receive the change value event. |
Advanced Properties
| Property Name | Type | Description |
|---|---|---|
| PropertyProvider | "Behavior* | Property provider which contains the value which has to be set on the send value as event action. |
| DedicatedBehavior | Candera::ProcessValueBehavior* | The dedicated process value behavior that will receive the change value event. |
Set Color
See also
Set Image, Set Text, Set Control State
Description
Sets the color of a node with a Color effect attached (e.g. BitmapBrushColorBlend or SolidColorBrush).
Supports
- Controls:
- Text
- Text Value
- Effects:
- BitmapBrushColorBlend (as used in TextNode)
- GlBitmapBrushColorMaskBlend
- GlDropShadowBitmapBrushColorBlend
- GlFlipBitmapBrushColorBlend
- GlOutlineBitmapBrushColorBlend
- SolidColorBrushColorBlend (as used in SolidColorNode)
Example Usage
Common Properties
| Property Name | Type | Description |
|---|---|---|
| Property Reference | Enum (Self, Other) | Choose how the property gets set. Via own property or from another Behavior. |
| Color | Color | The color to set. |
| Use For Child Nodes | Bool | If set to true, also child nodes are affected by this action. |
| Levels | UInt8 | Number of levels to step down through groups. Default is zero. |
| Target Node | Node2D * | The node which is modified. If not set, then the node where the behavior is attached too, will be modified. |
Advanced Properties
| Property Name | Type | Description |
|---|---|---|
| Property Provider | Behavior * | Property Provider which contains the color which has to be set on the effect. |
See also
Set Text, Set Color, Set Control State
Description
When triggered, sets an image on a node.
Example Usage
Common Properties
| Property Name | Type | Description |
|---|---|---|
| Property Reference | Enum (Self, Other) | Choose how the property gets set. Via own property or from another Behavior. |
| Image | SharedPointer<Image2D> | The image to set on the effect. |
| Use As Default | Bool | True if the image shall be used as default image. |
| Target Node | AbstractNodePointer | The node which gets the given image. If not set, then the node where the behavior is attached too, will be modified. |
Advanced Properties
| Property Name | Type | Description |
|---|---|---|
| Property Provider | Behavior * | Property Provider which contains the color which has to be set on the effect. |
| Texture | Candera::MemoryManagement::SharedPointer<Candera::TextureImage> | The image to set on the appearance. |
Render Child Nodes Action
Description
If invoked by a TriggerBehavior, enables/disables Child nodes corresponding to the received value and the behavior settings.
Example Usage
Common Properties
| Property Name | Type | Description |
|---|---|---|
| Index | Float | Index of the child node which shall be active. |
| Operation Mode | Enum (MultipleNodes, SingleNode) | When set to MultipleNodes, EnableChildNodes will enable the first N children of Group Node. When Operation Mode is set to SingleNode, only the Nth node is enabled. |
| Levels | UInt8 | Number of levels to step down through groups. Default is zero. |
| Normalize Value | Bool | If set to true, the received value has to be between 0 and 1 and will be mapped to the number of children. Otherwise the value has to be the index of the child. |
| Target Node | Node 2D* | The node which switches child nodes. If not set, then the node where the behavior is attached to, will modified its children. |
Set Text
See also
Set Image, Set Color, Set Control State
Description
Sets/Changes the text of a TextNode.
Example Usage
Common Properties
| Property Name | Type | Description |
|---|---|---|
| Property Reference | Enum (Self, Other) | Choose how the property gets set. Via own property or from another Behavior. |
| Text | String | The text that will be set to the Text Node. |
| Target Node | AbstractNodePointer | The Node which gets the given text. If not set, then the node where the behavior is attached to, will be modified. |
Advanced Properties
| Property Name | Type | Description |
|---|---|---|
| Property Provider | Behavior * | Property Behavior which contains the color which has to be set on the effect. |
Set Text Style
Description
An Action Behavior that sends change style action. It allows to control the style of text Nodes.
Common Properties
| Property Name | Type | Description |
|---|---|---|
| Target Node | TargetNodeType | The Node which gets the given text. If not set, then the node where the behavior is attached to, will be modified. |
| Style | StyleType | The Style that will be set to the Text Node. |
Enable Rendering
Description
If invoked by a TriggerBehavior, changes the visibility of a node.
Example Usage
Common Properties
| Property Name | Type | Description |
|---|---|---|
| Visible | Bool | According to this value, the affected node gets rendered or not. |
| Target Node | AbstractNodePointer | The node which gets the visibility flag. If not set, then the node where the behavior is attached to, will be modified. |
Send Value Changed As Event
Description
Sends out a new value. Associated controls with a value property receive the new value.
Example Usage
Common Properties
| Property Name | Type | Description |
|---|---|---|
| Target Node | AbstractNodePointer | The target node to which the events are routed from the source node. If this property is not set, the event will be routed to the node of the behavior. |
Send Scrollable Event
Description
Enables scrolling a scrollable behavior (e.g. a ListBehavior) to a specific target position that is specified by the scrolling Type and the Value.
Common Properties
| Property Name | Type | Description |
|---|---|---|
| Direction | ScrollDirection::Enum | The direction in which the scroll should be performed. |
| Type | ScrollableEventType::Enum | The scrolling type. It can be either relative or absolute scrolling in combination of being either itemwise or pagewise scrolling. |
| Value | FeatStd::Float | The number of items or pages scrolled to. |
| Animated | Bool | If set, the scrolling will be animated. Otherwise, the scrollable behavior will imediatelly jump to the target position. |
Streaming Action Behaviors
Configure and Play Stream
Description
Starts, stops, pauses, resumes video streams by emitting an VideoControl Event. These Events can be received by Video Stream Behaviors.
Common Properties
| Property Name | Type | Description |
|---|---|---|
| Action | VideoControl::Enum | The action that will be executed on the stream. Options are Play, Replay, Pause, Resume, Stop. |
| EventDispatchStrategy | CgiStudioControl::EventDispatchStrategyType::Enum | The strategy in which the event is sent. Options are Direct, Broadcast, Bubble, Tunnel, DedicatedBehavior. |
| TargetNode | Candera::AbstractNodePointer | The node which receives the event. If not set, then the node where the behavior is attached to, will receive it. |
| DedicatedBehavior | Candera::Behavior* | A dedicated behavior that will receive the event, in case DedicatedBehavior EventDispatchStrategy is selected. |
Transition Action Behaviors
Perform Transition Requests
See also
Description
Used to execute transitions via TransitionRequestBehaviors.
Example Usage
Common Properties
| Property Name | Type | Description |
|---|---|---|
| Requests | ArrayProperty<TransitionRequestBehavior *> | The first TransitionRequestBehavior in the request-set. |
| Variant | String | Default Variant which will be used for attached Requests. Not that Requests can also have their own Variant. |
Transition Request
Description
Used to specify whether a node should be activated or deactivated by the transition framework when the associated TransitionActionBehavior is triggered.
Example Usage
Common Properties
| Property Name | Type | Description |
|---|---|---|
| RequestType | CgiStudioControl::TransitionRequestType::Enum | Whether a node should be Activated or Deactivated by the transition. Currently running transitions on a node can be ended using the Finish transition type. |
| Variant | FeatStd::String | Variant which will be used for this Request. |
| Identifier | Candera::Transitions::Identifier | The Node or Scene that will be subject to the transition. |
Set Culture
Description
Action Behavior which activates a culture based on its 'locale' value.
Common Properties
| Property Name | Type | Description |
|---|---|---|
| Locale | FeatStd::String | Locale of a culture. Invoking the action will set the culture active. |