Merge pull request #22816 from CastagnaIT/fix_tx3g
[xbmc.git] / xbmc / guilib / IGUIContainer.h
blob93b404ffb710d360f35a11270b6853714cb2ced3
1 /*
2 * Copyright (C) 2005-2018 Team Kodi
3 * This file is part of Kodi - https://kodi.tv
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 * See LICENSES/README.md for more information.
7 */
9 #pragma once
11 #include "GUIControl.h"
13 #include <memory>
15 typedef std::shared_ptr<CGUIListItem> CGUIListItemPtr;
17 /*!
18 \ingroup controls
19 \brief
22 class IGUIContainer : public CGUIControl
24 protected:
25 VIEW_TYPE m_type;
26 std::string m_label;
27 public:
28 IGUIContainer(int parentID, int controlID, float posX, float posY, float width, float height)
29 : CGUIControl(parentID, controlID, posX, posY, width, height), m_type(VIEW_TYPE_NONE) {}
31 bool IsContainer() const override { return true; }
33 VIEW_TYPE GetType() const { return m_type; }
34 const std::string& GetLabel() const { return m_label; }
35 void SetType(VIEW_TYPE type, const std::string &label)
37 m_type = type;
38 m_label = label;
41 virtual CGUIListItemPtr GetListItem(int offset, unsigned int flag = 0) const = 0;
42 virtual std::string GetLabel(int info) const = 0;