Fix SVACE issue - missing break
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / devel-api / controls / control-devel.h
index 879c767..dad426f 100755 (executable)
@@ -270,14 +270,14 @@ DALI_TOOLKIT_API void DoAction( Control& control, Dali::Property::Index visualIn
  */
 DALI_TOOLKIT_API void SetInputMethodContext( Internal::Control& control, InputMethodContext& inputMethodContext );
 
-/*
+/**
  * @brief Get the layout associated with this control, if any.
  *
  * @return A handle to the layout, or empty.
  */
 DALI_TOOLKIT_API Toolkit::LayoutItem GetLayout( Internal::Control& control );
 
-/*
+/**
  * @brief Get the layout associated with a control, if any.
  *
  * @return A handle to the layout, or empty.
@@ -289,6 +289,11 @@ DALI_TOOLKIT_API Toolkit::LayoutItem GetLayout( Control control );
  *
  * @param[in] control The internal Control to set the layout on
  * @param[in] layout Pointer to the layout
+ * @note Providing an empty layout will remove the current layout and
+ *       replace it with a BinLayout.
+ *       Setting a layout that has already been set will result in the
+ *       original control becoming a BinLayout.  Two Controls can not share
+ *       the same layout.
  */
 DALI_TOOLKIT_API void SetLayout( Internal::Control& control, Toolkit::LayoutItem layout );
 
@@ -297,6 +302,8 @@ DALI_TOOLKIT_API void SetLayout( Internal::Control& control, Toolkit::LayoutItem
  *
  * @param[in] control The Control to set the layout on
  * @param[in] layout Pointer to the layout
+ * @note Providing an empty layout will remove the current layout and
+ *       replace it with a BinLayout.
  */
 DALI_TOOLKIT_API void SetLayout( Control control, Toolkit::LayoutItem layout );
 
@@ -307,6 +314,36 @@ DALI_TOOLKIT_API void SetLayout( Control control, Toolkit::LayoutItem layout );
  */
 DALI_TOOLKIT_API void RequestLayout( Internal::Control& control );
 
+/**
+ * @brief Set whether the control should have a layout
+ * @param[in] control The Control to set the behaviour on
+ * @param[in] layoutingRequired true if the control should have a layout
+ */
+DALI_TOOLKIT_API void SetLayoutingRequired( Control control, bool layoutingRequired );
+
+/**
+ * @brief Check if the control has been set to require layouting
+ * @param[in] control The Control to query
+ * @return true if the control needs layouting
+ */
+DALI_TOOLKIT_API bool IsLayoutingRequired( Control control );
+
+/**
+ * @brief Visual Event signal type
+ */
+using VisualEventSignalType = Signal< void ( Control, Dali::Property::Index, Dali::Property::Index ) >;
+
+/**
+ * @brief This signal is emitted when a visual has an event to notify.
+ *
+ * A callback of the following type may be connected:
+ * @code
+ *   void YourCallbackName( Control control, Dali::Property::Index visualIndex, Dali::Property::Index signalId );
+ * @endcode
+ * @return The signal to connect to
+ */
+DALI_TOOLKIT_API VisualEventSignalType& VisualEventSignal( Control control );
+
 } // namespace DevelControl
 
 } // namespace Toolkit