diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index bd8dee8a..91da7d3d 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -103,6 +103,8 @@ set(KDDW_BACKEND_SRCS views/MainWindowMDI.h views/MainWindowViewInterface.cpp views/MainWindowViewInterface.h + views/DockWidgetViewInterface.cpp + views/DockWidgetViewInterface.h qtcommon/Platform_qt.cpp qtcommon/Platform_qt.h qtcommon/Window_qt.cpp diff --git a/src/fwd_headers/kddockwidgets/views/DockWidget.h b/src/fwd_headers/kddockwidgets/views/DockWidgetViewInterface.h similarity index 86% rename from src/fwd_headers/kddockwidgets/views/DockWidget.h rename to src/fwd_headers/kddockwidgets/views/DockWidgetViewInterface.h index a2d1e648..7d987cee 100644 --- a/src/fwd_headers/kddockwidgets/views/DockWidget.h +++ b/src/fwd_headers/kddockwidgets/views/DockWidgetViewInterface.h @@ -9,4 +9,4 @@ Contact KDAB at for commercial licensing options. */ -#include "../../../views/DockWidget.h" +#include "../../../views/DockWidgetViewInterface.h" diff --git a/src/qtquick/views/DockWidget_qtquick.h b/src/qtquick/views/DockWidget_qtquick.h index 1d2ef59f..3f147063 100644 --- a/src/qtquick/views/DockWidget_qtquick.h +++ b/src/qtquick/views/DockWidget_qtquick.h @@ -20,6 +20,7 @@ #define KD_DOCKWIDGET_QUICK_H #include "kddockwidgets/controllers/DockWidget.h" +#include "kddockwidgets/views/DockWidgetViewInterface.h" #include "View_qtquick.h" QT_BEGIN_NAMESPACE @@ -39,7 +40,7 @@ namespace Views { * * Most of the interface lives in Controllers::DockWidget, to facilitate sharing with QtQuick. */ -class DOCKS_EXPORT DockWidget_qtquick : public Views::View_qtquick +class DOCKS_EXPORT DockWidget_qtquick : public Views::View_qtquick, Views::DockWidgetViewInterface { Q_OBJECT Q_PROPERTY(QObject *actualTitleBar READ actualTitleBarView NOTIFY actualTitleBarChanged) diff --git a/src/qtwidgets/views/DockWidget_qtwidgets.h b/src/qtwidgets/views/DockWidget_qtwidgets.h index 4b871c8d..36f0e2b7 100644 --- a/src/qtwidgets/views/DockWidget_qtwidgets.h +++ b/src/qtwidgets/views/DockWidget_qtwidgets.h @@ -21,6 +21,7 @@ #pragma once #include "kddockwidgets/controllers/DockWidget.h" +#include "kddockwidgets/views/DockWidgetViewInterface.h" #include "View_qtwidgets.h" // clazy:excludeall=ctor-missing-parent-argument @@ -34,7 +35,7 @@ namespace Views { * * Most of the interface lives in Controllers::DockWidget, to facilitate sharing with QtQuick. */ -class DOCKS_EXPORT DockWidget_qtwidgets : public View_qtwidgets +class DOCKS_EXPORT DockWidget_qtwidgets : public View_qtwidgets, Views::DockWidgetViewInterface { Q_OBJECT public: diff --git a/src/views/DockWidgetViewInterface.cpp b/src/views/DockWidgetViewInterface.cpp new file mode 100644 index 00000000..627e5d86 --- /dev/null +++ b/src/views/DockWidgetViewInterface.cpp @@ -0,0 +1,16 @@ +/* + This file is part of KDDockWidgets. + + SPDX-FileCopyrightText: 2020-2022 Klarälvdalens Datakonsult AB, a KDAB Group company + Author: Sérgio Martins + + SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only + + Contact KDAB at for commercial licensing options. +*/ + +#include "DockWidgetViewInterface.h" + +namespace KDDockWidgets::Views { +DockWidgetViewInterface::~DockWidgetViewInterface() = default; +} diff --git a/src/views/DockWidget.h b/src/views/DockWidgetViewInterface.h similarity index 80% rename from src/views/DockWidget.h rename to src/views/DockWidgetViewInterface.h index c381782c..6426b26c 100644 --- a/src/views/DockWidget.h +++ b/src/views/DockWidgetViewInterface.h @@ -11,6 +11,8 @@ #pragma once +#include "kddockwidgets/KDDockWidgets.h" + namespace KDDockWidgets { namespace Controllers { @@ -20,9 +22,10 @@ class DockWidget; namespace Views { /// @brief The interface that DockWidget views should implement -class DockWidget +class DOCKS_EXPORT DockWidgetViewInterface { public: + virtual ~DockWidgetViewInterface(); }; }