mComponentIndex(componentIndex),
mConditionType(condition),
mArguments(arguments),
- mValid(false)
+ mValid(false),
+ mNotifyMode( Dali::PropertyNotification::Disabled )
{
SetNotifyMode(notifyMode);
void PropertyNotification::SetNotifyMode( NotifyMode notifyMode )
{
- switch(notifyMode)
- {
- case Dali::PropertyNotification::Disabled:
- {
- mNotifyValidity[0] = false;
- mNotifyValidity[1] = false;
- break;
- }
- case Dali::PropertyNotification::NotifyOnTrue:
- {
- mNotifyValidity[0] = false;
- mNotifyValidity[1] = true;
- break;
- }
- case Dali::PropertyNotification::NotifyOnFalse:
- {
- mNotifyValidity[0] = true;
- mNotifyValidity[1] = false;
- break;
- }
- case Dali::PropertyNotification::NotifyOnChanged:
- {
- mNotifyValidity[0] = true;
- mNotifyValidity[1] = true;
- break;
- }
- }
+ mNotifyMode = notifyMode;
}
bool PropertyNotification::Check( BufferIndex bufferIndex )
|| (mConditionType == PropertyCondition::VariableStep))) )
{
mValid = currentValid;
- notifyRequired = mNotifyValidity[currentValid];
+ // means don't notify so notifyRequired stays false
+ switch( mNotifyMode )
+ {
+ case Dali::PropertyNotification::Disabled:
+ {
+ // notify never, already initialized to false
+ break;
+ }
+ case Dali::PropertyNotification::NotifyOnTrue:
+ {
+ notifyRequired = mValid; // notify if value is true
+ break;
+ }
+ case Dali::PropertyNotification::NotifyOnFalse:
+ {
+ notifyRequired = !mValid; // notify when its false
+ break;
+ }
+ case Dali::PropertyNotification::NotifyOnChanged:
+ {
+ notifyRequired = true; // notify whenever changed
+ break;
+ }
+ }
}
return notifyRequired;
ConditionType mConditionType; ///< The ConditionType
RawArgumentContainer mArguments; ///< The arguments.
bool mValid; ///< Whether this property notification is currently valid or not.
- char mNotifyValidity[2]; ///< Whether to notify on invalid and/or valid
+ NotifyMode mNotifyMode; ///< Whether to notify on invalid and/or valid
ConditionFunction mConditionFunction; ///< The Condition Function pointer to be evaluated.
};