LeechCraft 0.6.70-16373-g319c272718
Modular cross-platform feature rich live environment.
Loading...
Searching...
No Matches
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
14class QDockWidget;
15class QToolBar;
16class QWidget;
17class QKeySequence;
18class QMenu;
19
25class Q_DECL_EXPORT IMWProxy
26{
27public:
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
140Q_DECLARE_INTERFACE (IMWProxy, "org.Deviant.LeechCraft.IMWProxy/1.0")
This interface is used for manipulating the main window.
Definition imwproxy.h:26
@ WABottom
Definition imwproxy.h:32
@ WARight
Definition imwproxy.h:31
virtual void ToggleVisibility()=0
Toggles the visibility of the main window.
virtual void ShowMain()=0
Show/raise main window.
virtual void ToggleViewActionVisiblity(QDockWidget *widget, bool visible)=0
Toggles the visibility of the toggle view action.
virtual QMenu * GetMainMenu()=0
Returns the main LeechCraft menu.
virtual void AssociateDockWidget(QDockWidget *dock, QWidget *tab)=0
Connects the given dock widget with the given tab.
virtual void SetViewActionShortcut(QDockWidget *widget, const QKeySequence &seq)=0
Sets the visibility action shortcut of the given widget.
virtual void AddDockWidget(QDockWidget *widget, const DockWidgetParams &params)=0
Adds the given dock widget to the main window.
virtual ~IMWProxy()
Definition imwproxy.h:35
virtual void SetDockWidgetVisibility(QDockWidget *dock, bool visible)=0
Sets the visibility of the previously added dock widget.
virtual void HideMainMenu()=0
Hides the main LeechCraft menu.
Qt::DockWidgetArea Area_
Definition imwproxy.h:39
std::optional< QByteArray > SizeContext_
Definition imwproxy.h:40