Fix bug that the properties of layouts are set after the call of ItemView::ActivateLa...
[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 264e48e..4d91ef5
@@ -2,7 +2,7 @@
 #define __DALI_TOOLKIT_ITEM_LAYOUT_H__
 
 /*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2016 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,6 +20,8 @@
 
 // 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>
@@ -79,8 +81,11 @@ struct ItemRange
    */
   ItemRange& operator=(const ItemRange& range)
   {
-    begin = range.begin;
-    end = range.end;
+    if( this != &range )
+    {
+      begin = range.begin;
+      end = range.end;
+    }
     return *this;
   }
 
@@ -162,6 +167,20 @@ public:
   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 Retrieve the target size of an item in the layout.
    *
    * This will return the default size for the layout unless overridden by calling SetItemSize().
@@ -343,7 +362,7 @@ public:
    *
    * @param[in] actor The actor to constrain.
    * @param[in] itemId The ID of the item represented by the actor.
-   * @param[in] layoutSize the current size of the item view instance.
+   * @param[in] layoutSize The current size of the item view instance.
    * @param[in] itemViewActor The item view instance which requests the application of constraints.
    */
   DALI_IMPORT_API virtual void ApplyConstraints( Actor& actor, const int itemId, const Vector3& layoutSize, const Actor& itemViewActor ) = 0;
@@ -352,9 +371,9 @@ public:
    * @brief Gets the position of a given item
    *
    * @SINCE_1_0.0
-   * @param[in] itemID id of the item we want to get its position
-   * @param[in] currentLayoutPosition the current layout position of the item view instance
-   * @param[in] layoutSize the current size of the item view instance
+   * @param[in] itemID The id of the item we want to get its position
+   * @param[in] currentLayoutPosition The current layout position of the item view instance
+   * @param[in] layoutSize The current size of the item view instance
    * @return The item position (x,y,z)
    */
   DALI_IMPORT_API virtual Vector3 GetItemPosition(int itemID, float currentLayoutPosition, const Vector3& layoutSize) const = 0;