Allow DragController views to have access to its controller

For consistency
This commit is contained in:
Sergio Martins
2022-07-20 13:12:52 +01:00
parent 013e390428
commit 36931e7c45
12 changed files with 17 additions and 11 deletions

View File

@@ -167,9 +167,9 @@ int Platform_qtwidgets::startDragDistance_impl() const
return QApplication::startDragDistance();
}
View *Platform_qtwidgets::createView(View *parent) const
View *Platform_qtwidgets::createView(Controller *controller, View *parent) const
{
return new Views::View_qtwidgets<QWidget>(nullptr, Type::None, Views::View_qt::asQWidget(parent));
return new Views::View_qtwidgets<QWidget>(controller, Type::None, Views::View_qt::asQWidget(parent));
}
bool Platform_qtwidgets::usesFallbackMouseGrabber() const

View File

@@ -38,7 +38,7 @@ public:
QSize screenSizeFor(View *) const override;
int startDragDistance_impl() const override;
View *createView(View *parent = nullptr) const override;
View *createView(Controller *controller, View *parent = nullptr) const override;
bool inDisallowedDragView(QPoint globalPos) const override;
bool usesFallbackMouseGrabber() const override;
void ungrabMouse() override;

View File

@@ -96,9 +96,11 @@ static Controller *controllerForWidget(QWidget *widget)
case Type::RubberBand:
case Type::LayoutItem:
case Type::ViewWrapper:
case Type::DropAreaIndicatorOverlay:
case Type::None:
// skip internal types
continue;
break;
}
}
@@ -243,6 +245,7 @@ bool ViewWrapper_qtwidgets::is(Type t) const
return qobject_cast<MDIArea_qtwidgets *>(m_widget);
case Type::LayoutItem:
case Type::None:
case Type::DropAreaIndicatorOverlay:
qWarning() << Q_FUNC_INFO << "These are framework internals that are not wrapped";
return false;
case Type::ViewWrapper: