summaryrefslogtreecommitdiffstats
path: root/xbmc/interfaces/legacy/WindowDialog.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--xbmc/interfaces/legacy/WindowDialog.h88
1 files changed, 88 insertions, 0 deletions
diff --git a/xbmc/interfaces/legacy/WindowDialog.h b/xbmc/interfaces/legacy/WindowDialog.h
new file mode 100644
index 0000000..0d44c86
--- /dev/null
+++ b/xbmc/interfaces/legacy/WindowDialog.h
@@ -0,0 +1,88 @@
+/*
+ * 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 "Window.h"
+#include "WindowDialogMixin.h"
+
+namespace XBMCAddon
+{
+ namespace xbmcgui
+ {
+ //
+ /// \defgroup python_xbmcgui_window_dialog Subclass - WindowDialog
+ /// \ingroup python_xbmcgui_window
+ /// @{
+ /// @brief __GUI window dialog class for Add-Ons.__
+ ///
+ /// \python_class{ xbmcgui.WindowDialog(int windowId): }
+ ///
+ /// Creates a new window from Add-On usable dialog class. This is to create
+ /// window for related controls by system calls.
+ ///
+ /// @param windowId [opt] Specify an id to use an existing
+ /// window.
+ /// @throws ValueError if supplied window Id does not exist.
+ /// @throws Exception if more then 200 windows are created.
+ ///
+ /// Deleting this window will activate the old window that was active
+ /// and resets (not delete) all controls that are associated with this
+ /// window.
+ ///
+ ///
+ ///--------------------------------------------------------------------------
+ ///
+ /// **Example:**
+ /// ~~~~~~~~~~~~~{.py}
+ /// ..
+ /// dialog = xbmcgui.WindowDialog()
+ /// width = dialog.getWidth()
+ /// ..
+ /// ~~~~~~~~~~~~~
+ ///
+ ///
+ //
+ class WindowDialog : public Window, private WindowDialogMixin
+ {
+ public:
+ WindowDialog();
+ ~WindowDialog() override;
+
+#ifndef SWIG
+ bool OnMessage(CGUIMessage& message) override;
+ bool OnAction(const CAction& action) override;
+ void OnDeinitWindow(int nextWindowID) override;
+
+ bool IsDialogRunning() const override { return WindowDialogMixin::IsDialogRunning(); }
+ bool IsModalDialog() const override
+ {
+ XBMC_TRACE;
+ return true;
+ };
+ bool IsDialog() const override
+ {
+ XBMC_TRACE;
+ return true;
+ };
+
+ inline void show() override
+ {
+ XBMC_TRACE;
+ WindowDialogMixin::show();
+ }
+ inline void close() override
+ {
+ XBMC_TRACE;
+ WindowDialogMixin::close();
+ }
+#endif
+ };
+ ///@}
+ }
+}