00001
00002
00003
00004
00005
00015 #ifndef IMPROVQT_H
00016 #define IMPROVQT_H
00017
00018 #ifdef HAVE_CONFIG_H
00019 #include <config.h>
00020 #endif
00021
00022 #include <stdlib.h>
00023
00024
00025 #include <qapp.h>
00026 #include <qaccel.h>
00027 #include <qmainwindow.h>
00028 #include <qaction.h>
00029 #include <qmenubar.h>
00030 #include <qpopupmenu.h>
00031 #include <qtoolbar.h>
00032 #include <qtoolbutton.h>
00033 #include <qstatusbar.h>
00034 #include <qwhatsthis.h>
00035 #include <qstring.h>
00036 #include <qpixmap.h>
00037 #include <qmsgbox.h>
00038 #include <qfiledialog.h>
00039 #include <qprinter.h>
00040 #include <qpainter.h>
00041 #include <qspinbox.h>
00042 #include <qlabel.h>
00043 #include <qmultilineedit.h>
00044
00045
00046 #include "ImprovQTview.h"
00047 #include "ImprovQTOpt.h"
00048 #include "ParamWidget.h"
00049
00050
00051 #define IDLEMSG "Ready."
00052 #define PLAYINGMSG "Playing:"
00053
00054 class ImprovQTApp : public QMainWindow
00055 {
00056 Q_OBJECT
00057 public:
00059 ImprovQTApp();
00061 ~ImprovQTApp();
00062
00064 void initActions();
00066 void initMenuBar();
00070 void initToolBar();
00072 void initStatusBar();
00074 void initView();
00076 void initCamera();
00078 bool queryExit();
00079
00080 public slots:
00082
00084 void slotFileSaveImage();
00086
00088 void slotFileSaveConfig();
00090 void slotFileSaveConfigAs();
00092 void slotFileClose();
00094
00096 void slotFileOptions();
00098 void slotFileQuit();
00099
00101
00103
00105
00106
00108 void slotViewToolBar(bool toggle);
00110 void slotViewStatusBar(bool toggle);
00112 void slotViewCameraOptions(bool toggle);
00113
00115 void slotAnimBackward();
00117 void slotAnimStop();
00119 void slotAnimPlay();
00121 void slotAnimForward();
00123 void slotAnimFastForward();
00125 void slotAnimRewind();
00126
00128 void slotHelp();
00130 void slotHelpAbout();
00131
00133 void slotSetFPS(int fps);
00135 void slotSetUnlimitedFPS(bool toggle);
00136
00137 protected:
00139 void closeEvent(QCloseEvent * e);
00140
00141 private:
00142
00148 ImprovQTView *view;
00149
00151 QPopupMenu *fileMenu;
00153 QPopupMenu *viewMenu;
00155 QPopupMenu *helpMenu;
00157 QToolBar *fileToolbar;
00158
00160 QToolBar* animToolbar;
00162 QLabel* targetLabel;
00163
00165 QToolBar* paramToolbar;
00167 ParamWidget* paramWidget;
00168
00173
00175 QAction *fileSaveImage;
00176
00178 QAction *fileSaveConfig;
00180 QAction *fileSaveConfigAs;
00182 QAction *fileOptions;
00184 QAction *fileQuit;
00185
00187 QAction *animPlay;
00189 QAction *animStop;
00191 QAction *animForward;
00193 QAction *animBackward;
00195 QAction *animFastForward;
00197 QAction *animRewind;
00198
00200
00202
00204
00205
00207 QAction *viewToolBar;
00209 QAction *viewStatusBar;
00211 QAction *viewCameraOptions;
00212
00214 QAction *helpApp;
00216 QAction *helpAboutApp;
00217
00219 QSpinBox* fpsBox;
00221 QAction *fpsUnlimited;
00222
00223 };
00224
00228 class ImprovQTHelp : public QDialog
00229 {
00230 Q_OBJECT
00231 public:
00233 ImprovQTHelp(QWidget *parent=0, const char *name=0);
00235 ~ImprovQTHelp();
00236
00237 protected:
00242 void resizeEvent(QResizeEvent * e);
00243
00244 private:
00246 QMultiLineEdit *text;
00247
00248 };
00249
00250 #endif
00251