![]() |
![]() |
00001 #ifndef VIS_G4_CORE_VIS_G4_UI_MANAGER_H 00002 # define VIS_G4_CORE_VIS_G4_UI_MANAGER_H 00003 00004 //<<<<<< INCLUDES >>>>>> 00005 00006 # include "VisGeant4/VisG4Core/interface/config.h" 00007 # include "Iguana/Framework/interface/IgStateElement.h" 00008 # include <pthread.h> 00009 00010 //<<<<<< PUBLIC DEFINES >>>>>> 00011 //<<<<<< PUBLIC CONSTANTS >>>>>> 00012 //<<<<<< PUBLIC TYPES >>>>>> 00013 00014 class VisG4UIShell; 00015 class G4UImanager; 00016 class G4UIterminal; 00017 00018 //<<<<<< PUBLIC VARIABLES >>>>>> 00019 //<<<<<< PUBLIC FUNCTIONS >>>>>> 00020 00021 extern "C" void *VisG4UIManagerCmdLoop (void *); 00022 00023 //<<<<<< CLASS DECLARATIONS >>>>>> 00024 00026 class VIS_G4_CORE_API VisG4UIManager : public IgStateElement 00027 { 00028 IG_DECLARE_STATE_ELEMENT (VisG4UIManager); 00029 public: 00030 VisG4UIManager (IgState *state); 00031 00032 virtual void start (void); 00033 00034 private: 00035 friend void * VisG4UIManagerCmdLoop (void *); 00036 void cmdLoop (void); 00037 void onQuit (void); 00038 00039 IgState *m_state; 00040 G4UImanager *m_ui; 00041 VisG4UIShell *m_shell; 00042 G4UIterminal *m_terminal; 00043 pthread_t m_cmdline; 00044 }; 00045 00046 //<<<<<< INLINE PUBLIC FUNCTIONS >>>>>> 00047 //<<<<<< INLINE MEMBER FUNCTIONS >>>>>> 00048 00049 #endif // VIS_G4_CORE_VIS_G4_UI_MANAGER_H