Kanzi  3.9.4
Kanzi Engine API
kanzi::TypedValueSourceBindingTargetRuntime< T > Class Template Reference

Specialized binding target for value sources where the binding target itself is the value source. More...

#include <kanzi/core.ui/binding/typed_value_source_binding_target_runtime.hpp>

Inheritance diagram for kanzi::TypedValueSourceBindingTargetRuntime< T >:
[legend]

Public Member Functions

PropertyTypeDescriptor< T >::TypedValueSource * getValueSource ()
 Returns a pointer to a value source. More...
 
const PropertyTypeDescriptor< T >::TypedValueSource * getValueSource () const
 Returns a pointer to a value source. More...
 
 ~TypedValueSourceBindingTargetRuntime () override
 Destructor. More...
 
- Public Member Functions inherited from kanzi::ValueSourceBindingTargetRuntime
void clearValueSourceOwner ()
 Clears the value source owner. More...
 
PropertyValuePrecedence getPrecedence () const
 Gets value source precedence. More...
 
PropertyField getPropertyField () const
 Gets a property field. More...
 
AbstractPropertyType getPropertyType () const
 Gets a property type. More...
 
bool hasValueSourceOwner () const
 Indicates whether this target runtime still has a value source owner. More...
 
- Public Member Functions inherited from kanzi::BindingTargetRuntime
void attachForRead ()
 Attaches the binding target runtime for reading. More...
 
void attachForWrite ()
 Attaches the binding target runtime for writing. More...
 
BindingProcessorRuntimeConstIterator beginProcessorRuntimes () const
 Gets an iterator to the beginning of binding processor runtimes. More...
 
void createBindingProcessorsRuntimes (const AbstractBinding &binding)
 Creates a processor runtime for each BindingProcessor held by the binding parameter. More...
 
void detach ()
 Detaches binding target runtime. More...
 
BindingProcessorRuntimeConstIterator endProcessorRuntimes () const
 Gets an iterator to the end of binding processor runtimes. More...
 
AbstractBindingRuntimegetBindingRuntime () const
 Gets the binding runtime. More...
 
BindingLookupContextgetLookupContext () const
 Accesses target lookup context. More...
 
bool isConnected ()
 Indicates whether this source is connected. More...
 
bool read (Variant &value)
 Reads a value from the binding target. More...
 
void setBindingRuntime (AbstractBindingRuntime &bindingRuntime)
 Sets the binding runtime. More...
 
bool write (const Variant &value)
 Writes a value to the binding target. More...
 
virtual ~BindingTargetRuntime ()=default
 Destructor. More...
 

Static Public Member Functions

static BindingTargetRuntimePtr create (BindingLookupContextPtr lookupContext, AbstractPropertyType propertyType, PropertyField field, PropertyValuePrecedence precedence, bool reuseAllowed)
 Create a typed value source binding target runtime. More...
 
- Static Public Member Functions inherited from kanzi::ValueSourceBindingTargetRuntime
static BindingTargetRuntimePtr create (BindingLookupContextPtr lookupContext, AbstractPropertyType propertyType, PropertyField field, PropertyValuePrecedence precedence, bool reuseAllowed)
 Creates a value source binding target runtime without an actual binding target. More...
 

Protected Types

using ObjectPropertyListenerType = ObjectPropertyListenerImpl< T, PropertyObject *, PropertyObject & >
 Type name for object property listener. More...
 

Protected Member Functions

void attachForReadOverride () override
 BindingTargetRuntime::attachForReadOverride() implementation. More...
 
void attachForWriteOverride () override
 BindingTargetRuntime::attachForWriteOverride() implementation. More...
 
void attachValueSource (bool reuseAllowed)
 Attaches the value source owner. More...
 
void detachOverride () override
 BindingTargetRuntime::detachOverride() implementation. More...
 
void detachValueSource ()
 Detaches the value source installed by this value source binding target runtime. More...
 
T getInitialValue () const
 Gets the initial value of a property type. More...
 
bool isConnectedOverride () override
 BindingTargetRuntime::isConnectedOverride() implementation. More...
 
void localPropertyChange () override
 ObjectPropertyListenerImpl::localPropertyChange() implementation. More...
 
bool readOverride (Variant &value) override
 BindingTargetRuntime::readOverride() implementation. More...
 
 TypedValueSourceBindingTargetRuntime (BindingLookupContextPtr lookupContext, AbstractPropertyType propertyType, PropertyField field, PropertyValuePrecedence precedence, bool reuseAllowed)
 Constructor. More...
 
bool writeOverride (const Variant &value) override
 BindingTargetRuntime::writeOverride() implementation. More...
 
- Protected Member Functions inherited from kanzi::ValueSourceBindingTargetRuntime
 ValueSourceBindingTargetRuntime (BindingLookupContextPtr lookupContext, AbstractPropertyType propertyType, PropertyField field, PropertyValuePrecedence precedence)
 Constructor. More...
 
- Protected Member Functions inherited from kanzi::BindingTargetRuntime
 BindingTargetRuntime (BindingLookupContextPtr lookupContext)
 Constructor. More...
 
- Protected Member Functions inherited from kanzi::ObjectPropertyListenerImpl< T, PropertyObject *, PropertyObject &>
void attachLocalPropertyListener (PropertyObject & object, AbstractPropertyType propertyType)
 Installs local property listener. More...
 
void clearLocalPropertyListener ()
 Clears the property listener object. More...
 
void detachLocalPropertyListener (AbstractPropertyType propertyType)
 Uninstalls local property listener. More...
 
PropertyObjectgetLocalPropertyListenerObject () const
 Gets the property object with a local property listener installed. More...
 
bool isLocalPropertyListenerInstalled () const
 Tells whether a local property listener has been installed. More...
 
 ObjectPropertyListenerImpl ()=default
 Constructor. More...
 
 ~ObjectPropertyListenerImpl ()
 Destructor. More...
 

Protected Attributes

PropertyTypeDescriptor< T >::TypedValueSource m_valueSource
 Value source. More...
 
- Protected Attributes inherited from kanzi::ValueSourceBindingTargetRuntime
PropertyField m_field
 Property field to use. More...
 
bool m_localReadListenerRequested
 Indicates whether the local read listener is requested. More...
 
PropertyObjectm_object
 Object the value source is installed to. More...
 
PropertyValuePrecedence m_precedence
 Precedence to use. More...
 
AbstractPropertyType m_propertyType
 Property type to use. More...
 
AbstractPropertyTypeDescriptor::ValueSourceOwnerm_valueSourceOwner
 Owner for the binding value source this runtime installs. More...
 
- Protected Attributes inherited from kanzi::BindingTargetRuntime
AbstractBindingRuntimem_bindingRuntime
 Abstract binding runtime for this target. More...
 
BindingLookupContextPtr m_lookupContext
 Binding lookup context for wherever this binding target runtime is attached to. More...
 
BindingProcessorRuntimeContainer m_processorRuntimes
 Binding processors runtimes (for the target, backward direction). More...
 
- Protected Attributes inherited from kanzi::ObjectPropertyListenerImpl< T, PropertyObject *, PropertyObject &>
PropertyObjectm_localPropertyListenerObject
 The object to which the local property listener has been installed. More...
 

Additional Inherited Members

- Public Types inherited from kanzi::BindingTargetRuntime
using BindingProcessorRuntimeConstIterator = BindingProcessorRuntimeContainer::const_iterator
 Binding processor iterator type. More...
 
using BindingProcessorRuntimeContainer = vector< BindingProcessorRuntimePtr >
 Binding processor container type. More...
 
- Static Protected Member Functions inherited from kanzi::ObjectPropertyListenerImpl< T, PropertyObject *, PropertyObject &>
static void localPropertyChangeCallback (PropertyObject &, const T &, PropertyNotificationReason reason, void *userData)
 Property change callback for object property. More...
 

Detailed Description

template<typename T>
class kanzi::TypedValueSourceBindingTargetRuntime< T >

Specialized binding target for value sources where the binding target itself is the value source.

Since
Kanzi 3.7.0

Member Typedef Documentation

◆ ObjectPropertyListenerType

Type name for object property listener.

Constructor & Destructor Documentation

◆ ~TypedValueSourceBindingTargetRuntime()

Destructor.

◆ TypedValueSourceBindingTargetRuntime()

template<typename T >
kanzi::TypedValueSourceBindingTargetRuntime< T >::TypedValueSourceBindingTargetRuntime ( BindingLookupContextPtr  lookupContext,
AbstractPropertyType  propertyType,
PropertyField  field,
PropertyValuePrecedence  precedence,
bool  reuseAllowed 
)
inlineprotected

Constructor.

Parameters
lookupContextBinding lookup context to use.
propertyTypeProperty type to use.
fieldProperty field to use.
precedencePrecedence to use.
reuseAllowedIs reuse of the installed value source allowed by other functionality, such as setProperty?

Member Function Documentation

◆ create()

template<typename T >
static BindingTargetRuntimePtr kanzi::TypedValueSourceBindingTargetRuntime< T >::create ( BindingLookupContextPtr  lookupContext,
AbstractPropertyType  propertyType,
PropertyField  field,
PropertyValuePrecedence  precedence,
bool  reuseAllowed 
)
inlinestatic

Create a typed value source binding target runtime.

Parameters
lookupContextBinding lookup context to use.
propertyTypeProperty type to use.
fieldProperty field to use.
precedencePrecedence to use.
reuseAllowedIs reuse of the installed value source allowed by other functionality, such as setProperty?
Returns
The created typed value source binding target runtime.

◆ getValueSource() [1/2]

template<typename T >
PropertyTypeDescriptor<T>::TypedValueSource* kanzi::TypedValueSourceBindingTargetRuntime< T >::getValueSource ( )
inline

Returns a pointer to a value source.

Returns
Pointer to the value source.

◆ getValueSource() [2/2]

template<typename T >
const PropertyTypeDescriptor<T>::TypedValueSource* kanzi::TypedValueSourceBindingTargetRuntime< T >::getValueSource ( ) const
inline

Returns a pointer to a value source.

Returns
Pointer to the value source.

◆ attachForReadOverride()

template<typename T >
void kanzi::TypedValueSourceBindingTargetRuntime< T >::attachForReadOverride ( )
inlineoverrideprotectedvirtual

◆ attachForWriteOverride()

template<typename T >
void kanzi::TypedValueSourceBindingTargetRuntime< T >::attachForWriteOverride ( )
inlineoverrideprotectedvirtual

◆ detachOverride()

template<typename T >
void kanzi::TypedValueSourceBindingTargetRuntime< T >::detachOverride ( )
inlineoverrideprotectedvirtual

◆ isConnectedOverride()

template<typename T >
bool kanzi::TypedValueSourceBindingTargetRuntime< T >::isConnectedOverride ( )
inlineoverrideprotectedvirtual

◆ readOverride()

template<typename T >
bool kanzi::TypedValueSourceBindingTargetRuntime< T >::readOverride ( Variant value)
inlineoverrideprotectedvirtual

◆ writeOverride()

template<typename T >
bool kanzi::TypedValueSourceBindingTargetRuntime< T >::writeOverride ( const Variant value)
inlineoverrideprotectedvirtual

◆ localPropertyChange()

template<typename T >
void kanzi::TypedValueSourceBindingTargetRuntime< T >::localPropertyChange ( )
inlineoverrideprotectedvirtual

◆ attachValueSource()

template<typename T >
void kanzi::TypedValueSourceBindingTargetRuntime< T >::attachValueSource ( bool  reuseAllowed)
inlineprotected

Attaches the value source owner.

Initial value is the topmost value source value prior to attachment.

Parameters
reuseAllowedIs reuse of the installed value source allowed by other functionality, such as setProperty?

◆ detachValueSource()

template<typename T >
void kanzi::TypedValueSourceBindingTargetRuntime< T >::detachValueSource ( )
inlineprotected

Detaches the value source installed by this value source binding target runtime.

If value source is not installed, this function does not do anything.

◆ getInitialValue()

template<typename T >
T kanzi::TypedValueSourceBindingTargetRuntime< T >::getInitialValue ( ) const
inlineprotected

Gets the initial value of a property type.

If node is not available, uses either node fetch or object.

Returns
Value to use as an initial value for the value source.

Member Data Documentation

◆ m_valueSource

template<typename T >
PropertyTypeDescriptor<T>::TypedValueSource kanzi::TypedValueSourceBindingTargetRuntime< T >::m_valueSource
protected

Value source.


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