File indexing completed on 2023-10-25 09:46:18
0001 #ifndef Fireworks_Core_FWDetailViewBase_h
0002 #define Fireworks_Core_FWDetailViewBase_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022 #include "Fireworks/Core/interface/FWSimpleProxyHelper.h"
0023
0024 #include "Rtypes.h"
0025
0026 class TEveWindow;
0027 class TEveWindowSlot;
0028 class FWModelId;
0029 class FWEventItem;
0030
0031 namespace fireworks {
0032 class Context;
0033 }
0034
0035 class FWDetailViewBase {
0036 public:
0037 virtual ~FWDetailViewBase();
0038
0039 void build(const FWModelId&);
0040
0041 virtual void init(TEveWindowSlot*) = 0;
0042 virtual void setBackgroundColor(Color_t col) {}
0043
0044
0045 static void drawCanvasDot(Float_t x, Float_t y, Float_t r, Color_t);
0046 static void drawCanvasBox(Double_t* pos, Color_t fillCol, Int_t fillType = 0, bool bg = kTRUE);
0047
0048 const FWEventItem* item() { return m_item; }
0049 void setItem(const FWEventItem* x) { m_item = x; }
0050 const fireworks::Context& context() const;
0051
0052 FWDetailViewBase(const FWDetailViewBase&) = delete;
0053 const FWDetailViewBase& operator=(const FWDetailViewBase&) = delete;
0054
0055 protected:
0056 FWDetailViewBase(const std::type_info&);
0057
0058 private:
0059 virtual void build(const FWModelId&, const void*) = 0;
0060
0061 const FWEventItem* m_item;
0062 FWSimpleProxyHelper m_helper;
0063 };
0064
0065 #endif