2001-01-16 06:33:29 -05:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
// Name: plot.h
|
|
|
|
// Purpose: wxPlotWindow
|
|
|
|
// Author: Robert Roebling
|
|
|
|
// Modified by:
|
|
|
|
// Created: 12/1/2000
|
|
|
|
// Copyright: (c) Robert Roebling
|
|
|
|
// RCS-ID: $Id$
|
|
|
|
// Licence: wxWindows licence
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
#ifndef _WX_PLOT_H_
|
|
|
|
#define _WX_PLOT_H_
|
|
|
|
|
|
|
|
#include "wx/defs.h"
|
|
|
|
|
|
|
|
#include "wx/scrolwin.h"
|
|
|
|
#include "wx/event.h"
|
|
|
|
#include "wx/dynarray.h"
|
|
|
|
|
2003-08-03 13:11:53 -04:00
|
|
|
#ifdef WXMAKINGDLL_PLOT
|
|
|
|
#define WXDLLIMPEXP_PLOT WXEXPORT
|
|
|
|
#define WXDLLIMPEXP_DATA_PLOT(type) WXEXPORT type
|
|
|
|
#elif defined(WXUSINGDLL)
|
|
|
|
#define WXDLLIMPEXP_PLOT WXIMPORT
|
|
|
|
#define WXDLLIMPEXP_DATA_PLOT(type) WXIMPORT type
|
|
|
|
#else // not making nor using DLL
|
|
|
|
#define WXDLLIMPEXP_PLOT
|
|
|
|
#define WXDLLIMPEXP_DATA_PLOT(type) type
|
|
|
|
#endif
|
|
|
|
|
2001-01-16 06:33:29 -05:00
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// classes
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
2003-08-03 13:11:53 -04:00
|
|
|
class WXDLLIMPEXP_PLOT wxPlotEvent;
|
|
|
|
class WXDLLIMPEXP_PLOT wxPlotCurve;
|
|
|
|
class WXDLLIMPEXP_PLOT wxPlotValues;
|
|
|
|
class WXDLLIMPEXP_PLOT wxPlotArea;
|
|
|
|
class WXDLLIMPEXP_PLOT wxPlotXAxisArea;
|
|
|
|
class WXDLLIMPEXP_PLOT wxPlotYAxisArea;
|
|
|
|
class WXDLLIMPEXP_PLOT wxPlotWindow;
|
2005-08-10 18:53:45 -04:00
|
|
|
class WXDLLIMPEXP_CORE wxStaticText;
|
2001-01-16 06:33:29 -05:00
|
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
2001-06-12 06:14:58 -04:00
|
|
|
// consts
|
2001-01-16 06:33:29 -05:00
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
2005-04-14 17:12:38 -04:00
|
|
|
BEGIN_DECLARE_EVENT_TYPES()
|
2005-04-14 18:03:38 -04:00
|
|
|
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PLOT, wxEVT_PLOT_SEL_CHANGING, 941)
|
|
|
|
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PLOT, wxEVT_PLOT_SEL_CHANGED, 921)
|
|
|
|
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PLOT, wxEVT_PLOT_CLICKED, 922)
|
|
|
|
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PLOT, wxEVT_PLOT_DOUBLECLICKED, 923)
|
|
|
|
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PLOT, wxEVT_PLOT_ZOOM_IN, 924)
|
|
|
|
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PLOT, wxEVT_PLOT_ZOOM_OUT, 925)
|
|
|
|
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PLOT, wxEVT_PLOT_VALUE_SEL_CREATING, 926)
|
|
|
|
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PLOT, wxEVT_PLOT_VALUE_SEL_CREATED, 927)
|
|
|
|
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PLOT, wxEVT_PLOT_VALUE_SEL_CHANGING, 928)
|
|
|
|
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PLOT, wxEVT_PLOT_VALUE_SEL_CHANGED, 929)
|
|
|
|
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PLOT, wxEVT_PLOT_AREA_SEL_CREATING, 930)
|
|
|
|
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PLOT, wxEVT_PLOT_AREA_SEL_CREATED, 931)
|
|
|
|
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PLOT, wxEVT_PLOT_AREA_SEL_CHANGING, 932)
|
|
|
|
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PLOT, wxEVT_PLOT_AREA_SEL_CHANGED, 933)
|
|
|
|
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PLOT, wxEVT_PLOT_BEGIN_X_LABEL_EDIT, 934)
|
|
|
|
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PLOT, wxEVT_PLOT_END_X_LABEL_EDIT, 935)
|
|
|
|
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PLOT, wxEVT_PLOT_BEGIN_Y_LABEL_EDIT, 936)
|
|
|
|
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PLOT, wxEVT_PLOT_END_Y_LABEL_EDIT, 937)
|
|
|
|
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PLOT, wxEVT_PLOT_BEGIN_TITLE_EDIT, 938)
|
|
|
|
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PLOT, wxEVT_PLOT_END_TITLE_EDIT, 939)
|
|
|
|
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PLOT, wxEVT_PLOT_AREA_CREATE, 940)
|
2005-04-14 17:12:38 -04:00
|
|
|
END_DECLARE_EVENT_TYPES()
|
2001-01-16 06:33:29 -05:00
|
|
|
|
|
|
|
#define wxPLOT_X_AXIS 0x0004
|
|
|
|
#define wxPLOT_Y_AXIS 0x0008
|
|
|
|
#define wxPLOT_BUTTON_MOVE 0x0010
|
|
|
|
#define wxPLOT_BUTTON_ZOOM 0x0020
|
|
|
|
#define wxPLOT_BUTTON_ENLARGE 0x0040
|
|
|
|
|
|
|
|
#define wxPLOT_BUTTON_ALL (wxPLOT_BUTTON_MOVE|wxPLOT_BUTTON_ZOOM|wxPLOT_BUTTON_ENLARGE)
|
|
|
|
#define wxPLOT_DEFAULT (wxPLOT_X_AXIS|wxPLOT_Y_AXIS | wxPLOT_BUTTON_ALL)
|
|
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// wxPlotEvent
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
2003-08-03 13:11:53 -04:00
|
|
|
class WXDLLIMPEXP_PLOT wxPlotEvent: public wxNotifyEvent
|
2001-01-16 06:33:29 -05:00
|
|
|
{
|
|
|
|
public:
|
|
|
|
wxPlotEvent( wxEventType commandType = wxEVT_NULL, int id = 0 );
|
|
|
|
|
|
|
|
wxPlotCurve *GetCurve()
|
|
|
|
{ return m_curve; }
|
|
|
|
void SetCurve( wxPlotCurve *curve )
|
|
|
|
{ m_curve = curve; }
|
|
|
|
|
|
|
|
double GetZoom()
|
|
|
|
{ return m_zoom; }
|
|
|
|
void SetZoom( double zoom )
|
|
|
|
{ m_zoom = zoom; }
|
|
|
|
|
|
|
|
wxInt32 GetPosition()
|
|
|
|
{ return m_position; }
|
|
|
|
void SetPosition( wxInt32 pos )
|
|
|
|
{ m_position = pos; }
|
|
|
|
|
|
|
|
private:
|
|
|
|
wxPlotCurve *m_curve;
|
|
|
|
double m_zoom;
|
|
|
|
wxInt32 m_position;
|
|
|
|
};
|
|
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// wxPlotCurve
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
2003-08-03 13:11:53 -04:00
|
|
|
class WXDLLIMPEXP_PLOT wxPlotCurve: public wxObject
|
2001-01-16 06:33:29 -05:00
|
|
|
{
|
|
|
|
public:
|
|
|
|
wxPlotCurve( int offsetY, double startY, double endY );
|
|
|
|
|
|
|
|
virtual wxInt32 GetStartX() = 0;
|
|
|
|
virtual wxInt32 GetEndX() = 0;
|
|
|
|
|
|
|
|
virtual double GetY( wxInt32 x ) = 0;
|
|
|
|
|
|
|
|
void SetStartY( double startY )
|
|
|
|
{ m_startY = startY; }
|
2005-08-10 18:53:45 -04:00
|
|
|
double GetStartY() const
|
2001-01-16 06:33:29 -05:00
|
|
|
{ return m_startY; }
|
|
|
|
void SetEndY( double endY )
|
|
|
|
{ m_endY = endY; }
|
2005-08-10 18:53:45 -04:00
|
|
|
double GetEndY() const
|
2001-01-16 06:33:29 -05:00
|
|
|
{ return m_endY; }
|
|
|
|
void SetOffsetY( int offsetY )
|
|
|
|
{ m_offsetY = offsetY; }
|
2005-08-10 18:53:45 -04:00
|
|
|
int GetOffsetY() const
|
2001-01-16 06:33:29 -05:00
|
|
|
{ return m_offsetY; }
|
2005-05-04 11:22:09 -04:00
|
|
|
|
2001-01-16 06:33:29 -05:00
|
|
|
void SetPenNormal( const wxPen &pen )
|
|
|
|
{ m_penNormal = pen; }
|
|
|
|
void SetPenSelected( const wxPen &pen )
|
|
|
|
{ m_penSelected = pen; }
|
|
|
|
|
2005-08-10 18:53:45 -04:00
|
|
|
const wxPen& GetPenNormal() const
|
|
|
|
{ return m_penNormal; }
|
|
|
|
const wxPen& GetPenSelected() const
|
|
|
|
{ return m_penSelected; }
|
|
|
|
|
2001-01-16 06:33:29 -05:00
|
|
|
private:
|
|
|
|
int m_offsetY;
|
|
|
|
double m_startY;
|
|
|
|
double m_endY;
|
|
|
|
wxPen m_penNormal;
|
|
|
|
wxPen m_penSelected;
|
|
|
|
|
|
|
|
DECLARE_ABSTRACT_CLASS(wxPlotCurve)
|
|
|
|
};
|
|
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// wxPlotOnOffCurve
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
2003-08-03 13:11:53 -04:00
|
|
|
class WXDLLIMPEXP_PLOT wxPlotOnOff
|
2001-01-16 06:33:29 -05:00
|
|
|
{
|
|
|
|
public:
|
|
|
|
wxPlotOnOff() { }
|
|
|
|
|
|
|
|
wxInt32 m_on;
|
|
|
|
wxInt32 m_off;
|
|
|
|
void *m_clientData;
|
|
|
|
};
|
|
|
|
|
2003-08-03 13:11:53 -04:00
|
|
|
WX_DECLARE_OBJARRAY_WITH_DECL(wxPlotOnOff, wxArrayPlotOnOff,
|
|
|
|
class WXDLLIMPEXP_PLOT);
|
2001-01-16 06:33:29 -05:00
|
|
|
|
2003-08-03 13:11:53 -04:00
|
|
|
class WXDLLIMPEXP_PLOT wxPlotOnOffCurve: public wxObject
|
2001-01-16 06:33:29 -05:00
|
|
|
{
|
|
|
|
public:
|
|
|
|
wxPlotOnOffCurve( int offsetY );
|
|
|
|
|
|
|
|
wxInt32 GetStartX()
|
|
|
|
{ return m_minX; }
|
|
|
|
wxInt32 GetEndX()
|
|
|
|
{ return m_maxX; }
|
|
|
|
|
|
|
|
void SetOffsetY( int offsetY )
|
|
|
|
{ m_offsetY = offsetY; }
|
|
|
|
int GetOffsetY()
|
|
|
|
{ return m_offsetY; }
|
2005-05-04 11:22:09 -04:00
|
|
|
|
2001-01-16 06:33:29 -05:00
|
|
|
void Add( wxInt32 on, wxInt32 off, void *clientData = NULL );
|
|
|
|
size_t GetCount();
|
2005-05-04 11:22:09 -04:00
|
|
|
|
2001-01-16 06:33:29 -05:00
|
|
|
wxInt32 GetOn( size_t index );
|
|
|
|
wxInt32 GetOff( size_t index );
|
|
|
|
void* GetClientData( size_t index );
|
|
|
|
wxPlotOnOff *GetAt( size_t index );
|
|
|
|
|
|
|
|
virtual void DrawOnLine( wxDC &dc, wxCoord y, wxCoord start, wxCoord end, void *clientData );
|
|
|
|
virtual void DrawOffLine( wxDC &dc, wxCoord y, wxCoord start, wxCoord end );
|
|
|
|
|
|
|
|
private:
|
|
|
|
int m_offsetY;
|
|
|
|
wxInt32 m_minX;
|
|
|
|
wxInt32 m_maxX;
|
2005-05-04 11:22:09 -04:00
|
|
|
|
2001-01-16 06:33:29 -05:00
|
|
|
wxArrayPlotOnOff m_marks;
|
|
|
|
|
|
|
|
DECLARE_CLASS(wxPlotOnOffCurve)
|
|
|
|
};
|
|
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// wxPlotArea
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
2003-08-03 13:11:53 -04:00
|
|
|
class WXDLLIMPEXP_PLOT wxPlotArea: public wxWindow
|
2001-01-16 06:33:29 -05:00
|
|
|
{
|
|
|
|
public:
|
|
|
|
wxPlotArea() {}
|
|
|
|
wxPlotArea( wxPlotWindow *parent );
|
|
|
|
|
|
|
|
void OnPaint( wxPaintEvent &event );
|
|
|
|
void OnMouse( wxMouseEvent &event );
|
|
|
|
|
|
|
|
void DrawCurve( wxDC *dc, wxPlotCurve *curve, int from = -1, int to = -1 );
|
|
|
|
void DrawOnOffCurve( wxDC *dc, wxPlotOnOffCurve *curve, int from = -1, int to = -1 );
|
|
|
|
void DeleteCurve( wxPlotCurve *curve, int from = -1, int to = -1 );
|
|
|
|
|
|
|
|
virtual void ScrollWindow( int dx, int dy, const wxRect *rect );
|
|
|
|
|
|
|
|
private:
|
|
|
|
wxPlotWindow *m_owner;
|
|
|
|
bool m_zooming;
|
|
|
|
|
|
|
|
DECLARE_CLASS(wxPlotArea)
|
|
|
|
DECLARE_EVENT_TABLE()
|
|
|
|
};
|
|
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// wxPlotXAxisArea
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
2003-08-03 13:11:53 -04:00
|
|
|
class WXDLLIMPEXP_PLOT wxPlotXAxisArea: public wxWindow
|
2001-01-16 06:33:29 -05:00
|
|
|
{
|
|
|
|
public:
|
|
|
|
wxPlotXAxisArea() {}
|
|
|
|
wxPlotXAxisArea( wxPlotWindow *parent );
|
|
|
|
|
|
|
|
void OnPaint( wxPaintEvent &event );
|
|
|
|
void OnMouse( wxMouseEvent &event );
|
|
|
|
|
|
|
|
private:
|
|
|
|
wxPlotWindow *m_owner;
|
|
|
|
|
|
|
|
DECLARE_CLASS(wxPlotXAxisArea)
|
|
|
|
DECLARE_EVENT_TABLE()
|
|
|
|
};
|
|
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// wxPlotYAxisArea
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
2003-08-03 13:11:53 -04:00
|
|
|
class WXDLLIMPEXP_PLOT wxPlotYAxisArea: public wxWindow
|
2001-01-16 06:33:29 -05:00
|
|
|
{
|
|
|
|
public:
|
|
|
|
wxPlotYAxisArea() {}
|
|
|
|
wxPlotYAxisArea( wxPlotWindow *parent );
|
|
|
|
|
|
|
|
void OnPaint( wxPaintEvent &event );
|
|
|
|
void OnMouse( wxMouseEvent &event );
|
|
|
|
|
|
|
|
private:
|
|
|
|
wxPlotWindow *m_owner;
|
|
|
|
|
|
|
|
DECLARE_CLASS(wxPlotYAxisArea)
|
|
|
|
DECLARE_EVENT_TABLE()
|
|
|
|
};
|
|
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// wxPlotWindow
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
2003-08-03 13:11:53 -04:00
|
|
|
class WXDLLIMPEXP_PLOT wxPlotWindow: public wxScrolledWindow
|
2001-01-16 06:33:29 -05:00
|
|
|
{
|
|
|
|
public:
|
|
|
|
wxPlotWindow() {}
|
|
|
|
wxPlotWindow( wxWindow *parent, wxWindowID id, const wxPoint &pos, const wxSize &size, int flags = wxPLOT_DEFAULT );
|
|
|
|
~wxPlotWindow();
|
|
|
|
|
|
|
|
// curve accessors
|
|
|
|
// ---------------
|
|
|
|
|
|
|
|
void Add( wxPlotCurve *curve );
|
|
|
|
void Delete( wxPlotCurve* curve );
|
|
|
|
|
|
|
|
size_t GetCount();
|
|
|
|
wxPlotCurve *GetAt( size_t n );
|
|
|
|
|
2004-05-19 19:01:08 -04:00
|
|
|
void SetCurrentCurve( wxPlotCurve* current );
|
|
|
|
wxPlotCurve *GetCurrentCurve();
|
2001-01-16 06:33:29 -05:00
|
|
|
|
|
|
|
// mark list accessors
|
|
|
|
// -------------------
|
|
|
|
|
|
|
|
void Add( wxPlotOnOffCurve *curve );
|
|
|
|
void Delete( wxPlotOnOffCurve* curve );
|
2005-05-04 11:22:09 -04:00
|
|
|
|
2001-01-16 06:33:29 -05:00
|
|
|
size_t GetOnOffCurveCount();
|
|
|
|
wxPlotOnOffCurve *GetOnOffCurveAt( size_t n );
|
|
|
|
|
|
|
|
// vertical representation
|
|
|
|
// -----------------------
|
|
|
|
|
|
|
|
void Move( wxPlotCurve* curve, int pixels_up );
|
|
|
|
void Enlarge( wxPlotCurve *curve, double factor );
|
|
|
|
|
|
|
|
// horizontal representation
|
|
|
|
// -------------------------
|
|
|
|
|
|
|
|
void SetUnitsPerValue( double upv );
|
|
|
|
double GetUnitsPerValue()
|
|
|
|
{ return m_xUnitsPerValue; }
|
|
|
|
|
|
|
|
void SetZoom( double zoom );
|
|
|
|
double GetZoom()
|
|
|
|
{ return m_xZoom; }
|
|
|
|
|
|
|
|
// options
|
|
|
|
// -------
|
|
|
|
|
2005-05-04 11:22:09 -04:00
|
|
|
void SetScrollOnThumbRelease( bool scrollOnThumbRelease = true )
|
2001-01-16 06:33:29 -05:00
|
|
|
{ m_scrollOnThumbRelease = scrollOnThumbRelease; }
|
|
|
|
bool GetScrollOnThumbRelease()
|
|
|
|
{ return m_scrollOnThumbRelease; }
|
|
|
|
|
2005-05-04 11:22:09 -04:00
|
|
|
void SetEnlargeAroundWindowCentre( bool enlargeAroundWindowCentre = true )
|
2001-01-16 06:33:29 -05:00
|
|
|
{ m_enlargeAroundWindowCentre = enlargeAroundWindowCentre; }
|
|
|
|
bool GetEnlargeAroundWindowCentre()
|
|
|
|
{ return m_enlargeAroundWindowCentre; }
|
|
|
|
|
|
|
|
// events (may be overridden)
|
|
|
|
// --------------------------
|
|
|
|
|
|
|
|
void OnMoveUp( wxCommandEvent& event );
|
|
|
|
void OnMoveDown( wxCommandEvent& event );
|
|
|
|
|
|
|
|
void OnEnlarge( wxCommandEvent& event );
|
|
|
|
void OnShrink( wxCommandEvent& event );
|
|
|
|
void OnZoomIn( wxCommandEvent& event );
|
|
|
|
void OnZoomOut( wxCommandEvent& event );
|
|
|
|
|
|
|
|
void OnScroll2( wxScrollWinEvent& event );
|
|
|
|
|
|
|
|
// utilities
|
|
|
|
// ---------
|
|
|
|
|
|
|
|
void RedrawEverything();
|
|
|
|
void RedrawXAxis();
|
|
|
|
void RedrawYAxis();
|
|
|
|
|
|
|
|
void ResetScrollbar();
|
|
|
|
|
2005-08-10 18:53:45 -04:00
|
|
|
void AddChartTitle( const wxString&, wxFont = *wxNORMAL_FONT, wxColour = *wxBLACK );
|
|
|
|
|
2001-01-16 06:33:29 -05:00
|
|
|
private:
|
|
|
|
friend class wxPlotArea;
|
|
|
|
friend class wxPlotXAxisArea;
|
|
|
|
friend class wxPlotYAxisArea;
|
|
|
|
|
|
|
|
double m_xUnitsPerValue;
|
|
|
|
double m_xZoom;
|
|
|
|
|
|
|
|
wxList m_curves;
|
|
|
|
wxList m_onOffCurves;
|
2005-05-04 11:22:09 -04:00
|
|
|
|
2001-01-16 06:33:29 -05:00
|
|
|
wxPlotArea *m_area;
|
|
|
|
wxPlotXAxisArea *m_xaxis;
|
|
|
|
wxPlotYAxisArea *m_yaxis;
|
|
|
|
wxPlotCurve *m_current;
|
|
|
|
|
|
|
|
bool m_scrollOnThumbRelease;
|
|
|
|
bool m_enlargeAroundWindowCentre;
|
|
|
|
|
2005-08-10 18:53:45 -04:00
|
|
|
wxString m_title;
|
|
|
|
wxFont m_titleFont;
|
|
|
|
wxColour m_titleColour;
|
|
|
|
wxStaticText* m_titleStaticText;
|
|
|
|
wxBoxSizer* m_plotAndTitleSizer;
|
|
|
|
|
|
|
|
void DrawChartTitle();
|
|
|
|
|
2001-01-16 06:33:29 -05:00
|
|
|
DECLARE_CLASS(wxPlotWindow)
|
|
|
|
DECLARE_EVENT_TABLE()
|
|
|
|
};
|
|
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
// plot event macros
|
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
typedef void (wxEvtHandler::*wxPlotEventFunction)(wxPlotEvent&);
|
|
|
|
|
2001-06-12 06:14:58 -04:00
|
|
|
#if WXWIN_COMPATIBILITY_EVENT_TYPES
|
|
|
|
|
2005-05-04 11:22:09 -04:00
|
|
|
#define EVT_PLOT(id, fn) { wxEVT_PLOT_DOUBLECLICKED, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
|
|
|
|
#define EVT_PLOT_SEL_CHANGING(id, fn) { wxEVT_PLOT_SEL_CHANGING, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
|
|
|
|
#define EVT_PLOT_SEL_CHANGED(id, fn) { wxEVT_PLOT_SEL_CHANGED, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
|
|
|
|
#define EVT_PLOT_CLICKED(id, fn) { wxEVT_PLOT_CLICKED, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
|
|
|
|
#define EVT_PLOT_DOUBLECLICKED(id, fn) { wxEVT_PLOT_DOUBLECLICKED, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
|
|
|
|
#define EVT_PLOT_ZOOM_IN(id, fn) { wxEVT_PLOT_ZOOM_IN, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
|
|
|
|
#define EVT_PLOT_ZOOM_OUT(id, fn) { wxEVT_PLOT_ZOOM_OUT, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
|
|
|
|
#define EVT_PLOT_VALUE_SEL_CREATING(id, fn) { wxEVT_PLOT_VALUE_SEL_CREATING, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
|
|
|
|
#define EVT_PLOT_VALUE_SEL_CREATED(id, fn) { wxEVT_PLOT_VALUE_SEL_CREATED, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
|
|
|
|
#define EVT_PLOT_VALUE_SEL_CHANGING(id, fn) { wxEVT_PLOT_VALUE_SEL_CHANGING, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
|
|
|
|
#define EVT_PLOT_VALUE_SEL_CHANGED(id, fn) { wxEVT_PLOT_VALUE_SEL_CHANGED, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
|
|
|
|
#define EVT_PLOT_AREA_SEL_CREATING(id, fn) { wxEVT_PLOT_AREA_SEL_CREATING, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
|
|
|
|
#define EVT_PLOT_AREA_SEL_CREATED(id, fn) { wxEVT_PLOT_AREA_SEL_CREATED, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
|
|
|
|
#define EVT_PLOT_AREA_SEL_CHANGING(id, fn) { wxEVT_PLOT_AREA_SEL_CHANGING, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
|
|
|
|
#define EVT_PLOT_AREA_SEL_CHANGED(id, fn) { wxEVT_PLOT_AREA_SEL_CHANGED, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
|
|
|
|
#define EVT_PLOT_BEGIN_X_LABEL_EDIT(id, fn) { wxEVT_PLOT_BEGIN_X_LABEL_EDIT, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
|
|
|
|
#define EVT_PLOT_END_X_LABEL_EDIT(id, fn) { wxEVT_PLOT_END_X_LABEL_EDIT, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
|
|
|
|
#define EVT_PLOT_BEGIN_Y_LABEL_EDIT(id, fn) { wxEVT_PLOT_BEGIN_Y_LABEL_EDIT, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
|
|
|
|
#define EVT_PLOT_END_Y_LABEL_EDIT(id, fn) { wxEVT_PLOT_END_Y_LABEL_EDIT, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
|
|
|
|
#define EVT_PLOT_BEGIN_TITLE_EDIT(id, fn) { wxEVT_PLOT_BEGIN_TITLE_EDIT, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
|
|
|
|
#define EVT_PLOT_END_TITLE_EDIT(id, fn) { wxEVT_PLOT_END_TITLE_EDIT, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
|
2001-01-16 06:33:29 -05:00
|
|
|
|
2001-06-12 06:14:58 -04:00
|
|
|
#else
|
|
|
|
|
2005-05-04 11:22:09 -04:00
|
|
|
#define EVT_PLOT(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_PLOT_DOUBLECLICKED, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) wxStaticCastEvent( wxPlotEventFunction, & fn ), (wxObject *) NULL ),
|
|
|
|
#define EVT_PLOT_SEL_CHANGING(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_PLOT_SEL_CHANGING, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) wxStaticCastEvent( wxPlotEventFunction, & fn ), (wxObject *) NULL ),
|
|
|
|
#define EVT_PLOT_SEL_CHANGED(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_PLOT_SEL_CHANGED, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) wxStaticCastEvent( wxPlotEventFunction, & fn ), (wxObject *) NULL ),
|
|
|
|
#define EVT_PLOT_CLICKED(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_PLOT_CLICKED, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) wxStaticCastEvent( wxPlotEventFunction, & fn ), (wxObject *) NULL ),
|
|
|
|
#define EVT_PLOT_DOUBLECLICKED(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_PLOT_DOUBLECLICKED, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) wxStaticCastEvent( wxPlotEventFunction, & fn ), (wxObject *) NULL ),
|
|
|
|
#define EVT_PLOT_ZOOM_IN(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_PLOT_ZOOM_IN, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) wxStaticCastEvent( wxPlotEventFunction, & fn ), (wxObject *) NULL ),
|
|
|
|
#define EVT_PLOT_ZOOM_OUT(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_PLOT_ZOOM_OUT, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) wxStaticCastEvent( wxPlotEventFunction, & fn ), (wxObject *) NULL ),
|
|
|
|
#define EVT_PLOT_VALUE_SEL_CREATING(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_PLOT_VALUE_SEL_CREATING, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) wxStaticCastEvent( wxPlotEventFunction, & fn ), (wxObject *) NULL ),
|
|
|
|
#define EVT_PLOT_VALUE_SEL_CREATED(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_PLOT_VALUE_SEL_CREATED, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) wxStaticCastEvent( wxPlotEventFunction, & fn ), (wxObject *) NULL ),
|
|
|
|
#define EVT_PLOT_VALUE_SEL_CHANGING(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_PLOT_VALUE_SEL_CHANGING, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) wxStaticCastEvent( wxPlotEventFunction, & fn ), (wxObject *) NULL ),
|
|
|
|
#define EVT_PLOT_VALUE_SEL_CHANGED(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_PLOT_VALUE_SEL_CHANGED, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) wxStaticCastEvent( wxPlotEventFunction, & fn ), (wxObject *) NULL ),
|
|
|
|
#define EVT_PLOT_AREA_SEL_CREATING(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_PLOT_AREA_SEL_CREATING, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) wxStaticCastEvent( wxPlotEventFunction, & fn ), (wxObject *) NULL ),
|
|
|
|
#define EVT_PLOT_AREA_SEL_CREATED(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_PLOT_AREA_SEL_CREATED, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) wxStaticCastEvent( wxPlotEventFunction, & fn ), (wxObject *) NULL ),
|
|
|
|
#define EVT_PLOT_AREA_SEL_CHANGING(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_PLOT_AREA_SEL_CHANGING, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) wxStaticCastEvent( wxPlotEventFunction, & fn ), (wxObject *) NULL ),
|
|
|
|
#define EVT_PLOT_AREA_SEL_CHANGED(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_PLOT_AREA_SEL_CHANGED, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) wxStaticCastEvent( wxPlotEventFunction, & fn ), (wxObject *) NULL ),
|
|
|
|
#define EVT_PLOT_BEGIN_X_LABEL_EDIT(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_PLOT_BEGIN_X_LABEL_EDIT, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) wxStaticCastEvent( wxPlotEventFunction, & fn ), (wxObject *) NULL ),
|
|
|
|
#define EVT_PLOT_END_X_LABEL_EDIT(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_PLOT_END_X_LABEL_EDIT, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) wxStaticCastEvent( wxPlotEventFunction, & fn ), (wxObject *) NULL ),
|
|
|
|
#define EVT_PLOT_BEGIN_Y_LABEL_EDIT(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_PLOT_BEGIN_Y_LABEL_EDIT, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) wxStaticCastEvent( wxPlotEventFunction, & fn ), (wxObject *) NULL ),
|
|
|
|
#define EVT_PLOT_END_Y_LABEL_EDIT(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_PLOT_END_Y_LABEL_EDIT, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) wxStaticCastEvent( wxPlotEventFunction, & fn ), (wxObject *) NULL ),
|
|
|
|
#define EVT_PLOT_BEGIN_TITLE_EDIT(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_PLOT_BEGIN_TITLE_EDIT, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) wxStaticCastEvent( wxPlotEventFunction, & fn ), (wxObject *) NULL ),
|
|
|
|
#define EVT_PLOT_END_TITLE_EDIT(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_PLOT_END_TITLE_EDIT, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) wxStaticCastEvent( wxPlotEventFunction, & fn ), (wxObject *) NULL ),
|
2001-06-12 06:14:58 -04:00
|
|
|
|
|
|
|
#endif
|
|
|
|
|
2001-01-16 06:33:29 -05:00
|
|
|
#endif
|
|
|
|
// _WX_PLOT_H_
|