00001 00017 #ifndef GFXBASE_H 00018 #define GFXBASE_H 00019 00020 00021 #include <Conventions/PlaneView.h> 00022 #include "GraphicsView.h" 00023 #include <TObject.h> 00024 #include <Midad/Base/ZoomPad.h> 00025 #include <Midad/Util/Signals.h> 00026 00027 class PageDisplay; 00028 class EVD; 00029 class Mint; 00030 class GfxCfg; 00031 class GuiMenu; 00032 class ViewState; 00033 00034 class GfxBase : public TObject 00035 { 00036 00037 public: 00038 00039 GfxBase() {} 00040 virtual ~GfxBase() { destroyed.emit(); } 00041 00042 // This is called once just after the object is created. If it 00043 // needs to set up any communication with the EVD or the 00044 // PageDisplay it should do it here. Both will exist for the 00045 // lifetime of the Gfx object. 00046 virtual void Init(PageDisplay& /* pd */, EVD& /* mp */) {} 00047 00051 virtual void Configure(Mint& /* mint */) {} 00052 00057 virtual GfxCfg& GetCfg() = 0; 00058 00061 SigC::Signal1<void,const char*> text_info; 00062 00064 GraphicsView::GraphicsView_t GetGraphicsView(void) { return fGraphicsView; } 00065 void SetGraphicsView(GraphicsView::GraphicsView_t view) { fGraphicsView = view; } 00066 PlaneView::PlaneView_t GetPlaneView(void) { return fPlaneView; } 00067 void SetPlaneView(PlaneView::PlaneView_t view) { fPlaneView = view; } 00068 00069 ViewState* GetViewState() { return fViewState; } 00070 const ViewState* GetViewState() const { return fViewState; } 00071 void SetViewState(ViewState* vs) { fViewState = vs; } 00072 ZoomPad * GetPad(){return fPad;} 00073 void SetPad(ZoomPad * pd){fPad=pd;} 00075 // void SetMetric(EVDCfg::MetricIs_t metric) { fMetric = metric; } 00076 // EVDCfg::MetricIs_t GetMetric() { return fMetric; } 00077 00079 00082 00085 00088 00092 00093 00094 // used by GfxProxy. 00095 SigC::Signal0<void> destroyed; 00096 00097 private: 00098 GraphicsView::GraphicsView_t fGraphicsView; 00099 PlaneView::PlaneView_t fPlaneView; 00100 00101 ViewState* fViewState; 00102 ZoomPad * fPad; 00103 }; // end of class GfxBase 00104 00105 00106 #endif // GFXBASE_H
1.3.9.1