mdi: Don't expose the controllers directly in the API

This commit is contained in:
Sergio Martins
2022-06-24 22:42:31 +01:00
parent 10f70c8dd6
commit 31ba0ec52d
4 changed files with 19 additions and 12 deletions

View File

@@ -10,6 +10,7 @@
*/
#include "MainWindowMDIViewInterface.h"
#include "DockWidgetViewInterface.h"
#include "controllers/MDILayout.h"
using namespace KDDockWidgets;
@@ -21,12 +22,16 @@ MainWindowMDIViewInterface::MainWindowMDIViewInterface(Controllers::MDILayout *l
{
}
void MainWindowMDIViewInterface::addDockWidget(DockWidget *dockWidget, QPoint localPos, InitialOption addingOption)
void MainWindowMDIViewInterface::addDockWidget(DockWidgetViewInterface *dockWidget,
QPoint localPos, InitialOption addingOption)
{
m_mdiLayout->addDockWidget(dockWidget, localPos, addingOption);
Controllers::DockWidget *dw = dockWidget ? dockWidget->dockWidget() : nullptr;
m_mdiLayout->addDockWidget(dw, localPos, addingOption);
}
void MainWindowMDIViewInterface::addDockWidget(DockWidget *dockWidget, QPointF localPos, InitialOption addingOption)
void MainWindowMDIViewInterface::addDockWidget(DockWidgetViewInterface *dockWidget,
QPointF localPos, InitialOption addingOption)
{
MainWindowMDIViewInterface::addDockWidget(dockWidget, localPos.toPoint(), addingOption);
Controllers::DockWidget *dw = dockWidget ? dockWidget->dockWidget() : nullptr;
m_mdiLayout->addDockWidget(dw, localPos.toPoint(), addingOption);
}

View File

@@ -25,6 +25,8 @@ class MDILayout;
namespace Views {
class DockWidgetViewInterface;
/// @brief Interface for MainWindowMDI views
class DOCKS_EXPORT MainWindowMDIViewInterface
{
@@ -38,11 +40,11 @@ public:
///@brief Docks @p dockWidget
/// The widget will be placed at the specified position
void addDockWidget(Controllers::DockWidget *dockWidget,
void addDockWidget(DockWidgetViewInterface *dockWidget,
QPoint localPos, InitialOption addingOption = {});
///@brief Convenience overload
void addDockWidget(Controllers::DockWidget *dockWidget,
void addDockWidget(DockWidgetViewInterface *dockWidget,
QPointF localPos, InitialOption addingOption = {});
private: