00001
00002
00003
00004
00005
00006
00007
00009
00010 #ifndef GANTTSIMPLEDATASET_H_
00011 #define GANTTSIMPLEDATASET_H_
00012
00013 #include <wx/gantt/ganttdataset.h>
00014
00015 #include <wx/dynarray.h>
00016
00017 class WXDLLIMPEXP_FREECHART GanttSerie
00018 {
00019 public:
00020 struct TaskTime
00021 {
00022 time_t start;
00023 time_t end;
00024 };
00025
00026 GanttSerie(TaskTime *tasks, size_t taskCount, const wxString &name);
00027 virtual ~GanttSerie();
00028
00029 time_t GetStart(size_t index);
00030
00031 time_t GetEnd(size_t index);
00032
00033 const wxString &GetName();
00034
00035 private:
00036 TaskTime *m_taskTimes;
00037 size_t m_taskTimesCount;
00038
00039 wxString m_name;
00040 };
00041
00042 WX_DECLARE_OBJARRAY(GanttSerie *, GanttSerieArray);
00043
00047 class WXDLLIMPEXP_FREECHART GanttSimpleDataset : public GanttDataset
00048 {
00049 public:
00056 GanttSimpleDataset(size_t dateCount, const wxChar **taskNames, size_t taskNamesCount);
00057 virtual ~GanttSimpleDataset();
00058
00063 void AddSerie(GanttSerie *serie);
00064
00065 virtual wxString GetName(size_t index);
00066
00067 virtual double GetValue(size_t index, size_t serie);
00068
00069 virtual size_t GetSerieCount();
00070
00071 virtual wxString GetSerieName(size_t serie);
00072
00073 virtual size_t GetCount();
00074
00075 virtual time_t GetStart(size_t index, size_t serie);
00076
00077 virtual time_t GetEnd(size_t index, size_t serie);
00078
00079 private:
00080 wxArrayString m_taskNames;
00081 GanttSerieArray m_series;
00082 };
00083
00084 #endif