From 4b4d839074182a987855b93c861a5daa63cc3a1e Mon Sep 17 00:00:00 2001 From: Sergio Martins Date: Tue, 25 Aug 2020 21:42:48 +0100 Subject: [PATCH] Expose more private API so users can use the full power Installed more private headers. TabWidget_p.h was moved into widgets/ as the QtQuick impl won't use that abstraction. Could even be folded into TabWidgetWidget. Fixes #65 --- src/CMakeLists.txt | 4 ++-- src/FrameworkWidgetFactory.cpp | 2 +- .../kddockwidgets/private/FloatingWindow_p.h | 12 ++++++++++++ .../private/widgets/FloatingWindowWidget_p.h | 12 ++++++++++++ .../kddockwidgets/private/widgets/FrameWidget_p.h | 12 ++++++++++++ .../private/widgets/QWidgetAdapter_widgets_p.h | 0 .../kddockwidgets/private/widgets/TabBarWidget_p.h | 12 ++++++++++++ .../private/widgets/TabWidgetWidget_p.h | 12 ++++++++++++ .../kddockwidgets/private/widgets/TabWidget_p.h | 12 ++++++++++++ src/private/DragController_p.h | 1 - src/private/widgets/FloatingWindowWidget_p.h | 2 +- src/private/widgets/TabBarWidget_p.h | 2 +- src/private/{ => widgets}/TabWidget.cpp | 0 src/private/widgets/TabWidgetWidget_p.h | 3 ++- src/private/{ => widgets}/TabWidget_p.h | 4 ++-- tests/tst_docks.cpp | 2 +- 16 files changed, 82 insertions(+), 10 deletions(-) create mode 100644 src/fwd_headers/kddockwidgets/private/FloatingWindow_p.h create mode 100644 src/fwd_headers/kddockwidgets/private/widgets/FloatingWindowWidget_p.h create mode 100644 src/fwd_headers/kddockwidgets/private/widgets/FrameWidget_p.h create mode 100644 src/fwd_headers/kddockwidgets/private/widgets/QWidgetAdapter_widgets_p.h create mode 100644 src/fwd_headers/kddockwidgets/private/widgets/TabBarWidget_p.h create mode 100644 src/fwd_headers/kddockwidgets/private/widgets/TabWidgetWidget_p.h create mode 100644 src/fwd_headers/kddockwidgets/private/widgets/TabWidget_p.h rename src/private/{ => widgets}/TabWidget.cpp (100%) rename src/private/{ => widgets}/TabWidget_p.h (98%) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 0b6f5ce6..fc244a3f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -71,7 +71,7 @@ set(DOCKS_INSTALLABLE_PRIVATE_WIDGET_INCLUDES private/widgets/FrameWidget_p.h private/widgets/TabBarWidget_p.h private/widgets/TabWidgetWidget_p.h - private/TabWidget_p.h + private/widgets/TabWidget_p.h ) if(OPTION_QTQUICK) @@ -90,8 +90,8 @@ if(OPTION_QTQUICK) else() set(DOCKSLIBS_SRCS ${DOCKSLIBS_SRCS} private/DebugWindow.cpp - private/TabWidget.cpp MainWindow.cpp + private/widgets/TabWidget.cpp private/widgets/TabBarWidget.cpp private/widgets/FloatingWindowWidget.cpp private/widgets/FrameWidget.cpp diff --git a/src/FrameworkWidgetFactory.cpp b/src/FrameworkWidgetFactory.cpp index b0c14301..ca93ad47 100644 --- a/src/FrameworkWidgetFactory.cpp +++ b/src/FrameworkWidgetFactory.cpp @@ -12,13 +12,13 @@ #include "FrameworkWidgetFactory.h" #include "Frame_p.h" #include "TitleBar_p.h" -#include "TabWidget_p.h" #include "multisplitter/Separator_p.h" #include "FloatingWindow_p.h" #include "Config.h" #ifdef KDDOCKWIDGETS_QTWIDGETS # include "indicators/ClassicIndicators_p.h" +# include "widgets/TabWidget_p.h" # include "widgets/FrameWidget_p.h" # include "widgets/TitleBarWidget_p.h" # include "widgets/TabBarWidget_p.h" diff --git a/src/fwd_headers/kddockwidgets/private/FloatingWindow_p.h b/src/fwd_headers/kddockwidgets/private/FloatingWindow_p.h new file mode 100644 index 00000000..75418f90 --- /dev/null +++ b/src/fwd_headers/kddockwidgets/private/FloatingWindow_p.h @@ -0,0 +1,12 @@ +/* + This file is part of KDDockWidgets. + + SPDX-FileCopyrightText: 2020 Klarälvdalens Datakonsult AB, a KDAB Group company + Author: Sergio Martins + + SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only + + Contact KDAB at for commercial licensing options. +*/ + +#include "../../../private/FloatingWindow_p.h" diff --git a/src/fwd_headers/kddockwidgets/private/widgets/FloatingWindowWidget_p.h b/src/fwd_headers/kddockwidgets/private/widgets/FloatingWindowWidget_p.h new file mode 100644 index 00000000..67694e84 --- /dev/null +++ b/src/fwd_headers/kddockwidgets/private/widgets/FloatingWindowWidget_p.h @@ -0,0 +1,12 @@ +/* + This file is part of KDDockWidgets. + + SPDX-FileCopyrightText: 2020 Klarälvdalens Datakonsult AB, a KDAB Group company + Author: Sergio Martins + + SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only + + Contact KDAB at for commercial licensing options. +*/ + +#include "../../../../private/widgets/FloatingWindowWidget_p.h" diff --git a/src/fwd_headers/kddockwidgets/private/widgets/FrameWidget_p.h b/src/fwd_headers/kddockwidgets/private/widgets/FrameWidget_p.h new file mode 100644 index 00000000..b88cb39a --- /dev/null +++ b/src/fwd_headers/kddockwidgets/private/widgets/FrameWidget_p.h @@ -0,0 +1,12 @@ +/* + This file is part of KDDockWidgets. + + SPDX-FileCopyrightText: 2020 Klarälvdalens Datakonsult AB, a KDAB Group company + Author: Sergio Martins + + SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only + + Contact KDAB at for commercial licensing options. +*/ + +#include "../../../../private/widgets/FrameWidget_p.h" diff --git a/src/fwd_headers/kddockwidgets/private/widgets/QWidgetAdapter_widgets_p.h b/src/fwd_headers/kddockwidgets/private/widgets/QWidgetAdapter_widgets_p.h new file mode 100644 index 00000000..e69de29b diff --git a/src/fwd_headers/kddockwidgets/private/widgets/TabBarWidget_p.h b/src/fwd_headers/kddockwidgets/private/widgets/TabBarWidget_p.h new file mode 100644 index 00000000..9a6875c7 --- /dev/null +++ b/src/fwd_headers/kddockwidgets/private/widgets/TabBarWidget_p.h @@ -0,0 +1,12 @@ +/* + This file is part of KDDockWidgets. + + SPDX-FileCopyrightText: 2020 Klarälvdalens Datakonsult AB, a KDAB Group company + Author: Sergio Martins + + SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only + + Contact KDAB at for commercial licensing options. +*/ + +#include "../../../../private/widgets/TabBarWidget_p.h" diff --git a/src/fwd_headers/kddockwidgets/private/widgets/TabWidgetWidget_p.h b/src/fwd_headers/kddockwidgets/private/widgets/TabWidgetWidget_p.h new file mode 100644 index 00000000..e39c79b9 --- /dev/null +++ b/src/fwd_headers/kddockwidgets/private/widgets/TabWidgetWidget_p.h @@ -0,0 +1,12 @@ +/* + This file is part of KDDockWidgets. + + SPDX-FileCopyrightText: 2020 Klarälvdalens Datakonsult AB, a KDAB Group company + Author: Sergio Martins + + SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only + + Contact KDAB at for commercial licensing options. +*/ + +#include "../../../../private/widgets/TabWidgetWidget_p.h" diff --git a/src/fwd_headers/kddockwidgets/private/widgets/TabWidget_p.h b/src/fwd_headers/kddockwidgets/private/widgets/TabWidget_p.h new file mode 100644 index 00000000..cfeb0810 --- /dev/null +++ b/src/fwd_headers/kddockwidgets/private/widgets/TabWidget_p.h @@ -0,0 +1,12 @@ +/* + This file is part of KDDockWidgets. + + SPDX-FileCopyrightText: 2020 Klarälvdalens Datakonsult AB, a KDAB Group company + Author: Sergio Martins + + SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only + + Contact KDAB at for commercial licensing options. +*/ + +#include "../../../../private/widgets/TabWidget_p.h" diff --git a/src/private/DragController_p.h b/src/private/DragController_p.h index ad806064..19b030bb 100644 --- a/src/private/DragController_p.h +++ b/src/private/DragController_p.h @@ -13,7 +13,6 @@ #define KD_DRAGCONTROLLER_P_H #include "TitleBar_p.h" -#include "TabWidget_p.h" #include "WindowBeingDragged_p.h" #include diff --git a/src/private/widgets/FloatingWindowWidget_p.h b/src/private/widgets/FloatingWindowWidget_p.h index a01f9240..6761634d 100644 --- a/src/private/widgets/FloatingWindowWidget_p.h +++ b/src/private/widgets/FloatingWindowWidget_p.h @@ -12,7 +12,7 @@ #ifndef KD_FLOATING_WINDOWWIDGET_P_H #define KD_FLOATING_WINDOWWIDGET_P_H -#include "FloatingWindow_p.h" +#include "../FloatingWindow_p.h" QT_BEGIN_NAMESPACE class QVBoxLayout; diff --git a/src/private/widgets/TabBarWidget_p.h b/src/private/widgets/TabBarWidget_p.h index 18215443..13810f27 100644 --- a/src/private/widgets/TabBarWidget_p.h +++ b/src/private/widgets/TabBarWidget_p.h @@ -20,7 +20,7 @@ #ifndef KD_TABBAR_WIDGET_P_H #define KD_TABBAR_WIDGET_P_H -#include "../TabWidget_p.h" +#include "TabWidget_p.h" #include diff --git a/src/private/TabWidget.cpp b/src/private/widgets/TabWidget.cpp similarity index 100% rename from src/private/TabWidget.cpp rename to src/private/widgets/TabWidget.cpp diff --git a/src/private/widgets/TabWidgetWidget_p.h b/src/private/widgets/TabWidgetWidget_p.h index 630556f1..aff737b4 100644 --- a/src/private/widgets/TabWidgetWidget_p.h +++ b/src/private/widgets/TabWidgetWidget_p.h @@ -19,7 +19,8 @@ #ifndef KDTABWIDGETWIDGET_P_H #define KDTABWIDGETWIDGET_P_H -#include "../TabWidget_p.h" +#include "TabWidget_p.h" + #include namespace KDDockWidgets { diff --git a/src/private/TabWidget_p.h b/src/private/widgets/TabWidget_p.h similarity index 98% rename from src/private/TabWidget_p.h rename to src/private/widgets/TabWidget_p.h index 147cd114..32fcead6 100644 --- a/src/private/TabWidget_p.h +++ b/src/private/widgets/TabWidget_p.h @@ -21,8 +21,8 @@ #define KD_TAB_WIDGET_P_H #include "docks_export.h" -#include "Draggable_p.h" -#include "Frame_p.h" +#include "../Draggable_p.h" +#include "../Frame_p.h" #include "DockWidgetBase.h" #include diff --git a/tests/tst_docks.cpp b/tests/tst_docks.cpp index 3de532b2..bfa4b83b 100644 --- a/tests/tst_docks.cpp +++ b/tests/tst_docks.cpp @@ -19,13 +19,13 @@ #include "Frame_p.h" #include "private/widgets/FrameWidget_p.h" #include "private/widgets/TabWidgetWidget_p.h" +#include "private/widgets/TabWidget_p.h" #include "DropArea_p.h" #include "TitleBar_p.h" #include "WindowBeingDragged_p.h" #include "Utils_p.h" #include "LayoutSaver.h" #include "LayoutSaver_p.h" -#include "TabWidget_p.h" #include "MultiSplitter_p.h" #include "Position_p.h" #include "utils.h"