CMS 3D CMS Logo

VisConfiguration.h

Go to the documentation of this file.
00001 #ifndef VIS_FRAMEWORK_BASE_VIS_CONFIGURATION_H
00002 # define VIS_FRAMEWORK_BASE_VIS_CONFIGURATION_H
00003 
00004 //<<<<<< INCLUDES                                                       >>>>>>
00005 
00006 # include "Iguana/Framework/interface/IgStateElement.h"
00007 # include <map>
00008 # include <string>
00009 
00010 //<<<<<< PUBLIC DEFINES                                                 >>>>>>
00011 //<<<<<< PUBLIC CONSTANTS                                               >>>>>>
00012 //<<<<<< PUBLIC TYPES                                                   >>>>>>
00013 
00014 class VisConfigEditor;
00015 class VisConfigurable;
00016 
00017 //<<<<<< PUBLIC VARIABLES                                               >>>>>>
00018 //<<<<<< PUBLIC FUNCTIONS                                               >>>>>>
00019 //<<<<<< CLASS DECLARATIONS                                             >>>>>>
00020 
00021 class VisConfiguration : public IgStateElement
00022 {
00023     IG_DECLARE_STATE_ELEMENT (VisConfiguration);
00024 public:
00025     static const int    MENU_ID_CONFIG        = 8900;
00026     static const int    MENU_ID_CONFIG_CMSSW  = 8901;
00027     static const int    MENU_ID_CONFIG_SEP    = 8902;
00028     static const int    MENU_ID_CONFIG_SAVE   = 8903;
00029 
00030     typedef std::map<std::string, std::string, std::less<std::string> > VisState;
00031     typedef std::multimap<std::string, VisConfigurable*, std::less<std::string> > VisConfigMap;
00032     typedef VisConfigMap::const_iterator VisConfigMapConItr;
00033     typedef VisConfigMap::iterator VisConfigMapItr;
00034     typedef std::pair<VisConfigMapItr,VisConfigMapItr> SRANGE;
00035 
00036     VisConfiguration (IgState *state);
00037     virtual ~VisConfiguration (void);
00038     // implicit copy constructor
00039     // implicit assignment operator
00040     // implicit destructor
00041  
00042     void dumpConfig (VisState& state) const; 
00043     void insert (const std::string &iname, VisConfigurable *ihim);
00044     void erase (const VisConfigurable *ihim);
00045     void modify (const std::string & iname, const std::string & ivalue);
00046     void set (const std::string & iname, const std::string & ivalue);
00047     
00048 protected:
00049     void clear (void);
00050     VisConfigMap::iterator find (const VisConfigurable *ihim, VisConfigMapItr p);
00051 
00052 private: 
00053     IgState                    *m_state; 
00054     VisConfigEditor            *m_editor;
00055     VisConfigMap                m_registry;
00056 };
00057 
00058 //<<<<<< INLINE PUBLIC FUNCTIONS                                        >>>>>>
00059 //<<<<<< INLINE MEMBER FUNCTIONS                                        >>>>>>
00060 
00061 #endif // VIS_FRAMEWORK_BASE_VIS_CONFIGURATION_H

Generated on Tue Jun 9 17:49:49 2009 for CMSSW by  doxygen 1.5.4