CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/Fireworks/Core/interface/FWGeometryTableViewManager.h

Go to the documentation of this file.
00001 #ifndef Fireworks_Core_FWGeometryTableViewManager_h
00002 #define Fireworks_Core_FWGeometryTableViewManager_h
00003 // -*- C++ -*-
00004 //
00005 // Package:     Core
00006 // Class  :     FWGeometryTableViewManager
00007 // 
00016 //
00017 // Original Author:  Alja Mrak-Tadel
00018 //         Created:  Fri Jul  8 00:40:50 CEST 2011
00019 // $Id: FWGeometryTableViewManager.h,v 1.8 2012/04/21 00:30:21 amraktad Exp $
00020 //
00021 
00022 class FWViewBase;
00023 class FWGUIManager;
00024 class TEveWindowSlot;
00025 class TGeoManager;
00026 
00027 #include "Fireworks/Core/interface/FWViewManagerBase.h"
00028 #include "Fireworks/Core/interface/FWGeometryTableViewBase.h"
00029 
00030 class FWGeometryTableViewManager : public FWViewManagerBase
00031 {
00032 public:
00033    FWGeometryTableViewManager(FWGUIManager*, std::string fileName);
00034    virtual ~FWGeometryTableViewManager();
00035 
00036    // dummy functions of FWViewManagerBase
00037    virtual FWTypeToRepresentations supportedTypesAndRepresentations() const { return FWTypeToRepresentations();}
00038    virtual void newItem(const FWEventItem*) {}  
00039 
00040    FWViewBase *buildView (TEveWindowSlot *iParent, const std::string& type);
00041    virtual void colorsChanged();
00042 
00043    TList*  getListOfVolumes() const;
00044    TGeoNode* getTopTGeoNode();
00045 
00046    static TGeoManager* getGeoMangeur();
00047    static void setGeoManagerRuntime(TGeoManager*);
00048 
00049 protected:
00050    // dummy functions of FWViewManagerBase
00051    virtual void modelChangesComing() {}
00052    virtual void modelChangesDone() {}
00053 
00054    std::vector<boost::shared_ptr<FWGeometryTableViewBase> > m_views;
00055 
00056 private:
00057    FWGeometryTableViewManager(const FWGeometryTableViewManager&); // stop default
00058    const FWGeometryTableViewManager& operator=(const FWGeometryTableViewManager&); // stop default
00059    void beingDestroyed(const FWViewBase* iView);
00060 
00061    static TGeoManager *s_geoManager;
00062    std::string m_fileName;
00063    void setGeoManagerFromFile();
00064 };
00065 
00066 
00067 #endif