KDecoration3

decoratedwindowprivate.h
1/*
2 * SPDX-FileCopyrightText: 2014 Martin Gräßlin <mgraesslin@kde.org>
3 *
4 * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
5 */
6#pragma once
7
8#include "../decorationdefines.h"
9#include <kdecoration3/private/kdecoration3_private_export.h>
10
11#include <QIcon>
12#include <QString>
13
14//
15// W A R N I N G
16// -------------
17//
18// This file is not part of the KDecoration3 API. It exists purely as an
19// implementation detail. This header file may change from version to
20// version without notice, or even be removed.
21//
22// We mean it.
23//
24
25namespace KDecoration3
26{
27class Decoration;
28class DecoratedWindow;
29
30class KDECORATIONS_PRIVATE_EXPORT DecoratedWindowPrivate
31{
32public:
33 virtual ~DecoratedWindowPrivate();
34 virtual bool isActive() const = 0;
35 virtual QString caption() const = 0;
36 virtual bool isOnAllDesktops() const = 0;
37 virtual bool isShaded() const = 0;
38 virtual QIcon icon() const = 0;
39 virtual bool isMaximized() const = 0;
40 virtual bool isMaximizedHorizontally() const = 0;
41 virtual bool isMaximizedVertically() const = 0;
42 virtual bool isKeepAbove() const = 0;
43 virtual bool isKeepBelow() const = 0;
44
45 virtual bool isCloseable() const = 0;
46 virtual bool isMaximizeable() const = 0;
47 virtual bool isMinimizeable() const = 0;
48 virtual bool providesContextHelp() const = 0;
49 virtual bool isModal() const = 0;
50 virtual bool isShadeable() const = 0;
51 virtual bool isMoveable() const = 0;
52 virtual bool isResizeable() const = 0;
53
54 virtual qreal width() const = 0;
55 virtual qreal height() const = 0;
56 virtual QSizeF size() const = 0;
57 virtual QPalette palette() const = 0;
58 virtual Qt::Edges adjacentScreenEdges() const = 0;
59 virtual qreal scale() const = 0;
60 virtual qreal nextScale() const = 0;
61
62 virtual void requestShowToolTip(const QString &text) = 0;
63 virtual void requestHideToolTip() = 0;
64 virtual void requestClose() = 0;
65 virtual void requestToggleMaximization(Qt::MouseButtons buttons) = 0;
66 virtual void requestMinimize() = 0;
67 virtual void requestContextHelp() = 0;
68 virtual void requestToggleOnAllDesktops() = 0;
69 virtual void requestToggleShade() = 0;
70 virtual void requestToggleKeepAbove() = 0;
71 virtual void requestToggleKeepBelow() = 0;
72 virtual void requestShowWindowMenu(const QRect &rect) = 0;
73
74 Decoration *decoration();
75 Decoration *decoration() const;
76
77 virtual QColor color(ColorGroup group, ColorRole role) const;
78 virtual QString windowClass() const = 0;
79
80 virtual bool hasApplicationMenu() const = 0;
81 virtual bool isApplicationMenuActive() const = 0;
82
83 virtual void showApplicationMenu(int actionId) = 0;
84 virtual void requestShowApplicationMenu(const QRect &rect, int actionId) = 0;
85
86protected:
87 explicit DecoratedWindowPrivate(DecoratedWindow *client, Decoration *decoration);
88 DecoratedWindow *window();
89
90private:
91 class Private;
92 const std::unique_ptr<Private> d;
93};
94
95} // namespace
Framework for creating window decorations.
KGUIADDONS_EXPORT QWindow * window(QObject *job)
typedef Edges
typedef MouseButtons
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Sat Dec 21 2024 16:55:48 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.