CMS 3D CMS Logo

FWDetailViewManager.h
Go to the documentation of this file.
1 #ifndef Fireworks_Core_FWDetailViewManager_h
2 #define Fireworks_Core_FWDetailViewManager_h
3 // -*- C++ -*-
4 //
5 // Package: Core
6 // Class : FWDetailViewManager
7 //
16 //
17 // Original Author: Chris Jones
18 // Created: Wed Mar 5 09:13:43 EST 2008
19 //
20 #include <map>
21 #include <memory>
22 #include <string>
23 #include <vector>
24 
25 class FWColorManager;
26 class TEveCompositeFrameInMainFrame;
27 class FWDetailViewBase;
28 class FWModelId;
29 class TEveWindow;
30 
31 namespace fireworks
32 {
33 class Context;
34 }
35 
37 {
38 public:
40  virtual ~FWDetailViewManager();
41 
42  std::vector<std::string> detailViewsFor(const FWModelId&) const;
43  // void assertMainFrame();
44  void openDetailViewFor(const FWModelId&, const std::string&);
45  void colorsChanged();
46  void newEventCallback();
47  void eveWindowDestroyed(TEveWindow*);
48 
49  struct ViewFrame
50  {
51  TEveCompositeFrameInMainFrame *m_eveFrame;
52  std::unique_ptr<FWDetailViewBase> m_detailView;
53  TEveWindow *m_eveWindow;
54 
55  ViewFrame(TEveCompositeFrameInMainFrame *f, std::unique_ptr<FWDetailViewBase> v, TEveWindow* w);
56  ~ViewFrame();
57  ViewFrame(const ViewFrame&) = delete;
58  ViewFrame& operator=(const ViewFrame&) = delete;
59  ViewFrame(ViewFrame&&) = default;
60  ViewFrame& operator=(ViewFrame&&) = default;
61  };
62 
63 protected:
65 
66 private:
67 
68  FWDetailViewManager(const FWDetailViewManager&) = delete; // stop default
69  const FWDetailViewManager& operator=(const FWDetailViewManager&) = delete; // stop default
70 
71  std::vector<std::string> findViewersFor(const std::string&) const;
72 
73  typedef std::vector<ViewFrame> vViews_t;
74  typedef vViews_t::iterator vViews_i;
75  vViews_t m_views;
76 
77  mutable std::map<std::string, std::vector<std::string> > m_typeToViewers;
78 };
79 
80 #endif
std::unique_ptr< FWDetailViewBase > m_detailView
const double w
Definition: UKUtility.cc:23
vViews_t::iterator vViews_i
std::vector< ViewFrame > vViews_t
std::map< std::string, std::vector< std::string > > m_typeToViewers
double f[11][100]
fireworks::Context * m_context
TEveCompositeFrameInMainFrame * m_eveFrame