All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
kanzi::Style Class Reference

Style applying properties, triggers and bindings to nodes. More...

#include <kanzi/style/style.hpp>

Inheritance diagram for kanzi::Style:
kanzi::Resource kanzi::Object

Public Types

typedef vector< TriggerSharedPtrTriggerContainer
 
typedef
TriggerContainer::const_iterator 
TriggerIterator
 
typedef vector< BindingSharedPtrBindingContainer
 
typedef
BindingContainer::const_iterator 
BindingIterator
 
typedef vector< Node * > NodeContainer
 
typedef
NodeContainer::const_iterator 
NodeIterator
 
typedef
NodeContainer::reverse_iterator 
NodeReverseIterator
 
typedef vector< Object * > ObjectContainer
 
typedef
ObjectContainer::const_iterator 
ObjectIterator
 
typedef
ObjectContainer::reverse_iterator 
ObjectReverseIterator
 
typedef unordered_map< const
KzuPropertyType *, void * > 
PropertyContainer
 
typedef
PropertyContainer::const_iterator 
PropertyIterator
 
typedef pair< const
KzuPropertyType *, void * > 
PropertyPair
 

Public Member Functions

virtual ~Style () KZ_OVERRIDE
 
void loadFromKZB (KzcInputStream *inputStream, const KzuBinaryFileInfo *file)
 Load a style from kzb. More...
 
PropertyIterator getPropertiesBegin ()
 Get the properties of a style. More...
 
PropertyIterator getPropertiesEnd ()
 
void * getValueSource (const KzuPropertyType *propertyType)
 Get value source for a property type. More...
 
void setPrecedence (KzuPropertyValuePrecedence precedence)
 Set style properties precedence. More...
 
- Public Member Functions inherited from kanzi::Resource
KzcMemoryManagergetMemoryManager () const
 
 Resource (Domain *domain, string_view name)
 
virtual ~Resource ()
 
virtual void loadFromKZB (const KzuResourceLoaderThreadContext *threadContext, KzcInputStream *inputStream, const KzuBinaryFileInfo *file)
 Function for loading the resource from .KZB. More...
 
virtual void finishLoadingOverride (const KzuResourceLoaderThreadContext *threadContext)
 Function for finishing the loading of the resource. More...
 
virtual void unloadOverride ()
 Unload function for resource. More...
 
virtual kzUint getCPUMemoryUsage () const
 Function for getting the memory usage of a resource. More...
 
void setKZB (const KzuBinaryDirectory *binaryDirectory, kzString path)
 
void setLoaded ()
 
kzString getName () const
 Accessor. More...
 
void load ()
 
void unload ()
 
bool isLoaded () const
 
void kzuResourceLoad_private (const KzuResourceLoaderThreadContext *threadContext)
 Private function for kzuResourceLoad() with specified thread context. More...
 
void kzuResourceFinishLoading_private (const KzuResourceLoaderThreadContext *threadContext)
 Private function for finishing the loading of the resource. More...
 
KzuResourceLoadingStrategy getLoadingStrategy () const
 
void setLoadingStrategy (KzuResourceLoadingStrategy loadingStrategy)
 
bool getKeepAlive () const
 Tells if the resource has keep alive flag set. More...
 
void setKeepAlive (bool keepAlive)
 Sets the keep alive flag. More...
 
- Public Member Functions inherited from kanzi::Object
 Object (Domain *domain)
 
virtual ~Object ()
 
DomaingetDomain () const
 Returns the domain the object belongs to. More...
 
KzuPropertyManager * getPropertyManager () const
 Returns the property manager of the object. More...
 
KzuTaskSchedulergetTaskScheduler () const
 Returns the task scheduler of the object. More...
 
KzuMessageDispatchergetMessageDispatcher () const
 Returns the message dispatcher of the object. More...
 
ResourceManagergetResourceManager () const
 Returns the resource manager of the object. More...
 
virtual const MetaclassgetDynamicMetaclass () const
 Returns the metaclass of the dynamic type of the object. More...
 
bool isTypeOf (const Metaclass *objectType) const
 Determines if the type of this object is the given type or derived from it. More...
 
template<typename DataType >
void setProperty (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::DataType value)
 Sets the local value of a property. More...
 
void setProperty (const PropertyType< ResourceID > &propertyType, ResourceSharedPtr value)
 Sets the local value of a resource id property with a resource pointer. More...
 
template<typename DataType >
DataType getProperty (const PropertyType< DataType > &propertyType) const
 Returns the current value of a property. More...
 
template<typename DataType >
bool getProperty (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::DataType &value) const
 Evaluates the property value in the same way as the overload above but does not default to the value in property metadata if there are no inputs to the property value. More...
 
template<typename DataType >
void setAbstractProperty (AbstractPropertyType abstractPropertyType, typename PropertyType< DataType >::DataType value)
 
void setAbstractProperty (AbstractPropertyType abstractPropertyType, ResourceSharedPtr value)
 
template<typename DataType >
DataType getAbstractProperty (AbstractPropertyType abstractPropertyType) const
 
template<typename DataType >
bool getAbstractProperty (AbstractPropertyType abstractPropertyType, typename PropertyType< DataType >::DataType &value) const
 
bool hasValue (AbstractPropertyType propertyType) const
 Evaluates whether there are any inputs into the property value. More...
 
bool hasLocalValue (AbstractPropertyType propertyType) const
 Evaluates whether there is a local value set for the property. More...
 
void removeLocalValue (AbstractPropertyType propertyType)
 Removes the local value associated with the property. More...
 
void copyLocalValues (const Object &other)
 Copies all local values from another object. More...
 
virtual void onPropertyChanged (AbstractPropertyType propertyType, KzuPropertyNotificationReason reason)
 Virtual function to handle property change notifications. More...
 
AppliedStyleEntryapplyObjectStyle (kanzi::StyleSharedPtr style)
 Applies a style to an object. More...
 
void unapplyObjectStyle (AppliedStyleEntry *appliedStyleEntry)
 
void applyObjectStyles ()
 Apply all styles for an object node. More...
 
void unapplyObjectStyles ()
 Unapplies and removes all applied styles. More...
 

Static Public Member Functions

static StyleSharedPtr create (Domain *domain, string_view name, StyleSharedPtr parentStyle, const Metaclass *objectType, const void *properties, const BindingContainer &bindings, const TriggerContainer &triggers)
 
static StyleSharedPtr createWithValueModifiers (Domain *domain, string_view name, StyleSharedPtr parentStyle, const Metaclass *objectType, const void *properties, const BindingContainer &bindings, const TriggerContainer &triggers)
 
static StylecreateEmpty (Domain *domain, string_view name)
 Create an empty style. More...
 
static Stylecopy (const Style *sourceStyle)
 Copy a style. More...
 
static void apply (AppliedStyleEntry *appliedStyleEntry, Node *objectNode)
 Apply a style. More...
 
static void unapply (const AppliedStyleEntry *appliedStyleEntry, Node *objectNode)
 Unapply a style. More...
 
static void applyAll (Node *applyObjectNode)
 Apply all styles to an object node. More...
 
static void apply (AppliedStyleEntry *appliedStyleEntry, Object *object)
 Apply a style (generic). More...
 
static void unapply (const AppliedStyleEntry *appliedStyleEntry, Object *object)
 Unapply a style (generic). More...
 
- Static Public Member Functions inherited from kanzi::Object
static const MetaclassgetStaticMetaclass ()
 Returns the metaclass of Object class. More...
 
static
PropertyTypeEditorInfoSharedPtr 
makeEditorInfo ()
 Default implementation that returns empty editor info. More...
 

Protected Member Functions

 Style (Domain *domain, string_view name)
 
void copyParentProperties ()
 Copies parent style properties. More...
 
void createValueSources (const void *properties)
 Extracts property metadata for a style. More...
 
void cleanup ()
 Empties contents of a style. More...
 
- Protected Member Functions inherited from kanzi::Resource
KzuResourceLoadState getLoadState ()
 Access. More...
 
- Protected Member Functions inherited from kanzi::Object
void initialize ()
 
void onCopy (const Object &other)
 

Static Protected Member Functions

static bool applyTypedStyle (Node &target, const ResourceDictionary &dictionary)
 
static bool applyTypedStyle (Node &target, const Node &scope)
 
static kzsError propertyModifierCallback (const void *object, const KzuPropertyType *propertyType, void *valueSource, KzuPropertyNotificationReason reason, void *userData)
 
static void copyTriggers (const TriggerContainer &source, TriggerContainer &target)
 Copies triggers from one array to another. More...
 
static void copyBindings (const BindingContainer &source, BindingContainer &target)
 Copies bindings from one array to another. More...
 
static StylecreateInternal (Domain *domain, string_view name, StyleSharedPtr parentStyle, optional< const Metaclass * > objectType, const void *properties, const PropertyContainer *hashProperties, const BindingContainer &bindings, const TriggerContainer &triggers, bool useValueModifiers)
 Internal create function. More...
 

Protected Attributes

StyleSharedPtr m_parent
 Parent style. More...
 
optional< const Metaclass * > m_objectType
 Object type this style applies to, nullptr if the style applies to any type, or nullopt if there is no target type. More...
 
bool m_useValueModifiers
 Does this style apply value modifiers or value sources. More...
 
KzuPropertyValuePrecedence m_precedence
 Property precedence of this style. More...
 
PropertyContainer m_properties
 Property values of this style. More...
 
BindingContainer m_bindings
 Bindings of this style . More...
 
TriggerContainer m_triggers
 Triggers of this style. More...
 
- Protected Attributes inherited from kanzi::Object
AppliedStyleContainer m_appliedStyles
 Listing of applied styles applied to this object. More...
 

Additional Inherited Members

- Protected Types inherited from kanzi::Object
typedef vector
< AppliedStyleEntry * > 
AppliedStyleContainer
 Applied style container. More...
 

Detailed Description

Style applying properties, triggers and bindings to nodes.

Member Typedef Documentation

typedef TriggerContainer::const_iterator kanzi::Style::TriggerIterator
typedef BindingContainer::const_iterator kanzi::Style::BindingIterator
typedef NodeContainer::const_iterator kanzi::Style::NodeIterator
typedef NodeContainer::reverse_iterator kanzi::Style::NodeReverseIterator
typedef ObjectContainer::const_iterator kanzi::Style::ObjectIterator
typedef ObjectContainer::reverse_iterator kanzi::Style::ObjectReverseIterator
typedef unordered_map<const KzuPropertyType*, void*> kanzi::Style::PropertyContainer
typedef PropertyContainer::const_iterator kanzi::Style::PropertyIterator
typedef pair<const KzuPropertyType*, void*> kanzi::Style::PropertyPair

Constructor & Destructor Documentation

virtual kanzi::Style::~Style ( )
virtual
kanzi::Style::Style ( Domain domain,
string_view  name 
)
protected

Member Function Documentation

static StyleSharedPtr kanzi::Style::create ( Domain domain,
string_view  name,
StyleSharedPtr  parentStyle,
const Metaclass objectType,
const void *  properties,
const BindingContainer bindings,
const TriggerContainer triggers 
)
static
static StyleSharedPtr kanzi::Style::createWithValueModifiers ( Domain domain,
string_view  name,
StyleSharedPtr  parentStyle,
const Metaclass objectType,
const void *  properties,
const BindingContainer bindings,
const TriggerContainer triggers 
)
static
static Style* kanzi::Style::createEmpty ( Domain domain,
string_view  name 
)
static

Create an empty style.

static Style* kanzi::Style::copy ( const Style sourceStyle)
static

Copy a style.

void kanzi::Style::loadFromKZB ( KzcInputStream inputStream,
const KzuBinaryFileInfo file 
)

Load a style from kzb.

PropertyIterator kanzi::Style::getPropertiesBegin ( )

Get the properties of a style.

PropertyIterator kanzi::Style::getPropertiesEnd ( )
void* kanzi::Style::getValueSource ( const KzuPropertyType propertyType)

Get value source for a property type.

static void kanzi::Style::apply ( AppliedStyleEntry appliedStyleEntry,
Node objectNode 
)
static

Apply a style.

static void kanzi::Style::unapply ( const AppliedStyleEntry appliedStyleEntry,
Node objectNode 
)
static

Unapply a style.

static void kanzi::Style::applyAll ( Node applyObjectNode)
static

Apply all styles to an object node.

static void kanzi::Style::apply ( AppliedStyleEntry appliedStyleEntry,
Object object 
)
static

Apply a style (generic).

static void kanzi::Style::unapply ( const AppliedStyleEntry appliedStyleEntry,
Object object 
)
static

Unapply a style (generic).

void kanzi::Style::setPrecedence ( KzuPropertyValuePrecedence  precedence)

Set style properties precedence.

static bool kanzi::Style::applyTypedStyle ( Node target,
const ResourceDictionary dictionary 
)
staticprotected
static bool kanzi::Style::applyTypedStyle ( Node target,
const Node scope 
)
staticprotected
static kzsError kanzi::Style::propertyModifierCallback ( const void *  object,
const KzuPropertyType propertyType,
void *  valueSource,
KzuPropertyNotificationReason  reason,
void *  userData 
)
staticprotected
static void kanzi::Style::copyTriggers ( const TriggerContainer source,
TriggerContainer target 
)
staticprotected

Copies triggers from one array to another.

static void kanzi::Style::copyBindings ( const BindingContainer source,
BindingContainer target 
)
staticprotected

Copies bindings from one array to another.

void kanzi::Style::copyParentProperties ( )
protected

Copies parent style properties.

void kanzi::Style::createValueSources ( const void *  properties)
protected

Extracts property metadata for a style.

static Style* kanzi::Style::createInternal ( Domain domain,
string_view  name,
StyleSharedPtr  parentStyle,
optional< const Metaclass * >  objectType,
const void *  properties,
const PropertyContainer hashProperties,
const BindingContainer bindings,
const TriggerContainer triggers,
bool  useValueModifiers 
)
staticprotected

Internal create function.

void kanzi::Style::cleanup ( )
protected

Empties contents of a style.

Member Data Documentation

StyleSharedPtr kanzi::Style::m_parent
protected

Parent style.

optional<const Metaclass*> kanzi::Style::m_objectType
protected

Object type this style applies to, nullptr if the style applies to any type, or nullopt if there is no target type.

bool kanzi::Style::m_useValueModifiers
protected

Does this style apply value modifiers or value sources.

KzuPropertyValuePrecedence kanzi::Style::m_precedence
protected

Property precedence of this style.

PropertyContainer kanzi::Style::m_properties
protected

Property values of this style.

<KzuPropertyType, void* (value source)>.

BindingContainer kanzi::Style::m_bindings
protected

Bindings of this style .

TriggerContainer kanzi::Style::m_triggers
protected

Triggers of this style.


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