00001
00002
00003
00004
00005
00006
00007
00009
00010 #ifndef CHARTPANEL_H_
00011 #define CHARTPANEL_H_
00012
00013 #include <wx/wxfreechartdefs.h>
00014 #include <wx/chart.h>
00015
00020 class WXDLLIMPEXP_FREECHART wxChartPanel : public wxScrolledWindow, public ChartObserver
00021 {
00022 public:
00023 wxChartPanel(wxWindow *parent, wxWindowID = wxID_ANY, Chart *chart = NULL,
00024 const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize);
00025 virtual ~wxChartPanel();
00026
00031 void SetChart(Chart *chart);
00032
00033 Chart *GetChart()
00034 {
00035 return m_chart;
00036 }
00037
00044 void SetAntialias(bool antialias);
00045
00046 bool GetAntialias()
00047 {
00048 return m_antialias;
00049 }
00050
00056 wxBitmap CopyBackbuffer();
00057
00058
00059
00060
00061 virtual void ChartChanged(Chart *chart);
00062
00063 virtual void ChartScrollsChanged(Chart *chart);
00064
00065 private:
00066 void ResizeBackBitmap(wxSize size);
00067 void RedrawBackBitmap();
00068 void RecalcScrollbars();
00069
00070
00071
00072
00073 void OnPaint(wxPaintEvent &ev);
00074 void OnSize(wxSizeEvent &ev);
00075 void OnScrollWin(wxScrollWinEvent &ev);
00076
00077 void ScrollAxis(Axis *axis, int d);
00078
00079 Chart *m_chart;
00080
00081 wxBitmap m_backBitmap;
00082
00083 bool m_antialias;
00084
00085 DECLARE_EVENT_TABLE()
00086 };
00087
00088 #endif