Relacs  0.9.8
Classes | Public Types | Public Slots | Signals | Public Member Functions | Static Public Attributes | Protected Slots | Protected Member Functions | Protected Attributes | Friends | List of all members
Plot Class Reference

#include <plot.h>

Inheritance diagram for Plot:
Inheritance graph
[legend]
Collaboration diagram for Plot:
Collaboration graph
[legend]

Classes

class  DataElement
 
class  HSVGradientColor
 
class  LineStyle
 
class  MouseEvent
 
class  PointStyle
 
class  Position
 
class  RangeCopy
 
class  RGBColor
 
class  SurfaceElement
 

Public Types

enum  KeepMode { Pointer, Copy }
 
enum  Color {
  Transparent =-1, WidgetBackground =0, Black, Gray,
  White, Red, Green, Blue,
  Yellow, Magenta, Cyan, Orange,
  DarkOrange, OrangeRed, Gold, Chartreuse,
  DeepPink, DeepSkyBlue, SpringGreen, DarkGreen,
  DarkCyan, DarkTurquoise
}
 
enum  Dash {
  Solid =0, LongDash, ShortDash, WideDotted,
  Dotted, DashDot, DashDotDot
}
 
enum  Points {
  Circle, CircleDot, Diamond, DiamondDot,
  Square, SquareDot, TriangleUp, TriangleUpDot,
  TriangleDown, TriangleDownDot, TriangleLeft, TriangleLeftDot,
  TriangleRight, TriangleRightDot, TriangleNorth, TriangleSouth,
  TriangleWest, TriangleEast, CircleNorth, CircleSouth,
  CircleWest, CircleEast, SquareNorth, SquareSouth,
  SquareWest, SquareEast, Dot, StrokeUp,
  StrokeVertical, StrokeHorizontal, Box
}
 
enum  Gradient {
  GrayGradient =0, BlueGreenRedGradient, BlackBlueGreenRedWhiteGradient, BlackMagentaRedYellowWhiteGradient,
  BlueRedYellowWhiteGradient, BlueRedGradient, BlueMagentaRedGradient
}
 
enum  Tics { In =0, Out =1, Centered =2 }
 
enum  Fonts {
  DefaultF, Helvetica, Times, Courier,
  Symbols
}
 
enum  Coordinates {
  First, FirstX, FirstY, Second,
  SecondX, SecondY, Graph, GraphX,
  GraphY, Screen, FirstAxis, SecondAxis,
  FirstMargin, SecondMargin, Pixel
}
 
enum  Justification { Left, Right, Center }
 
enum  Axis { X1Y1 =0, X1Y2 =1, X2Y1 =2, X2Y2 =3 }
 

Public Slots

void setUserMouseTracking (bool enable)
 

Signals

void changedRange (void)
 
void changedRange (int)
 
void resizePlot (QResizeEvent *qre)
 
void userMouseEvent (Plot::MouseEvent &me)
 

Public Member Functions

 Plot (KeepMode keep, QWidget *parent=0)
 
 Plot (QWidget *parent=0)
 
 Plot (KeepMode keep, bool subwidget, int id=0, MultiPlot *mp=0)
 
 ~Plot (void)
 
void keepData (void)
 
void keepPointer (void)
 
KeepMode keep (void) const
 
void lock (void)
 
bool tryLock (int timeoutms=1)
 
void unlock (void)
 
void setDataMutex (QMutex *mutex)
 
void setDataMutex (QReadWriteLock *mutex)
 
void clearDataMutex (void)
 
void lockData (void)
 
bool tryLockData (int timeout=1)
 
void unlockData (void)
 
bool equalDataMutex (const Plot &p) const
 
bool noDataMutex (void) const
 
void setOrigin (double x, double y)
 
void origin (double &x, double &y) const
 
void setSize (double w, double h)
 
void size (double &x, double &y) const
 
void scale (int width, int height)
 
void setSkip (bool skip=true)
 
bool skip (void) const
 
bool inside (int xpixel, int ypixel)
 
int pixelPlotWidth (void) const
 
int pixelPlotHeight (void) const
 
int pixelScreenWidth (void) const
 
int pixelScreenHeight (void) const
 
int xPixel (double xpos, Coordinates xcoor=FirstX) const
 
int xPixel (const Position &pos) const
 
int yPixel (double ypos, Plot::Coordinates ycoor=FirstY) const
 
int yPixel (const Position &pos) const
 
int fontPixel (double w) const
 
void setFontSize (double pixel)
 
int addColor (const RGBColor &rgb)
 
int addColor (int r, int g, int b)
 
RGBColor color (int c)
 
double lmarg (void) const
 
double rmarg (void) const
 
double tmarg (void) const
 
double bmarg (void) const
 
void setLMarg (double lmarg)
 
void setRMarg (double rmarg)
 
void setTMarg (double tmarg)
 
void setBMarg (double bmarg)
 
void setScreenBorder (int marg)
 
void setBackgroundColor (int c)
 
void setPlotColor (int c)
 
void setAutoScaleLMarg (void)
 
void setAutoScaleRMarg (void)
 
void setAutoScaleTMarg (void)
 
void setAutoScaleBMarg (void)
 
double xminRange (void) const
 
double xmaxRange (void) const
 
double yminRange (void) const
 
double ymaxRange (void) const
 
double zminRange (void) const
 
double zmaxRange (void) const
 
void setXRange (double xmin, double xmax)
 
void setYRange (double ymin, double ymax)
 
void setZRange (double zmin, double zmax)
 
void setXFallBackRange (double xmin, double xmax)
 
void setYFallBackRange (double ymin, double ymax)
 
void setAutoScaleX (void)
 
void setAutoScaleY (void)
 
void setAutoScaleXY (void)
 
void noAutoScaleX (void)
 
void noAutoScaleY (void)
 
void noAutoScaleXY (void)
 
double x2minRange (void) const
 
double x2maxRange (void) const
 
double y2minRange (void) const
 
double y2maxRange (void) const
 
void setX2Range (double xmin, double xmax)
 
void setY2Range (double ymin, double ymax)
 
void setX2FallBackRange (double xmin, double xmax)
 
void setY2FallBackRange (double ymin, double ymax)
 
void setAutoScaleX2 (void)
 
void setAutoScaleY2 (void)
 
void setAutoScaleX2Y2 (void)
 
void noAutoScaleX2 (void)
 
void noAutoScaleY2 (void)
 
void noAutoScaleX2Y2 (void)
 
void setTicsStyle (Tics pos, int color=Transparent, int len=5, int width=1)
 
double xticsIncr (void) const
 
double yticsIncr (void) const
 
double xticsStart (void) const
 
double yticsStart (void) const
 
void setXTics (double incr=DynamicScale, int pos=1)
 
void setYTics (double incr=DynamicScale, int pos=1)
 
void setXTics (double start, double incr, int pos=1)
 
void setYTics (double start, double incr, int pos=1)
 
void setXTics (int pos)
 
void setYTics (int pos)
 
