00001
00027 #ifndef CANVASVIEWER_H
00028 #define CANVASVIEWER_H
00029
00030 class TGCompositeFrame;
00031 class TGMainFrame;
00032 class TGTab;
00033
00034 #include <TCanvas.h>
00035 #include <RQ_OBJECT.h>
00036
00037 #include <vector>
00038
00040 class CanvasTab {
00041 public:
00042 CanvasTab();
00043 virtual ~CanvasTab();
00045 virtual void Init(TCanvas* canvas);
00047 virtual void Expose();
00048 };
00049
00051 class CanvasTabs {
00052 RQ_OBJECT("CanvasTabs")
00053
00054 TGCompositeFrame* fParent;
00055 TGTab* fTab;
00056 std::vector<CanvasTab*> fCTabs;
00057
00058 public:
00059 CanvasTabs(TGCompositeFrame* parent);
00060 void AdoptTab(const char* label, CanvasTab* ctab);
00061
00062 void DoTab(Int_t tab);
00063
00064 TGTab& GetTabs() { return *fTab; }
00065 };
00066
00067 class CanvasViewer {
00068 RQ_OBJECT("CanvasViewer")
00069
00070 TGMainFrame* fMain;
00071
00072 CanvasTabs* fCTabs;
00073 public:
00074 CanvasViewer();
00075
00077 CanvasTabs& GetCanvasTabs() { return *fCTabs; }
00078
00079 void CloseWindow();
00080 };
00081
00082 #endif // CANVASVIEWER_H