KDDockWidgets API Documentation  1.4
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Macros Pages
QWidgetAdapter_widgets.cpp
Go to the documentation of this file.
1 /*
2  This file is part of KDDockWidgets.
3 
4  SPDX-FileCopyrightText: 2019-2021 Klarälvdalens Datakonsult AB, a KDAB Group company <info@kdab.com>
5  Author: Sérgio Martins <sergio.martins@kdab.com>
6 
7  SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only
8 
9  Contact KDAB at <info@kdab.com> for commercial licensing options.
10 */
11 
21 #include "QWidgetAdapter.h"
22 #include "../FloatingWindow_p.h"
23 #include "../Utils_p.h"
24 #include "Qt5Qt6Compat_p.h"
25 
26 #include <QResizeEvent>
27 #include <QMouseEvent>
28 #include <QWindow>
29 
30 using namespace KDDockWidgets;
31 
32 QWidgetAdapter::QWidgetAdapter(QWidget *parent, Qt::WindowFlags f)
33  : QWidget(parent, f)
34 {
35 }
36 
37 QWidgetAdapter::~QWidgetAdapter()
38 {
39 }
40 
41 FloatingWindow *QWidgetAdapter::floatingWindow() const
42 {
43  if (auto fw = qobject_cast<FloatingWindow *>(window()))
44  return fw;
45 
46  return nullptr;
47 }
48 
49 void QWidgetAdapter::raiseAndActivate()
50 {
51  window()->raise();
52  if (!isWayland())
53  window()->activateWindow();
54 }
55 
56 bool QWidgetAdapter::event(QEvent *e)
57 {
58  if (e->type() == QEvent::LayoutRequest)
59  onLayoutRequest();
60 
61  return QWidget::event(e);
62 }
63 
64 void QWidgetAdapter::resizeEvent(QResizeEvent *ev)
65 {
66  if (!onResize(ev->size()))
68 }
69 
70 void QWidgetAdapter::mousePressEvent(QMouseEvent *)
71 {
72  onMousePress();
73 }
74 
75 void QWidgetAdapter::mouseMoveEvent(QMouseEvent *ev)
76 {
77  onMouseMove(Qt5Qt6Compat::eventGlobalPos(ev));
78 }
79 
80 void QWidgetAdapter::mouseReleaseEvent(QMouseEvent *)
81 {
82  onMouseRelease();
83 }
84 
85 void QWidgetAdapter::closeEvent(QCloseEvent *e)
86 {
87  onCloseEvent(e);
88 }
89 
90 void QWidgetAdapter::setFlag(Qt::WindowType f, bool on)
91 {
93 }
94 
95 void QWidgetAdapter::setSize(QSize size)
96 {
97  QRect geo = geometry();
98  geo.setSize(size);
99  setGeometry(geo);
100 }
101 
102 bool QWidgetAdapter::onResize(QSize)
103 {
104  return false;
105 }
106 void QWidgetAdapter::onLayoutRequest()
107 {
108 }
109 
110 void QWidgetAdapter::onMousePress()
111 {
112 }
113 void QWidgetAdapter::onMouseMove(QPoint)
114 {
115 }
116 void QWidgetAdapter::onMouseRelease()
117 {
118 }
119 
120 void QWidgetAdapter::onCloseEvent(QCloseEvent *)
121 {
122 }
123 
124 QWidget *KDDockWidgets::Private::widgetForWindow(QWindow *window)
125 {
126  if (!window)
127  return nullptr;
128 
129  return window->property("kddockwidgets_qwidget").value<QWidget *>();
130 }
131 
132 LayoutGuestWidget::~LayoutGuestWidget() = default;
QRect::setSize
void setSize(const QSize &size)
QEvent::LayoutRequest
LayoutRequest
QRect
QVariant::value
T value() const const
QWidget::resizeEvent
virtual void resizeEvent(QResizeEvent *event)
QWindow
QWidget::event
virtual bool event(QEvent *event) override
QWidget
QSize
QResizeEvent::size
const QSize & size() const const
QMouseEvent
QWidgetAdapter.h
Abstraction for supporting both QtWidgets and QtQuick.
Qt::WindowFlags
typedef WindowFlags
QCloseEvent
QWidget::raise
void raise()
QEvent::type
QEvent::Type type() const const
QEvent
QResizeEvent
KDDockWidgets
Definition: Config.cpp:36
QPoint
QWidget::setWindowFlag
void setWindowFlag(Qt::WindowType flag, bool on)
QObject::property
QVariant property(const char *name) const const

© 2019-2021 Klarälvdalens Datakonsult AB (KDAB)
"The Qt, C++ and OpenGL Experts"
https://www.kdab.com/
KDDockWidgets
Advanced Dock Widget Framework for Qt
https://www.kdab.com/development-resources/qt-tools/kddockwidgets/
Generated on Mon Nov 15 2021 00:17:28 for KDDockWidgets API Documentation by doxygen 1.8.20