DALi signals refactor to remove V2 naming
[platform/core/uifw/dali-toolkit.git] / base / dali-toolkit / public-api / controls / control.h
index 951c2b6..1911030 100644 (file)
  *
  */
 
-// INTERNAL INCLUDES
-#include <dali/dali.h>
-
-namespace Dali DALI_IMPORT_API
+// EXTERNAL INCLUDES
+#include <dali/public-api/actors/custom-actor.h>
+#include <dali/public-api/common/dali-common.h>
+#include <dali/public-api/events/long-press-gesture-detector.h>
+#include <dali/public-api/events/pan-gesture-detector.h>
+#include <dali/public-api/events/pinch-gesture-detector.h>
+#include <dali/public-api/events/tap-gesture-detector.h>
+#include <dali/public-api/events/tap-gesture-detector.h>
+#include <dali/public-api/images/image.h>
+
+namespace Dali
 {
 
 namespace Toolkit
@@ -40,7 +47,7 @@ class Control;
  * The implementation of the control must be supplied; see Internal::Control for more details.
  * @see Internal::Control
  */
-class Control : public CustomActor
+class DALI_IMPORT_API Control : public CustomActor
 {
 public:
 
@@ -105,7 +112,7 @@ public:
   // Typedefs
 
   /// @brief Key Event signal type;
-  typedef SignalV2<bool ( Control, const KeyEvent& ) > KeyEventSignalV2;
+  typedef Signal<bool ( Control, const KeyEvent& ) > KeyEventSignalType;
 
 public: // Creation & Destruction
 
@@ -290,7 +297,7 @@ public:
    * @brief Retrieves the pinch gesture detector of the control.
    *
    * @return The pinch gesture detector.
-   * @pre Pinch detection should have been enabled in the control.
+   * @note Will return an empty handle if the control does not handle the gesture itself.
    */
   PinchGestureDetector GetPinchGestureDetector() const;
 
@@ -298,7 +305,7 @@ public:
    * @brief Retrieves the pan gesture detector of the control.
    *
    * @return The pan gesture detector.
-   * @pre Pan detection should have been enabled in the control.
+   * @note Will return an empty handle if the control does not handle the gesture itself.
    */
   PanGestureDetector GetPanGestureDetector() const;
 
@@ -306,7 +313,7 @@ public:
    * @brief Retrieves the tap gesture detector of the control.
    *
    * @return The tap gesture detector.
-   * @pre Tap detection should have been enabled in the control.
+   * @note Will return an empty handle if the control does not handle the gesture itself.
    */
   TapGestureDetector GetTapGestureDetector() const;
 
@@ -314,7 +321,7 @@ public:
    * @brief Retrieves the long press gesture detector of the control.
    *
    * @return The long press gesture detector.
-   * @pre Long press detection should have been enabled in the control.
+   * @note Will return an empty handle if the control does not handle the gesture itself.
    */
   LongPressGestureDetector GetLongPressGestureDetector() const;
 
@@ -324,6 +331,8 @@ public:
    * @brief Sets the background color of the control.
    *
    * @param[in] color The required background color of the control
+   *
+   * @note The background color fully blends with the actor color.
    */
   void SetBackgroundColor( const Vector4& color );
 
@@ -369,17 +378,19 @@ public:
    * @pre The Control has been initialized.
    * @return The signal to connect to.
    */
-  KeyEventSignalV2& KeyEventSignal();
+  KeyEventSignalType& KeyEventSignal();
 
-public: // Not intended for application developers
+public: // Intended for control developers
 
   /**
    * @brief Create an initialised Control.
    *
    * @param[in] implementation The implementation for this control.
    * @return A handle to a newly allocated Dali resource.
+   *
+   * @note Should NOT be called to create a handle from the implementation. As stated, this allocates a NEW Dali resource.
    */
-  Control(Internal::Control& implementation);
+  explicit Control(Internal::Control& implementation);
 
   /**
    * @brief This constructor is used by CustomActor within Dali core to create additional Control handles
@@ -387,7 +398,7 @@ public: // Not intended for application developers
    *
    * @param [in] internal A pointer to a newly allocated Dali resource
    */
-  Control(Dali::Internal::CustomActor* internal);
+  explicit Control(Dali::Internal::CustomActor* internal);
 
 public: // Templates for Deriving Classes
 
@@ -401,7 +412,7 @@ public: // Templates for Deriving Classes
    * @see DownCast(BaseHandle)
    */
   template<typename T, typename I>
-  static T DownCast( BaseHandle handle )
+  DALI_INTERNAL static T DownCast( BaseHandle handle )
   {
     T result;
 
@@ -429,7 +440,7 @@ public: // Templates for Deriving Classes
    * @param[in]  internal  Pointer to the Internal::CustomActor
    */
   template<typename I>
-  void VerifyCustomActorPointer(Dali::Internal::CustomActor* internal)
+  DALI_INTERNAL void VerifyCustomActorPointer(Dali::Internal::CustomActor* internal)
   {
     // Can have a NULL pointer so we only need to check if the internal implementation is our class
     // when there is a value.