00001 /* #start# *********************************************************** 00002 00003 Scheduling Simulator 00004 Lehrstuhl f"ur Effiziente Algorithmen 00005 Technische Universit"at M"unchen 00006 00007 File : $Id: SMachineView.h,v 1.4 2003/01/08 18:57:14 meierb Exp $ 00008 00009 Purpose : This view displays the state of one machine. It reacts to machine 00010 scheduling events like joballocated, machinebroken etc.. 00011 It displays the state of the machine (running etc.), the allocated 00012 job and the speed of the machine. 00013 This is a "pure qt widget" view, i.e. there is no view element. 00014 00015 RCS-Log: 00016 $Log: SMachineView.h,v $ 00017 Revision 1.4 2003/01/08 18:57:14 meierb 00018 added randomized release times 00019 00020 Revision 1.1.1.1 2002/12/02 22:26:19 meierb 00021 my_schedule 00022 00023 Revision 1.2 2002/11/11 16:19:36 taeubig 00024 changes in header inclusion 00025 00026 Revision 1.1 2002/08/29 12:59:59 taeubig 00027 Added the sources 00028 00029 Revision 1.8 2001/05/16 13:20:04 taeubig 00030 QT headers are included last because of "slots" conflict 00031 00032 Revision 1.7 2000/08/21 23:04:23 hall 00033 more "intelligent" repaint (moved to SViewEl.cpp), 00034 fixes/workarounds for crazy bugs 00035 00036 Revision 1.6 2000/01/16 18:43:01 kern 00037 java docs 00038 00039 Revision 1.5 2000/01/12 09:27:44 kern 00040 added javadocs 00041 00042 Revision 1.4 2000/01/03 11:24:44 kern 00043 added comments 00044 00045 Revision 1.3 1999/12/21 10:24:45 kern 00046 moved machine settings from preferences to machineview 00047 00048 Revision 1.2 1999/12/15 10:20:04 kern 00049 added shop job support 00050 00051 Revision 1.1 1999/12/10 10:29:51 kern 00052 added machine view 00053 00054 00055 * #end# ************************************************************* */ 00056 00057 #ifndef SMACHINEVIEW_H 00058 #define SMACHINEVIEW_H 00059 00060 // system header files 00061 00062 // project header files 00063 #include "../model/STaskSystem.h" 00064 #include "../model/SMachines.h" 00065 #include "../general/SObserver.h" 00066 #include "SView.h" 00067 00068 // QT header files 00069 #include <qlayout.h> 00070 #include <qlineedit.h> 00071 #include <qlabel.h> 00072 #include <qmovie.h> 00073 #include <qpushbutton.h> 00074 00081 class SMachineView : public SView, public SObserver 00082 { 00083 Q_OBJECT 00084 00085 public: 00091 SMachineView( STaskSystem &ts, int mach, 00092 QWidget* parent = 0, const char *name = 0, WFlags f=0 ); 00093 ~SMachineView() {}; 00094 00095 protected: 00098 virtual void update( const class SEvent & ); 00099 00100 private: 00101 STaskSystem *_pTS; 00104 QVBoxLayout *_pVBoxLayout; 00107 int _machine; 00110 bool _resetNeeded; 00113 QMovie _movie; 00116 QMovie::Status _movieStatus; 00119 QLabel *_pMovieLabel; 00122 QLabel *_pMovieCaption; 00125 QLineEdit *_pSpeedEdit; 00126 00127 private slots: 00128 // get the movie status 00129 void movieStatus( int s ); 00130 }; 00131 00132 #endif //SMACHINEVIEWWIN_H