File indexing completed on 2024-05-05 17:36:13

0001 /*
0002     KWin - the KDE window manager
0003     This file is part of the KDE project.
0004 
0005     SPDX-FileCopyrightText: 2012 Martin Gräßlin <mgraesslin@kde.org>
0006 
0007     SPDX-License-Identifier: GPL-2.0-or-later
0008 */
0009 #ifndef KWIN_MOCK_TABBOX_HANDLER_H
0010 #define KWIN_MOCK_TABBOX_HANDLER_H
0011 
0012 #include "tabbox/tabboxhandler.h"
0013 namespace KWin
0014 {
0015 class MockTabBoxHandler : public TabBox::TabBoxHandler
0016 {
0017     Q_OBJECT
0018 public:
0019     MockTabBoxHandler(QObject *parent = nullptr);
0020     ~MockTabBoxHandler() override;
0021     void activateAndClose() override
0022     {
0023     }
0024     QWeakPointer<TabBox::TabBoxClient> activeClient() const override;
0025     void setActiveClient(const QWeakPointer<TabBox::TabBoxClient> &client);
0026     int activeScreen() const override
0027     {
0028         return 0;
0029     }
0030     QWeakPointer<TabBox::TabBoxClient> clientToAddToList(TabBox::TabBoxClient *client, int desktop) const override;
0031     int currentDesktop() const override
0032     {
0033         return 1;
0034     }
0035     QWeakPointer<TabBox::TabBoxClient> desktopClient() const override
0036     {
0037         return QWeakPointer<TabBox::TabBoxClient>();
0038     }
0039     QString desktopName(int desktop) const override
0040     {
0041         return "desktop 1";
0042     }
0043     QString desktopName(TabBox::TabBoxClient *client) const override
0044     {
0045         return "desktop";
0046     }
0047     void elevateClient(TabBox::TabBoxClient *c, QWindow *tabbox, bool elevate) const override
0048     {
0049     }
0050     void shadeClient(TabBox::TabBoxClient *c, bool b) const override
0051     {
0052     }
0053     virtual void hideOutline()
0054     {
0055     }
0056     QWeakPointer<TabBox::TabBoxClient> nextClientFocusChain(TabBox::TabBoxClient *client) const override;
0057     QWeakPointer<TabBox::TabBoxClient> firstClientFocusChain() const override;
0058     bool isInFocusChain(TabBox::TabBoxClient *client) const override;
0059     int nextDesktopFocusChain(int desktop) const override
0060     {
0061         return 1;
0062     }
0063     int numberOfDesktops() const override
0064     {
0065         return 1;
0066     }
0067     bool isKWinCompositing() const override
0068     {
0069         return false;
0070     }
0071     void raiseClient(TabBox::TabBoxClient *c) const override
0072     {
0073     }
0074     void restack(TabBox::TabBoxClient *c, TabBox::TabBoxClient *under) override
0075     {
0076     }
0077     virtual void showOutline(const QRect &outline)
0078     {
0079     }
0080     TabBox::TabBoxClientList stackingOrder() const override
0081     {
0082         return TabBox::TabBoxClientList();
0083     }
0084     void grabbedKeyEvent(QKeyEvent *event) const override;
0085 
0086     void highlightWindows(TabBox::TabBoxClient *window = nullptr, QWindow *controller = nullptr) override
0087     {
0088     }
0089 
0090     bool noModifierGrab() const override
0091     {
0092         return false;
0093     }
0094 
0095     // mock methods
0096     QWeakPointer<TabBox::TabBoxClient> createMockWindow(const QString &caption);
0097     void closeWindow(TabBox::TabBoxClient *client);
0098 
0099 private:
0100     QList<QSharedPointer<TabBox::TabBoxClient>> m_windows;
0101     QWeakPointer<TabBox::TabBoxClient> m_activeClient;
0102 };
0103 } // namespace KWin
0104 #endif