xbmc
GUIDialogColorPicker.h
1 /*
2  * Copyright (C) 2005-2021 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 "GUIDialogBoxBase.h"
12 #include "view/GUIViewControl.h"
13 
14 #include <string>
15 
16 class CFileItem;
17 class CFileItemList;
18 
20 {
21 public:
23  ~CGUIDialogColorPicker() override;
24  bool OnMessage(CGUIMessage& message) override;
25  bool OnBack(int actionID) override;
26  void Reset();
30  void AddItem(const CFileItem& item);
34  void SetItems(const CFileItemList& pList);
36  void LoadColors();
40  void LoadColors(const std::string& filePath);
42  std::string GetSelectedColor() const;
44  void SetSelectedColor(const std::string& hexColor);
46  void SetButtonFocus(bool buttonFocus);
47 
48 protected:
49  CGUIControl* GetFirstFocusableControl(int id) override;
50  void OnWindowLoaded() override;
51  void OnInitWindow() override;
52  void OnDeinitWindow(int nextWindowID) override;
53  void OnWindowUnload() override;
54 
55  virtual void OnSelect(int idx);
56 
57 private:
58  int GetSelectedItem() const;
59 
60  CGUIViewControl m_viewControl;
61  CFileItemList* m_vecList;
62  bool m_focusToButton = false;
63  std::string m_selectedColor;
64 };
Definition: GUIViewControl.h:19
void LoadColors()
Load a list of colors from the default xml.
Definition: GUIDialogColorPicker.cpp:157
void SetSelectedColor(const std::string &hexColor)
Set the selected color by hex value.
Definition: GUIDialogColorPicker.cpp:199
Represents a list of files.
Definition: FileItem.h:721
Base class for controls.
Definition: GUIControl.h:75
void AddItem(const CFileItem &item)
Add a color item (Label property must be the color name, Label2 property must be the color hex) ...
Definition: GUIDialogColorPicker.cpp:145
Definition: GUIDialogColorPicker.h:19
void SetItems(const CFileItemList &pList)
Set a list of color items (Label property must be the color name, Label2 property must be the color h...
Definition: GUIDialogColorPicker.cpp:150
Definition: GUIMessage.h:365
std::string GetSelectedColor() const
Get the hex value of the selected color.
Definition: GUIDialogColorPicker.cpp:180
void OnInitWindow() override
Called on window open.
Definition: GUIDialogColorPicker.cpp:224
Definition: GUIDialogBoxBase.h:27
void SetButtonFocus(bool buttonFocus)
Set the focus to the control button.
Definition: GUIDialogColorPicker.cpp:204
Represents a file on a share.
Definition: FileItem.h:102