diff --git a/tests/manual/qopenglwidget/openglwidget/main.cpp b/tests/manual/qopenglwidget/openglwidget/main.cpp index d2c11fdfd1..733065cd36 100644 --- a/tests/manual/qopenglwidget/openglwidget/main.cpp +++ b/tests/manual/qopenglwidget/openglwidget/main.cpp @@ -42,6 +42,7 @@ #include #include #include +#include #include class Tools : public QObject @@ -49,8 +50,8 @@ class Tools : public QObject Q_OBJECT public: - Tools(QWidget *root, QWidget *widgetToTurn, const QVector glwidgets) - : m_root(root), m_widgetToTurn(widgetToTurn), m_glWidgets(glwidgets) { } + Tools(QWidget *root, const QVector widgetsToTurn, const QVector glwidgets) + : m_root(root), m_widgetsToTurn(widgetsToTurn), m_glWidgets(glwidgets) { } void dump(); private slots: @@ -65,14 +66,15 @@ private: void dumpWidget(QWidget *w, int indent = 0); QWidget *m_root; - QWidget *m_widgetToTurn; + QVector m_widgetsToTurn; QVector m_glWidgets; }; void Tools::turnNative() { qDebug("Turning into native"); - m_widgetToTurn->winId(); + foreach (QWidget *w, m_widgetsToTurn) + w->winId(); dump(); } @@ -146,6 +148,7 @@ int main(int argc, char *argv[]) QMainWindow wnd; wnd.setObjectName("Main Window"); wnd.resize(1024, 768); + wnd.setDockOptions(wnd.dockOptions() | QMainWindow::GroupedDragging); QMdiArea *w = new QMdiArea; w->setObjectName("MDI area"); @@ -211,8 +214,23 @@ int main(int argc, char *argv[]) sw->setObjectName("MDI Sub-Window for tab widget"); sw->setWindowTitle("Tabs"); + QOpenGLWidget *glw5 = new OpenGLWidget(16, QVector3D(1, 0, 0)); + glw5->setObjectName("GL widget in dock widget"); + QDockWidget *dock1 = new QDockWidget("GL widget in dock", &wnd); + dock1->setAllowedAreas(Qt::AllDockWidgetAreas); + dock1->setWidget(glw5); + wnd.addDockWidget(Qt::LeftDockWidgetArea, dock1); + + QLabel *dockLabel = new QLabel("Label in dock widget"); + dockLabel->setObjectName("Label in a dock widget"); + QDockWidget *dock2 = new QDockWidget("Non-GL widget in dock", &wnd); + dock2->setAllowedAreas(Qt::AllDockWidgetAreas); + dock2->setWidget(dockLabel); + wnd.addDockWidget(Qt::LeftDockWidgetArea, dock2); + + TabWidgetResetter twr(tw); - Tools t(&wnd, glw3, QVector() << glw << glw2 << glw3 << glw4); + Tools t(&wnd, QVector() << glw3 << glw5, QVector() << glw << glw2 << glw3 << glw4 << glw5); QObject::connect(&t, SIGNAL(aboutToShowGLWidgets()), &twr, SLOT(reset())); QMenu *toolsMenu = wnd.menuBar()->addMenu("&Tools"); toolsMenu->addAction("&Turn widgets (or some parent) into native", &t, SLOT(turnNative()));