2 % automatically generated by HelpGen from
3 % plot.h at 11/Feb/00 18:00:57
6 \section{\class{wxPlotWindow
}}\label{wxplotwindow
}
8 wxPlotWindow is a specialized window designed to display data that typically has
9 been measured by machines, i.e. that may have thousands of values. One example of
10 such data would be the well known ECG measuring the electrical activity of your
11 heart: the measuring device will produce thousands of values per minute, several
12 measurements are done simultaneously and you might want to have a look at parts
13 of the curves, enlarging them or scrolling from one position to another. Note
14 that this window is not useful for real-time measuring or for displaying charts
17 A single curve in the plot window is represented by the
\helpref{wxPlotCurve
}{wxplotcurve
}
20 The wxPlotWindow interacts with program using events, for example when clicking
21 or double clicking on a curve or when selecting one by clicking on it (which
22 can be vetoed). Future versions will hopefully feature selecting values or
23 sections of the displayed curves etc.
25 \wxheading{Derived from
}
27 \helpref{wxScrolledWindow
}{wxscrolledwindow
}\\
28 \helpref{wxPanel
}{wxpanel
}\\
29 \helpref{wxWindow
}{wxwindow
}\\
30 \helpref{wxEvtHandler
}{wxevthandler
}\\
31 \helpref{wxObject
}{wxobject
}
33 \wxheading{Window styles
}
35 \begin{twocollist
}\itemsep=
0pt
36 \twocolitem{\windowstyle{wxPLOT
\_BUTTON\_MOVE}}{Display buttons to allow moving individual curves up or down.
}
37 \twocolitem{\windowstyle{wxPLOT
\_BUTTON\_ENLARGE}}{Display buttons to allow enlarging individual curves vertically.
}
38 \twocolitem{\windowstyle{wxPLOT
\_BUTTON\_ZOOM}}{Display buttons to allow zooming all curves horizontally.
}
39 \twocolitem{\windowstyle{wxPLOT
\_BUTTON\_ALL}}{Display all buttons.
}
40 \twocolitem{\windowstyle{wxPLOT
\_Y\_AXIS}}{Display an Y axis to the left of the drawing area.
}
41 \twocolitem{\windowstyle{wxPLOT
\_X\_AXIS}}{Display a X axis at the bottom of the drawing area.
}
42 \twocolitem{\windowstyle{wxPLOT
\_DEFAULT}}{All of the above options.
}
45 \latexignore{\rtfignore{\wxheading{Members
}}}
47 \membersection{wxPlotWindow::wxPlotWindow
}\label{wxplotwindowwxplotwindow
}
49 \func{}{wxPlotWindow
}{\void}
51 \func{}{wxPlotWindow
}{\param{wxWindow*
}{parent
},
\param{wxWindowID
}{id
},
\param{const wxPoint\&
}{pos
},
\param{const wxSize\&
}{size
},
\param{int
}{flags = wxPLOT
\_DEFAULT}}
55 \membersection{wxPlotWindow::
\destruct{wxPlotWindow
}}\label{wxplotwindowdtor
}
57 \func{}{\destruct{wxPlotWindow
}}{\void}
59 The destructor will not delete the curves associated to the window.
61 \membersection{wxPlotWindow::Add
}\label{wxplotwindowadd
}
63 \func{void
}{Add
}{\param{wxPlotCurve*
}{curve
}}
65 Add a curve to the window.
67 \membersection{wxPlotWindow::GetCount
}\label{wxplotwindowgetcount
}
69 \func{size
\_t}{GetCount
}{\void}
71 Returns number of curves.
73 \membersection{wxPlotWindow::GetAt
}\label{wxplotwindowgetat
}
75 \func{wxPlotCurve*
}{GetAt
}{\param{size
\_t }{n
}}
79 \membersection{wxPlotWindow::SetCurrentCurve
}\label{wxplotwindowsetcurrentcurve
}
81 \func{void
}{SetCurrentCurve
}{\param{wxPlotCurve*
}{current
}}
83 Make one curve the current curve. This will emit a wxPlotEvent.
85 \membersection{wxPlotWindow::GetCurrentCurve
}\label{wxplotwindowgetcurrentcurve
}
87 \func{wxPlotCurve*
}{GetCurrentCurve
}{\void}
89 Returns a pointer to the current curve, or NULL.
91 \membersection{wxPlotWindow::Delete
}\label{wxplotwindowdelete
}
93 \func{void
}{Delete
}{\param{wxPlotCurve*
}{curve
}}
95 Removes a curve from the window and delete is on screen. This does not
96 delete the actual curve. If the curve removed was the current curve,
97 the current curve will be set to NULL.
99 \membersection{wxPlotWindow::Move
}\label{wxplotwindowmove
}
101 \func{void
}{Move
}{\param{wxPlotCurve*
}{curve
},
\param{int
}{pixels
\_up}}
103 Move the curve
{\tt curve
} up by
{\tt pixels
\_up} pixels. Down if the
106 \membersection{wxPlotWindow::Enlarge
}\label{wxplotwindowenlarge
}
108 \func{void
}{Enlarge
}{\param{wxPlotCurve*
}{curve
},
\param{double
}{factor
}}
110 Changes the representation of the given curve. A
{\tt factor
} of more than
111 one will stretch the curve vertically. The Y axis will change accordingly.
113 \membersection{wxPlotWindow::SetUnitsPerValue
}\label{wxplotwindowsetunitspervalue
}
115 \func{void
}{SetUnitsPerValue
}{\param{double
}{upv
}}
117 This sets the virtual units per value. Normally, you will not be interested in
118 what measured value you see, but what it stands for. If you want to display seconds
119 on the X axis and the measuring device produced
50 values per second, set this
120 value to
50. This will affect all curves being displayed.
122 \membersection{wxPlotWindow::GetUnitsPerValue
}\label{wxplotwindowgetunitspervalue
}
124 \func{double
}{GetUnitsPerValue
}{\void}
126 See
\helpref{SetUnitsPerValue
}{wxplotwindowsetunitspervalue
}.
128 \membersection{wxPlotWindow::SetZoom
}\label{wxplotwindowsetzoom
}
130 \func{void
}{SetZoom
}{\param{double
}{zoom
}}
132 This functions zooms all curves in their horizontal dimension. The X axis will
133 be changed accordingly.
135 \membersection{wxPlotWindow::GetZoom
}\label{wxplotwindowgetzoom
}
137 \func{double
}{GetZoom
}{\void}
139 See
\helpref{SetZoom
}{wxplotwindowsetzoom
}.
141 \membersection{wxPlotWindow::RedrawEverything
}\label{wxplotwindowredraweverything
}
143 \func{void
}{RedrawEverything
}{\void}
145 Helper function which redraws both axes and the central area.
147 \membersection{wxPlotWindow::RedrawXAxis
}\label{wxplotwindowredrawxaxis
}
149 \func{void
}{RedrawXAxis
}{\void}
151 Helper function which redraws the X axis.
153 \membersection{wxPlotWindow::RedrawYAxis
}\label{wxplotwindowredrawyaxis
}
155 \func{void
}{RedrawYAxis
}{\void}
157 Helper function which redraws the Y axis.
159 \membersection{wxPlotWindow::SetScrollOnThumbRelease
}\label{wxplotwindowsetscrollonthumbrelease
}
161 \func{void
}{SetScrollOnThumbRelease
}{\param{bool
}{ onrelease = true
}}
163 This function controls if the plot area will get scrolled only if the scrollbar thumb
164 has been release or also if the thumb is being dragged. When displaying large amounts
165 of data, it might become impossible to display the data fast enough to produce smooth
166 scrolling and then this function should be called.
168 \membersection{wxPlotWindow::SetEnlargeAroundWindowCentre
}\label{wxplotwindowsetenlargearoundwindowcentre
}
170 \func{void
}{SetEnlargeAroundWindowCentre
}{\param{bool
}{ aroundwindow = true
}}
172 Depending on the kind of data you display, enlarging the individual curves might
173 have different desired effects. Sometimes, the data will be supposed to get enlarged
174 with the fixed point being the origin, sometimes the fixed point should be the centre
175 of the current drawing area. This function controls this behaviour.