+ void SetItemsAnchorPoint( const Vector3& anchorPoint );
+
+ /**
+ * @copydoc Toolkit::ItemView::GetItemsAnchorPoint
+ */
+ Vector3 GetItemsAnchorPoint() const;
+
+ /**
+ * @copydoc Toolkit::ItemView::GetItemsRange
+ */
+ void GetItemsRange(ItemRange& range);
+
+ /**
+ * @copydoc Toolkit::ItemView::LayoutActivatedSignal()
+ */
+ LayoutActivatedSignalType& LayoutActivatedSignal()
+ {
+ return mLayoutActivatedSignal;
+ }
+
+ /**
+ * Connects a callback function with the object's signals.
+ * @param[in] object The object providing the signal.
+ * @param[in] tracker Used to disconnect the signal.
+ * @param[in] signalName The signal to connect to.
+ * @param[in] functor A newly allocated FunctorDelegate.
+ * @return True if the signal was connected.
+ * @post If a signal was connected, ownership of functor was passed to CallbackBase. Otherwise the caller is responsible for deleting the unused functor.
+ */
+ static bool DoConnectSignal( BaseObject* object, ConnectionTrackerInterface* tracker, const std::string& signalName, FunctorDelegate* functor );
+
+ //properties
+
+ /**
+ * Called when a property of an object of this type is set.
+ * @param[in] object The object whose property is set.
+ * @param[in] index The property index.
+ * @param[in] value The new property value.
+ */
+ static void SetProperty( BaseObject* object, Property::Index index, const Property::Value& value );
+
+ /**
+ * Called to retrieve a property of an object of this type.
+ * @param[in] object The object whose property is to be retrieved.
+ * @param[in] index The property index.
+ * @return The current value of the property.
+ */
+ static Property::Value GetProperty( BaseObject* object, Property::Index index );
+
+ /**
+ * Performs actions as requested using the action name.
+ * @param[in] object The object on which to perform the action.
+ * @param[in] actionName The action to perform.
+ * @param[in] attributes The attributes with which to perfrom this action.
+ * @return true if action has been accepted by this control
+ */
+ static bool DoAction( BaseObject* object, const std::string& actionName, const Property::Map& attributes );
+
+ /**
+ * Helper for DoAction( ACTION_STOP_SCROLLING ).
+ */
+ void DoStopScrolling();
+
+private:
+
+ /**
+ * Remove an Actor if found in the ItemPool.
+ * @param[in] itemId The item to remove.
+ * @return True if the remaining actors were reordered.
+ */
+ bool RemoveActor( unsigned int itemId );
+
+ /**
+ * Remove any Actors outside a given range.
+ * @param[in] @param[in] range The range of required items.
+ */
+ void RemoveActorsOutsideRange( ItemRange range );
+
+ /**
+ * Add a range of Actors, if they are not already in the ItemPool.
+ * @param[in] range The range of Item IDs to associate with the new actors.
+ * @param[in] layoutSize The layout-size.
+ */
+ void AddActorsWithinRange( ItemRange range, const Vector3& layoutSize );
+
+ /**
+ * Add a new Actor, if not already in the ItemPool.
+ * @param[in] item The ID for the new item.
+ * @param[in] layoutSize The layout-size.
+ */
+ void AddNewActor( ItemId item, const Vector3& layoutSize );
+
+ /**
+ * Apply the constraints etc. that are required for ItemView children.
+ * @param[in] item The item to setup.
+ * @param[in] layoutSize The layout-size.
+ */
+ void SetupActor( Item item, const Vector3& layoutSize );
+
+ /**
+ * Remove the Actor from the ItemPool and notify the ItemFactory the actor has been released by ItemView.
+ * @param[in] item The ID for the item to be released.
+ * @param[in] actor The actor to be removed from ItemView.
+ */
+ void ReleaseActor( ItemId item, Actor actor );