+ * @brief Enumeration for the start and end property ranges for this control.
+ * @SINCE_1_1.18
+ */
+ enum PropertyRange
+ {
+ PROPERTY_START_INDEX = Toolkit::Scrollable::PROPERTY_END_INDEX + 1, ///< @SINCE_1_1.18
+ PROPERTY_END_INDEX = PROPERTY_START_INDEX + 1000, ///< Reserve property indices, @SINCE_1_1.18
+
+ ANIMATABLE_PROPERTY_START_INDEX = Toolkit::Scrollable::ANIMATABLE_PROPERTY_END_INDEX + 1,
+ ANIMATABLE_PROPERTY_END_INDEX = ANIMATABLE_PROPERTY_START_INDEX + 1000 ///< Reserve animatable property indices @SINCE_1_0.0
+ };
+
+ /**
+ * @brief Enumeration for the instance of properties belonging to the ScrollView class.
+ * @SINCE_1_0.0
+ */
+ struct Property
+ {
+ /**
+ * @brief Enumeration for the instance of properties belonging to the ScrollView class.
+ * @SINCE_1_0.0
+ */
+ enum
+ {
+ ///////////////////////////////////////////////////////////////////////////////
+ // Event side (non-animatable) properties
+ ///////////////////////////////////////////////////////////////////////////////
+
+ /**
+ * @brief The minimum swipe speed in pixels per second.
+ * @details Name "minimumSwipeSpeed", type Property::FLOAT.
+ * @SINCE_1_1.18
+ * @see SetMinimumSwipeSpeed()
+ */
+ MINIMUM_SWIPE_SPEED = PROPERTY_START_INDEX,
+
+ /**
+ * @brief The minimum swipe distance in actor coordinates.
+ * @details Name "minimumSwipeDistance", type Property::FLOAT.
+ * @SINCE_1_1.18
+ * @see SetMinimumSwipeDistance()
+ */
+ MINIMUM_SWIPE_DISTANCE,
+
+ /**
+ * @brief The step of scroll distance in actor coordinates for each wheel event received.
+ * @details Name "wheelScrollDistanceStep", type Property::FLOAT.
+ * @SINCE_1_1.18
+ * @see SetWheelScrollDistanceStep()
+ */
+ WHEEL_SCROLL_DISTANCE_STEP,
+
+ /**
+ * @brief Whether the animation for the layout to scroll to its anchor position after dragging or swiping is enabled.
+ * @details Name "snapToItemEnabled", type Property::BOOLEAN.
+ * @SINCE_1_1.18
+ * @see SetAnchoring()
+ */
+ SNAP_TO_ITEM_ENABLED,
+
+ /**
+ * @brief The interval between refreshes.
+ * @details Name "refreshInterval", type Property::FLOAT.
+ * @SINCE_1_1.18
+ * @see SetRefreshInterval()
+ */
+ REFRESH_INTERVAL,
+
+ /**
+ * @brief The layout used.
+ * @details Name "layout", type Property::ARRAY.
+ * @SINCE_1_2.60
+ * @see Dali::Toolkit::DefaultItemLayoutProperty
+ */
+ LAYOUT,
+
+ ///////////////////////////////////////////////////////////////////////////////
+ // Animatable Properties
+ ///////////////////////////////////////////////////////////////////////////////
+
+ /**
+ * @brief The current logical position within the layout.
+ * @details Name "layoutPosition", type Property::FLOAT.
+ * @SINCE_1_0.0
+ */
+ LAYOUT_POSITION = ANIMATABLE_PROPERTY_START_INDEX,
+
+ /**
+ * @brief The scrolling speed when playing the flick animation.
+ * @details Name "scrollSpeed", type Property::FLOAT.
+ * @SINCE_1_0.0
+ */
+ SCROLL_SPEED,
+
+ /**
+ * @brief The amount that we can scroll beyond the boundary.
+ * @details Name "overshoot", type Property::FLOAT.
+ * @SINCE_1_0.0
+ */
+ OVERSHOOT,
+
+ /**
+ * @brief The current scrolling direction.
+ * @details Name "scrollDirection", type Property::FLOAT.
+ * @SINCE_1_0.0
+ */
+ SCROLL_DIRECTION,
+
+ /**
+ * @brief The current orientation of the layout.
+ * @details Name "layoutOrientation", type Property::INTEGER.
+ * @SINCE_1_0.0
+ */
+ LAYOUT_ORIENTATION,
+
+ /**
+ * @brief The size of the content.
+ * @details Name "scrollContentSize", type Property::FLOAT.
+ * @SINCE_1_0.0
+ */
+ SCROLL_CONTENT_SIZE,
+ };
+ };
+
+ // Signals
+
+ typedef Signal< void () > LayoutActivatedSignalType;
+
+public:
+
+ /**
+ * @brief Creates an uninitialized ItemView; this can be initialized with ItemView::New().