xbmc
GUIDialogPVRItemsViewBase.h
1 /*
2  * Copyright (C) 2012-2018 Team Kodi
3  * This file is part of Kodi - https://kodi.tv
4  *
5  * SPDX-License-Identifier: GPL-2.0-or-later
6  * See LICENSES/README.md for more information.
7  */
8 
9 #pragma once
10 
11 #include "guilib/GUIDialog.h"
12 #include "view/GUIViewControl.h"
13 
14 #include <memory>
15 #include <string>
16 
17 class CFileItemList;
18 
19 namespace PVR
20 {
22 {
23 public:
24  CGUIDialogPVRItemsViewBase() = delete;
25  CGUIDialogPVRItemsViewBase(int id, const std::string& xmlFile);
26  ~CGUIDialogPVRItemsViewBase() override = default;
27 
28  void OnWindowLoaded() override;
29  void OnWindowUnload() override;
30  bool OnAction(const CAction& action) override;
31 
32 protected:
33  void Init();
34 
35  void OnInitWindow() override;
36  void OnDeinitWindow(int nextWindowID) override;
37  CGUIControl* GetFirstFocusableControl(int id) override;
38 
39  std::unique_ptr<CFileItemList> m_vecItems;
40  CGUIViewControl m_viewControl;
41 
42 private:
43  void Clear();
44  void ShowInfo(int itemIdx);
45  bool ContextMenu(int iItemIdx);
46 };
47 } // namespace PVR
Definition: GUIViewControl.h:19
Definition: ContextMenuManager.h:24
Represents a list of files.
Definition: FileItem.h:713
Base class for controls.
Definition: GUIControl.h:75
class encapsulating information regarding a particular user action to be sent to windows and controls...
Definition: Action.h:22
Definition: GUIDialog.h:35
void OnInitWindow() override
Called on window open.
Definition: GUIDialogPVRItemsViewBase.cpp:46
Definition: GUIDialogPVRItemsViewBase.h:21