Public Slots | Public Member Functions | Protected Member Functions | Private Slots | Private Member Functions | Private Attributes | Friends
UPlot Class Reference

#include <UPlot.h>

List of all members.

Public Slots

void clearData ()
void removeCurve (const UPlotCurve *curve)
void showCurve (const UPlotCurve *curve, bool shown)
void updateAxis ()

Public Member Functions

UPlotCurveaddCurve (const QString &curveName, const QColor &color=QColor())
bool addCurve (UPlotCurve *curve, bool ownershipTransferred=true)
UPlotCurveThresholdaddThreshold (const QString &name, float value, Qt::Orientation orientation=Qt::Horizontal)
bool contains (const QString &curveName)
QStringList curveNames ()
QPen getRandomPenColored ()
void keepAllData (bool kept)
void removeCurves ()
QRectF sceneRect () const
void setBackgroundColor (const QColor &color)
void setFixedXAxis (float x1, float x2)
void setFixedYAxis (float y1, float y2)
void setGraphicsView (bool on)
void setMaxVisibleItems (int maxVisibleItems)
void setTitle (const QString &text)
void setVariableXAxis ()
void setVariableYAxis ()
void setWorkingDirectory (const QString &workingDirectory)
void setXLabel (const QString &text)
void setYLabel (const QString &text, Qt::Orientation orientation=Qt::Vertical)
void showGrid (bool shown)
void showLegend (bool shown)
void showRefreshRate (bool shown)
void showXAxis (bool shown)
void showYAxis (bool shown)
QString title () const
void trackMouse (bool tracking)
 UPlot (QWidget *parent=0)
virtual ~UPlot ()

Protected Member Functions

virtual void contextMenuEvent (QContextMenuEvent *event)
virtual void mouseDoubleClickEvent (QMouseEvent *event)
virtual void mouseMoveEvent (QMouseEvent *event)
virtual void mousePressEvent (QMouseEvent *event)
virtual void mouseReleaseEvent (QMouseEvent *event)
virtual void paintEvent (QPaintEvent *event)
virtual void resizeEvent (QResizeEvent *event)

Private Slots

void captureScreen ()
void moveCurve (const UPlotCurve *, int index)
void updateAxis (const UPlotCurve *curve)

Private Member Functions

void addItem (QGraphicsItem *item)
void createActions ()
void createMenus ()
bool mousePosToValue (const QPoint &pos, float &x, float &y)
void replot (QPainter *painter)
void selectScreenCaptureFormat ()
void setupUi ()
bool updateAxis (float x, float y)
bool updateAxis (float x1, float x2, float y1, float y2)

Private Attributes

QAction * _aAddHorizontalLine
QAction * _aAddVerticalLine
QAction * _aAutoScreenCapture
QAction * _aChangeBackgroundColor
QAction * _aChangeTitle
QAction * _aChangeXLabel
QAction * _aChangeYLabel
QAction * _aClearData
QAction * _aGraphicsView
QAction * _aKeepAllData
QAction * _aLimit0
QAction * _aLimit10
QAction * _aLimit100
QAction * _aLimit1000
QAction * _aLimit50
QAction * _aLimit500
QAction * _aLimitCustom
QAction * _aMouseTracking
QAction * _aSaveFigure
QAction * _aShowGrid
QAction * _aShowLegend
QAction * _aShowRefreshRate
QString _autoScreenCaptureFormat
float _axisMaximums [4]
bool _axisMaximumsSet [4]
QAction * _aYLabelVertical
QColor _bgColor
QList< UPlotCurve * > _curves
bool _fixedAxis [2]
QWidget * _graphicsViewHolder
UPlotAxis_horizontalAxis
UPlotLegend_legend
int _lowestRefreshRate
int _maxVisibleItems
QMenu * _menu
QPoint _mouseCurrentPos
QPoint _mousePressedPos
int _penStyleCount
QTime _refreshIntervalTime
QLabel * _refreshRate
QTime _refreshStartTime
QGraphicsItem * _sceneRoot
QLabel * _title
UPlotAxis_verticalAxis
QGraphicsView * _view
QString _workingDirectory
QLabel * _xLabel
UOrientableLabel_yLabel
QList< QGraphicsLineItem * > hGridLines
QList< QGraphicsLineItem * > vGridLines

