diff --git a/examples/opengl/hellogl/main.cpp b/examples/opengl/hellogl/main.cpp index 2e83a11..621f836 100644 --- a/examples/opengl/hellogl/main.cpp +++ b/examples/opengl/hellogl/main.cpp @@ -40,20 +40,90 @@ #include #include +#include +#include +#include +#include +#include -#include "window.h" +#include +#include + +class FooWidgetAction : public QWidgetAction +{ +public: + FooWidgetAction(QObject * parent) : QWidgetAction(parent) { } + + void releaseWidget(QWidget * widget) + { + widget->deleteLater(); + } + + QWidget * createWidget(QWidget * parent) + { + QPushButton *b = new QPushButton(tr("FooWidget"), parent); + b->show(); + return b; + } +}; int main(int argc, char *argv[]) { QApplication app(argc, argv); - Window window; - window.resize(window.sizeHint()); - int desktopArea = QApplication::desktop()->width() * - QApplication::desktop()->height(); - int widgetArea = window.width() * window.height(); - if (((float)widgetArea / (float)desktopArea) < 0.75f) - window.show(); - else - window.showMaximized(); + + QMainWindow mainWindow; + + QToolBar* tb = mainWindow.addToolBar("File"); + tb->addAction("Dummy1"); + tb->addAction("Dummy2"); + tb->addAction("Dummy3"); + tb->addAction("Dummy4"); + tb->addAction("Dummy5"); + tb->addAction("Dummy6"); + tb->addAction("Dummy7"); + tb->addAction("Dummy8"); + tb->addAction("Dummy9"); + tb->addAction("Dummy10"); + tb->addAction("Dummy11"); + tb->addAction("Dummy12"); + tb->addAction("Dummy13"); + tb->addAction("Dummy14"); + tb->addAction("Dummy15"); + + QToolButton* toolButton = new QToolButton; + toolButton->setText("ToolButton"); + toolButton->setPopupMode(QToolButton::MenuButtonPopup); + + QAction *fooAction = new QAction("Foo",&mainWindow); + QWidgetAction * widgetAction = new QWidgetAction(&mainWindow); + widgetAction->setText("Bar"); + //widgetAction->setDefaultWidget(new QPushButton("Bar")); + FooWidgetAction *fooWidgetAction = new FooWidgetAction(&mainWindow); + + QMenu* buttonMenu = new QMenu(toolButton); + buttonMenu->addAction(fooAction); + buttonMenu->addAction(widgetAction); + buttonMenu->addAction(fooWidgetAction); + toolButton->setMenu(buttonMenu); + +// QMenu* buttonMenu = new QMenu(toolButton); +// buttonMenu->addAction("ButtonAction1"); +// buttonMenu->addAction("ButtonAction2"); +// buttonMenu->addAction("ButtonAction3"); +// toolButton->setMenu(buttonMenu); + + tb->addWidget(toolButton); + + GLWidget *glWidget = new GLWidget; + mainWindow.setCentralWidget(glWidget); + glWidget->resize(glWidget->sizeHint()); + + /* + QWidget *widget = new QWidget; + mainWindow.setCentralWidget(widget); + widget->resize(150, 150); + */ + + mainWindow.show(); return app.exec(); }