00001
00002
00003
00004
00005
00006
00007
00009
00010 #ifndef XYSIMPLEDATASET_H_
00011 #define XYSIMPLEDATASET_H_
00012
00013 #include <wx/xy/xydataset.h>
00014
00015 #include <wx/dynarray.h>
00016
00020 class WXDLLIMPEXP_FREECHART XYSerie
00021 {
00022 public:
00028 XYSerie(double *data, size_t count);
00029
00030 virtual ~XYSerie();
00031
00032 double GetX(size_t index);
00033
00034 double GetY(size_t index);
00035
00036 size_t GetCount();
00037
00038 const wxString &GetName();
00039
00040 void SetName(const wxString &name);
00041
00042 private:
00043 double *m_data;
00044 size_t m_count;
00045 wxString m_name;
00046 };
00047
00048 WX_DECLARE_USER_EXPORTED_OBJARRAY(XYSerie *, XYSerieArray, WXDLLIMPEXP_FREECHART);
00049
00053 class WXDLLIMPEXP_FREECHART XYSimpleDataset : public XYDataset
00054 {
00055 DECLARE_CLASS(XYSimpleDataset)
00056 public:
00057 XYSimpleDataset();
00058 virtual ~XYSimpleDataset();
00059
00065 void AddSerie(double *data, size_t count);
00066
00071 void AddSerie(XYSerie *serie);
00072
00073
00074
00075
00076 virtual double GetX(size_t index, size_t serie);
00077
00078 virtual double GetY(size_t index, size_t serie);
00079
00080 virtual size_t GetSerieCount();
00081
00082 virtual size_t GetCount(size_t serie);
00083
00084 virtual wxString GetSerieName(size_t serie);
00085
00086 void SetSerieName(size_t serie, const wxString &name);
00087
00088 private:
00089 XYSerieArray m_series;
00090 };
00091
00092 #endif