00001 /*! \file wx/curves/zoomcur.h 00002 \brief classes for plotting curve and pie data, and editing them. 00003 00004 Data stored in a derived a2dCanvasObject, can be plotted as a curve of pie chart. 00005 One can add markers on the curves, and several curves can be plot as a group in one plot. 00006 00007 \author Klaas Holwerda 00008 00009 Copyright: 2000-2004 (c) Klaas Holwerda 00010 00011 Licence: wxWidgets Licence 00012 00013 RCS-ID: $Id: zoomcur.h,v 1.4 2006/12/13 21:43:27 titato Exp $ 00014 */ 00015 00016 #ifndef __WXZOOMCUR_H__ 00017 #define __WXZOOMCUR_H__ 00018 00019 #ifndef WX_PRECOMP 00020 #include "wx/wx.h" 00021 #endif 00022 00023 #include "wx/curves/meta.h" 00024 00025 #if wxART2D_USE_EDITOR 00026 00027 //!Interactive Zooming into a a2dCanvasXYDisplayGroup. 00028 /*! Use mouse to drag a rectangle to zoom into curves. 00029 00030 \remark Left Click and/or drag. 00031 \remark Right Click for zoom popup. 00032 \remark Double Left Click for zoom to full bbox of all curves. 00033 00034 \ingroup tools 00035 */ 00036 class A2DCURVESDLLEXP a2dCurveZoomTool: public a2dStTool 00037 { 00038 public: 00039 00040 a2dCurveZoomTool(a2dStToolContr* controller); 00041 ~a2dCurveZoomTool(); 00042 bool ZoomSave(){return true;}; 00043 00044 protected: 00045 00046 virtual void GenerateAnotation(); 00047 00048 //! character handling 00049 void OnChar(wxKeyEvent& event); 00050 00051 void OnMouseEvent(wxMouseEvent& event); 00052 00053 virtual wxString GetCommandGroupName() { return _("Curve zoom") ; } 00054 00055 public: 00056 00057 a2dSmrtPtr<a2dCanvasXYDisplayGroupAreas> m_curves; 00058 00059 A2D_DECLARE_EVENT_TABLE() 00060 00061 DECLARE_CLASS(a2dCurveZoomTool) 00062 00063 static const a2dPropertyIdCanvasObject PROPID_curves; 00064 }; 00065 #endif //wxART2D_USE_EDITOR 00066 00067 #endif 00068