X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Fpublic-api%2Fobject%2Fproperty-notification.h;h=77723361708ad90981d882b8bbdfa1e887e2ac39;hb=c4750afbf79f15bf71e2aa8ef54f84750463aae2;hp=8246a4e0970e37ae1d31fa67b7764b7781c6a510;hpb=337560e080de3951f07a64da841a86d66ff3355b;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/public-api/object/property-notification.h b/dali/public-api/object/property-notification.h index 8246a4e..7772336 100644 --- a/dali/public-api/object/property-notification.h +++ b/dali/public-api/object/property-notification.h @@ -1,8 +1,8 @@ -#ifndef __DALI_PROPERTY_NOTIFICATION_H__ -#define __DALI_PROPERTY_NOTIFICATION_H__ +#ifndef DALI_PROPERTY_NOTIFICATION_H +#define DALI_PROPERTY_NOTIFICATION_H /* - * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * Copyright (c) 2020 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,12 +20,16 @@ // INTERNAL INCLUDES #include -#include #include +#include #include -namespace Dali DALI_IMPORT_API +namespace Dali { +/** + * @addtogroup dali_core_object + * @{ + */ namespace Internal DALI_INTERNAL { @@ -36,142 +40,171 @@ class PropertyNotification; * @brief This is used to issue a notification upon a condition of the property being met. * * For example checking if Actor::POSITION_X > 100.0. + * @SINCE_1_0.0 * @see Dali::PropertyCondition */ -class DALI_IMPORT_API PropertyNotification : public BaseHandle +class DALI_CORE_API PropertyNotification : public BaseHandle { public: /** - * @brief Enumeration to describe how to check condition + * @brief Enumeration for description of how to check condition. + * @SINCE_1_0.0 */ enum NotifyMode { - Disabled, ///< Don't notify, regardless of result of Condition - NotifyOnTrue, ///< Notify whenever condition changes from false to true. - NotifyOnFalse, ///< Notify whenever condition changes from true to false. - NotifyOnChanged ///< Notify whenever condition changes (false to true, and true to false) + DISABLED, ///< Don't notify, regardless of result of Condition @SINCE_1_9.28 + NOTIFY_ON_TRUE, ///< Notify whenever condition changes from false to true. @SINCE_1_9.28 + NOTIFY_ON_FALSE, ///< Notify whenever condition changes from true to false. @SINCE_1_9.28 + NOTIFY_ON_CHANGED ///< Notify whenever condition changes (false to true, and true to false) @SINCE_1_9.28 }; public: - /** - * @brief Create an uninitialized PropertyNotification; this can be initialized with PropertyNotification::New(). + * @brief Creates an uninitialized PropertyNotification; this can be initialized with PropertyNotification::New(). * * Calling member functions with an uninitialized Dali::Object is not allowed. + * @SINCE_1_0.0 */ PropertyNotification(); /** - * @brief Downcast an Object handle to PropertyNotification. + * @brief Downcasts a handle to PropertyNotification handle. * - * If handle points to an PropertyNotification object the downcast - * produces valid handle. If not the returned handle is left + * If handle points to a PropertyNotification object, the downcast + * produces valid handle. If not, the returned handle is left * uninitialized. * + * @SINCE_1_0.0 * @param[in] handle to An object * @return handle to a PropertyNotification object or an uninitialized handle */ - static PropertyNotification DownCast( BaseHandle handle ); + static PropertyNotification DownCast(BaseHandle handle); /** - * @brief Destructor + * @brief Destructor. * * This is non-virtual since derived Handle types must not contain data or virtual methods. + * @SINCE_1_0.0 */ ~PropertyNotification(); /** * @brief This copy constructor is required for (smart) pointer semantics. * - * @param [in] handle A reference to the copied handle + * @SINCE_1_0.0 + * @param[in] handle A reference to the copied handle */ PropertyNotification(const PropertyNotification& handle); /** * @brief This assignment operator is required for (smart) pointer semantics. * - * @param [in] rhs A reference to the copied handle + * @SINCE_1_0.0 + * @param[in] rhs A reference to the copied handle * @return A reference to this */ PropertyNotification& operator=(const PropertyNotification& rhs); /** - * @brief This method is defined to allow assignment of the NULL value, - * and will throw an exception if passed any other value. + * @brief Move constructor. * - * Assigning to NULL is an alias for Reset(). - * @param [in] rhs A NULL pointer + * @SINCE_1_9.22 + * @param[in] rhs A reference to the moved handle + */ + PropertyNotification(PropertyNotification&& rhs) noexcept; + + /** + * @brief Move assignment operator. + * + * @SINCE_1_9.22 + * @param[in] rhs A reference to the moved handle * @return A reference to this handle */ - PropertyNotification& operator=(BaseHandle::NullType* rhs); + PropertyNotification& operator=(PropertyNotification&& rhs) noexcept; /** - * @brief Get the condition of this notification + * @brief Gets the condition of this notification. * + * @SINCE_1_0.0 * @return The condition is returned */ PropertyCondition GetCondition(); /** - * @brief Get the condition of this notification + * @brief Gets the condition of this notification. * + * @SINCE_1_0.0 * @return The condition is returned */ const PropertyCondition& GetCondition() const; /** - * @brief Get the target handle that this notification is observing. + * @brief Gets the target handle that this notification is observing. + * @SINCE_1_0.0 + * @return The target handle */ Dali::Handle GetTarget() const; /** - * @brief Get the target handle's property index that this notification + * @brief Gets the target handle's property index that this notification * is observing. * - * @return The target property. + * @SINCE_1_0.0 + * @return The target property */ Property::Index GetTargetProperty() const; /** - * @brief Sets the Notification mode. This determines how the property + * @brief Sets the Notification mode. + * + * This determines how the property * notification should respond to the result of a condition. * - * @param[in] mode Notification mode (Default is PropertyNotification::NotifyOnTrue) + * @SINCE_1_0.0 + * @param[in] mode Notification mode (Default is PropertyNotification::NOTIFY_ON_TRUE) */ - void SetNotifyMode( NotifyMode mode ); + void SetNotifyMode(NotifyMode mode); /** * @brief Retrieves the current Notification mode. * - * @return Notification mode. + * @SINCE_1_0.0 + * @return Notification mode */ NotifyMode GetNotifyMode(); /** * @brief Gets the result of the last condition check that caused a signal emit, - * useful when using NotifyOnChanged mode and need to know what it changed to. + * useful when using NOTIFY_ON_CHANGED mode and need to know what it changed to. * + * @SINCE_1_0.0 * @return whether condition result that triggered last emit was true or false */ bool GetNotifyResult() const; /** - * @brief Connect to this signal to be notified when the notification has occurred. + * @brief Connects to this signal to be notified when the notification has occurred. * - * @return A signal object to Connect() with. + * @SINCE_1_0.0 + * @return A signal object to Connect() with */ - PropertyNotifySignalV2& NotifySignal(); + PropertyNotifySignalType& NotifySignal(); public: // Not intended for use by Application developers - + /// @cond internal /** * @brief This constructor is used by Dali New() methods. * - * @param [in] propertyNotification A pointer to a newly allocated Dali resource + * @SINCE_1_0.0 + * @param[in] propertyNotification A pointer to a newly allocated Dali resource */ explicit DALI_INTERNAL PropertyNotification(Internal::PropertyNotification* propertyNotification); + /// @endcond }; +/** + * @} + */ } // namespace Dali -#endif // __DALI_PROPERTY_NOTIFICATION_H__ +#endif // DALI_PROPERTY_NOTIFICATION_H