Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 09:46:20

0001 #ifndef Fireworks_Core_FWViewManagerManager_h
0002 #define Fireworks_Core_FWViewManagerManager_h
0003 // -*- C++ -*-
0004 //
0005 // Package:     Core
0006 // Class  :     FWViewManagerManager
0007 //
0008 /**\class FWViewManagerManager FWViewManagerManager.h Fireworks/Core/interface/FWViewManagerManager.h
0009 
0010    Description: Manages all the FWViewManagerBase instances
0011 
0012    Usage:
0013     <usage>
0014 
0015  */
0016 //
0017 // Original Author:  Chris Jones
0018 //         Created:  Tue Jan 15 10:26:23 EST 2008
0019 //
0020 
0021 // system include files
0022 #include <vector>
0023 #include <map>
0024 #include <memory>
0025 #include <set>
0026 #include <string>
0027 
0028 // user include files
0029 
0030 // forward declarations
0031 class FWViewManagerBase;
0032 class FWEventItem;
0033 class FWModelChangeManager;
0034 class FWColorManager;
0035 class FWTypeToRepresentations;
0036 
0037 class FWViewManagerManager {
0038 public:
0039   FWViewManagerManager(FWModelChangeManager*, FWColorManager*);
0040   virtual ~FWViewManagerManager();
0041 
0042   // ---------- const member functions ---------------------
0043   FWTypeToRepresentations supportedTypesAndRepresentations() const;
0044 
0045   // ---------- static member functions --------------------
0046 
0047   // ---------- member functions ---------------------------
0048   void add(std::shared_ptr<FWViewManagerBase>);
0049   void registerEventItem(const FWEventItem* iItem);
0050   void removeEventItem(const FWEventItem* iItem);
0051   void eventBegin();
0052   void eventEnd();
0053 
0054   FWViewManagerManager(const FWViewManagerManager&) = delete;  // stop default
0055 
0056   const FWViewManagerManager& operator=(const FWViewManagerManager&) = delete;  // stop default
0057 
0058 private:
0059   // ---------- member data --------------------------------
0060   std::vector<std::shared_ptr<FWViewManagerBase> > m_viewManagers;
0061   FWModelChangeManager* m_changeManager;
0062   FWColorManager* m_colorManager;
0063   std::map<std::string, const FWEventItem*> m_typeToItems;  //use this to tell view managers registered after the item
0064 };
0065 
0066 #endif