From be933ef2241d79558f91796cc5b3a161f72ebf9c Mon Sep 17 00:00:00 2001 From: manuel Date: Mon, 19 Oct 2020 00:52:24 +0200 Subject: sync with upstream --- .../kodi-addon-dev-kit/include/kodi/gui/ListItem.h | 366 --------------------- 1 file changed, 366 deletions(-) delete mode 100644 xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/ListItem.h (limited to 'xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/ListItem.h') diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/ListItem.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/ListItem.h deleted file mode 100644 index 1af4863..0000000 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/gui/ListItem.h +++ /dev/null @@ -1,366 +0,0 @@ -/* - * Copyright (C) 2005-2018 Team Kodi - * This file is part of Kodi - https://kodi.tv - * - * SPDX-License-Identifier: GPL-2.0-or-later - * See LICENSES/README.md for more information. - */ - -#pragma once - -#include "../AddonBase.h" -#include "definitions.h" - -#include - -namespace kodi -{ -namespace gui -{ - - class CWindow; - - class ATTRIBUTE_HIDDEN CAddonGUIControlBase - { - public: - GUIHANDLE GetControlHandle() const { return m_controlHandle; } - - protected: - explicit CAddonGUIControlBase(CAddonGUIControlBase* window) - : m_controlHandle(nullptr), - m_interface(::kodi::addon::CAddonBase::m_interface->toKodi), - m_Window(window) {} - - virtual ~CAddonGUIControlBase() = default; - - friend class CWindow; - - GUIHANDLE m_controlHandle; - AddonToKodiFuncTable_Addon* m_interface; - CAddonGUIControlBase* m_Window; - - private: - CAddonGUIControlBase() = delete; - CAddonGUIControlBase(const CAddonGUIControlBase&) = delete; - CAddonGUIControlBase &operator=(const CAddonGUIControlBase&) = delete; - }; - - class CListItem; - typedef std::shared_ptr ListItemPtr; - - //============================================================================ - /// - /// \defgroup cpp_kodi_gui_CListItem List Item - /// \ingroup cpp_kodi_gui - /// @brief \cpp_class{ kodi::gui::CListItem } - /// **Selectable window list item** - /// - /// The list item control is used for creating item lists in Kodi - /// - /// The with \ref ListItem.h "#include " given - /// class is used to create a item entry for a list on window and to support it's - /// control. - /// - - //============================================================================ - /// - /// \defgroup cpp_kodi_gui_CListItem_Defs Definitions, structures and enumerators - /// \ingroup cpp_kodi_gui_CListItem - /// @brief **Library definition values** - /// - - class ATTRIBUTE_HIDDEN CListItem : public CAddonGUIControlBase - { - public: - //========================================================================== - /// - /// \ingroup cpp_kodi_gui_CListItem - /// @brief Class constructor with parameters - /// - /// @param[in] label Item label - /// @param[in] label2 Second Item label (if needed) - /// @param[in] iconImage Item icon image (if needed) - /// @param[in] path Path to where item is defined - /// - CListItem( - const std::string& label = "", - const std::string& label2 = "", - const std::string& iconImage = "", - const std::string& path = "") - : CAddonGUIControlBase(nullptr) - { - m_controlHandle = m_interface->kodi_gui->listItem->create(m_interface->kodiBase, label.c_str(), - label2.c_str(), iconImage.c_str(), - path.c_str()); - } - - /* - * Constructor used for parts given by list items from addon window - * - * Related to call of "ListItemPtr kodi::gui::CWindow::GetListItem(int listPos)" - * Not needed for addon development itself - */ - explicit CListItem(GUIHANDLE listItemHandle) - : CAddonGUIControlBase(nullptr) - { - m_controlHandle = listItemHandle; - } - - //========================================================================== - /// - /// \ingroup cpp_kodi_gui_CListItem - /// @brief Class destructor - /// - ~CListItem() override - { - m_interface->kodi_gui->listItem->destroy(m_interface->kodiBase, m_controlHandle); - } - //-------------------------------------------------------------------------- - - //========================================================================== - /// - /// \ingroup cpp_kodi_gui_CListItem - /// @brief Returns the listitem label. - /// - /// @return Label of item - /// - std::string GetLabel() - { - std::string label; - char* ret = m_interface->kodi_gui->listItem->get_label(m_interface->kodiBase, m_controlHandle); - if (ret != nullptr) - { - if (std::strlen(ret)) - label = ret; - m_interface->free_string(m_interface->kodiBase, ret); - } - return label; - } - //-------------------------------------------------------------------------- - - //========================================================================== - /// - /// \ingroup cpp_kodi_gui_CListItem - /// @brief Sets the listitem label. - /// - /// @param[in] label string or unicode - text string. - /// - void SetLabel(const std::string& label) - { - m_interface->kodi_gui->listItem->set_label(m_interface->kodiBase, m_controlHandle, label.c_str()); - } - //-------------------------------------------------------------------------- - - //========================================================================== - /// - /// \ingroup cpp_kodi_gui_CListItem - /// @brief Returns the second listitem label. - /// - /// @return Second label of item - /// - std::string GetLabel2() - { - std::string label; - char* ret = m_interface->kodi_gui->listItem->get_label2(m_interface->kodiBase, m_controlHandle); - if (ret != nullptr) - { - if (std::strlen(ret)) - label = ret; - m_interface->free_string(m_interface->kodiBase, ret); - } - return label; - } - //-------------------------------------------------------------------------- - - //========================================================================== - /// - /// \ingroup cpp_kodi_gui_CListItem - /// @brief Sets the listitem's label2. - /// - /// @param[in] label string or unicode - text string. - /// - void SetLabel2(const std::string& label) - { - m_interface->kodi_gui->listItem->set_label2(m_interface->kodiBase, m_controlHandle, label.c_str()); - } - //-------------------------------------------------------------------------- - - //========================================================================== - /// - /// \ingroup cpp_kodi_gui_CListItem - /// @brief Sets the listitem's art - /// - /// @param[in] type Type of Art to set - /// - Some default art values (any string possible): - /// | value (type) | Type | - /// |:-------------:|:--------------------------------------------------| - /// | thumb | string - image filename - /// | poster | string - image filename - /// | banner | string - image filename - /// | fanart | string - image filename - /// | clearart | string - image filename - /// | clearlogo | string - image filename - /// | landscape | string - image filename - /// | icon | string - image filename - /// @return The url to use for Art - /// - std::string GetArt(const std::string& type) - { - std::string strReturn; - char* ret = m_interface->kodi_gui->listItem->get_art(m_interface->kodiBase, m_controlHandle, type.c_str()); - if (ret != nullptr) - { - if (std::strlen(ret)) - strReturn = ret; - m_interface->free_string(m_interface->kodiBase, ret); - } - return strReturn; - } - //-------------------------------------------------------------------------- - - //========================================================================== - /// - /// \ingroup cpp_kodi_gui_CListItem - /// @brief Sets the listitem's art - /// - /// @param[in] type Type of Art to set - /// @param[in] url The url to use for Art - /// - Some default art values (any string possible): - /// | value (type) | Type | - /// |:-------------:|:--------------------------------------------------| - /// | thumb | string - image filename - /// | poster | string - image filename - /// | banner | string - image filename - /// | fanart | string - image filename - /// | clearart | string - image filename - /// | clearlogo | string - image filename - /// | landscape | string - image filename - /// | icon | string - image filename - /// - void SetArt(const std::string& type, const std::string& url) - { - m_interface->kodi_gui->listItem->set_art(m_interface->kodiBase, m_controlHandle, type.c_str(), url.c_str()); - } - //-------------------------------------------------------------------------- - - //========================================================================== - /// - /// \ingroup cpp_kodi_gui_CListItem - /// @brief Returns the path / filename of this listitem. - /// - /// @return Path string - /// - std::string GetPath() - { - std::string strReturn; - char* ret = m_interface->kodi_gui->listItem->get_path(m_interface->kodiBase, m_controlHandle); - if (ret != nullptr) - { - if (std::strlen(ret)) - strReturn = ret; - m_interface->free_string(m_interface->kodiBase, ret); - } - return strReturn; - } - //-------------------------------------------------------------------------- - - //========================================================================== - /// - /// \ingroup cpp_kodi_gui_CListItem - /// @brief Sets the listitem's path. - /// - /// @param[in] path string or unicode - path, activated when - /// item is clicked. - /// - /// @note You can use the above as keywords for arguments. - /// - void SetPath(const std::string& path) - { - m_interface->kodi_gui->listItem->set_path(m_interface->kodiBase, m_controlHandle, path.c_str()); - } - //-------------------------------------------------------------------------- - - //========================================================================== - /// - /// \ingroup cpp_kodi_gui_CListItem - /// @brief Sets a listitem property, similar to an infolabel. - /// - /// @param[in] key string - property name. - /// @param[in] value string or unicode - value of property. - /// - /// @note Key is NOT case sensitive. - /// You can use the above as keywords for arguments and skip certain\n - /// optional arguments.\n - /// Once you use a keyword, all following arguments require the - /// keyword. - /// - /// Some of these are treated internally by Kodi, such as the - /// 'StartOffset' property, which is the offset in seconds at which to - /// start playback of an item. Others may be used in the skin to add - /// extra information, such as 'WatchedCount' for tvshow items - /// - void SetProperty(const std::string& key, const std::string& value) - { - m_interface->kodi_gui->listItem->set_property(m_interface->kodiBase, m_controlHandle, key.c_str(), value.c_str()); - } - //-------------------------------------------------------------------------- - - //========================================================================== - /// - /// \ingroup cpp_kodi_gui_CListItem - /// @brief Returns a listitem property as a string, similar to an infolabel. - /// - /// @param[in] key string - property name. - /// @return string - List item property - /// - /// @note Key is NOT case sensitive.\n - /// You can use the above as keywords for arguments and skip certain - /// optional arguments.\n - /// Once you use a keyword, all following arguments require the - /// keyword. - /// - std::string GetProperty(const std::string& key) - { - std::string label; - char* ret = m_interface->kodi_gui->listItem->get_property(m_interface->kodiBase, m_controlHandle, key.c_str()); - if (ret != nullptr) - { - if (std::strlen(ret)) - label = ret; - m_interface->free_string(m_interface->kodiBase, ret); - } - return label; - } - //-------------------------------------------------------------------------- - - //========================================================================== - /// - /// \ingroup cpp_kodi_gui_CListItem - /// @brief To control selection of item in list (also multiple selection, - /// in list on serveral items possible). - /// - /// @param[in] selected if true becomes set as selected - /// - void Select(bool selected) - { - m_interface->kodi_gui->listItem->select(m_interface->kodiBase, m_controlHandle, selected); - } - //-------------------------------------------------------------------------- - - //========================================================================== - /// - /// \ingroup cpp_kodi_gui_CListItem - /// @brief Returns the listitem's selected status. - /// - /// @return true if selected, otherwise false - /// - bool IsSelected() - { - return m_interface->kodi_gui->listItem->is_selected(m_interface->kodiBase, m_controlHandle); - } - //-------------------------------------------------------------------------- - - }; - -} /* namespace gui */ -} /* namespace kodi */ -- cgit v1.2.3