Signals | Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
QCPSelectionRect Class Reference

Provides rect/rubber-band data selection and range zoom interaction. More...

#include <qcustomplot.h>

Inheritance diagram for QCPSelectionRect:
Inheritance graph
[legend]

Signals

void accepted (const QRect &rect, QMouseEvent *event)
 
void canceled (const QRect &rect, QInputEvent *event)
 
void changed (const QRect &rect, QMouseEvent *event)
 
void started (QMouseEvent *event)
 
- Signals inherited from QCPLayerable
void layerChanged (QCPLayer *newLayer)
 

Public Member Functions

QBrush brush () const
 
Q_SLOT void cancel ()
 
bool isActive () const
 
QPen pen () const
 
 QCPSelectionRect (QCustomPlot *parentPlot)
 
QCPRange range (const QCPAxis *axis) const
 
QRect rect () const
 
void setBrush (const QBrush &brush)
 
void setPen (const QPen &pen)
 
virtual ~QCPSelectionRect ()
 
- Public Member Functions inherited from QCPLayerable
bool antialiased () const
 
QCPLayerlayer () const
 
QCPLayerableparentLayerable () const
 
QCustomPlotparentPlot () const
 
 QCPLayerable (QCustomPlot *plot, QString targetLayer=QString(), QCPLayerable *parentLayerable=0)
 
bool realVisibility () const
 
virtual double selectTest (const QPointF &pos, bool onlySelectable, QVariant *details=0) const
 
void setAntialiased (bool enabled)
 
Q_SLOT bool setLayer (QCPLayer *layer)
 
bool setLayer (const QString &layerName)
 
void setVisible (bool on)
 
bool visible () const
 
virtual ~QCPLayerable ()
 

Protected Member Functions

virtual void applyDefaultAntialiasingHint (QCPPainter *painter) const Q_DECL_OVERRIDE
 
virtual void draw (QCPPainter *painter) Q_DECL_OVERRIDE
 
virtual void endSelection (QMouseEvent *event)
 
virtual void keyPressEvent (QKeyEvent *event)
 
virtual void moveSelection (QMouseEvent *event)
 
virtual void startSelection (QMouseEvent *event)
 
- Protected Member Functions inherited from QCPLayerable
void applyAntialiasingHint (QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const
 
virtual QRect clipRect () const
 
virtual void deselectEvent (bool *selectionStateChanged)
 
void initializeParentPlot (QCustomPlot *parentPlot)
 
virtual void mouseDoubleClickEvent (QMouseEvent *event, const QVariant &details)
 
virtual void mouseMoveEvent (QMouseEvent *event, const QPointF &startPos)
 
virtual void mousePressEvent (QMouseEvent *event, const QVariant &details)
 
virtual void mouseReleaseEvent (QMouseEvent *event, const QPointF &startPos)
 
bool moveToLayer (QCPLayer *layer, bool prepend)
 
virtual void parentPlotInitialized (QCustomPlot *parentPlot)
 
virtual void selectEvent (QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged)
 
virtual QCP::Interaction selectionCategory () const
 
void setParentLayerable (QCPLayerable *parentLayerable)
 
virtual void wheelEvent (QWheelEvent *event)
 

Protected Attributes

bool mActive
 
QBrush mBrush
 
QPen mPen
 
QRect mRect
 
- Protected Attributes inherited from QCPLayerable
bool mAntialiased
 
QCPLayermLayer
 
QPointer< QCPLayerablemParentLayerable
 
QCustomPlotmParentPlot
 
bool mVisible
 

Friends

class QCustomPlot
 

Detailed Description

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 1099 of file qcustomplot.h.

Constructor & Destructor Documentation

◆ QCPSelectionRect()

QCPSelectionRect::QCPSelectionRect ( QCustomPlot parentPlot)
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 2819 of file qcustomplot.cpp.

◆ ~QCPSelectionRect()

QCPSelectionRect::~QCPSelectionRect ( )
virtual

Definition at line 2827 of file qcustomplot.cpp.

Member Function Documentation

◆ accepted

void QCPSelectionRect::accepted ( const QRect &  rect,
QMouseEvent *  event 
)
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.

◆ applyDefaultAntialiasingHint()

void QCPSelectionRect::applyDefaultAntialiasingHint ( QCPPainter painter) const
protectedvirtual

Implements QCPLayerable.

Definition at line 2940 of file qcustomplot.cpp.

◆ brush()

QBrush QCPSelectionRect::brush ( ) const
inline

Definition at line 1110 of file qcustomplot.h.

◆ cancel()

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 2876 of file qcustomplot.cpp.

◆ canceled

void QCPSelectionRect::canceled ( const QRect &  rect,
QInputEvent *  event 
)
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.

◆ changed

void QCPSelectionRect::changed ( const QRect &  rect,
QMouseEvent *  event 
)
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.

◆ draw()

void QCPSelectionRect::draw ( QCPPainter painter)
protectedvirtual

Implements QCPLayerable.

Definition at line 2951 of file qcustomplot.cpp.

◆ endSelection()

void QCPSelectionRect::endSelection ( QMouseEvent *  event)
protectedvirtual

Definition at line 2917 of file qcustomplot.cpp.

◆ isActive()

bool QCPSelectionRect::isActive ( ) const
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.

See also
cancel

Definition at line 1111 of file qcustomplot.h.

◆ keyPressEvent()

void QCPSelectionRect::keyPressEvent ( QKeyEvent *  event)
protectedvirtual

Definition at line 2930 of file qcustomplot.cpp.

◆ moveSelection()

void QCPSelectionRect::moveSelection ( QMouseEvent *  event)
protectedvirtual

Definition at line 2904 of file qcustomplot.cpp.

◆ pen()

QPen QCPSelectionRect::pen ( ) const
inline

Definition at line 1109 of file qcustomplot.h.

◆ range()

QCPRange QCPSelectionRect::range ( const QCPAxis axis) const

A convenience function which returns the coordinate range of the provided axis, that this selection rect currently encompasses.

Definition at line 2836 of file qcustomplot.cpp.

◆ rect()

QRect QCPSelectionRect::rect ( ) const
inline

Definition at line 1107 of file qcustomplot.h.

◆ setBrush()

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.

See also
setPen

Definition at line 2867 of file qcustomplot.cpp.

◆ setPen()

void QCPSelectionRect::setPen ( const QPen &  pen)

Sets the pen that will be used to draw the selection rect outline.

See also
setBrush

Definition at line 2856 of file qcustomplot.cpp.

◆ started

void QCPSelectionRect::started ( QMouseEvent *  event)
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.

◆ startSelection()

void QCPSelectionRect::startSelection ( QMouseEvent *  event)
protectedvirtual

Definition at line 2891 of file qcustomplot.cpp.

Friends And Related Function Documentation

◆ QCustomPlot

friend class QCustomPlot
friend

Definition at line 1144 of file qcustomplot.h.

Member Data Documentation

◆ mActive

bool QCPSelectionRect::mActive
protected

Definition at line 1132 of file qcustomplot.h.

◆ mBrush

QBrush QCPSelectionRect::mBrush
protected

Definition at line 1130 of file qcustomplot.h.

◆ mPen

QPen QCPSelectionRect::mPen
protected

Definition at line 1129 of file qcustomplot.h.

◆ mRect

QRect QCPSelectionRect::mRect
protected

Definition at line 1128 of file qcustomplot.h.


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


graph_rviz_plugin
Author(s): Édouard Pronier, Victor Lamoine - Institut Maupertuis
autogenerated on Mon Feb 28 2022 22:27:31