kodi
GUIDialogYesNo.h
1 /*
2  * Copyright (C) 2005-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 "GUIDialogBoxBase.h"
12 #include "utils/Variant.h"
13 
14 namespace KODI
15 {
16  namespace MESSAGING
17  {
18  namespace HELPERS
19  {
20  struct DialogYesNoMessage;
21  }
22  }
23 }
24 
26  public CGUIDialogBoxBase
27 {
28 public:
29  explicit CGUIDialogYesNo(int overrideId = -1);
30  ~CGUIDialogYesNo(void) override;
31  bool OnMessage(CGUIMessage& message) override;
32  bool OnBack(int actionID) override;
33 
34  void Reset();
35 
36  enum DialogResult
37  {
38  DIALOG_RESULT_CANCEL = -1,
39  DIALOG_RESULT_NO = 0,
40  DIALOG_RESULT_YES = 1,
41  DIALOG_RESULT_CUSTOM = 2,
42  };
43 
44  DialogResult GetResult() const;
45 
46  enum TimeOut
47  {
48  NO_TIMEOUT = 0
49  };
50 
59  static bool ShowAndGetInput(const CVariant& heading,
60  const CVariant& line0,
61  const CVariant& line1,
62  const CVariant& line2,
63  bool& bCanceled);
64 
74  static bool ShowAndGetInput(const CVariant& heading,
75  const CVariant& line0,
76  const CVariant& line1,
77  const CVariant& line2,
78  const CVariant& noLabel = "",
79  const CVariant& yesLabel = "");
80 
92  static bool ShowAndGetInput(const CVariant& heading,
93  const CVariant& line0,
94  const CVariant& line1,
95  const CVariant& line2,
96  bool& bCanceled,
97  const CVariant& noLabel,
98  const CVariant& yesLabel,
99  unsigned int autoCloseTime);
100 
106  static bool ShowAndGetInput(const CVariant& heading, const CVariant& text);
107 
118  static bool ShowAndGetInput(const CVariant& heading,
119  const CVariant& text,
120  bool& bCanceled,
121  const CVariant& noLabel,
122  const CVariant& yesLabel,
123  unsigned int autoCloseTime,
124  int defaultButtonId = CONTROL_NO_BUTTON);
125 
136  static DialogResult ShowAndGetInput(const CVariant& heading,
137  const CVariant& text,
138  const CVariant& noLabel,
139  const CVariant& yesLabel,
140  const CVariant& customLabel,
141  unsigned int autoCloseTime,
142  int defaultButtonId = CONTROL_NO_BUTTON);
143 
153  DialogResult ShowAndGetInput(const KODI::MESSAGING::HELPERS::DialogYesNoMessage& options);
154 
155 protected:
156  void OnInitWindow() override;
157  int GetDefaultLabelID(int controlId) const override;
158 
159  bool m_bCanceled;
160  bool m_bCustom;
161  int m_defaultButtonId;
162 };
Definition: Variant.h:31
Definition: AudioDecoder.h:18
Payload sent for message TMSG_GUI_DIALOG_YESNO.
Definition: DialogHelper.h:37
Definition: GUIMessage.h:365
Definition: GUIDialogYesNo.h:25
Definition: GUIDialogBoxBase.h:27