MainWindow controller now receives View parent instead of QWidget
This commit is contained in:
@@ -33,6 +33,7 @@
|
||||
#include "views_qtwidgets/TabBar_qtwidgets.h"
|
||||
#include "views_qtwidgets/SideBar_qtwidgets.h"
|
||||
#include "views_qtwidgets/Stack_qtwidgets.h"
|
||||
#include "views_qtwidgets/MainWindow_qtwidgets.h"
|
||||
|
||||
#include <QRubberBand>
|
||||
#include <QToolButton>
|
||||
@@ -59,6 +60,11 @@ FrameworkWidgetFactory::~FrameworkWidgetFactory()
|
||||
|
||||
#ifdef KDDOCKWIDGETS_QTWIDGETS
|
||||
|
||||
View *DefaultWidgetFactory::createMainWindow(Controllers::MainWindow *mainWindow, View *parent, Qt::WindowFlags flags) const
|
||||
{
|
||||
return new Views::MainWindow_qtwidgets(mainWindow, parent ? static_cast<Views::View_qtwidgets<QMainWindow> *>(parent) : nullptr, flags);
|
||||
}
|
||||
|
||||
View *DefaultWidgetFactory::createDockWidget(Controllers::DockWidget *dw, Qt::WindowFlags flags) const
|
||||
{
|
||||
return new Views::DockWidget_qtwidgets(dw, flags);
|
||||
|
||||
@@ -79,6 +79,7 @@ public:
|
||||
virtual ~FrameworkWidgetFactory();
|
||||
|
||||
virtual View *createDockWidget(Controllers::DockWidget *, Qt::WindowFlags) const = 0;
|
||||
virtual View *createMainWindow(Controllers::MainWindow *, View *parent, Qt::WindowFlags) const = 0;
|
||||
|
||||
///@brief Called internally by the framework to create a Frame class
|
||||
/// Override to provide your own Frame sub-class. A frame is the
|
||||
@@ -166,6 +167,7 @@ class DOCKS_EXPORT DefaultWidgetFactory : public FrameworkWidgetFactory
|
||||
Q_OBJECT
|
||||
public:
|
||||
DefaultWidgetFactory() = default;
|
||||
View *createMainWindow(Controllers::MainWindow *, View *, Qt::WindowFlags) const override;
|
||||
View *createDockWidget(Controllers::DockWidget *, Qt::WindowFlags) const override;
|
||||
View *createFrame(Controllers::Frame *, View *parent, FrameOptions options = FrameOption_None) const override;
|
||||
View *createTitleBar(Controllers::TitleBar *, Controllers::Frame *) const override;
|
||||
|
||||
@@ -116,8 +116,8 @@ public:
|
||||
};
|
||||
|
||||
MainWindow::MainWindow(const QString &uniqueName, KDDockWidgets::MainWindowOptions options,
|
||||
WidgetType *parent, Qt::WindowFlags flags)
|
||||
: Controller(Type::MainWindow, new Views::MainWindow_qtwidgets(this, parent, flags))
|
||||
View *parent, Qt::WindowFlags flags)
|
||||
: Controller(Type::MainWindow, Config::self().frameworkWidgetFactory()->createMainWindow(this, parent, flags))
|
||||
, d(new Private(this, uniqueName, options))
|
||||
{
|
||||
init(uniqueName, true);
|
||||
|
||||
@@ -60,7 +60,7 @@ class DOCKS_EXPORT MainWindow : public Controller
|
||||
public:
|
||||
typedef QVector<MainWindow *> List;
|
||||
explicit MainWindow(const QString &uniqueName, MainWindowOptions options = MainWindowOption_HasCentralFrame,
|
||||
QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags());
|
||||
View *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags());
|
||||
|
||||
explicit MainWindow(View *view, const QString &uniqueName, MainWindowOptions options);
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ KDDockWidgets::Tests::createMainWindow(QSize sz, KDDockWidgets::MainWindowOption
|
||||
const QString mainWindowName = name.isEmpty() ? QStringLiteral("MyMainWindow%1").arg(count)
|
||||
: name;
|
||||
|
||||
QWidget *parent = nullptr;
|
||||
View *parent = nullptr;
|
||||
#ifdef KDDOCKWIDGETS_QTQUICK
|
||||
auto view = new QQuickView(Config::self().qmlEngine(), nullptr);
|
||||
view->resize(sz);
|
||||
@@ -115,7 +115,7 @@ std::unique_ptr<MainWindow> KDDockWidgets::Tests::createMainWindow(QVector<DockD
|
||||
static int count = 0;
|
||||
count++;
|
||||
|
||||
QWidget *parent = nullptr;
|
||||
View *parent = nullptr;
|
||||
#ifdef KDDOCKWIDGETS_QTQUICK
|
||||
auto view = new QQuickView(Config::self().qmlEngine(), nullptr);
|
||||
const QSize initialSize(1000, 1000);
|
||||
|
||||
Reference in New Issue
Block a user