00001 #ifndef ANP_EVENTTAB_H
00002 #define ANP_EVENTTAB_H
00003
00004
00005 #include <string>
00006
00007
00008 #include "TRootEmbeddedCanvas.h"
00009
00010
00011 #include "PhysicsNtuple/Handle.h"
00012 #include "PhysicsNtuple/Record.h"
00013
00014 class TCanvas;
00015 class Registry;
00016
00017 namespace Anp
00018 {
00019 class EventTab: public Base
00020 {
00021 public:
00022
00023 EventTab() :fEmbeddedCanvas(0) {}
00024 virtual ~EventTab() {}
00025
00026 virtual void Init(TCanvas* canvas) = 0;
00027 virtual void Set(const Event &event, const Record &record) = 0;
00028 virtual void Expose() = 0;
00029
00030 virtual void SendSignal(const std:: string &) {}
00031
00032 virtual void Config(const Registry ®) = 0;
00033
00034 virtual void ZoomIn() {}
00035 virtual void ZoomOut() {}
00036
00037 const std::string& GetName() const { return fName; }
00038 const std::string& GetLabel() const { return fLabel; }
00039
00040 void SetName(const std::string &value) { fName = value; }
00041 void SetLabel(const std::string &value) { fLabel = value; }
00042
00043 void SetEmbedded(TRootEmbeddedCanvas *canvas) { fEmbeddedCanvas = canvas; }
00044 TRootEmbeddedCanvas* GetEmbedded() { return fEmbeddedCanvas; }
00045
00046 protected:
00047
00048 std::string fName;
00049 std::string fLabel;
00050
00051 TRootEmbeddedCanvas *fEmbeddedCanvas;
00052 };
00053
00054 typedef Anp::Handle<Anp::EventTab> EventTabPtr;
00055 }
00056
00057 #endif