Friends

class UPlotCurve

Detailed Description

UPlot is a QWidget to create a plot like MATLAB, and incrementally add new values like a scope using Qt signals/slots. Many customizations can be done at runtime with the right-click menu.

UPlot.gif
UPlotMenu.png

Example:

 #include "utilite/UPlot.h"
 #include <QApplication>

 int main(int argc, char * argv[])
 {
        QApplication app(argc, argv);
        UPlot plot;
        UPlotCurve * curve = plot.addCurve("My curve");
        float y[10] = {0, 1, 2, 3, -3, -2, -1, 0, 1, 2};
        curve->addValues(std::vector<float>(y, y+10));
        plot.showGrid(true);
        plot.setGraphicsView(true);
        plot.show();
        app.exec();
        return 0;
 }
SimplePlot.tiff

Definition at line 479 of file UPlot.h.


Constructor & Destructor Documentation

UPlot::UPlot ( QWidget *  parent = 0)

Constructor.

Definition at line 1720 of file UPlot.cpp.

UPlot::~UPlot ( ) [virtual]

Definition at line 1758 of file UPlot.cpp.


Member Function Documentation

UPlotCurve * UPlot::addCurve ( const QString &  curveName,
const QColor &  color = QColor() 
)

Add a curve. The returned curve doesn't need to be deallocated (UPlot keeps the ownership).

Definition at line 1911 of file UPlot.cpp.

bool UPlot::addCurve ( UPlotCurve curve,
bool  ownershipTransferred = true 
)

Add a curve. Ownership is transferred to UPlot if ownershipTransferred=true.

Definition at line 1927 of file UPlot.cpp.

void UPlot::addItem ( QGraphicsItem *  item) [private]

Definition at line 2812 of file UPlot.cpp.

UPlotCurveThreshold * UPlot::addThreshold ( const QString &  name,
float  value,
Qt::Orientation  orientation = Qt::Horizontal 
)

Add a threshold to the plot.

Definition at line 2744 of file UPlot.cpp.

void UPlot::captureScreen ( ) [private, slot]

Definition at line 2693 of file UPlot.cpp.

void UPlot::clearData ( ) [slot]

Clear all curves' data.

Definition at line 2730 of file UPlot.cpp.

bool UPlot::contains ( const QString &  curveName)

Definition at line 1988 of file UPlot.cpp.

void UPlot::contextMenuEvent ( QContextMenuEvent *  event) [protected, virtual]

Definition at line 2474 of file UPlot.cpp.

void UPlot::createActions ( ) [private]

Definition at line 1822 of file UPlot.cpp.

void UPlot::createMenus ( ) [private]

Definition at line 1876 of file UPlot.cpp.

QStringList UPlot::curveNames ( )

Get all curve names.

Definition at line 1975 of file UPlot.cpp.

Definition at line 2000 of file UPlot.cpp.

void UPlot::keepAllData ( bool  kept)

Definition at line 2860 of file UPlot.cpp.

void UPlot::mouseDoubleClickEvent ( QMouseEvent *  event) [protected, virtual]

Definition at line 2425 of file UPlot.cpp.

void UPlot::mouseMoveEvent ( QMouseEvent *  event) [protected, virtual]

Definition at line 2352 of file UPlot.cpp.

bool UPlot::mousePosToValue ( const QPoint &  pos,
float &  x,
float &  y 
) [private]

Definition at line 2431 of file UPlot.cpp.

void UPlot::mousePressEvent ( QMouseEvent *  event) [protected, virtual]

Definition at line 2345 of file UPlot.cpp.

void UPlot::mouseReleaseEvent ( QMouseEvent *  event) [protected, virtual]

Definition at line 2390 of file UPlot.cpp.

void UPlot::moveCurve ( const UPlotCurve curve,
int  index 
) [private, slot]

Definition at line 2964 of file UPlot.cpp.

void UPlot::paintEvent ( QPaintEvent *  event) [protected, virtual]

Definition at line 2280 of file UPlot.cpp.

void UPlot::removeCurve ( const UPlotCurve curve) [slot]

Remove a curve. If UPlot is the parent of the curve, the curve is deleted.

Definition at line 2916 of file UPlot.cpp.

Definition at line 2906 of file UPlot.cpp.

void UPlot::replot ( QPainter *  painter) [private]

Definition at line 2005 of file UPlot.cpp.

void UPlot::resizeEvent ( QResizeEvent *  event) [protected, virtual]

Definition at line 2336 of file UPlot.cpp.

QRectF UPlot::sceneRect ( ) const

Definition at line 2901 of file UPlot.cpp.

Definition at line 2717 of file UPlot.cpp.

void UPlot::setBackgroundColor ( const QColor &  color)

Definition at line 2799 of file UPlot.cpp.

void UPlot::setFixedXAxis ( float  x1,
float  x2 
)

Definition at line 2174 of file UPlot.cpp.

void UPlot::setFixedYAxis ( float  y1,
float  y2 
)

Definition at line 2181 of file UPlot.cpp.

void UPlot::setGraphicsView ( bool  on)

Definition at line 2852 of file UPlot.cpp.

void UPlot::setMaxVisibleItems ( int  maxVisibleItems)

Definition at line 2865 of file UPlot.cpp.

void UPlot::setTitle ( const QString &  text)

Definition at line 2764 of file UPlot.cpp.

void UPlot::setupUi ( ) [private]

Definition at line 1767 of file UPlot.cpp.

void UPlot::setVariableXAxis ( ) [inline]

Definition at line 517 of file UPlot.h.

void UPlot::setVariableYAxis ( ) [inline]

Definition at line 518 of file UPlot.h.

void UPlot::setWorkingDirectory ( const QString &  workingDirectory)

Definition at line 2681 of file UPlot.cpp.

void UPlot::setXLabel ( const QString &  text)

Definition at line 2775 of file UPlot.cpp.

void UPlot::setYLabel ( const QString &  text,
Qt::Orientation  orientation = Qt::Vertical 
)

Definition at line 2786 of file UPlot.cpp.

void UPlot::showCurve ( const UPlotCurve curve,
bool  shown 
) [slot]

Definition at line 2950 of file UPlot.cpp.

void UPlot::showGrid ( bool  shown)

Definition at line 2829 of file UPlot.cpp.

void UPlot::showLegend ( bool  shown)

Definition at line 2818 of file UPlot.cpp.

void UPlot::showRefreshRate ( bool  shown)

Definition at line 2835 of file UPlot.cpp.

void UPlot::showXAxis ( bool  shown) [inline]

Definition at line 515 of file UPlot.h.

void UPlot::showYAxis ( bool  shown) [inline]

Definition at line 516 of file UPlot.h.

QString UPlot::title ( ) const [inline]

Definition at line 508 of file UPlot.h.

void UPlot::trackMouse ( bool  tracking)

Definition at line 2846 of file UPlot.cpp.

void UPlot::updateAxis ( ) [slot]

Definition at line 2254 of file UPlot.cpp.

void UPlot::updateAxis ( const UPlotCurve curve) [private, slot]

Definition at line 2188 of file UPlot.cpp.

bool UPlot::updateAxis ( float  x,
float  y 
) [private]

Definition at line 2219 of file UPlot.cpp.

bool UPlot::updateAxis ( float  x1,
float  x2,
float  y1,
float  y2 
) [private]

Definition at line 2204 of file UPlot.cpp.


Friends And Related Function Documentation

friend class UPlotCurve [friend]

Definition at line 559 of file UPlot.h.


Member Data Documentation

QAction* UPlot::_aAddHorizontalLine [private]

Definition at line 612 of file UPlot.h.

QAction* UPlot::_aAddVerticalLine [private]

Definition at line 611 of file UPlot.h.

QAction* UPlot::_aAutoScreenCapture [private]

Definition at line 621 of file UPlot.h.

QAction* UPlot::_aChangeBackgroundColor [private]

Definition at line 616 of file UPlot.h.

QAction* UPlot::_aChangeTitle [private]

Definition at line 613 of file UPlot.h.

QAction* UPlot::_aChangeXLabel [private]

Definition at line 614 of file UPlot.h.

QAction* UPlot::_aChangeYLabel [private]

Definition at line 615 of file UPlot.h.

QAction* UPlot::_aClearData [private]

Definition at line 622 of file UPlot.h.

QAction* UPlot::_aGraphicsView [private]

Definition at line 623 of file UPlot.h.

QAction* UPlot::_aKeepAllData [private]

Definition at line 603 of file UPlot.h.

QAction* UPlot::_aLimit0 [private]

Definition at line 604 of file UPlot.h.

QAction* UPlot::_aLimit10 [private]

Definition at line 605 of file UPlot.h.

QAction* UPlot::_aLimit100 [private]

Definition at line 607 of file UPlot.h.

QAction* UPlot::_aLimit1000 [private]

Definition at line 609 of file UPlot.h.

QAction* UPlot::_aLimit50 [private]

Definition at line 606 of file UPlot.h.

QAction* UPlot::_aLimit500 [private]

Definition at line 608 of file UPlot.h.

QAction* UPlot::_aLimitCustom [private]

Definition at line 610 of file UPlot.h.

QAction* UPlot::_aMouseTracking [private]

Definition at line 619 of file UPlot.h.

QAction* UPlot::_aSaveFigure [private]

Definition at line 620 of file UPlot.h.

QAction* UPlot::_aShowGrid [private]

Definition at line 602 of file UPlot.h.

QAction* UPlot::_aShowLegend [private]

Definition at line 601 of file UPlot.h.

QAction* UPlot::_aShowRefreshRate [private]

Definition at line 618 of file UPlot.h.

Definition at line 595 of file UPlot.h.

float UPlot::_axisMaximums[4] [private]

Definition at line 577 of file UPlot.h.

bool UPlot::_axisMaximumsSet[4] [private]

Definition at line 578 of file UPlot.h.

QAction* UPlot::_aYLabelVertical [private]

Definition at line 617 of file UPlot.h.

QColor UPlot::_bgColor [private]

Definition at line 598 of file UPlot.h.

QList<UPlotCurve*> UPlot::_curves [private]

Definition at line 586 of file UPlot.h.

bool UPlot::_fixedAxis[2] [private]

Definition at line 579 of file UPlot.h.

QWidget* UPlot::_graphicsViewHolder [private]

Definition at line 576 of file UPlot.h.

Definition at line 581 of file UPlot.h.

Definition at line 573 of file UPlot.h.

Definition at line 593 of file UPlot.h.

int UPlot::_maxVisibleItems [private]

Definition at line 583 of file UPlot.h.

QMenu* UPlot::_menu [private]

Definition at line 600 of file UPlot.h.

QPoint UPlot::_mouseCurrentPos [private]

Definition at line 597 of file UPlot.h.

QPoint UPlot::_mousePressedPos [private]

Definition at line 596 of file UPlot.h.

int UPlot::_penStyleCount [private]

Definition at line 582 of file UPlot.h.

QTime UPlot::_refreshIntervalTime [private]

Definition at line 592 of file UPlot.h.

QLabel* UPlot::_refreshRate [private]

Definition at line 590 of file UPlot.h.

QTime UPlot::_refreshStartTime [private]

Definition at line 594 of file UPlot.h.

QGraphicsItem* UPlot::_sceneRoot [private]

Definition at line 575 of file UPlot.h.

QLabel* UPlot::_title [private]

Definition at line 587 of file UPlot.h.

Definition at line 580 of file UPlot.h.

QGraphicsView* UPlot::_view [private]

Definition at line 574 of file UPlot.h.

QString UPlot::_workingDirectory [private]

Definition at line 591 of file UPlot.h.

QLabel* UPlot::_xLabel [private]

Definition at line 588 of file UPlot.h.

Definition at line 589 of file UPlot.h.

QList<QGraphicsLineItem *> UPlot::hGridLines [private]

Definition at line 584 of file UPlot.h.

QList<QGraphicsLineItem *> UPlot::vGridLines [private]

Definition at line 585 of file UPlot.h.


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


rtabmap
Author(s): Mathieu Labbe
autogenerated on Fri Aug 28 2015 12:51:43