diff --git a/demos/demoLauncher/demoLauncher b/demos/demoLauncher/demoLauncher new file mode 100755 index 0000000000000000000000000000000000000000..e64356822c9f9cf600b9081ec19a5301c26fd6e9 GIT binary patch literal 30146 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 literal 0 Hc$@ +#include "widget.h" + +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + Widget w; + w.show(); + + return a.exec(); +} diff --git a/demos/demoLauncher/widget.cpp b/demos/demoLauncher/widget.cpp new file mode 100644 index 0000000..a1bc143 --- /dev/null +++ b/demos/demoLauncher/widget.cpp @@ -0,0 +1,42 @@ +#include "widget.h" +#include +#include +#include +#include +#include +#include + +Widget::Widget(QWidget *parent) + : QWidget(parent), + m_demoApp(0) +{ + QList appList; + + QDir appFolder(QApplication::applicationDirPath()); + QStringList nameFilters; + nameFilters << "[^t][^s][^t]*"; + appFolder.setNameFilters(nameFilters); + appList = appFolder.entryInfoList(QDir::Files); + + QGridLayout* demosLayout = new QGridLayout; + for( int i = 0; i < appList.count(); i++) { + QPushButton *button = new QPushButton(appList[i].fileName()); + connect(button, SIGNAL(clicked()), this, SLOT (runApp())); + demosLayout->addWidget(button, i%10, i/10); + } + setLayout(demosLayout); +} + +Widget::~Widget() +{ + m_demoApp->close(); +} + +void Widget::runApp() +{ + QString name = qobject_cast(sender())->text(); + QString program = QApplication::applicationDirPath() + QDir::separator() + name; + + m_demoApp = new QProcess(this); + m_demoApp->start(program); +} diff --git a/demos/demoLauncher/widget.h b/demos/demoLauncher/widget.h new file mode 100644 index 0000000..1a8a785 --- /dev/null +++ b/demos/demoLauncher/widget.h @@ -0,0 +1,24 @@ +#ifndef WIDGET_H +#define WIDGET_H + +#include + +class QProcess; + +class Widget : public QWidget +{ + Q_OBJECT + +public: + Widget(QWidget *parent = 0); + ~Widget(); + +public slots: + void runApp(); +// void runAppShow(); + +private: + QProcess *m_demoApp; +}; + +#endif // WIDGET_H diff --git a/demos/demos.pro b/demos/demos.pro index 1af6225..e4e0cd0 100644 --- a/demos/demos.pro +++ b/demos/demos.pro @@ -14,7 +14,8 @@ SUBDIRS += piechartcustomization \ qmlcustommodel \ chartinteractions \ qmlaxes \ - qmlcustomlegend + qmlcustomlegend \ + demoLauncher contains(QT_CONFIG, opengl) { SUBDIRS += chartthemes \