00001 #ifndef VIS_FRAMEWORK_BASE_VIS_EVENT_MENU_H 00002 # define VIS_FRAMEWORK_BASE_VIS_EVENT_MENU_H 00003 00004 //<<<<<< INCLUDES >>>>>> 00005 00006 # include "Iguana/Framework/interface/IgExtension.h" 00007 # include "VisFramework/VisFrameworkBase/interface/VisEventProcessorService.h" // This one has to be here due to conflicts of sigc signals 00008 // with qobject signals 00009 # include "VisFramework/VisFrameworkBase/interface/VisAutoStart.h" 00010 # include "VisFramework/VisFrameworkBase/interface/VisAutoPrint.h" 00011 # include "VisFramework/VisFrameworkBase/interface/VisEventTimer.h" 00012 # include "VisFramework/VisFrameworkBase/interface/VisPrintTimer.h" 00013 # include <qobject.h> 00014 00015 //<<<<<< PUBLIC DEFINES >>>>>> 00016 //<<<<<< PUBLIC CONSTANTS >>>>>> 00017 //<<<<<< PUBLIC TYPES >>>>>> 00018 //<<<<<< PUBLIC VARIABLES >>>>>> 00019 //<<<<<< PUBLIC FUNCTIONS >>>>>> 00020 //<<<<<< CLASS DECLARATIONS >>>>>> 00021 00023 class VisEventMenu : public QObject, public IgExtension 00024 { 00025 IG_DECLARE_STATE_ELEMENT (VisEventMenu); 00026 Q_OBJECT 00027 public: 00028 static const int MENU_ID_EVENT = 7900; 00029 00030 static const int MENU_INIT_APP = 7902; 00031 static const int MENU_RE_INIT_APP = 7903; 00032 static const int MENU_EVENT_NEXT = 7904; 00033 static const int MENU_EVENT_PREVIOUS = 7905; 00034 static const int MENU_EVENT_AUTO = 7906; 00035 static const int MENU_EVENT_NUM = 7907; 00036 static const int MENU_EVENT_REWIND = 7908; 00037 static const int MENU_EVENT_SKIP = 7909; 00038 static const int MENU_EVENT_L1TRIGGER = 7911; 00039 static const int MENU_EVENT_AUTO_PRINT = 7913; 00040 00041 VisEventMenu (IgState *state); 00042 ~VisEventMenu (void); 00043 // implicit copy constructor 00044 // implicit assignment operator 00045 00046 public slots: 00047 void initEventProcessor (void); 00048 void reInitEventProcessor (void); 00049 void nextEvent (void); 00050 void previousEvent (void); 00051 void autoEvents (void); 00052 void processOneEvent (void); 00053 void processEvent (unsigned int runNum, unsigned int eventNum); 00054 void processEventDialog (void); 00055 void rewind (void); 00056 void skipEventDialog (void); 00057 void l1TriggerDialog (void); 00058 void skipEvent (long num); 00059 void autoPrint (void); 00060 void print (void); 00061 00062 private: 00063 void finalizeTimer (void); 00064 virtual void autoChanged (void); 00065 virtual void delayChanged (void); 00066 00067 IgState *m_state; 00068 QTimer *m_timer; 00069 QTimer *m_printTimer; 00070 bool m_auto; 00071 bool m_print; 00072 VisAutoPrint m_autoPrint; 00073 VisAutoStart m_autoStart; 00074 VisEventTimer m_delay; 00075 VisPrintTimer m_printDelay; 00076 bool m_done; 00077 }; 00078 00079 //<<<<<< INLINE PUBLIC FUNCTIONS >>>>>> 00080 //<<<<<< INLINE MEMBER FUNCTIONS >>>>>> 00081 00082 #endif // VIS_FRAMEWORK_BASE_VIS_EVENT_MENU_H