Main Page   Class Hierarchy   Alphabetical List   Data Structures   File List   Data Fields   Related Pages  

ImprovQT.h

00001 /* ImprovQT.h
00002  * Last modified: 
00003  * Authors: Daniel Venkitachalam <venki-d@ee.uwa.edu.au>
00004  *          Leon Koch <leon@redfishsoftware.com.au>
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 // QT includes
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 // application specific includes
00046 #include "ImprovQTview.h"
00047 #include "ImprovQTOpt.h"
00048 #include "ParamWidget.h"
00049 //#include "StatusWidget.h"
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                 //void slotFileOpenImage();
00084                 void slotFileSaveImage();
00086                 //void slotFileSaveImageAs();
00088                 void slotFileSaveConfig();
00090                 void slotFileSaveConfigAs();
00092                 void slotFileClose();
00094                 //void slotFilePrint();
00096                 void slotFileOptions();
00098                 void slotFileQuit();
00099 
00101                 //void slotEditCut();
00103                 //void slotEditCopy();
00105                 //void slotEditPaste();
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                 //QAction *fileOpenImage;
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                 //QAction *editCut;
00202                 //QAction *editCopy;
00204                 //QAction *editPaste;
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 

Generated on Tue Apr 1 11:01:16 2003 for ImprovQT by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002