MainWindow.h

Go to the documentation of this file.
00001 // ----------------------------------------------------------------------------
00002 //
00003 // $Id$
00004 //
00005 // Copyright 2008, 2009, 2010, 2011, 2012  Antonio Franchi and Paolo Stegagno    
00006 //
00007 // This file is part of MIP.
00008 //
00009 // MIP is free software: you can redistribute it and/or modify
00010 // it under the terms of the GNU General Public License as published by
00011 // the Free Software Foundation, either version 3 of the License, or
00012 // (at your option) any later version.
00013 //
00014 // MIP is distributed in the hope that it will be useful,
00015 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00017 // GNU General Public License for more details.
00018 //
00019 // You should have received a copy of the GNU General Public License
00020 // along with MIP. If not, see <http://www.gnu.org/licenses/>.
00021 //
00022 // Contact info: antonio.franchi@tuebingen.mpg.de stegagno@diag.uniroma1.it
00023 //
00024 // ----------------------------------------------------------------------------
00025 
00026 
00030 
00034 
00036 /* @{ */
00037 
00038 #ifndef __MAIN_WINDOW_H__
00039 #define __MAIN_WINDOW_H__
00040 
00041 
00042 #include <QMainWindow>
00043 #include <QTabWidget>
00044 
00045 #include <QtThreadSched.h>
00046 #include <QGraphicsScene>
00047 
00048 #include <CommonOptions.h>
00049 
00050 #include <DraWinQtGL.h>
00051 
00052 class QAction;
00053 class QDialogButtonBox;
00054 class QGroupBox;
00055 class QLabel;
00056 class QLineEdit;
00057 class QMenu;
00058 class QMenuBar;
00059 class QPushButton;
00060 class QTextEdit;
00061 
00064 class MainWindow : public QMainWindow{
00065  Q_OBJECT
00066    
00067  public:
00069   MainWindow(const ResourcePlates& resourcePlates,const TaskPlates& taskPlates,int pargc, const char* pargv[],
00070         unsigned long int cycles,Time minCycleDuration);
00071  
00072  private:
00073   void _createMenu();
00074   void _createOptionsDockWidget();
00075   void _createCentralWidget();
00076   void _createToolBars();
00077   void _createStatusBar();
00078 
00079   
00080   QDockWidget *_optionDockWidget;
00081   QTabWidget *_optionTabs,* _optionGroupTabs[NUM_OPT_GRP];
00082   
00083   QAction *_exitAction;
00084   QAction *_startSchedAction;
00085   QAction *_showOptionBoxAction,*_hideOptionBoxAction;
00086   
00087   ResourcePlates _resourcePlates;
00088   TaskPlates    _taskPlates;
00089   
00090   QtThreadSched *_scheduler;
00091   SchedStatus _schedStatus;
00092   
00093   QTimer *_qTimer;
00094   
00095   QGraphicsScene *_scene;
00096   QGraphicsView  *_view;
00097   
00098   DraWinGLWindow *_glWindow;
00099   int _argc;
00100   const char** _argv;
00101     
00102  private slots:
00103   void _startSched();
00104   void _updateStatusBar();
00105 };
00106 
00107 #endif
00108  
00109 /* @} */

Generated on Mon Feb 20 07:01:07 2017 for MIP by  doxygen 1.5.6