24 explicit IListProvider(
int parentID) : m_parentID(parentID) {}
33 static std::unique_ptr<IListProvider>
Create(
const TiXmlNode* parent,
int parentID);
40 static std::unique_ptr<IListProvider>
CreateSingle(
const TiXmlNode* content,
int parentID);
44 virtual std::unique_ptr<IListProvider>
Clone() = 0;
49 virtual bool Update(
bool forceRefresh)=0;
54 virtual void Fetch(std::vector<std::shared_ptr<CGUIListItem>>& items) = 0;
75 virtual bool OnClick(
const std::shared_ptr<CGUIListItem>& item) = 0;
81 virtual bool OnPlay(
const std::shared_ptr<CGUIListItem>& item) {
return false; }
87 virtual bool OnInfo(
const std::shared_ptr<CGUIListItem>& item) = 0;
93 virtual bool OnContextMenu(
const std::shared_ptr<CGUIListItem>& item) = 0;
An interface for providing lists to UI containers.
Definition: IListProvider.h:21
Definition: GUIListItem.h:29
virtual bool IsUpdating() const
Check whether the list provider is updating content.
Definition: IListProvider.h:59
virtual bool AlwaysFocusDefaultItem() const
Whether to always focus the default item.
Definition: IListProvider.h:112
virtual bool OnPlay(const std::shared_ptr< CGUIListItem > &item)
Play event on an item.
Definition: IListProvider.h:81
static std::unique_ptr< IListProvider > Create(const TiXmlNode *parent, int parentID)
Factory to create list providers.
Definition: IListProvider.cpp:16
virtual void Reset()
Reset the current list of items. Derived classes may choose to ignore this.
Definition: IListProvider.h:64
virtual bool OnInfo(const std::shared_ptr< CGUIListItem > &item)=0
Open the info dialog for an item provided by this IListProvider.
virtual std::unique_ptr< IListProvider > Clone()=0
Create an instance of the derived class. Allows for polymorphic copies.
virtual bool OnContextMenu(const std::shared_ptr< CGUIListItem > &item)=0
Open the context menu for an item provided by this IListProvider.
virtual int GetDefaultItem() const
The default item to focus.
Definition: IListProvider.h:106
static std::unique_ptr< IListProvider > CreateSingle(const TiXmlNode *content, int parentID)
Factory to create list providers. Cannot create a multi-provider.
Definition: IListProvider.cpp:30
virtual bool Update(bool forceRefresh)=0
Update the list content.
virtual bool OnClick(const std::shared_ptr< CGUIListItem > &item)=0
Click event on an item.
virtual void FreeResources(bool immediately)
Free all GUI resources allocated by the items.
Definition: IListProvider.h:69
virtual void Fetch(std::vector< std::shared_ptr< CGUIListItem >> &items)=0
Fetch the current list of items.
virtual void SetDefaultItem(int item, bool always)
Set the default item to focus. For backwards compatibility.
Definition: IListProvider.h:100