00001
00002
00003
00004
00005
00006
00007
00009
00010 #ifndef MULTIPLOT_H_
00011 #define MULTIPLOT_H_
00012
00013 #include <wx/dynarray.h>
00014 #include <wx/plot.h>
00015
00016 WX_DECLARE_USER_EXPORTED_OBJARRAY(Plot *, PlotArray, WXDLLIMPEXP_FREECHART);
00017
00022 class WXDLLIMPEXP_FREECHART MultiPlot : public Plot, public PlotObserver
00023 {
00024 public:
00032 MultiPlot(int rows, int cols, wxCoord horizGap, wxCoord vertGap);
00033 virtual ~MultiPlot();
00034
00039 void AddPlot(Plot *subPlot)
00040 {
00041 m_subPlots.Add(subPlot);
00042
00043 subPlot->AddObserver(this);
00044 FirePlotNeedRedraw();
00045 }
00046
00047
00048
00049
00050 virtual void PlotNeedRedraw(Plot *plot);
00051
00052 protected:
00053 virtual bool HasData();
00054
00055 virtual void DrawData(wxDC &dc, wxRect rc);
00056
00057 private:
00058 PlotArray m_subPlots;
00059
00060 int m_rows;
00061 int m_cols;
00062 wxCoord m_horizGap;
00063 wxCoord m_vertGap;
00064 };
00065
00066 #endif