Merge "Controls are LayoutGroups instead of LayoutItems" into devel/master
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / devel-api / layouting / layout-group.h
index d006775..9d0e684 100644 (file)
@@ -19,6 +19,7 @@
 #include <memory>
 #include <dali/public-api/common/dali-common.h>
 #include <dali/public-api/actors/actor-enumerations.h>
+#include <dali-toolkit/devel-api/toolkit-property-index-ranges.h>
 #include <dali-toolkit/devel-api/layouting/layout-item.h>
 #include <dali-toolkit/devel-api/layouting/measure-spec.h>
 
@@ -48,23 +49,16 @@ class LayoutGroup;
  * To write a new layout, inherit from both LayoutGroup handle and Internal::LayoutGroup body.
  *
  */
-class DALI_IMPORT_API LayoutGroup : public LayoutItem
+class DALI_TOOLKIT_API LayoutGroup : public LayoutItem
 {
 public:
   using LayoutId = unsigned int;
   static const unsigned int UNKNOWN_ID = 0;
 
-  enum PropertyRange
-  {
-    CHILD_PROPERTY_START_INDEX = CHILD_PROPERTY_REGISTRATION_START_INDEX+100,
-    CHILD_PROPERTY_END_INDEX   = CHILD_PROPERTY_START_INDEX+1000
-  };
-
   struct ChildProperty
   {
     enum
     {
-      MARGIN_SPECIFICATION = CHILD_PROPERTY_START_INDEX,
     };
   };
 
@@ -86,6 +80,13 @@ public:
   ~LayoutGroup() = default;
 
   /**
+   * @brief Create an initialized LayoutGroup
+   *
+   * @param[in] handle A handle to the object that this layout for, e.g. a Control or a Visual::Base
+   */
+  static LayoutGroup New( Handle& handle );
+
+  /**
    * @brief Copy constructor
    */
   LayoutGroup(const LayoutGroup& copy) = default;