Expression binding source collects expression value sources and executes operations on the values to produce a read result. More...
#include <kanzi/core.ui/binding/expression_binding_source.hpp>
Public Types | |
typedef vector< BindingExpressionOpCode > | BindingOperationContainer |
Container for binding expressions. More... | |
typedef vector< AbstractExpressionValueSourceSharedPtr > | ValueSourceContainer |
Container for expression value source create info. More... | |
Public Member Functions | |
BindingOperationContainer::iterator | beginBindingOperations () |
Gets an iterator to the beginning of binding operations. More... | |
BindingOperationContainer::const_iterator | beginBindingOperations () const |
Gets an iterator to the beginning of binding operations. More... | |
ValueSourceContainer::const_iterator | beginDataSources () const |
Gets an iterator to the beginning of create infos for data source expression value sources. More... | |
AbstractBinding::BindingProcessorContainer::iterator | beginOperationProcessors () |
Gets an iterator to the beginning of binding operation processors. More... | |
AbstractBinding::BindingProcessorContainer::const_iterator | beginOperationProcessors () const |
Gets an iterator to the beginning of binding operation processors. More... | |
ValueSourceContainer::const_iterator | beginValueSources () const |
Gets an iterator to the beginning of create infos for expression value sources. More... | |
BindingOperationContainer::iterator | endBindingOperations () |
Gets an iterator to the end of binding operations. More... | |
BindingOperationContainer::const_iterator | endBindingOperations () const |
Gets an iterator to the end of binding operations. More... | |
ValueSourceContainer::const_iterator | endDataSources () const |
Gets an iterator to the end of create infos for data source expression value sources. More... | |
AbstractBinding::BindingProcessorContainer::iterator | endOperationProcessors () |
Gets an iterator to the end of binding operation processors. More... | |
AbstractBinding::BindingProcessorContainer::const_iterator | endOperationProcessors () const |
Gets an iterator to the end of binding operation processors. More... | |
ValueSourceContainer::const_iterator | endValueSources () const |
Gets an iterator to the end of create infos for expression value sources. More... | |
Variant * | getTemporaryRegister (size_t idx) |
Accesses temporary register. More... | |
const Variant * | getTemporaryRegister (size_t idx) const |
Accesses temporary register. More... | |
bool | hasFixedOperations () const |
Tells if the source contains fixed operations. More... | |
bool | isCurrentValueRequired () const |
Tells if current value is required. More... | |
Variant * | resolveRegister (BindingExpressionArgumentType argumentType) |
Resolve register by index. More... | |
Public Member Functions inherited from kanzi::BindingSource | |
BindingSourceRuntimePtr | createRuntime (BindingLookupContextPtr lookupContext) |
Creates binding source runtime. More... | |
virtual | ~BindingSource () |
Destructor. More... | |
Static Public Member Functions | |
static BindingSourcePtr | create (const BindingOperationContainer operations, const AbstractBinding::BindingProcessorContainer operationProcessors, const ValueSourceContainer &valueSources, const ValueSourceContainer &dataSources, const vector< Variant > &constantRegisters, size_t temporaryCount) |
Creates an expression binding source. More... | |
static BindingSourcePtr | create (const BindingOperationContainer operations, const ValueSourceContainer &valueSources, const ValueSourceContainer &dataSources, const vector< Variant > &constantRegisters, size_t temporaryCount) |
Creates an expression binding source. More... | |
static BindingSourcePtr | create (const BindingOperationContainer operations, const ValueSourceContainer &valueSources, const vector< Variant > &constantRegisters, size_t temporaryCount) |
Creates an expression binding source. More... | |
static BindingSourcePtr | create (string_view path, AbstractPropertyType propertyType, PropertyField field) |
Creates an object property binding source. More... | |
Protected Member Functions | |
BindingSourceRuntimePtr | createRuntimeOverride (BindingLookupContextPtr lookupContext) override |
BindingSource::createRuntime implementation. More... | |
ExpressionBindingSource (const BindingOperationContainer operations, const AbstractBinding::BindingProcessorContainer operationProcessors, const ValueSourceContainer &valueSources, const ValueSourceContainer &dataSources, const vector< Variant > &constantRegisters, size_t temporaryCount) | |
Constructor. More... | |
Protected Member Functions inherited from kanzi::BindingSource | |
BindingSource () | |
Constructor. More... | |
Protected Attributes | |
ValueSourceContainer | m_dataSources |
Data source expression value sources. More... | |
bool | m_hasFixedOperations |
Tells whether or not the binding contains fixed operations. More... | |
bool | m_isCurrentValueRequired |
Tells if current value is required. More... | |
AbstractBinding::BindingProcessorContainer | m_operationProcessors |
Binding operation processors that you can refer to from individual binding ops. More... | |
BindingOperationContainer | m_operations |
Binding operations. More... | |
vector< Variant > | m_registers [2] |
Registers for the expression binding source. More... | |
ValueSourceContainer | m_valueSources |
Expression value sources. More... | |
Expression binding source collects expression value sources and executes operations on the values to produce a read result.
typedef vector<AbstractExpressionValueSourceSharedPtr> kanzi::ExpressionBindingSource::ValueSourceContainer |
Container for expression value source create info.
Container for binding expressions.
|
protected |
Constructor.
operations | Binding operations. |
operationProcessors | Binding processors for the binding operations. |
valueSources | Binding expression value sources for the expression binding source. |
dataSources | Binding expression data sources for the expression binding source. |
constantRegisters | Constant registers. |
temporaryCount | Number of temporary registers. |
|
static |
Creates an expression binding source.
operations | Binding operations. |
operationProcessors | Binding processors for the binding operations. |
valueSources | Binding expression value sources for the expression binding source. |
dataSources | Binding expression data sources for the expression binding source. |
constantRegisters | Constant registers. |
temporaryCount | Number of temporary registers. |
|
inlinestatic |
Creates an expression binding source.
No operation binding processors are specified.
operations | Binding operations. |
valueSources | Binding expression value sources for the expression binding source. |
dataSources | Binding expression data sources for the expression binding source. |
constantRegisters | Constant registers. |
temporaryCount | Number of temporary registers. |
|
inlinestatic |
Creates an expression binding source.
No operation binding processors or data sources are specified.
operations | Binding operations. |
valueSources | Binding expression value sources for the expression binding source. |
constantRegisters | Constant registers. |
temporaryCount | Number of temporary registers. |
|
static |
Creates an object property binding source.
Creates one WRITE directive.
path | Path to object. |
propertyType | Property type to listen to. |
field | Property field to read. |
|
inline |
Gets an iterator to the beginning of create infos for expression value sources.
|
inline |
Gets an iterator to the end of create infos for expression value sources.
|
inline |
Gets an iterator to the beginning of create infos for data source expression value sources.
|
inline |
Gets an iterator to the end of create infos for data source expression value sources.
|
inline |
Gets an iterator to the beginning of binding operations.
|
inline |
Gets an iterator to the beginning of binding operations.
|
inline |
Gets an iterator to the end of binding operations.
|
inline |
Gets an iterator to the end of binding operations.
|
inline |
Gets an iterator to the beginning of binding operation processors.
|
inline |
Gets an iterator to the beginning of binding operation processors.
|
inline |
Gets an iterator to the end of binding operation processors.
|
inline |
Gets an iterator to the end of binding operation processors.
|
inline |
Accesses temporary register.
idx | Index. |
|
inline |
Accesses temporary register.
idx | Index. |
|
inline |
Tells if current value is required.
If current value is required, the binding can only be executed when the value has been provided.
|
inline |
Tells if the source contains fixed operations.
Fixed operations imply manual execution, and will not trigger the binding when source value changes.
Variant* kanzi::ExpressionBindingSource::resolveRegister | ( | BindingExpressionArgumentType | argumentType | ) |
Resolve register by index.
argumentType | Argument to resolve. |
|
overrideprotectedvirtual |
BindingSource::createRuntime implementation.
Implements kanzi::BindingSource.
|
protected |
Binding operations.
|
protected |
Binding operation processors that you can refer to from individual binding ops.
This is separate from the normal binding processors.
|
protected |
Registers for the expression binding source.
Index 0 are the temporary registers, index 1 are the constant registers.
|
protected |
Expression value sources.
|
protected |
Data source expression value sources.
|
protected |
Tells if current value is required.
|
protected |
Tells whether or not the binding contains fixed operations.