Add support for ItemView layout customisation through properties.
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / public-api / controls / scrollable / item-view / item-layout.h
old mode 100644 (file)
new mode 100755 (executable)
index e9c5068..97af2df
@@ -20,6 +20,8 @@
 
 // EXTERNAL INCLUDES
 #include <dali/public-api/animation/alpha-function.h>
 
 // EXTERNAL INCLUDES
 #include <dali/public-api/animation/alpha-function.h>
+#include <dali/public-api/object/property-key.h>
+#include <dali/public-api/object/property-map.h>
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/public-api/enums.h>
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/public-api/enums.h>
@@ -165,6 +167,33 @@ public:
   DALI_IMPORT_API ControlOrientation::Type GetOrientation() const;
 
   /**
   DALI_IMPORT_API ControlOrientation::Type GetOrientation() const;
 
   /**
+   * @brief Apply the layout Properties.
+   * @SINCE_1_2.20
+   * @param[in] properties The properties the layout.
+   */
+  void SetLayoutProperties(const Property::Map& properties);
+
+  /**
+   * @brief Get the layout Properties.
+   * @SINCE_1_2.20
+   * @return the property of the layout.
+   */
+  Property::Map GetLayoutProperties();
+
+  /**
+   * @brief Check if the Property has been changed.
+   * @SINCE_1_2.20
+   * @return whether the layout has been changed or not.if changed, return true.
+   */
+  bool HasLayoutChanged();
+
+  /**
+   * @brief Set the layout changed flag to false.
+   * @SINCE_1_2.20
+   */
+  void ResetLayoutChangedFlag();
+
+  /**
    * @brief Retrieve the target size of an item in the layout.
    *
    * This will return the default size for the layout unless overridden by calling SetItemSize().
    * @brief Retrieve the target size of an item in the layout.
    *
    * This will return the default size for the layout unless overridden by calling SetItemSize().