LeechCraft  0.6.70-15082-g543737046d
Modular cross-platform feature rich live environment.
imwproxy.h
Go to the documentation of this file.
1 /**********************************************************************
2  * LeechCraft - modular cross-platform feature rich internet client.
3  * Copyright (C) 2006-2014 Georg Rudoy
4  *
5  * Distributed under the Boost Software License, Version 1.0.
6  * (See accompanying file LICENSE or copy at https://www.boost.org/LICENSE_1_0.txt)
7  **********************************************************************/
8 
9 #pragma once
10 
11 #include <optional>
12 #include <Qt>
13 
14 class QDockWidget;
15 class QToolBar;
16 class QWidget;
17 class QKeySequence;
18 class QMenu;
19 
25 class Q_DECL_EXPORT IMWProxy
26 {
27 public:
29  {
32  WABottom
33  };
34 
35  virtual ~IMWProxy () {}
36 
38  {
39  Qt::DockWidgetArea Area_ = Qt::NoDockWidgetArea;
40  std::optional<QByteArray> SizeContext_ = {};
41  };
42 
54  virtual void AddDockWidget (QDockWidget *widget, const DockWidgetParams& params) = 0;
55 
71  virtual void AssociateDockWidget (QDockWidget *dock, QWidget *tab) = 0;
72 
90  virtual void SetDockWidgetVisibility (QDockWidget *dock, bool visible) = 0;
91 
102  virtual void ToggleViewActionVisiblity (QDockWidget *widget, bool visible) = 0;
103 
110  virtual void SetViewActionShortcut (QDockWidget *widget, const QKeySequence& seq) = 0;
111 
114  virtual void ToggleVisibility () = 0;
115 
118  virtual void ShowMain () = 0;
119 
126  virtual QMenu* GetMainMenu () = 0;
127 
137  virtual void HideMainMenu () = 0;
138 };
139 
140 Q_DECLARE_INTERFACE (IMWProxy, "org.Deviant.LeechCraft.IMWProxy/1.0")
IMWProxy::DockWidgetParams
Definition: imwproxy.h:37
IMWProxy::WARight
@ WARight
Definition: imwproxy.h:31
IMWProxy
This interface is used for manipulating the main window.
Definition: imwproxy.h:25
IMWProxy::~IMWProxy
virtual ~IMWProxy()
Definition: imwproxy.h:35
IMWProxy::WidgetArea
WidgetArea
Definition: imwproxy.h:28
IMWProxy::WALeft
@ WALeft
Definition: imwproxy.h:30