Dali 3D User Interface Engine
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Static Private Member Functions
Dali::Internal::SceneGraph::PropertyNotification Class Reference

PropertyNotifications are used to inspect properties of scene graph objects, as part of a scene managers "update" phase. More...

#include <scene-graph-property-notification.h>

Collaboration diagram for Dali::Internal::SceneGraph::PropertyNotification:
Collaboration graph
[legend]

Public Types

typedef
Dali::PropertyNotification::NotifyMode 
NotifyMode
 
typedef
Dali::Internal::PropertyNotification::ConditionType 
ConditionType
 
typedef
Dali::Internal::PropertyNotification::RawArgumentContainer 
RawArgumentContainer
 
typedef const void *(* GetPropertyFunction )(const SceneGraph::PropertyBase *, int)
 

Public Member Functions

virtual ~PropertyNotification ()
 Virtual destructor. More...
 
void SetNotifyMode (NotifyMode notifyMode)
 Sets Notify Mode, whether to notify if the condition is true and if the condition is false. More...
 
bool Check (BufferIndex bufferIndex)
 Check this property notification condition, and if true then dispatch notification. More...
 
bool GetValidity () const
 Returns the validity of the last condition check. More...
 

Static Public Member Functions

static PropertyNotificationNew (Object &object, Property::Index propertyIndex, Property::Type propertyType, int componentIndex, ConditionType condition, RawArgumentContainer &arguments, NotifyMode notifyMode)
 Construct a new PropertyNotification. More...
 

Protected Member Functions

 PropertyNotification (Object &object, Property::Index propertyIndex, Property::Type propertyType, int componentIndex, ConditionType condition, RawArgumentContainer &arguments, NotifyMode notifyMode)
 Construct the PropertyNotification. More...
 

Protected Attributes

ObjectmObject
 Not owned by the property notification. Valid until ObjectDestroyed() is called. More...
 
Property::Index mPropertyIndex
 The index of this property. More...
 
Property::Type mPropertyType
 The type of property this is. More...
 
const PropertyInputImplmProperty
 The scene graph property. More...
 
int mComponentIndex
 Used for accessing float components of Vector3/4. More...
 
ConditionType mConditionType
 The ConditionType. More...
 
RawArgumentContainer mArguments
 The arguments. More...
 
bool mValid
 Whether this property notification is currently valid or not. More...
 
NotifyMode mNotifyMode
 Whether to notify on invalid and/or valid. More...
 
ConditionFunction mConditionFunction
 The Condition Function pointer to be evaluated. More...
 

Private Member Functions

 PropertyNotification (const PropertyNotification &)
 
PropertyNotificationoperator= (const PropertyNotification &rhs)
 

Static Private Member Functions

static bool EvalFalse (const Dali::PropertyInput &value, Dali::Internal::PropertyNotification::RawArgumentContainer &arg)
 Checks if bool is LessThan. More...
 

Detailed Description

PropertyNotifications are used to inspect properties of scene graph objects, as part of a scene managers "update" phase.

When a condition has been met the application receives a notification signal.

Definition at line 50 of file scene-graph-property-notification.h.

Member Typedef Documentation

Definition at line 55 of file scene-graph-property-notification.h.

typedef const void*(* Dali::Internal::SceneGraph::PropertyNotification::GetPropertyFunction)(const SceneGraph::PropertyBase *, int)

Definition at line 57 of file scene-graph-property-notification.h.

Definition at line 54 of file scene-graph-property-notification.h.

Definition at line 56 of file scene-graph-property-notification.h.

Constructor & Destructor Documentation

Dali::Internal::SceneGraph::PropertyNotification::~PropertyNotification ( )
virtual

Virtual destructor.

Definition at line 115 of file scene-graph-property-notification.cpp.

Dali::Internal::SceneGraph::PropertyNotification::PropertyNotification ( Object object,
Property::Index  propertyIndex,
Property::Type  propertyType,
int  componentIndex,
ConditionType  condition,
RawArgumentContainer arguments,
NotifyMode  notifyMode 
)
protected

