Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members  

GuiSvc.h

Go to the documentation of this file.
00001 // $Header: /nfs/slac/g/glast/ground/cvs/GuiSvc/GuiSvc/GuiSvc.h,v 1.5 2001/04/18 21:01:21 burnett Exp $
00002 // 
00003 //  Original author: Toby Burnett tburnett@u.washington.edu
00004 
00005 #ifndef _H_GuiSvc_
00006 #define _H_GuiSvc_
00007 
00008 // includes
00009 #include "GaudiKernel/Service.h"
00010 #include "GaudiKernel/IIncidentListener.h"
00011 #include "GuiSvc/IGuiSvc.h"
00012 
00013 //forward declarations
00014 namespace gui { class GuiMgr; }
00015 template <class TYPE> class SvcFactory;
00016 
00019 class GuiSvc :  public Service, virtual public IIncidentListener, 
00020                 virtual public IGuiSvc
00021 {  
00022 
00023 
00024 public:
00026     gui::GuiMgr* guiMgr() {return m_guiMgr;}
00027 
00028     // these needed to implement gui::MenuClient interface in order to schedule a quit call.
00029     void quit();
00030     void finishSetup(){};  // dummy
00031 
00032     //------------------------------------------------------------------
00033     //  stuff required by a Service
00034     
00036     virtual StatusCode initialize ();
00037     
00039     virtual StatusCode finalize ();
00040     //------------------------------------------------------------------
00042     virtual void handle(const Incident& inc);    
00043  
00045    virtual StatusCode queryInterface( const IID& riid, void** ppvUnknown );
00046 
00047 
00048 protected: 
00049 
00051     GuiSvc ( const std::string& name, ISvcLocator* al );
00052     
00053 
00054 private:
00055     // Allow SvcFactory to instantiate the service.
00056     friend class SvcFactory<GuiSvc>;
00057     void beginEvent();
00058     void endEvent();
00059     //
00060     void queryEvtMax();
00061     void queryPause();
00062 
00063 
00064     gui::GuiMgr* m_guiMgr;
00065     float   m_size;
00066     int     m_pause_interval;
00067     bool    m_paused;
00068 
00069 };
00070 
00071 
00072 #endif // _H_GuiSvc

Generated at Wed Nov 21 12:20:16 2001 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000