00001 #ifndef _QG_CANVAS_WINDOW_HH_ 00002 #define _QG_CANVAS_WINDOW_HH_ 00003 00011 #include <list> 00012 #include <string> 00013 #include <vector> 00014 #include "QGWindow.hh" 00015 00016 class QGCanvasSetupFrame; 00017 class QGCanvasWindowButtonsFrame; 00018 class QGFileHandler; 00019 class QGHistogram; 00020 class QGPlot; 00021 class QGPlotFrame; 00022 class TGButton; 00023 class TGLabel; 00024 class TRootEmbeddedCanvas; 00025 00026 class QGCanvasWindow : public QGWindow { 00027 public: 00029 QGCanvasWindow(const TGWindow *p = 0, UInt_t w = 600, UInt_t h = 450); 00030 00032 virtual ~QGCanvasWindow(); 00033 00035 void AddPlot(QGPlot *plot); 00036 00038 void AddToDrawnPlots(QGPlot *plot); 00039 00041 void ClearDrawnPlots(); 00042 00044 void DisplayPlotFrame(); 00045 00047 void DisplaySetupFrame(); 00048 00050 std::list<QGPlot*>& GetDrawnPlots() {return fDrawnPlots;} 00051 00053 QGFileHandler *GetFileHandler() const {return fFileHandler;} 00054 00056 QGPlotFrame *GetPlotFrame() {return fPlotFrame;} 00057 00059 std::list<QGPlot*>& GetPlots() {return fPlots;} 00060 00062 void RemoveFromDrawnPlots(QGPlot *plot); 00063 00065 void RemovePlot(QGPlot *plot); 00066 00068 void SetPlotsToRegenerate(); 00069 00071 void SetProperty(std::string key, std::string value); 00072 00074 void UpdateFileLabel(); 00075 00077 void UpdateVariablesDropDownBoxes(); 00078 00079 private: 00081 QGCanvasWindowButtonsFrame *fButtonsFrame; 00082 00084 QGFileHandler *fFileHandler; 00085 00087 TGLabel *fFilenameLabel; 00088 00090 std::list<QGPlot*> fDrawnPlots; 00091 00093 QGPlotFrame *fPlotFrame; 00094 00096 std::list<QGPlot*> fPlots; 00097 00099 QGCanvasSetupFrame *fSetupFrame; 00100 00101 ClassDef(QGCanvasWindow, 0) 00102 }; 00103 00104 #endif