00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00024
00025 #ifndef QVAPPLICATION_H
00026 #define QVAPPLICATION_H
00027
00028 #include <QSet>
00029 #include <QList>
00030 #include <QString>
00031 #include <QStringList>
00032 #include <QApplication>
00033
00034 class QVisionInterface;
00035 class QVPropertyHolder;
00036
00037 #define qvApp ((QVApplication*) qApp)
00038
00046 class QVApplication : public QApplication
00047 {
00048 Q_OBJECT
00049 public:
00060 QVApplication (int &argc, char **argv,
00061 QString info = QString(), bool GUIenabled = TRUE);
00062
00078 int exec();
00079
00092 void setArgumentAsUsed(QString argument);
00093
00103 QStringList getUnusedArguments();
00104
00107 bool isRunning() { return isRunningFlag; };
00108
00111 static QVApplication* instance() { return dynamic_cast<QVApplication*>(qApp); }
00112
00115 void registerQVPropertyHolder(QVPropertyHolder *qvp);
00116 void deregisterQVPropertyHolder(QVPropertyHolder *qvp);
00117 void registerGUI(QVisionInterface *visionInterface);
00118 QSet<QVPropertyHolder *> getQVPropertyHolders() { return qvps; };
00120
00122 signals:
00123 void inited();
00124
00125 private slots:
00126 void initWorkers();
00128
00129 public slots:
00135 void quit();
00136
00137 private:
00138 QString info;
00139 QStringList unusedArguments;
00140 QSet<QVPropertyHolder *> qvps;
00141 QVisionInterface *visionInterface;
00142 bool isRunningFlag;
00143
00144 void printHelp() const;
00145 };
00146 #endif // QVAPPLICATION_H