Introduce ViewWrapper - a non-owning view

In many cases we need to access widgets that weren't created by
KDDW, in that case we have no View. Since all our APIs want to
deal in View and not in QWidget, we need a way to wrap stuff like
QWidget::window() and windowHandle()

All methods are unimplemented. Will only implement those that
are required/used.
This commit is contained in:
Sergio Martins
2022-03-24 18:20:05 +00:00
parent e0e6d1fd3e
commit 90a9159748
7 changed files with 428 additions and 2 deletions

View File

@@ -0,0 +1,33 @@
/*
This file is part of KDDockWidgets.
SPDX-FileCopyrightText: 2020-2022 Klarälvdalens Datakonsult AB, a KDAB Group
company <info@kdab.com> Author: Sérgio Martins <sergio.martins@kdab.com>
SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only
Contact KDAB at <info@kdab.com> for commercial licensing options.
*/
#pragma once
#include "ViewWrapper.h"
#include <QWidget>
namespace KDDockWidgets::Views {
/// @brief A View that doesn't own its QWidget
/// Implements a View API around an existing QWidget
/// Useful for widgets that are not created by KDDW.
class DOCKS_EXPORT ViewWrapper_qtwidgets : public ViewWrapper
{
public:
explicit ViewWrapper_qtwidgets(QWidget *widget);
private:
QWidget *const m_widget;
};
}