Construct the PropertyNotification.

Parameters
[in]objectThe event-object for a scene-graph object to inspect.
[in]propertyIndexThe index of a property provided by the object.
[in]propertyTypeThe type of property we're inspecting.
[in]componentIndexIndex to the component of a complex property such as a Vector
[in]conditionThe condition type (e.g. LessThan, GreaterThan...)
[in]argumentsThe arguments which accompany the condition.
[in]notifyModeThe notification mode setting

Definition at line 48 of file scene-graph-property-notification.cpp.

References EvalFalse(), Dali::Internal::PropertyCondition::False, Dali::Internal::SceneGraph::Step::GetFunction(), Dali::Internal::SceneGraph::VariableStep::GetFunction(), Dali::Internal::SceneGraph::LessThan::GetFunction(), Dali::Internal::SceneGraph::GreaterThan::GetFunction(), Dali::Internal::SceneGraph::Inside::GetFunction(), Dali::Internal::SceneGraph::Outside::GetFunction(), Dali::Internal::Object::GetPropertyComponentIndex(), Dali::Internal::Object::GetSceneObjectInputProperty(), Dali::Internal::PropertyCondition::GreaterThan, Dali::Internal::PropertyCondition::Inside, Dali::Property::INVALID_COMPONENT_INDEX, Dali::Internal::PropertyCondition::LessThan, mComponentIndex, mConditionFunction, mConditionType, mObject, mProperty, mPropertyIndex, mPropertyType, Dali::Internal::PropertyCondition::Outside, SetNotifyMode(), Dali::Internal::PropertyCondition::Step, and Dali::Internal::PropertyCondition::VariableStep.

Referenced by New().

Here is the call graph for this function:

Here is the caller graph for this function:

Dali::Internal::SceneGraph::PropertyNotification::PropertyNotification ( const PropertyNotification )
private

Member Function Documentation

bool Dali::Internal::SceneGraph::PropertyNotification::Check ( BufferIndex  bufferIndex)

Check this property notification condition, and if true then dispatch notification.

Parameters
[in]bufferIndexThe current update buffer index.
Returns
Whether the validity of this notification has changed.

Definition at line 129 of file scene-graph-property-notification.cpp.

References Dali::PropertyNotification::Disabled, Dali::Property::INVALID_COMPONENT_INDEX, mArguments, mComponentIndex, mConditionFunction, mConditionType, mNotifyMode, mProperty, mValid, Dali::PropertyNotification::NotifyOnChanged, Dali::PropertyNotification::NotifyOnFalse, Dali::PropertyNotification::NotifyOnTrue, Dali::Internal::PropertyCondition::Step, and Dali::Internal::PropertyCondition::VariableStep.

Referenced by Dali::Internal::SceneGraph::UpdateManager::ProcessPropertyNotifications().

Here is the caller graph for this function:

bool Dali::Internal::SceneGraph::PropertyNotification::EvalFalse ( const Dali::PropertyInput value,
Dali::Internal::PropertyNotification::RawArgumentContainer arg 
)
staticprivate

Checks if bool is LessThan.

Parameters
[in]valueThe value being examined.
[in]argThe supplied arguments for the condition.
Returns
Condition result (true if condition met, false if not)

Definition at line 119 of file scene-graph-property-notification.cpp.

Referenced by PropertyNotification().

Here is the caller graph for this function:

bool Dali::Internal::SceneGraph::PropertyNotification::GetValidity ( ) const

Returns the validity of the last condition check.

Returns
the validity

Definition at line 182 of file scene-graph-property-notification.cpp.

References mValid.

Referenced by Dali::Internal::SceneGraph::UpdateManager::ProcessPropertyNotifications().

Here is the caller graph for this function:

PropertyNotification * Dali::Internal::SceneGraph::PropertyNotification::New ( Object object,
Property::Index  propertyIndex,
Property::Type  propertyType,
int  componentIndex,
ConditionType  condition,
RawArgumentContainer arguments,
NotifyMode  notifyMode 
)
static

Construct a new PropertyNotification.

Parameters
[in]objectThe event-object for a scene-graph object to inspect.
[in]propertyIndexThe index of a property provided by the object.
[in]propertyTypeThe type of property we're inspecting.
[in]componentIndexIndex to the component of a complex property such as a Vector
[in]conditionThe condition type (e.g. LessThan, GreaterThan...)
[in]argumentsThe arguments which accompany the condition.
[in]notifyModeThe notification mode setting
Returns
A new PropertyNotification object.

Definition at line 36 of file scene-graph-property-notification.cpp.

References PropertyNotification().

Referenced by Dali::Internal::PropertyNotification::CreateSceneObject().

Here is the call graph for this function:

Here is the caller graph for this function:

PropertyNotification& Dali::Internal::SceneGraph::PropertyNotification::operator= ( const PropertyNotification rhs)
private
void Dali::Internal::SceneGraph::PropertyNotification::SetNotifyMode ( NotifyMode  notifyMode)

Sets Notify Mode, whether to notify if the condition is true and if the condition is false.

Parameters
[in]notifyModeThe notification mode setting

Definition at line 124 of file scene-graph-property-notification.cpp.

References mNotifyMode.

Referenced by PropertyNotification(), and Dali::Internal::SceneGraph::UpdateManager::PropertyNotificationSetNotify().

Here is the caller graph for this function:

Member Data Documentation

RawArgumentContainer Dali::Internal::SceneGraph::PropertyNotification::mArguments
protected

The arguments.

Definition at line 150 of file scene-graph-property-notification.h.

Referenced by Check().

int Dali::Internal::SceneGraph::PropertyNotification::mComponentIndex
protected

Used for accessing float components of Vector3/4.

Definition at line 148 of file scene-graph-property-notification.h.

Referenced by Check(), and PropertyNotification().

ConditionFunction Dali::Internal::SceneGraph::PropertyNotification::mConditionFunction
protected

The Condition Function pointer to be evaluated.

Definition at line 153 of file scene-graph-property-notification.h.

Referenced by Check(), and PropertyNotification().

ConditionType Dali::Internal::SceneGraph::PropertyNotification::mConditionType
protected

The ConditionType.

Definition at line 149 of file scene-graph-property-notification.h.

Referenced by Check(), and PropertyNotification().

NotifyMode Dali::Internal::SceneGraph::PropertyNotification::mNotifyMode
protected

Whether to notify on invalid and/or valid.

Definition at line 152 of file scene-graph-property-notification.h.

Referenced by Check(), and SetNotifyMode().

Object* Dali::Internal::SceneGraph::PropertyNotification::mObject
protected

Not owned by the property notification. Valid until ObjectDestroyed() is called.

Definition at line 144 of file scene-graph-property-notification.h.

Referenced by PropertyNotification().

const PropertyInputImpl* Dali::Internal::SceneGraph::PropertyNotification::mProperty
protected

The scene graph property.

Definition at line 147 of file scene-graph-property-notification.h.

Referenced by Check(), and PropertyNotification().

Property::Index Dali::Internal::SceneGraph::PropertyNotification::mPropertyIndex
protected

The index of this property.

Definition at line 145 of file scene-graph-property-notification.h.

Referenced by PropertyNotification().

Property::Type Dali::Internal::SceneGraph::PropertyNotification::mPropertyType
protected

The type of property this is.

Definition at line 146 of file scene-graph-property-notification.h.

Referenced by PropertyNotification().

bool Dali::Internal::SceneGraph::PropertyNotification::mValid
protected

Whether this property notification is currently valid or not.

Definition at line 151 of file scene-graph-property-notification.h.

Referenced by Check(), and GetValidity().


The documentation for this class was generated from the following files:
Dali Docs Home
Read more about Dali