macro_rules! impl_untyped_binding_expression {
($ty:ty) => { ... };
}Expand description
Implements the value entry, disposable and binding expression traits for
a type that implements UntypedBindingExpression: what makes the type
a binding expression class deriving from
UntypedBindingExpressionBase.
The type holds the base (UntypedBindingExpressionBase::new(this, ..),
created with Rc::new_cyclic so that the base knows its expression),
returns it from UntypedBindingExpression::base, and overrides
description, start_core, stop_core and, where needed, the other
members of that trait. It can be defined in any crate:
ⓘ
pub struct ConstantExpression { base: UntypedBindingExpressionBase, value: BoxedValue }
impl UntypedBindingExpression for ConstantExpression {
fn base(&self) -> &UntypedBindingExpressionBase { &self.base }
fn description(&self) -> String { "Constant".to_string() }
fn start_core(&self) { self.base.publish_value(Publish::Value(Some(self.value.clone())), None, false) }
fn stop_core(&self) {}
}
ferroui_base::impl_untyped_binding_expression!(ConstantExpression);