void noXTics (void)
 
void noYTics (void)
 
double x2ticsIncr (void) const
 
double y2ticsIncr (void) const
 
double x2ticsStart (void) const
 
double y2ticsStart (void) const
 
void setX2Tics (double incr=DynamicScale, int pos=1)
 
void setY2Tics (double incr=DynamicScale, int pos=1)
 
void setX2Tics (double start, double incr, int pos=1)
 
void setY2Tics (double start, double incr, int pos=1)
 
void setX2Tics (int pos)
 
void setY2Tics (int pos)
 
void noX2Tics (void)
 
void noY2Tics (void)
 
void noTics (void)
 
void setMinXTics (double min=AutoScale)
 
void setMinYTics (double min=AutoScale)
 
void setMinX2Tics (double min=AutoScale)
 
void setMinY2Tics (double min=AutoScale)
 
void setXGrid (int color=White, int width=1, Dash dash=Dotted)
 
void setXGrid (const LineStyle &style)
 
void setYGrid (int color=White, int width=1, Dash dash=Dotted)
 
void setYGrid (const LineStyle &style)
 
void setXYGrid (int color=White, int width=1, Dash dash=Dotted)
 
void setXYGrid (const LineStyle &style)
 
void noXGrid (void)
 
void noYGrid (void)
 
void noXYGrid (void)
 
void setX2Grid (int color=White, int width=1, Dash dash=Dotted)
 
void setX2Grid (const LineStyle &style)
 
void setY2Grid (int color=White, int width=1, Dash dash=Dotted)
 
void setY2Grid (const LineStyle &style)
 
void setX2Y2Grid (int color=White, int width=1, Dash dash=Dotted)
 
void setX2Y2Grid (const LineStyle &style)
 
void noX2Grid (void)
 
void noY2Grid (void)
 
void noX2Y2Grid (void)
 
void noGrid (void)
 
void setFormatX (const string &format)
 
void setFormatY (const string &format)
 
void setFormatXY (const string &format)
 
void setFormatX2 (const string &format)
 
void setFormatY2 (const string &format)
 
void setFormatX2Y2 (const string &format)
 
void setFormat (const string &format)
 
void setXLabel (const string &label)
 
void setXLabel (const string &label, int color, double size=1.0, Fonts font=DefaultF, int bcolor=Transparent, int fwidth=0, int fcolor=Transparent)
 
void setXLabelPos (double xpos, Coordinates xcoor=Graph, double ypos=-1.0, Coordinates ycoor=FirstAxis, Justification just=Right, double angle=0.0)
 
void setYLabel (const string &label)
 
void setYLabel (const string &label, int color, double size=1.0, Fonts font=DefaultF, int bcolor=Transparent, int fwidth=0, int fcolor=Transparent)
 
void setYLabelPos (double xpos=0.0, Coordinates xcoor=Screen, double ypos=0.0, Coordinates ycoor=SecondAxis, Justification just=Left, double angle=0.0)
 
void setX2Label (const string &label)
 
void setX2Label (const string &label, int color, double size=1.0, Fonts font=DefaultF, int bcolor=Transparent, int fwidth=0, int fcolor=Transparent)
 
void setX2LabelPos (double xpos, Coordinates xcoor=Graph, double ypos=-1.0, Coordinates ycoor=FirstAxis, Justification just=Right, double angle=0.0)
 
void setY2Label (const string &label)
 
void setY2Label (const string &label, int color, double size=1.0, Fonts font=DefaultF, int bcolor=Transparent, int fwidth=0, int fcolor=Transparent)
 
void setY2LabelPos (double xpos=0.0, Coordinates xcoor=Screen, double ypos=0.0, Coordinates ycoor=SecondAxis, Justification just=Left, double angle=0.0)
 
void setTitle (const string &title)
 
void setTitle (const string &title, int color, double size=1.0, Fonts font=DefaultF, int bcolor=Transparent, int fwidth=0, int fcolor=Transparent)
 
void setTitlePos (double xpos=1.0, Coordinates xcoor=Graph, double ypos=0.0, Coordinates ycoor=SecondAxis, Justification just=Right, double angle=0.0)
 
int setLabel (const string &label, double x, double y, Justification just=Left, double angle=0.0)
 
int setLabel (const string &label, double x, Coordinates xcoor, double y, Coordinates ycoor, Justification just=Left, double angle=0.0)
 
int setLabel (const string &label, double x, Coordinates xcoor, double y, Coordinates ycoor, Justification just, double angle, int color, double size=1.0, Fonts font=DefaultF, int bcolor=Transparent, int fwidth=0, int fcolor=Transparent)
 
int setLabel (int index, const string &label)
 
void clearLabels (void)
 
void clearLabel (int index)
 
int plotPoint (double x, Coordinates xcoor, double y, Coordinates ycoor, int lwidth, Points ptype, double size, Coordinates sizecoor, int pcolor=Red, int pfill=Transparent)
 
int plotVLine (double x, const LineStyle &line)
 
int plotVLine (double x, int lcolor=White, int lwidth=1, Dash ldash=Solid)
 
int plotHLine (double y, const LineStyle &line)
 
int plotHLine (double y, int lcolor=White, int lwidth=1, Dash ldash=Solid)
 
int plotLine (double x1, double y1, double x2, double y2, const LineStyle &line)
 
int plotLine (double x1, double y1, double x2, double y2, int lcolor=White, int lwidth=1, Dash ldash=Solid)
 
template<typename T , typename R >
int plot (const T &x, const R &y, const LineStyle &line, const PointStyle &point=PointStyle())
 
template<typename T , typename R >
int plot (const T &x, const R &y, const PointStyle &point, const LineStyle &line=LineStyle())
 
template<typename T , typename R >
int plot (const T &x, const R &y, int lcolor=Transparent, int lwidth=1, Dash ldash=Solid, Points ptype=Circle, int psize=10, int pcolor=Transparent, int pfill=Transparent)
 
template<typename T , typename R >
int plot (const T &x, const R &y, double xscale, const LineStyle &line, const PointStyle &point=PointStyle())
 
template<typename T , typename R >
int plot (const T &x, const R &y, double xscale, const PointStyle &point, const LineStyle &line=LineStyle())
 
template<typename T , typename R >
int plot (const T &x, const R &y, double xscale, int lcolor=Transparent, int lwidth=1, Dash ldash=Solid, Points ptype=Circle, int psize=10, int pcolor=Transparent, int pfill=Transparent)
 
template<typename T >
int plot (const Map< T > &data, double xscale, const LineStyle &line, const PointStyle &point=PointStyle())
 
template<typename T >
int plot (const Map< T > &data, double xscale, const PointStyle &point, const LineStyle &line=LineStyle())
 
template<typename T >
int plot (const Map< T > &data, double xscale=1.0, int lcolor=Transparent, int lwidth=1, Dash ldash=Solid, Points ptype=Circle, int psize=10, int pcolor=Transparent, int pfill=Transparent)
 
template<typename T >
int plot (const SampleData< T > &data, double xscale, const LineStyle &line, const PointStyle &point=PointStyle())
 
template<typename T >
int plot (const SampleData< T > &data, double xscale, const PointStyle &point, const LineStyle &line=LineStyle())
 
template<typename T >
int plot (const SampleData< T > &data, double xscale, int lcolor=Transparent, int lwidth=1, Dash ldash=Solid, Points ptype=Circle, int psize=10, int pcolor=Transparent, int pfill=Transparent)
 
template<typename T >
int plot (const T &x, double tscale, double y, Coordinates ycoor, int lwidth, Points ptype, double size, Coordinates sizecoor, int pcolor=Red, int pfill=Transparent)
 
int plot (const EventData &x, int origin, double offset, double tscale, double y, Coordinates ycoor, int lwidth, Points ptype, double size, Coordinates sizecoor, int pcolor=Red, int pfill=Transparent)
 
int plot (const InData &data, int origin, double offset, double tscale, const LineStyle &line, const PointStyle &point=PointStyle())
 
int plot (const InData &data, int origin, double offset, double tscale, const PointStyle &point, const LineStyle &line=LineStyle())
 
int plot (const InData &data, int origin, double offset, double tscale, int lcolor=Transparent, int lwidth=1, Dash ldash=Solid, Points ptype=Circle, int psize=10, int pcolor=Transparent, int pfill=Transparent)
 
int plot (const EventData &events, const InData &data, int origin, double offset, double tscale, int lwidth, Points ptype, double size, Coordinates sizecoor, int pcolor=Red, int pfill=Transparent)
 
int plot (const OutData &data, double xscale, const LineStyle &line, const PointStyle &point=PointStyle())
 
int plot (const OutData &data, double xscale, const PointStyle &point, const LineStyle &line=LineStyle())
 
int plot (const OutData &data, double xscale, int lcolor=Transparent, int lwidth=1, Dash ldash=Solid, Points ptype=Circle, int psize=10, int pcolor=Transparent, int pfill=Transparent)
 
DataElementoperator[] (int i)
 
const DataElementoperator[] (int i) const
 
DataElementback (void)
 
const DataElementback (void) const
 
DataElementfront (void)
 
const DataElementfront (void) const
 
int plot (const SampleData< SampleDataD > &data, double xscale, int gradient=0)
 
void clearData (void)
 
void clearData (int index)
 
void clearSurfaceData (void)
 
void clear (void)
 
virtual QSize sizeHint (void) const
 
virtual QSize minimumSizeHint (void) const
 
void draw (void)
 
void enableMouse (void)
 
void disableMouse (void)
 
bool zoomedXRange (void)
 
bool zoomedYRange (void)
 
bool zoomedX2Range (void)
 
bool zoomedY2Range (void)
 
bool zoomedRange (void)
 
bool ranges (void) const
 
void popRanges (void)
 
void pushRanges (void)
 
void resetRanges (void)
 
void setYShrinkFactor (double f)
 
bool mouseGrabbed (void) const
 

Static Public Attributes

static const double AutoScale = MAXDOUBLE
 
static const double AutoMinScale = 0.1*MAXDOUBLE
 
static const double ExactScale = 0.01*MAXDOUBLE
 
static const double ExactMinScale = 0.001*MAXDOUBLE
 
static const double DynamicScale = 0.1*MAXDOUBLE
 
static const double AnyScale = 0.001*MAXDOUBLE
 
static const int MaxAxis = 2
 

Protected Slots

void mouseSelect (QAction *action)
 

Protected Member Functions

void draw (QPaintDevice *qpm, bool drawdata)
 
void resizeEvent (QResizeEvent *qre)
 
void paintEvent (QPaintEvent *qpe)
 
void customEvent (QEvent *qce)
 
virtual void mouseEvent (MouseEvent &me)
 
void mouseMenu (MouseEvent &me)
 
void mouseSetCursor (MouseEvent &me)
 
void mouseZoomMoveFirstX (MouseEvent &me)
 
void mouseZoomMoveFirstY (MouseEvent &me)
 
void mouseZoomMovePlot (MouseEvent &me, bool move)
 
void mouseAnalyse (MouseEvent &me)
 
void setMouseCoordinates (MouseEvent &me)
 
void readMouse (QMouseEvent *qme, MouseEvent &me)
 
virtual void mousePressEvent (QMouseEvent *qme)
 
virtual void mouseReleaseEvent (QMouseEvent *qme)
 
virtual void mouseDoubleClickEvent (QMouseEvent *qme)
 
virtual void mouseMoveEvent (QMouseEvent *qme)
 

Protected Attributes

QMenu * MouseMenu
 
QAction * MouseZoom
 
QAction * MouseMove
 
QAction * MouseZoomReset
 
QAction * MouseAnalyse
 
QAction * MouseDisable
 
QAction * MouseAction
 
bool MouseMenuClick
 
MouseEvent LastMouseEvent
 
bool MouseGrabbed
 
bool MouseMoveX
 
bool MouseZoomXMin
 
bool MouseZoomXMax
 
bool MouseMoveY
 
bool MouseZoomYMin
 
bool MouseZoomYMax
 
bool MouseMoveXY
 
bool MouseZoomOut
 
double MouseYShrink
 
deque< RangeCopyMouseRangeStack
 

Friends

class MultiPlot
 

Detailed Description

Plotting various data in a single widget.

Author
Jan Benda
Bug:

autoscale with zero interval

check initTics algorithmns. Make them iterative!

Todo:

execute init* routines immediately in draw(), only draw* routines should be posted.

logarithmic axis

add axis as an own plot object in addition to border

more colors and gradients (index is index to either a color, a gradient? or a picture!

matrix plot (contour colors)

create an update command to redraw shifted data.

Member Enumeration Documentation

enum KeepMode

Different possibilites to keep data.

Enumerator
Pointer 

Keep only pointer to the data.

Copy 

Keep a copy of the data.

enum Color

Some predefined colors.

Enumerator
Transparent 
WidgetBackground 
Black 
Gray 
White 
Red 
Green 
Blue 
Yellow 
Magenta 
Cyan 
Orange 
DarkOrange 
OrangeRed 
Gold 
Chartreuse 
DeepPink 
DeepSkyBlue 
SpringGreen 
DarkGreen 
DarkCyan 
DarkTurquoise 
enum Dash

Dash styles for drawing lines.

Enumerator
Solid 
LongDash 
ShortDash 
WideDotted 
Dotted 
DashDot 
DashDotDot 
enum Points

Different point types.

Enumerator
Circle 
CircleDot 
Diamond 
DiamondDot 
Square 
SquareDot 
TriangleUp 
TriangleUpDot 
TriangleDown 
TriangleDownDot 
TriangleLeft 
TriangleLeftDot 
TriangleRight 
TriangleRightDot 
TriangleNorth 
TriangleSouth 
TriangleWest 
TriangleEast 
CircleNorth 
CircleSouth 
CircleWest 
CircleEast 
SquareNorth 
SquareSouth 
SquareWest 
SquareEast 
Dot 
StrokeUp 
StrokeVertical 
StrokeHorizontal 
Box 
enum Gradient

Some predefined gradients.

Enumerator
GrayGradient 
BlueGreenRedGradient 
BlackBlueGreenRedWhiteGradient 
BlackMagentaRedYellowWhiteGradient 
BlueRedYellowWhiteGradient 
BlueRedGradient 
BlueMagentaRedGradient 
enum Tics

Positions for tic marks.

Enumerator
In 
Out 
Centered 
enum Fonts

Different fonts.

Enumerator
DefaultF 
Helvetica 
Times 
Courier 
Symbols 

Different coordinate systems for labels and keys.

Enumerator
First 
FirstX 
FirstY 
Second 
SecondX 
SecondY 
Graph 
GraphX 
GraphY 
Screen 
FirstAxis 
SecondAxis 
FirstMargin 
SecondMargin 
Pixel 

Justification of labels.

Enumerator
Left 
Right 
Center 
enum Axis

Possible axis combinations.

Enumerator
X1Y1 
X1Y2 
X2Y1 
X2Y2 

Constructor & Destructor Documentation

Plot ( KeepMode  keep,
QWidget *  parent = 0 
)

Constructs a plot with KeepMode keep. If you set keep to Plot::Pointer and you are using multible threads, then you need to provide a mutex for locking the data via setDataMutex().

Plot ( QWidget *  parent = 0)

References Plot::Copy.

Plot ( KeepMode  keep,
bool  subwidget,
int  id = 0,
MultiPlot mp = 0 
)
~Plot ( void  )

Member Function Documentation

void keepData ( void  )
inline

References Plot::Copy.

void keepPointer ( void  )
inline

References Plot::Pointer.

KeepMode keep ( void  ) const
inline
void lock ( void  )

Lock the plot mutex.

bool tryLock ( int  timeoutms = 1)

Try to lock the plot mutex for at maximum timeoutms milliseconds.

void unlock ( void  )

Unlock the plot mutex.

void setDataMutex ( QMutex *  mutex)

Provide a mutex that is used by Plot to lock access to data while they are plotted. If you want to change the mutex, you first have to disable the mutex by calling clearDataMutex().

See Also
setDataMutex(QReadWriteLock*), lockData()
void setDataMutex ( QReadWriteLock *  mutex)

Provide a mutex that is used by Plot to lock reading access to data while they are plotted. If you want to change the mutex, you first have to disable the mutex by calling clearDataMutex().

See Also
setDataMutex(QMutex*), lockData()
void clearDataMutex ( void  )

Disables the data mutex.

See Also
setDataMutex()
void lockData ( void  )

Lock the data mutex if it was set by setDataMutex() before.

See Also
tryLockData(), unlockData()
bool tryLockData ( int  timeout = 1)

Try to lock the data mutex for reading. Returns true if the lock was obtained within timeout milliseconds.

See Also
lockData(), setDataMutex(), clearDataMutex()

Referenced by Plot::draw(), Plot::mouseAnalyse(), and MultiPlot::paintEvent().

void unlockData ( void  )

Unlock the data mutex if it was set by setDataMutex() before.

See Also
lockData(), tryLockData()

Referenced by Plot::draw(), Plot::mouseAnalyse(), and MultiPlot::paintEvent().

bool equalDataMutex ( const Plot p) const

Returns true if this has the same data mutex as p.

See Also
setDataMutex()
bool noDataMutex ( void  ) const

Returns true if no data mutex is set.

See Also
setDataMutex()
void setOrigin ( double  x,
double  y 
)

If this Plot is part of a MultiPlot, then this function specifies the position of the Plot within the MultiPlot.

Parameters
[in]xthe x-coordinate of the lower-left corner
[in]ythe x-coordinate of the lower-left corner the coordinates range from 0 to 1 for the entire plot area of the MultiPlot.
See Also
setSize()

References MultiPlot::setDrawBackground().

void origin ( double &  x,
double &  y 
) const

Return the origin of this Plot.

See Also
setOrigin()
void setSize ( double  w,
double  h 
)

If this Plot is part of a MultiPlot, then this function specifies the size of the Plot within the MultiPlot.

Parameters
[in]wthe width of the plot
[in]hthe height of the plot w and h range from 0 to 1 for the entire plot area of the MultiPlot.
See Also
setOrigin()

References MultiPlot::setDrawBackground().

void size ( double &  x,
double &  y 
) const

Return the size of this Plot.

See Also
setSize()

Referenced by Plot::plot().

void scale ( int  width,
int  height 
)

Used by MultiPlot to provide the size used by the MultiPlot.

Referenced by MultiPlot::paintEvent().

void setSkip ( bool  skip = true)

If this plot is part of a MultiPlot, this Plot can be hidden (not drawn) by setting skip to true.

References Plot::skip().

bool skip ( void  ) const

Returns true if this Plot is not to be drawn.

See Also
setSkip()

Referenced by Plot::setSkip().

bool inside ( int  xpixel,
int  ypixel 
)

True if xpixel, ypixel is inside the plot screen handled by this widget.

int pixelPlotWidth ( void  ) const
Returns
the width of the plot area (the part spanned by the axis) in pixels. Only defined after the first draw().
See Also
pixelPlotHeight(), pixelScreenWidth()
int pixelPlotHeight ( void  ) const
Returns
the height of the plot area (the part spanned by the axis) in pixels. Only defined after the first draw().
See Also
pixelPlotWidth(), pixelScreenHeight()
int pixelScreenWidth ( void  ) const
Returns
the width of the plot screen (including the margins around the axis) in pixels.
See Also
pixelScreenHeight(), pixelPlotWidth()
int pixelScreenHeight ( void  ) const
Returns
the height of the plot screen (including the margins around the axis) in pixels.
See Also
pixelScreenWidth(), pixelPlotHeight()
int xPixel ( double  xpos,
Plot::Coordinates  xcoor = FirstX 
) const

Computes the pixel coordinate for the specified x position.

Parameters
[in]xposthe position
[in]xcoorthe coordinate system
Returns
the pixel coordinate
See Also
yPixel()

References Plot::First, Plot::FirstAxis, Plot::FirstMargin, Plot::FirstX, Plot::FirstY, Plot::Graph, Plot::GraphX, Plot::GraphY, Plot::Screen, Plot::Second, Plot::SecondAxis, Plot::SecondMargin, Plot::SecondX, Plot::SecondY, and Plot::LineStyle::width().

Referenced by Plot::xPixel().

int xPixel ( const Position pos) const

Computes the x-pixel coordinate for the specified position.

Parameters
[in]posthe position
Returns
the pixel coordinate
See Also
yPixel()

References Plot::Position::xcoor(), Plot::xPixel(), and Plot::Position::xpos().

int yPixel ( double  ypos,
Plot::Coordinates  ycoor = FirstY 
) const

Computes the pixel coordinate for the specified y position.

Parameters
[in]yposthe position
[in]ycoorthe coordinate system
Returns
the pixel coordinate
See Also
xPixel()

References Plot::First, Plot::FirstAxis, Plot::FirstMargin, Plot::FirstX, Plot::FirstY, Plot::Graph, Plot::GraphX, Plot::GraphY, Plot::Screen, Plot::Second, Plot::SecondAxis, Plot::SecondMargin, Plot::SecondX, Plot::SecondY, and Plot::LineStyle::width().

Referenced by Plot::yPixel().

int yPixel ( const Position pos) const

Computes the y-pixel coordinate for the specified position.

Parameters
[in]posthe position
Returns
the pixel coordinate
See Also
xPixel()

References Plot::Position::ycoor(), Plot::yPixel(), and Plot::Position::ypos().

int fontPixel ( double  w) const

The number of pixels corresponding to w times the current font width as used by setLMarg(), setRMarg(), setTMarg(), setBMarg() and the axis coordinates.

void setFontSize ( double  pixel)

Set the size of the standard fontb to pixel pixels.

int addColor ( const RGBColor rgb)

Referenced by Plot::addColor().

int addColor ( int  r,
int  g,
int  b 
)

References Plot::addColor().

Plot::RGBColor color ( int  c)

Referenced by Plot::setTicsStyle().

double lmarg ( void  ) const
inline
double rmarg ( void  ) const
inline
double tmarg ( void  ) const
inline
double bmarg ( void  ) const
inline
void setLMarg ( double  lmarg)

References Plot::AnyScale.

void setRMarg ( double  rmarg)

References Plot::AnyScale.

void setTMarg ( double  tmarg)

References Plot::AnyScale.

void setBMarg ( double  bmarg)

References Plot::AnyScale.

void setScreenBorder ( int  marg)
void setBackgroundColor ( int  c)
inline
void setPlotColor ( int  c)
inline
void setAutoScaleLMarg ( void  )
inline
void setAutoScaleRMarg ( void  )
inline
void setAutoScaleTMarg ( void  )
inline
void setAutoScaleBMarg ( void  )
inline
double xminRange ( void  ) const
inline
double xmaxRange ( void  ) const
inline
double yminRange ( void  ) const
inline
double ymaxRange ( void  ) const
inline
double zminRange ( void  ) const
inline
double zmaxRange ( void  ) const
inline
void setXRange ( double  xmin,
double  xmax 
)

References Plot::AnyScale.

void setYRange ( double  ymin,
double  ymax 
)

References Plot::AnyScale.

void setZRange ( double  zmin,
double  zmax 
)

References Plot::AnyScale.

void setXFallBackRange ( double  xmin,
double  xmax 
)

References Plot::AnyScale.

void setYFallBackRange ( double  ymin,
double  ymax 
)

References Plot::AnyScale.

void setAutoScaleX ( void  )

References Plot::AutoScale.

void setAutoScaleY ( void  )

References Plot::AutoScale.

void setAutoScaleXY ( void  )

References Plot::AutoScale.

void noAutoScaleX ( void  )
void noAutoScaleY ( void  )
void noAutoScaleXY ( void  )
double x2minRange ( void  ) const
inline
double x2maxRange ( void  ) const
inline
double y2minRange ( void  ) const
inline
double y2maxRange ( void  ) const
inline
void setX2Range ( double  xmin,
double  xmax 
)

References Plot::AnyScale.

void setY2Range ( double  ymin,
double  ymax 
)

References Plot::AnyScale.

void setX2FallBackRange ( double  xmin,
double  xmax 
)

References Plot::AnyScale.

void setY2FallBackRange ( double  ymin,
double  ymax 
)

References Plot::AnyScale.

void setAutoScaleX2 ( void  )

References Plot::AutoScale.

void setAutoScaleY2 ( void  )

References Plot::AutoScale.

void setAutoScaleX2Y2 ( void  )

References Plot::AutoScale.

void noAutoScaleX2 ( void  )
void noAutoScaleY2 ( void  )
void noAutoScaleX2Y2 ( void  )
void setTicsStyle ( Tics  pos,
int  color = Transparent,
int  len = 5,
int  width = 1 
)
double xticsIncr ( void  ) const
inline
double yticsIncr ( void  ) const
inline
double xticsStart ( void  ) const
inline
double yticsStart ( void  ) const
inline
void setXTics ( double  incr = DynamicScale,
int  pos = 1 
)

References Plot::AutoScale, and Plot::DynamicScale.

Referenced by Plot::setXTics().

void setYTics ( double  incr = DynamicScale,
int  pos = 1 
)

References Plot::AutoScale, and Plot::DynamicScale.

Referenced by Plot::setYTics().

void setXTics ( double  start,
double  incr,
int  pos = 1 
)

References Plot::AnyScale, and Plot::setXTics().

void setYTics ( double  start,
double  incr,
int  pos = 1 
)

References Plot::AnyScale, and Plot::setYTics().

void setXTics ( int  pos)
void setYTics ( int  pos)
void noXTics ( void  )
inline
void noYTics ( void  )
inline
double x2ticsIncr ( void  ) const
inline
double y2ticsIncr ( void  ) const
inline
double x2ticsStart ( void  ) const
inline
double y2ticsStart ( void  ) const
inline
void setX2Tics ( double  incr = DynamicScale,
int  pos = 1 
)

References Plot::AutoScale, and Plot::DynamicScale.

Referenced by Plot::setX2Tics().

void setY2Tics ( double  incr = DynamicScale,
int  pos = 1 
)

References Plot::AutoScale, and Plot::DynamicScale.

Referenced by Plot::setY2Tics().

void setX2Tics ( double  start,
double  incr,
int  pos = 1 
)
void setY2Tics ( double  start,
double  incr,
int  pos = 1 
)
void setX2Tics ( int  pos)
void setY2Tics ( int  pos)
void noX2Tics ( void  )
inline
void noY2Tics ( void  )
inline
void noTics ( void  )

References Plot::MaxAxis.

void setMinXTics ( double  min = AutoScale)

References relacs::min().

void setMinYTics ( double  min = AutoScale)

References relacs::min().

void setMinX2Tics ( double  min = AutoScale)

References relacs::min().

void setMinY2Tics ( double  min = AutoScale)

References relacs::min().

void setXGrid ( int  color = White,
int  width = 1,
Dash  dash = Dotted 
)
void setXGrid ( const LineStyle style)
void setYGrid ( int  color = White,
int  width = 1,
Dash  dash = Dotted 
)
void setYGrid ( const LineStyle style)
void setXYGrid ( int  color = White,
int  width = 1,
Dash  dash = Dotted 
)
void setXYGrid ( const LineStyle style)
void noXGrid ( void  )
inline
void noYGrid ( void  )
inline
void noXYGrid ( void  )
inline
void setX2Grid ( int  color = White,
int  width = 1,
Dash  dash = Dotted 
)
void setX2Grid ( const LineStyle style)
void setY2Grid ( int  color = White,
int  width = 1,
Dash  dash = Dotted 
)
void setY2Grid ( const LineStyle style)
void setX2Y2Grid ( int  color = White,
int  width = 1,
Dash  dash = Dotted 
)
void setX2Y2Grid ( const LineStyle style)
void noX2Grid ( void  )
inline
void noY2Grid ( void  )
inline
void noX2Y2Grid ( void  )
inline
void noGrid ( void  )

References Plot::MaxAxis.

void setFormatX ( const string &  format)
inline
void setFormatY ( const string &  format)
inline
void setFormatXY ( const string &  format)
inline
void setFormatX2 ( const string &  format)
inline
void setFormatY2 ( const string &  format)
inline
void setFormatX2Y2 ( const string &  format)
inline
void setFormat ( const string &  format)

References Plot::MaxAxis.

void setXLabel ( const string &  label)
inline
void setXLabel ( const string &  label,
int  color,
double  size = 1.0,
Fonts  font = DefaultF,
int  bcolor = Transparent,
int  fwidth = 0,
int  fcolor = Transparent 
)
void setXLabelPos ( double  xpos,
Coordinates  xcoor = Graph,
double  ypos = -1.0,
Coordinates  ycoor = FirstAxis,
Justification  just = Right,
double  angle = 0.0 
)
void setYLabel ( const string &  label)
inline
void setYLabel ( const string &  label,
int  color,
double  size = 1.0,
Fonts  font = DefaultF,
int  bcolor = Transparent,
int  fwidth = 0,
int  fcolor = Transparent 
)
void setYLabelPos ( double  xpos = 0.0,
Coordinates  xcoor = Screen,
double  ypos = 0.0,
Coordinates  ycoor = SecondAxis,
Justification  just = Left,
double  angle = 0.0 
)
void setX2Label ( const string &  label)
inline
void setX2Label ( const string &  label,
int  color,
double  size = 1.0,
Fonts  font = DefaultF,
int  bcolor = Transparent,
int  fwidth = 0,
int  fcolor = Transparent 
)
void setX2LabelPos ( double  xpos,
Coordinates  xcoor = Graph,
double  ypos = -1.0,
Coordinates  ycoor = FirstAxis,
Justification  just = Right,
double  angle = 0.0 
)
void setY2Label ( const string &  label)
inline
void setY2Label ( const string &  label,
int  color,
double  size = 1.0,
Fonts  font = DefaultF,
int  bcolor = Transparent,
int  fwidth = 0,
int  fcolor = Transparent 
)
void setY2LabelPos ( double  xpos = 0.0,
Coordinates  xcoor = Screen,
double  ypos = 0.0,
Coordinates  ycoor = SecondAxis,
Justification  just = Left,
double  angle = 0.0 
)
void setTitle ( const string &  title)
inline
void setTitle ( const string &  title,
int  color,
double  size = 1.0,
Fonts  font = DefaultF,
int  bcolor = Transparent,
int  fwidth = 0,
int  fcolor = Transparent 
)
void setTitlePos ( double  xpos = 1.0,
Coordinates  xcoor = Graph,
double  ypos = 0.0,
Coordinates  ycoor = SecondAxis,
Justification  just = Right,
double  angle = 0.0 
)
int setLabel ( const string &  label,
double  x,
double  y,
Justification  just = Left,
double  angle = 0.0 
)
int setLabel ( const string &  label,
double  x,
Coordinates  xcoor,
double  y,
Coordinates  ycoor,
Justification  just = Left,
double  angle = 0.0 
)
int setLabel ( const string &  label,
double  x,
Coordinates  xcoor,
double  y,
Coordinates  ycoor,
Justification  just,
double  angle,
int  color,
double  size = 1.0,
Fonts  font = DefaultF,
int  bcolor = Transparent,
int  fwidth = 0,
int  fcolor = Transparent 
)

References Plot::Transparent.

int setLabel ( int  index,
const string &  label 
)
void clearLabels ( void  )

Remove all labels from the plot.

Referenced by Plot::clear().

void clearLabel ( int  index)

Remove label with index index from the plot.

int plotPoint ( double  x,
Coordinates  xcoor,
double  y,
Coordinates  ycoor,
int  lwidth,
Points  ptype,
double  size,
Coordinates  sizecoor,
int  pcolor = Red,
int  pfill = Transparent 
)

Plot data point x, y.

References Plot::Solid, and Plot::Transparent.

int plotVLine ( double  x,
const LineStyle line 
)

Plot a vertical line at position x of the first coordinate system.

References Plot::First, and Plot::Graph.

Referenced by Plot::plotVLine().

int plotVLine ( double  x,
int  lcolor = White,
int  lwidth = 1,
Dash  ldash = Solid 
)
inline

References Plot::plotVLine().

int plotHLine ( double  y,
const LineStyle line 
)

Plot a horizontal line at height y of the first coordinate system.

References Plot::First, and Plot::Graph.

Referenced by Plot::plotHLine().

int plotHLine ( double  y,
int  lcolor = White,
int  lwidth = 1,
Dash  ldash = Solid 
)
inline

References Plot::plotHLine().

int plotLine ( double  x1,
double  y1,
double  x2,
double  y2,
const LineStyle line 
)

Plot a line connecting the points (x1, y1) and (x2, y2) of the first coordinate system.

References Plot::First.

Referenced by Plot::plotLine().

int plotLine ( double  x1,
double  y1,
double  x2,
double  y2,
int  lcolor = White,
int  lwidth = 1,
Dash  ldash = Solid 
)
inline

References Plot::plotLine().

int plot ( const T &  x,
const R &  y,
const LineStyle line,
const PointStyle point = PointStyle() 
)

Plot the pairs given in x and y.

References Plot::Copy.

Referenced by Plot::plot().

int plot ( const T &  x,
const R &  y,
const PointStyle point,
const LineStyle line = LineStyle() 
)
inline

References Plot::plot().

int plot ( const T &  x,
const R &  y,
int  lcolor = Transparent,
int  lwidth = 1,
Dash  ldash = Solid,
Points  ptype = Circle,
int  psize = 10,
int  pcolor = Transparent,
int  pfill = Transparent 
)
inline

References Plot::plot().

int plot ( const T &  x,
const R &  y,
double  xscale,
const LineStyle line,
const PointStyle point = PointStyle() 
)

Plot the pairs given in x and y. The original x-data are scaled by xscale.

References Plot::Copy.

int plot ( const T &  x,
const R &  y,
double  xscale,
const PointStyle point,
const LineStyle line = LineStyle() 
)
inline

References Plot::plot().

int plot ( const T &  x,
const R &  y,
double  xscale,
int  lcolor = Transparent,
int  lwidth = 1,
Dash  ldash = Solid,
Points  ptype = Circle,
int  psize = 10,
int  pcolor = Transparent,
int  pfill = Transparent 
)
inline

References Plot::plot().

int plot ( const Map< T > &  data,
double  xscale,
const LineStyle line,
const PointStyle point = PointStyle() 
)

Plot the Map data. The original x-data are scaled by xscale.

References Plot::Copy, Map< T >::x(), and Map< T >::y().

int plot ( const Map< T > &  data,
double  xscale,
const PointStyle point,
const LineStyle line = LineStyle() 
)
inline

References Plot::plot().

int plot ( const Map< T > &  data,
double  xscale = 1.0,
int  lcolor = Transparent,
int  lwidth = 1,
Dash  ldash = Solid,
Points  ptype = Circle,
int  psize = 10,
int  pcolor = Transparent,
int  pfill = Transparent 
)
inline

References Plot::plot().

int plot ( const SampleData< T > &  data,
double  xscale,
const LineStyle line,
const PointStyle point = PointStyle() 
)

Plot the SampleData data. The original x-data are scaled by xscale.

References Plot::Copy.

int plot ( const SampleData< T > &  data,
double  xscale,
const PointStyle point,
const LineStyle line = LineStyle() 
)
inline

References Plot::plot().

int plot ( const SampleData< T > &  data,
double  xscale,
int  lcolor = Transparent,
int  lwidth = 1,
Dash  ldash = Solid,
Points  ptype = Circle,
int  psize = 10,
int  pcolor = Transparent,
int  pfill = Transparent 
)
inline

References Plot::plot().

int plot ( const T &  x,
double  tscale,
double  y,
Coordinates  ycoor,
int  lwidth,
Points  ptype,
double  size,
Coordinates  sizecoor,
int  pcolor = Red,
int  pfill = Transparent 
)

Plot the events given in x at hight y.

References Plot::Copy, Plot::size(), Plot::Solid, and Plot::Transparent.

int plot ( const EventData x,
int  origin,
double  offset,
double  tscale,
double  y,
Coordinates  ycoor,
int  lwidth,
Points  ptype,
double  size,
Coordinates  sizecoor,
int  pcolor = Red,
int  pfill = Transparent 
)

Plot the events given in x at hight y.

References Plot::Copy, Plot::Solid, and Plot::Transparent.

int plot ( const InData data,
int  origin,
double  offset,
double  tscale,
const LineStyle line,
const PointStyle point = PointStyle() 
)

Plot InData data. The original time is scaled by tscale.

References Plot::Copy.

int plot ( const InData data,
int  origin,
double  offset,
double  tscale,
const PointStyle point,
const LineStyle line = LineStyle() 
)
inline

References Plot::plot().

int plot ( const InData data,
int  origin,
double  offset,
double  tscale,
int  lcolor = Transparent,
int  lwidth = 1,
Dash  ldash = Solid,
Points  ptype = Circle,
int  psize = 10,
int  pcolor = Transparent,
int  pfill = Transparent 
)
inline

References Plot::plot().

int plot ( const EventData events,
const InData data,
int  origin,
double  offset,
double  tscale,
int  lwidth,
Points  ptype,
double  size,
Coordinates  sizecoor,
int  pcolor = Red,
int  pfill = Transparent 
)
int plot ( const OutData data,
double  xscale,
const LineStyle line,
const PointStyle point = PointStyle() 
)

Plot the OutData data. The original x-data are scaled by xscale.

References Plot::Copy.

int plot ( const OutData data,
double  xscale,
const PointStyle point,
const LineStyle line = LineStyle() 
)
inline

References Plot::plot().

int plot ( const OutData data,
double  xscale,
int  lcolor = Transparent,
int  lwidth = 1,
Dash  ldash = Solid,
Points  ptype = Circle,
int  psize = 10,
int  pcolor = Transparent,
int  pfill = Transparent 
)
inline

References Plot::plot().

DataElement& operator[] ( int  i)
inline

Reference to the data element i.

const DataElement& operator[] ( int  i) const
inline

Const reference to the data element i.

DataElement& back ( void  )
inline

Reference to the last data element in the list.

const DataElement& back ( void  ) const
inline

Const reference to the last data element in the list.

DataElement& front ( void  )
inline

Reference to the first data element in the list.

const DataElement& front ( void  ) const
inline

Const reference to the first data element in the list.

int plot ( const SampleData< SampleDataD > &  data,
double  xscale,
int  gradient = 0 
)
void clearData ( void  )

Remove all 2-D plot data from the plot.

Referenced by Plot::clear().

void clearData ( int  index)

Remove 2-D plot data with index index from the plot.

void clearSurfaceData ( void  )

Remove surface plot data from the plot.

Referenced by Plot::clear().

void clear ( void  )

Remove all 2-D and 3-D (surface) plot data and labels from the plot.

References Plot::clearData(), Plot::clearLabels(), and Plot::clearSurfaceData().

Referenced by Plot::~Plot().

QSize sizeHint ( void  ) const
virtual

Give a hint for the prefered size of this widget.

QSize minimumSizeHint ( void  ) const
virtual

Give a hint for the minimum size of this widget.

void draw ( void  )
void enableMouse ( void  )

Enable mouse support as handled by the default implementation of mouseEvent()

References Plot::MouseAction, and Plot::MouseZoom.

void disableMouse ( void  )

Disable mouse support as handled by the default implementation of mouseEvent()

References Plot::MouseAction, and Plot::MouseDisable.

bool zoomedXRange ( void  )

Returns true if the user has scaled the x1-range with the mouse.

References Plot::MouseRangeStack, and Plot::ranges().

Referenced by Plot::zoomedRange().

bool zoomedYRange ( void  )

Returns true if the user has scaled the y1-range with the mouse.

References Plot::MouseRangeStack, and Plot::ranges().

Referenced by Plot::zoomedRange().

bool zoomedX2Range ( void  )

Returns true if the user has scaled the x2-range with the mouse.

References Plot::MouseRangeStack, and Plot::ranges().

Referenced by Plot::zoomedRange().

bool zoomedY2Range ( void  )

Returns true if the user has scaled the y2-range with the mouse.

References Plot::MouseRangeStack, and Plot::ranges().

Referenced by Plot::zoomedRange().

bool zoomedRange ( void  )

Returns true if the user has scaled the x1-range, y1-range, x2-range, or the y-range with the mouse.

References Plot::zoomedX2Range(), Plot::zoomedXRange(), Plot::zoomedY2Range(), and Plot::zoomedYRange().

bool ranges ( void  ) const
void popRanges ( void  )

Set the ranges according to the last zoom-stack entry and remove it from the stack.

References Plot::MaxAxis, and Plot::MouseRangeStack.

Referenced by Plot::mouseZoomMoveFirstX(), Plot::mouseZoomMoveFirstY(), and Plot::mouseZoomMovePlot().

void pushRanges ( void  )

Push the current ranges on the zoom stack.

References Plot::MouseRangeStack.

Referenced by Plot::mouseZoomMoveFirstX(), Plot::mouseZoomMoveFirstY(), and Plot::mouseZoomMovePlot().

void resetRanges ( void  )

Clears the zoom stack.

References Plot::MaxAxis, Plot::MouseRangeStack, and Plot::MouseZoomOut.

Referenced by Plot::mouseSelect().

void setYShrinkFactor ( double  f)

This factor is used by the mouseAnalyse() for scaling distances in y-direction relative to distances in x direction.

References Plot::MouseYShrink.

bool mouseGrabbed ( void  ) const
inline

Returns true if this plot has grabbed the mouse cursor.

References Plot::MouseGrabbed.

void setUserMouseTracking ( bool  enable)
slot

Controls whether userMouseEvent() should be called from mouseEvent() on mouse move events.

Parameters
[in]enableset this to true if you want to have userMouseEvent() called also on move events.
void changedRange ( void  )
signal

The plot range was changed by the user. Both the Plot mutex and the MultiPlot mutex (if applicable) are locked.

Referenced by Plot::mouseSelect(), Plot::mouseZoomMoveFirstX(), Plot::mouseZoomMoveFirstY(), and Plot::mouseZoomMovePlot().

void changedRange ( int  )
signal

The plot range was changed by the user. Both the Plot mutex and the MultiPlot mutex (if applicable) are locked.

void resizePlot ( QResizeEvent *  qre)
signal

This signal is emitted whenever the Plot widget receives a resizeEvent() before processing it.

Referenced by Plot::resizeEvent().

void userMouseEvent ( Plot::MouseEvent me)
signal

This signal is emitted whenever a mouse event in the Plot occured. A slot making use of the mouse event should call me.setUsed() to prevent further processing by the default mouse event handling functions. Neither the Plot nor the data are locked during the call of userMouseEvent().

Parameters
[in]methe coordinates and status of the mouse event

Referenced by Plot::mouseEvent().

void draw ( QPaintDevice *  qpm,
bool  drawdata 
)
protected
void resizeEvent ( QResizeEvent *  qre)
protected

Handles the resize event.

References Plot::resizePlot().

void paintEvent ( QPaintEvent *  qpe)
protected

Paints the entire plot.

References Plot::draw().

void customEvent ( QEvent *  qce)
protected

References Plot::mouseAnalyse().

void mouseEvent ( MouseEvent me)
protectedvirtual

Handles all kinds of mouse events. The current implementation supports moving and scaling of the axis and scaling of the plot. Right click restores previous ranges. Simply calls mouseZoomFirstX(), mouseZoomFirstY(), mouseZoomPlot().

References Plot::MouseAction, Plot::mouseAnalyse(), Plot::MouseAnalyse, Plot::mouseMenu(), Plot::MouseMove, Plot::mouseSetCursor(), Plot::MouseZoom, Plot::mouseZoomMoveFirstX(), Plot::mouseZoomMoveFirstY(), Plot::mouseZoomMovePlot(), Plot::MouseEvent::movedOnly(), Plot::MouseEvent::used(), and Plot::userMouseEvent().

Referenced by Plot::mouseDoubleClickEvent(), Plot::mouseMoveEvent(), Plot::mousePressEvent(), and Plot::mouseReleaseEvent().

void mouseMenu ( MouseEvent me)
protected
void mouseSetCursor ( MouseEvent me)
protected
void mouseZoomMoveFirstX ( MouseEvent me)
protected
void mouseZoomMoveFirstY ( MouseEvent me)
protected
void mouseZoomMovePlot ( MouseEvent me,
bool  move 
)
protected
void mouseAnalyse ( MouseEvent me)
protected
void setMouseCoordinates ( MouseEvent me)
protected

Calculates the mouse coordinates from the pixel position of the mouse.

References Plot::First, Plot::FirstMargin, Plot::MaxAxis, and Plot::SecondMargin.

Referenced by Plot::readMouse().

void readMouse ( QMouseEvent *  qme,
MouseEvent me 
)
protected

Translates qme into me. Used by the reimplementations of the Qt mouse event handlers.

References Plot::setMouseCoordinates().

Referenced by Plot::mouseDoubleClickEvent(), Plot::mouseMoveEvent(), Plot::mousePressEvent(), Plot::mouseReleaseEvent(), and Plot::mouseSelect().

void mousePressEvent ( QMouseEvent *  qme)
protectedvirtual

The Qt mouse event handler for a mouse press event. Translates the event via readMouse() and calls mouseEvent().

References Plot::mouseEvent(), and Plot::readMouse().

void mouseReleaseEvent ( QMouseEvent *  qme)
protectedvirtual

The Qt mouse event handler for a mouse release event. Translates the event via readMouse() and calls mouseEvent().

References Plot::mouseEvent(), and Plot::readMouse().

void mouseDoubleClickEvent ( QMouseEvent *  qme)
protectedvirtual

The Qt mouse event handler for a mouse doouble click event. Translates the event via readMouse() and calls mouseEvent().

References Plot::mouseEvent(), and Plot::readMouse().

void mouseMoveEvent ( QMouseEvent *  qme)
protectedvirtual

The Qt mouse event handler for a mouse move event. Translates the event via readMouse() and calls mouseEvent().

References Plot::mouseEvent(), and Plot::readMouse().

void mouseSelect ( QAction *  action)
protectedslot

Friends And Related Function Documentation

friend class MultiPlot
friend

Member Data Documentation

const double AutoScale = MAXDOUBLE
static
const double AutoMinScale = 0.1*MAXDOUBLE
static

Autoscale ranges to integer tic marks but use fallback ranges as minimum ranges.

const double ExactScale = 0.01*MAXDOUBLE
static

Autoscale ranges.

const double ExactMinScale = 0.001*MAXDOUBLE
static

Autoscale ranges but use fallback ranges as minimum ranges.

const double DynamicScale = 0.1*MAXDOUBLE
static

Adjust tic mark increments dynamically to plot size.

Referenced by Plot::setX2Tics(), Plot::setXTics(), Plot::setY2Tics(), and Plot::setYTics().

const double AnyScale = 0.001*MAXDOUBLE
static
const int MaxAxis = 2
static
QMenu* MouseMenu
protected

Referenced by Plot::mouseMenu().

QAction* MouseZoom
protected
QAction* MouseMove
protected
QAction* MouseZoomReset
protected

Referenced by Plot::mouseSelect(), and Plot::~Plot().

QAction* MouseAnalyse
protected
QAction* MouseDisable
protected

Referenced by Plot::disableMouse(), and Plot::~Plot().

QAction* MouseAction
protected
bool MouseMenuClick
protected
MouseEvent LastMouseEvent
protected
bool MouseGrabbed
protected
bool MouseMoveX
protected
bool MouseZoomXMin
protected
bool MouseZoomXMax
protected
bool MouseMoveY
protected
bool MouseZoomYMin
protected
bool MouseZoomYMax
protected
bool MouseMoveXY
protected

Referenced by Plot::mouseZoomMovePlot().

bool MouseZoomOut
protected
double MouseYShrink
protected
deque< RangeCopy > MouseRangeStack
protected

The documentation for this class was generated from the following files: