CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_1/src/Fireworks/Core/interface/FWViewManagerManager.h

Go to the documentation of this file.
00001 #ifndef Fireworks_Core_FWViewManagerManager_h
00002 #define Fireworks_Core_FWViewManagerManager_h
00003 // -*- C++ -*-
00004 //
00005 // Package:     Core
00006 // Class  :     FWViewManagerManager
00007 //
00016 //
00017 // Original Author:  Chris Jones
00018 //         Created:  Tue Jan 15 10:26:23 EST 2008
00019 // $Id: FWViewManagerManager.h,v 1.12 2009/11/05 22:06:02 dmytro Exp $
00020 //
00021 
00022 // system include files
00023 #include <vector>
00024 #include <map>
00025 #include <boost/shared_ptr.hpp>
00026 #include <set>
00027 #include <string>
00028 
00029 // user include files
00030 
00031 // forward declarations
00032 class FWViewManagerBase;
00033 class FWEventItem;
00034 class FWModelChangeManager;
00035 class FWColorManager;
00036 class FWTypeToRepresentations;
00037 
00038 class FWViewManagerManager
00039 {
00040 
00041 public:
00042    FWViewManagerManager(FWModelChangeManager*, FWColorManager*);
00043    virtual ~FWViewManagerManager();
00044 
00045    // ---------- const member functions ---------------------
00046    FWTypeToRepresentations supportedTypesAndRepresentations() const;
00047 
00048    // ---------- static member functions --------------------
00049 
00050    // ---------- member functions ---------------------------
00051    void add( boost::shared_ptr<FWViewManagerBase>);
00052    void registerEventItem(const FWEventItem*iItem);
00053    void removeEventItem(const FWEventItem*iItem);
00054    void eventBegin();
00055    void eventEnd();
00056 
00057 private:
00058    FWViewManagerManager(const FWViewManagerManager&);    // stop default
00059 
00060    const FWViewManagerManager& operator=(const FWViewManagerManager&);    // stop default
00061 
00062    // ---------- member data --------------------------------
00063    std::vector<boost::shared_ptr<FWViewManagerBase> > m_viewManagers;
00064    FWModelChangeManager* m_changeManager;
00065    FWColorManager* m_colorManager;
00066    std::map<std::string, const FWEventItem*> m_typeToItems;    //use this to tell view managers registered after the item
00067 
00068 };
00069 
00070 
00071 #endif