Struct DataTrigger
pub struct DataTrigger(/* private fields */);Expand description
Use a DataTrigger to apply an action to either set a property value of a target node or activate an Activity node. A DataTrigger keeps that action applied for as long as the condition in that DataTrigger is met. When the condition in that DataTrigger is no longer met, Kanzi reverts the changes that it applied using that DataTrigger. Note that in a DataTrigger you can use only ApplyAction actions: ApplyActivationAction and ApplyPropertyAction.
You set the condition in a DataTrigger in the form of a binding expression that evaluates to either true or false. In the condition you can use as an input either a property or a data source.
For example, you can use a DataTrigger to control the logic and activation state of Activity nodes in Activity Host nodes using ApplyAction actions.
ApplyAction actions of a DataTrigger have higher priority than the actions of any other Trigger. For example, if you use a DataTrigger with an ApplyPropertyAction that sets the DataDrivenExclusiveActivityHostConcept::ActiveActivityIndexProperty to some value and any other Trigger with a SetPropertyAction that sets that same property to a different value, the effect of the SetPropertyAction becomes visible only after Kanzi unapplies the ApplyPropertyAction.
§Examples
To use a DataTrigger to control the activation of an Activity node with an ApplyActivationAction:
To use a DataTrigger to set the value of a property with an ApplyPropertyAction when a condition in a DataTrigger is met:
Implementations§
§impl DataTrigger
impl DataTrigger
Methods from Deref<Target = DataTriggerComponent>§
pub fn get_condition_expression(&self) -> Result<KanziString, Error>
pub fn get_condition_expression(&self) -> Result<KanziString, Error>
Methods from Deref<Target = NodeComponent>§
pub fn get_name(&self) -> Result<KanziString, Error>
pub fn get_name(&self) -> Result<KanziString, Error>
See: NAME_PROPERTY
pub fn get_node(&self) -> Result<Option<Weak<Node>>, Error>
pub fn get_node(&self) -> Result<Option<Weak<Node>>, Error>
Returns the node the node component is attached to
or None if node component is not attached to a node.
pub fn get_state(&self) -> Result<NodeComponentState, Error>
pub fn get_state(&self) -> Result<NodeComponentState, Error>
Gets the state of node component indicating if component is attached to a node, detached from any node or in process of attaching/detaching.
Methods from Deref<Target = Object>§
pub fn as_ptr(&self) -> *mut ObjectWrapper
pub fn as_wrapper(&self) -> &ObjectWrapper
pub fn as_object(&self) -> &Object
pub fn as_object(&self) -> &Object
Represents any type inheriting from Object as &Object.
This is useful for comparisions when PartialEq traits failed to compare objects of
different types.
let child = screen.get_child(0)?;
let parent = child.get_parent()?.into_error(ErrorKind::ObjectNotFound)?;
// assert_eq!(screen, parent); // <- Fails to compile!
assert_eq!(screen.as_object(), parent.as_object());pub fn get_native(&self) -> Result<NonNull<c_void>, Error>
pub fn get_native(&self) -> Result<NonNull<c_void>, Error>
Gets a pointer to the backing C++ instance.
pub fn get_property<T>(
&self,
property_type: &PropertyType<T>,
) -> Result<<T as VariantConstraint>::RetArg, Error>where
T: PropertyTypeConstraint,
pub fn get_property<T>(
&self,
property_type: &PropertyType<T>,
) -> Result<<T as VariantConstraint>::RetArg, Error>where
T: PropertyTypeConstraint,
Returns the current value of a property disregarding modifiers.
Base value is affected by the following inputs where the highest entry in the list determines the base value:
- Local value set with setProperty or loaded from kzb
- Value set by a style affecting the property.
- Value defined by class metadata.
Modifiers are not applied, the highest-priority base value is returned.
If no inputs to the property value can be established the system returns the value default value from property type metadata.
§Arguments
property_type- The property type identifying the property to retrieve.
§Returns
The evaluated property value.
pub fn get_optional_property<T>(
&self,
property_type: &PropertyType<T>,
) -> Result<Option<<T as VariantConstraint>::RetArg>, Error>where
T: PropertyTypeConstraint,
pub fn get_optional_property<T>(
&self,
property_type: &PropertyType<T>,
) -> Result<Option<<T as VariantConstraint>::RetArg>, Error>where
T: PropertyTypeConstraint,
Returns the current value of a property disregarding modifiers, but does not default to the value in property metadata if there are no inputs to the property value.
If there is no value sources, None is returned.
If no inputs to the property value can be established the system returns the value default value from property type metadata.
§Arguments
property_type- The property type identifying the property to retrieve.
§Returns
The evaluated property value.
pub fn set_property<T>(
&self,
property_type: &PropertyType<T>,
value: <T as VariantConstraint>::DataArg<'_>,
) -> Result<(), Error>where
T: PropertyTypeConstraint,
pub fn set_property<T>(
&self,
property_type: &PropertyType<T>,
value: <T as VariantConstraint>::DataArg<'_>,
) -> Result<(), Error>where
T: PropertyTypeConstraint,
Sets the local value of a property type.
pub fn has_value<T>(
&self,
property_type: &PropertyType<T>,
) -> Result<bool, Error>where
T: PropertyTypeConstraint,
pub fn has_value<T>(
&self,
property_type: &PropertyType<T>,
) -> Result<bool, Error>where
T: PropertyTypeConstraint,
Evaluates whether there are any inputs into the property value. Both value sources and modifiers are taken into account.
§Returns
Returns true if there are inputs into the property value, false otherwise.
pub fn remove_local_value<T>(
&self,
property_type: &PropertyType<T>,
) -> Result<(), Error>where
T: PropertyTypeConstraint,
pub fn remove_local_value<T>(
&self,
property_type: &PropertyType<T>,
) -> Result<(), Error>where
T: PropertyTypeConstraint,
Removes the local value associated with the property.
pub fn get_metaclass(&self) -> Result<Metaclass, Error>
pub fn get_metaclass(&self) -> Result<Metaclass, Error>
Returns the metaclass of the dynamic type of the object.
pub fn get_domain(&self) -> Result<Domain, Error>
pub fn get_domain(&self) -> Result<Domain, Error>
Returns the domain the object belongs to.
pub fn set_flag_keep_during_patching<T>(
&self,
property_type: &PropertyType<T>,
) -> Result<(), Error>where
T: PropertyTypeConstraint,
pub fn set_flag_keep_during_patching<T>(
&self,
property_type: &PropertyType<T>,
) -> Result<(), Error>where
T: PropertyTypeConstraint,
Sets the flag to indicate that the property was loaded from KZB.
pub fn debug_string(&self) -> Result<String, Error>
pub fn debug_string(&self) -> Result<String, Error>
Builds a string representation of the object intended for debugging purposes.
Trait Implementations§
§impl Clone for DataTrigger
impl Clone for DataTrigger
§fn clone(&self) -> DataTrigger
fn clone(&self) -> DataTrigger
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl ConcreteObjectConstraint for DataTrigger
impl ConcreteObjectConstraint for DataTrigger
§impl Debug for DataTrigger
impl Debug for DataTrigger
§impl Deref for DataTrigger
impl Deref for DataTrigger
§type Target = DataTriggerComponent
type Target = DataTriggerComponent
§fn deref(&self) -> &<DataTrigger as Deref>::Target
fn deref(&self) -> &<DataTrigger as Deref>::Target
§impl Inheritable for DataTrigger
impl Inheritable for DataTrigger
§unsafe fn downcast_unchecked<T>(self) -> Twhere
T: Inherits<Self>,
unsafe fn downcast_unchecked<T>(self) -> Twhere
T: Inherits<Self>,
§unsafe fn downcast_unchecked_ref<T>(&self) -> &Twhere
T: Inherits<Self>,
unsafe fn downcast_unchecked_ref<T>(&self) -> &Twhere
T: Inherits<Self>,
§impl Inherits<DataTriggerComponent> for DataTrigger
impl Inherits<DataTriggerComponent> for DataTrigger
fn upcast(self) -> Base
fn upcast_ref(&self) -> &Base
§impl Inherits<NodeComponent> for DataTrigger
impl Inherits<NodeComponent> for DataTrigger
fn upcast(self) -> Base
fn upcast_ref(&self) -> &Base
§impl Inherits<Object> for DataTrigger
impl Inherits<Object> for DataTrigger
fn upcast(self) -> Base
fn upcast_ref(&self) -> &Base
§impl MetaclassConstraint for DataTrigger
impl MetaclassConstraint for DataTrigger
§fn get_static_metaclass() -> &'static Metaclass
fn get_static_metaclass() -> &'static Metaclass
§impl ObjectConstraint for DataTrigger
impl ObjectConstraint for DataTrigger
§fn downcast<T>(self) -> Result<Option<T>, Error>where
T: MetaInherits<Self>,
fn downcast<T>(self) -> Result<Option<T>, Error>where
T: MetaInherits<Self>,
§fn downcast_ref<T>(&self) -> Result<Option<&T>, Error>where
T: MetaInherits<Self>,
fn downcast_ref<T>(&self) -> Result<Option<&T>, Error>where
T: MetaInherits<Self>,
§fn is_a<T>(&self) -> Result<bool, Error>where
T: MetaInherits<Self>,
fn is_a<T>(&self) -> Result<bool, Error>where
T: MetaInherits<Self>,
fn downgrade(self) -> Weak<Self>
fn downgrade_ref(&self) -> Weak<Self>
fn lock(self) -> ThreadObject<Self>
fn lock_ref(&self) -> ThreadObject<Self>
§impl<T> PartialEq<T> for DataTriggerwhere
T: ObjectConstraint,
impl<T> PartialEq<T> for DataTriggerwhere
T: ObjectConstraint,
§impl<T> PartialEq<Weak<T>> for DataTriggerwhere
T: ObjectConstraint,
impl<T> PartialEq<Weak<T>> for DataTriggerwhere
T: ObjectConstraint,
impl Eq for DataTrigger
Auto Trait Implementations§
impl Freeze for DataTrigger
impl RefUnwindSafe for DataTrigger
impl !Send for DataTrigger
impl !Sync for DataTrigger
impl Unpin for DataTrigger
impl UnwindSafe for DataTrigger
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit)