![]() |
ACloudViewer
3.9.4
A Modern Library for 3D Data Processing
|
Provides rect/rubber-band data selection and range zoom interaction. More...
#include <qcustomplot.h>


Signals | |
| void | started (QMouseEvent *event) |
| void | changed (const QRect &rect, QMouseEvent *event) |
| void | canceled (const QRect &rect, QInputEvent *event) |
| void | accepted (const QRect &rect, QMouseEvent *event) |
Signals inherited from QCPLayerable | |
| void | layerChanged (QCPLayer *newLayer) |
| void | layerChanged (QCPLayer *newLayer) |
Public Member Functions | |
| QCPSelectionRect (QCustomPlot *parentPlot) | |
| virtual | ~QCPSelectionRect () |
| QRect | rect () const |
| QCPRange | range (const QCPAxis *axis) const |
| QPen | pen () const |
| QBrush | brush () const |
| bool | isActive () const |
| void | setPen (const QPen &pen) |
| void | setBrush (const QBrush &brush) |
| Q_SLOT void | cancel () |
Public Member Functions inherited from QCPLayerable | |
| QCPLayerable (QCustomPlot *plot, QString targetLayer=QString(), QCPLayerable *parentLayerable=0) | |
| virtual | ~QCPLayerable () |
| bool | visible () const |
| QCustomPlot * | parentPlot () const |
| QCPLayerable * | parentLayerable () const |
| QCPLayer * | layer () const |
| bool | antialiased () const |
| void | setVisible (bool on) |
| Q_SLOT bool | setLayer (QCPLayer *layer) |
| bool | setLayer (const QString &layerName) |
| void | setAntialiased (bool enabled) |
| virtual double | selectTest (const QPointF &pos, bool onlySelectable, QVariant *details=0) const |
| bool | realVisibility () const |
| QCPLayerable (QCustomPlot *plot, QString targetLayer=QString(), QCPLayerable *parentLayerable=0) | |
| ~QCPLayerable () | |
| bool | visible () const |
| QCustomPlot * | parentPlot () const |
| QCPLayerable * | parentLayerable () const |
| QCPLayer * | layer () const |
| bool | antialiased () const |
| void | setVisible (bool on) |
| Q_SLOT bool | setLayer (QCPLayer *layer) |
| bool | setLayer (const QString &layerName) |
| void | setAntialiased (bool enabled) |
| virtual double | selectTest (const QPointF &pos, bool onlySelectable, QVariant *details=0) const |
| bool | realVisibility () const |
Protected Member Functions | |
| virtual void | startSelection (QMouseEvent *event) |
| virtual void | moveSelection (QMouseEvent *event) |
| virtual void | endSelection (QMouseEvent *event) |
| virtual void | keyPressEvent (QKeyEvent *event) |
| virtual void | applyDefaultAntialiasingHint (QCPPainter *painter) const |
| virtual void | draw (QCPPainter *painter) |
Protected Member Functions inherited from QCPLayerable | |
| virtual void | parentPlotInitialized (QCustomPlot *parentPlot) |
| virtual QCP::Interaction | selectionCategory () const |
| virtual QRect | clipRect () const |
| virtual void | selectEvent (QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged) |
| virtual void | deselectEvent (bool *selectionStateChanged) |
| virtual void | mousePressEvent (QMouseEvent *event, const QVariant &details) |
| virtual void | mouseMoveEvent (QMouseEvent *event, const QPointF &startPos) |
| virtual void | mouseReleaseEvent (QMouseEvent *event, const QPointF &startPos) |
| virtual void | mouseDoubleClickEvent (QMouseEvent *event, const QVariant &details) |
| virtual void | wheelEvent (QWheelEvent *event) |
| void | initializeParentPlot (QCustomPlot *parentPlot) |
| void | setParentLayerable (QCPLayerable *parentLayerable) |
| bool | moveToLayer (QCPLayer *layer, bool prepend) |
| void | applyAntialiasingHint (QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const |
| virtual void | parentPlotInitialized (QCustomPlot *parentPlot) |
| virtual QCP::Interaction | selectionCategory () const |
| virtual QRect | clipRect () const |
| virtual void | selectEvent (QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged) |
| virtual void | deselectEvent (bool *selectionStateChanged) |
| void | initializeParentPlot (QCustomPlot *parentPlot) |
| void | setParentLayerable (QCPLayerable *parentLayerable) |
| bool | moveToLayer (QCPLayer *layer, bool prepend) |
| void | applyAntialiasingHint (QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const |
Protected Attributes | |
| QRect | mRect |
| QPen | mPen |
| QBrush | mBrush |
| bool | mActive |
Protected Attributes inherited from QCPLayerable | |
| bool | mVisible |
| QCustomPlot * | mParentPlot |
| QPointer< QCPLayerable > | mParentLayerable |
| QCPLayer * | mLayer |
| bool | mAntialiased |
Provides rect/rubber-band data selection and range zoom interaction.
QCPSelectionRect is used by QCustomPlot when the QCustomPlot::setSelectionRectMode is not QCP::srmNone. When the user drags the mouse across the plot, the current selection rect instance (QCustomPlot::setSelectionRect) is forwarded these events and makes sure an according rect shape is drawn. At the begin, during, and after completion of the interaction, it emits the corresponding signals started, changed, canceled, and accepted.
The QCustomPlot instance connects own slots to the current selection rect instance, in order to react to an accepted selection rect interaction accordingly.
isActive can be used to check whether the selection rect is currently active. An ongoing selection interaction can be cancelled programmatically via calling cancel at any time.
The appearance of the selection rect can be controlled via setPen and setBrush.
If you wish to provide custom behaviour, e.g. a different visual representation of the selection rect (QCPSelectionRect::draw), you can subclass QCPSelectionRect and pass an instance of your subclass to QCustomPlot::setSelectionRect.
Definition at line 1325 of file qcustomplot.h.
|
explicit |
Creates a new QCPSelectionRect instance. To make QCustomPlot use the selection rect instance, pass it to QCustomPlot::setSelectionRect. parentPlot should be set to the same QCustomPlot widget.
Definition at line 2780 of file qcustomplot.cpp.
|
virtual |
Definition at line 2786 of file qcustomplot.cpp.
References cancel().
|
signal |
This signal is emitted when the selection interaction was completed by the user releasing the mouse button.
Note that rect may have a negative width or height, if the selection is being dragged to the upper or left side of the selection rect origin.
Referenced by endSelection().
|
protectedvirtual |
Implements QCPLayerable.
Definition at line 2885 of file qcustomplot.cpp.
References QCP::aeOther, QCPLayerable::applyAntialiasingHint(), and QCPLayerable::mAntialiased.
|
inline |
Definition at line 1335 of file qcustomplot.h.
Referenced by setBrush().
| void QCPSelectionRect::cancel | ( | ) |
If there is currently a selection interaction going on (isActive), the interaction is canceled. The selection rect will emit the canceled signal.
Definition at line 2826 of file qcustomplot.cpp.
References canceled(), mActive, and mRect.
Referenced by QCustomPlot::mouseReleaseEvent(), QCustomPlot::setSelectionRectMode(), and ~QCPSelectionRect().
|
signal |
This signal is emitted when the selection interaction was cancelled. Note that event is 0 if the selection interaction was cancelled programmatically, by a call to cancel.
The user may cancel the selection interaction by pressing the escape key. In this case, event holds the respective input event.
Note that rect may have a negative width or height, if the selection is being dragged to the upper or left side of the selection rect origin.
Referenced by cancel(), and keyPressEvent().
|
signal |
This signal is emitted while the selection rect interaction is ongoing and the rect has changed its size due to the user moving the mouse.
Note that rect may have a negative width or height, if the selection is being dragged to the upper or left side of the selection rect origin.
Referenced by moveSelection().
|
protectedvirtual |
Implements QCPLayerable.
Definition at line 2896 of file qcustomplot.cpp.
References mActive, mBrush, mPen, mRect, and QCPPainter::setPen().
|
protectedvirtual |
Definition at line 2865 of file qcustomplot.cpp.
References accepted(), event, mActive, and mRect.
Referenced by QCustomPlot::mouseReleaseEvent().
|
inline |
Returns true if there is currently a selection going on, i.e. the user has started dragging a selection rect, but hasn't released the mouse button yet.
Definition at line 1336 of file qcustomplot.h.
Referenced by QCustomPlot::mouseMoveEvent(), and QCustomPlot::mouseReleaseEvent().
|
protectedvirtual |
Definition at line 2877 of file qcustomplot.cpp.
References canceled(), event, mActive, and mRect.
|
protectedvirtual |
Definition at line 2852 of file qcustomplot.cpp.
References changed(), event, QCPLayerable::layer(), mRect, and QCPLayer::replot().
Referenced by QCustomPlot::mouseMoveEvent().
|
inline |
Definition at line 1334 of file qcustomplot.h.
Referenced by setPen().
A convenience function which returns the coordinate range of the provided axis, that this selection rect currently encompasses.
Definition at line 2792 of file qcustomplot.cpp.
References mRect, QCPAxis::orientation(), and QCPAxis::pixelToCoord().
|
inline |
Definition at line 1332 of file qcustomplot.h.
| void QCPSelectionRect::setBrush | ( | const QBrush & | brush | ) |
Sets the brush that will be used to fill the selection rect. By default the selection rect is not filled, i.e. brush is Qt::NoBrush.
Definition at line 2819 of file qcustomplot.cpp.
| void QCPSelectionRect::setPen | ( | const QPen & | pen | ) |
Sets the pen that will be used to draw the selection rect outline.
Definition at line 2811 of file qcustomplot.cpp.
|
signal |
This signal is emitted when a selection rect interaction was initiated, i.e. the user just started dragging the selection rect with the mouse.
Referenced by startSelection().
|
protectedvirtual |
Definition at line 2840 of file qcustomplot.cpp.
References event, mActive, mRect, and started().
Referenced by QCustomPlot::mousePressEvent().
|
protected |
Definition at line 1357 of file qcustomplot.h.
Referenced by cancel(), draw(), endSelection(), keyPressEvent(), and startSelection().
|
protected |
Definition at line 1355 of file qcustomplot.h.
Referenced by draw(), and setBrush().
|
protected |
Definition at line 1354 of file qcustomplot.h.
|
protected |
Definition at line 1353 of file qcustomplot.h.
Referenced by cancel(), draw(), endSelection(), keyPressEvent(), moveSelection(), range(), and startSelection().