namespace Toolkit
{
+/**
+ * @addtogroup dali_toolkit_controls_item_view
+ * @{
+ */
/**
* @brief ItemFactory is for providing actors to ItemView.
+ *
* Each actor is identified by a unique ID, and has a linear order from 0 to GetNumberOfItems()-1.
+ * @SINCE_1_0.0
*/
class ItemFactory
{
public:
+ class Extension; ///< Forward declare future extension interface
+
/**
* @brief Virtual destructor.
+ * @SINCE_1_0.0
*/
- DALI_EXPORT_API virtual ~ItemFactory() = 0;
+ DALI_EXPORT_API virtual ~ItemFactory() {};
/**
* @brief Query the number of items available from the factory.
*
* The maximum available item has an ID of GetNumberOfItems() - 1.
+ * @SINCE_1_0.0
* @return the number of items
*/
virtual unsigned int GetNumberOfItems() = 0;
/**
* @brief Create an Actor to represent a visible item.
*
+ * @SINCE_1_0.0
* @param[in] itemId The ID of the newly visible item.
* @return An actor, or an uninitialized pointer if the ID is out of range.
*/
/**
* @brief Notify the factory the actor representing the item is removed from ItemView.
*
+ * @SINCE_1_0.0
* @param[in] itemId The ID of the released item.
* @param[in] actor The actor that represents the released item.
*/
virtual void ItemReleased(unsigned int itemId, Actor actor) {};
+
+ /**
+ * @brief Retrieve the extension for this control.
+ *
+ * @SINCE_1_0.0
+ * @return The extension if available, NULL otherwise
+ */
+ virtual Extension* GetExtension()
+ {
+ return NULL;
+ }
};
+/**
+ * @}
+ */
} // namespace Toolkit
} // namespace Dali