ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
QCPAxisRect Class Reference

Holds multiple axes and arranges them in a rectangular shape. More...

#include <qcustomplot.h>

Inheritance diagram for QCPAxisRect:
Collaboration diagram for QCPAxisRect:

Public Member Functions

 QCPAxisRect (QCustomPlot *parentPlot, bool setupDefaultAxes=true)
 
virtual ~QCPAxisRect ()
 
QPixmap background () const
 
QBrush backgroundBrush () const
 
bool backgroundScaled () const
 
Qt::AspectRatioMode backgroundScaledMode () const
 
Qt::Orientations rangeDrag () const
 
Qt::Orientations rangeZoom () const
 
QCPAxisrangeDragAxis (Qt::Orientation orientation)
 
QCPAxisrangeZoomAxis (Qt::Orientation orientation)
 
QList< QCPAxis * > rangeDragAxes (Qt::Orientation orientation)
 
QList< QCPAxis * > rangeZoomAxes (Qt::Orientation orientation)
 
double rangeZoomFactor (Qt::Orientation orientation)
 
void setBackground (const QPixmap &pm)
 
void setBackground (const QPixmap &pm, bool scaled, Qt::AspectRatioMode mode=Qt::KeepAspectRatioByExpanding)
 
void setBackground (const QBrush &brush)
 
void setBackgroundScaled (bool scaled)
 
void setBackgroundScaledMode (Qt::AspectRatioMode mode)
 
void setRangeDrag (Qt::Orientations orientations)
 
void setRangeZoom (Qt::Orientations orientations)
 
void setRangeDragAxes (QCPAxis *horizontal, QCPAxis *vertical)
 
void setRangeDragAxes (QList< QCPAxis * > axes)
 
void setRangeDragAxes (QList< QCPAxis * > horizontal, QList< QCPAxis * > vertical)
 
void setRangeZoomAxes (QCPAxis *horizontal, QCPAxis *vertical)
 
void setRangeZoomAxes (QList< QCPAxis * > axes)
 
void setRangeZoomAxes (QList< QCPAxis * > horizontal, QList< QCPAxis * > vertical)
 
void setRangeZoomFactor (double horizontalFactor, double verticalFactor)
 
void setRangeZoomFactor (double factor)
 
int axisCount (QCPAxis::AxisType type) const
 
QCPAxisaxis (QCPAxis::AxisType type, int index=0) const
 
QList< QCPAxis * > axes (QCPAxis::AxisTypes types) const
 
QList< QCPAxis * > axes () const
 
QCPAxisaddAxis (QCPAxis::AxisType type, QCPAxis *axis=0)
 
QList< QCPAxis * > addAxes (QCPAxis::AxisTypes types)
 
bool removeAxis (QCPAxis *axis)
 
QCPLayoutInsetinsetLayout () const
 
void zoom (const QRectF &pixelRect)
 
void zoom (const QRectF &pixelRect, const QList< QCPAxis * > &affectedAxes)
 
void setupFullAxesBox (bool connectRanges=false)
 
QList< QCPAbstractPlottable * > plottables () const
 
QList< QCPGraph * > graphs () const
 
QList< QCPAbstractItem * > items () const
 
int left () const
 
int right () const
 
int top () const
 
int bottom () const
 
int width () const
 
int height () const
 
QSize size () const
 
QPoint topLeft () const
 
QPoint topRight () const
 
QPoint bottomLeft () const
 
QPoint bottomRight () const
 
QPoint center () const
 
virtual void update (UpdatePhase phase)
 
virtual QList< QCPLayoutElement * > elements (bool recursive) const
 
 QCPAxisRect (QCustomPlot *parentPlot, bool setupDefaultAxes=true)
 
virtual ~QCPAxisRect ()
 
QPixmap background () const
 
bool backgroundScaled () const
 
Qt::AspectRatioMode backgroundScaledMode () const
 
Qt::Orientations rangeDrag () const
 
Qt::Orientations rangeZoom () const
 
QCPAxisrangeDragAxis (Qt::Orientation orientation)
 
QCPAxisrangeZoomAxis (Qt::Orientation orientation)
 
double rangeZoomFactor (Qt::Orientation orientation)
 
void setBackground (const QPixmap &pm)
 
void setBackground (const QPixmap &pm, bool scaled, Qt::AspectRatioMode mode=Qt::KeepAspectRatioByExpanding)
 
void setBackground (const QBrush &brush)
 
void setBackgroundScaled (bool scaled)
 
void setBackgroundScaledMode (Qt::AspectRatioMode mode)
 
void setRangeDrag (Qt::Orientations orientations)
 
void setRangeZoom (Qt::Orientations orientations)
 
void setRangeDragAxes (QCPAxis *horizontal, QCPAxis *vertical)
 
void setRangeZoomAxes (QCPAxis *horizontal, QCPAxis *vertical)
 
void setRangeZoomFactor (double horizontalFactor, double verticalFactor)
 
void setRangeZoomFactor (double factor)
 
int axisCount (QCPAxis::AxisType type) const
 
QCPAxisaxis (QCPAxis::AxisType type, int index=0) const
 
QList< QCPAxis * > axes (QCPAxis::AxisTypes types) const
 
QList< QCPAxis * > axes () const
 
QCPAxisaddAxis (QCPAxis::AxisType type, QCPAxis *axis=0)
 
QList< QCPAxis * > addAxes (QCPAxis::AxisTypes types)
 
bool removeAxis (QCPAxis *axis)
 
QCPLayoutInsetinsetLayout () const
 
void setupFullAxesBox (bool connectRanges=false)
 
QList< QCPAbstractPlottable * > plottables () const
 
QList< QCPGraph * > graphs () const
 
QList< QCPAbstractItem * > items () const
 
int left () const
 
int right () const
 
int top () const
 
int bottom () const
 
int width () const
 
int height () const
 
QSize size () const
 
QPoint topLeft () const
 
QPoint topRight () const
 
QPoint bottomLeft () const
 
QPoint bottomRight () const
 
QPoint center () const
 
virtual void update (UpdatePhase phase)
 
virtual QList< QCPLayoutElement * > elements (bool recursive) const
 
- Public Member Functions inherited from QCPLayoutElement
 QCPLayoutElement (QCustomPlot *parentPlot=0)
 
virtual ~QCPLayoutElement ()
 
QCPLayoutlayout () const
 
QRect rect () const
 
QRect outerRect () const
 
QMargins margins () const
 
QMargins minimumMargins () const
 
QCP::MarginSides autoMargins () const
 
QSize minimumSize () const
 
QSize maximumSize () const
 
SizeConstraintRect sizeConstraintRect () const
 
QCPMarginGroupmarginGroup (QCP::MarginSide side) const
 
QHash< QCP::MarginSide, QCPMarginGroup * > marginGroups () const
 
void setOuterRect (const QRect &rect)
 
void setMargins (const QMargins &margins)
 
void setMinimumMargins (const QMargins &margins)
 
void setAutoMargins (QCP::MarginSides sides)
 
void setMinimumSize (const QSize &size)
 
void setMinimumSize (int width, int height)
 
void setMaximumSize (const QSize &size)
 
void setMaximumSize (int width, int height)
 
void setSizeConstraintRect (SizeConstraintRect constraintRect)
 
void setMarginGroup (QCP::MarginSides sides, QCPMarginGroup *group)
 
virtual QSize minimumOuterSizeHint () const
 
virtual QSize maximumOuterSizeHint () const
 
virtual double selectTest (const QPointF &pos, bool onlySelectable, QVariant *details=0) const
 
 QCPLayoutElement (QCustomPlot *parentPlot=0)
 
virtual ~QCPLayoutElement ()
 
QCPLayoutlayout () const
 
QRect rect () const
 
QRect outerRect () const
 
QMargins margins () const
 
QMargins minimumMargins () const
 
QCP::MarginSides autoMargins () const
 
QSize minimumSize () const
 
QSize maximumSize () const
 
QCPMarginGroupmarginGroup (QCP::MarginSide side) const
 
QHash< QCP::MarginSide, QCPMarginGroup * > marginGroups () const
 
void setOuterRect (const QRect &rect)
 
void setMargins (const QMargins &margins)
 
void setMinimumMargins (const QMargins &margins)
 
void setAutoMargins (QCP::MarginSides sides)
 
void setMinimumSize (const QSize &size)
 
void setMinimumSize (int width, int height)
 
void setMaximumSize (const QSize &size)
 
void setMaximumSize (int width, int height)
 
void setMarginGroup (QCP::MarginSides sides, QCPMarginGroup *group)
 
virtual QSize minimumSizeHint () const
 
virtual QSize maximumSizeHint () const
 
virtual double selectTest (const QPointF &pos, bool onlySelectable, QVariant *details=0) const
 
- Public Member Functions inherited from QCPLayerable
 QCPLayerable (QCustomPlot *plot, QString targetLayer=QString(), QCPLayerable *parentLayerable=0)
 
virtual ~QCPLayerable ()
 
bool visible () const
 
QCustomPlotparentPlot () const
 
QCPLayerableparentLayerable () const
 
QCPLayerlayer () const
 
bool antialiased () const
 
void setVisible (bool on)
 
Q_SLOT bool setLayer (QCPLayer *layer)
 
bool setLayer (const QString &layerName)
 
void setAntialiased (bool enabled)
 
bool realVisibility () const
 
 QCPLayerable (QCustomPlot *plot, QString targetLayer=QString(), QCPLayerable *parentLayerable=0)
 
 ~QCPLayerable ()
 
bool visible () const
 
QCustomPlotparentPlot () const
 
QCPLayerableparentLayerable () const
 
QCPLayerlayer () const
 
bool antialiased () const
 
void setVisible (bool on)
 
Q_SLOT bool setLayer (QCPLayer *layer)
 
bool setLayer (const QString &layerName)
 
void setAntialiased (bool enabled)
 
bool realVisibility () const
 

Protected Member Functions

virtual void applyDefaultAntialiasingHint (QCPPainter *painter) const
 
virtual void draw (QCPPainter *painter)
 
virtual int calculateAutoMargin (QCP::MarginSide side)
 
virtual void layoutChanged ()
 
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 wheelEvent (QWheelEvent *event)
 
void drawBackground (QCPPainter *painter)
 
void updateAxesOffset (QCPAxis::AxisType type)
 
virtual void applyDefaultAntialiasingHint (QCPPainter *painter) const
 
virtual void draw (QCPPainter *painter)
 
virtual int calculateAutoMargin (QCP::MarginSide side)
 
virtual void mousePressEvent (QMouseEvent *event)
 
virtual void mouseMoveEvent (QMouseEvent *event)
 
virtual void mouseReleaseEvent (QMouseEvent *event)
 
virtual void wheelEvent (QWheelEvent *event)
 
void drawBackground (QCPPainter *painter)
 
void updateAxesOffset (QCPAxis::AxisType type)
 
- Protected Member Functions inherited from QCPLayoutElement
virtual void parentPlotInitialized (QCustomPlot *parentPlot)
 
virtual void mouseDoubleClickEvent (QMouseEvent *event)
 
virtual void parentPlotInitialized (QCustomPlot *parentPlot)
 
- Protected Member Functions inherited from QCPLayerable
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 mouseDoubleClickEvent (QMouseEvent *event, const QVariant &details)
 
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 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

QBrush mBackgroundBrush
 
QPixmap mBackgroundPixmap
 
QPixmap mScaledBackgroundPixmap
 
bool mBackgroundScaled
 
Qt::AspectRatioMode mBackgroundScaledMode
 
QCPLayoutInsetmInsetLayout
 
Qt::Orientations mRangeDrag
 
Qt::Orientations mRangeZoom
 
QList< QPointer< QCPAxis > > mRangeDragHorzAxis
 
QList< QPointer< QCPAxis > > mRangeDragVertAxis
 
QList< QPointer< QCPAxis > > mRangeZoomHorzAxis
 
QList< QPointer< QCPAxis > > mRangeZoomVertAxis
 
double mRangeZoomFactorHorz
 
double mRangeZoomFactorVert
 
QList< QCPRangemDragStartHorzRange
 
QList< QCPRangemDragStartVertRange
 
QCP::AntialiasedElements mAADragBackup
 
QCP::AntialiasedElements mNotAADragBackup
 
bool mDragging
 
QHash< QCPAxis::AxisType, QList< QCPAxis * > > mAxes
 
QPointer< QCPAxismRangeDragHorzAxis
 
QPointer< QCPAxismRangeDragVertAxis
 
QPointer< QCPAxismRangeZoomHorzAxis
 
QPointer< QCPAxismRangeZoomVertAxis
 
QCPRange mDragStartHorzRange
 
QCPRange mDragStartVertRange
 
QPoint mDragStart
 
- Protected Attributes inherited from QCPLayoutElement
QCPLayoutmParentLayout
 
QSize mMinimumSize
 
QSize mMaximumSize
 
SizeConstraintRect mSizeConstraintRect
 
QRect mRect
 
QRect mOuterRect
 
QMargins mMargins
 
QMargins mMinimumMargins
 
QCP::MarginSides mAutoMargins
 
QHash< QCP::MarginSide, QCPMarginGroup * > mMarginGroups
 
- Protected Attributes inherited from QCPLayerable
bool mVisible
 
QCustomPlotmParentPlot
 
QPointer< QCPLayerablemParentLayerable
 
QCPLayermLayer
 
bool mAntialiased
 

Additional Inherited Members

- Public Types inherited from QCPLayoutElement
enum  UpdatePhase {
  upPreparation , upMargins , upLayout , upPreparation ,
  upMargins , upLayout
}
 
enum  SizeConstraintRect { scrInnerRect , scrOuterRect }
 
enum  UpdatePhase {
  upPreparation , upMargins , upLayout , upPreparation ,
  upMargins , upLayout
}
 
- Signals inherited from QCPLayerable
void layerChanged (QCPLayer *newLayer)
 
void layerChanged (QCPLayer *newLayer)
 

Detailed Description

Holds multiple axes and arranges them in a rectangular shape.

This class represents an axis rect, a rectangular area that is bounded on all sides with an arbitrary number of axes.

Initially QCustomPlot has one axis rect, accessible via QCustomPlot::axisRect(). However, the layout system allows to have multiple axis rects, e.g. arranged in a grid layout (QCustomPlot::plotLayout).

By default, QCPAxisRect comes with four axes, at bottom, top, left and right. They can be accessed via axis by providing the respective axis type (QCPAxis::AxisType) and index. If you need all axes in the axis rect, use axes. The top and right axes are set to be invisible initially (QCPAxis::setVisible). To add more axes to a side, use addAxis or addAxes. To remove an axis, use removeAxis.

The axis rect layerable itself only draws a background pixmap or color, if specified (setBackground). It is placed on the "background" layer initially (see QCPLayer for an explanation of the QCustomPlot layer system). The axes that are held by the axis rect can be placed on other layers, independently of the axis rect.

Every axis rect has a child layout of type QCPLayoutInset. It is accessible via insetLayout and can be used to have other layout elements (or even other layouts with multiple elements) hovering inside the axis rect.

If an axis rect is clicked and dragged, it processes this by moving certain axis ranges. The behaviour can be controlled with setRangeDrag and setRangeDragAxes. If the mouse wheel is scrolled while the cursor is on the axis rect, certain axes are scaled. This is controllable via setRangeZoom, setRangeZoomAxes and setRangeZoomFactor. These interactions are only enabled if QCustomPlot::setInteractions contains QCP::iRangeDrag and QCP::iRangeZoom.

Overview of the spacings and paddings that define the geometry of an axis. The dashed line on the far left indicates the viewport/widget border.

Definition at line 5375 of file qcustomplot.h.

Constructor & Destructor Documentation

◆ QCPAxisRect() [1/2]

QCPAxisRect::QCPAxisRect ( QCustomPlot parentPlot,
bool  setupDefaultAxes = true 
)
explicit

◆ ~QCPAxisRect() [1/2]

QCPAxisRect::~QCPAxisRect ( )
virtual

Definition at line 17563 of file qcustomplot.cpp.

References axes(), mInsetLayout, and removeAxis().

◆ QCPAxisRect() [2/2]

QCPAxisRect::QCPAxisRect ( QCustomPlot parentPlot,
bool  setupDefaultAxes = true 
)
explicit

◆ ~QCPAxisRect() [2/2]

virtual QCPAxisRect::~QCPAxisRect ( )
virtual

Member Function Documentation

◆ addAxes() [1/2]

QList< QCPAxis * > QCPAxisRect::addAxes ( QCPAxis::AxisTypes  types)

Adds a new axis with addAxis to each axis rect side specified in types. This may be an or-combination of QCPAxis::AxisType, so axes can be added to multiple sides at once.

Returns a list of the added axes.

See also
addAxis, setupFullAxesBox

Definition at line 17723 of file qcustomplot.cpp.

References addAxis(), QCPAxis::atBottom, QCPAxis::atLeft, QCPAxis::atRight, QCPAxis::atTop, and result.

◆ addAxes() [2/2]

QList<QCPAxis *> QCPAxisRect::addAxes ( QCPAxis::AxisTypes  types)

◆ addAxis() [1/2]

QCPAxis * QCPAxisRect::addAxis ( QCPAxis::AxisType  type,
QCPAxis axis = 0 
)

Adds a new axis to the axis rect side specified with type, and returns it. If axis is 0, a new QCPAxis instance is created internally. QCustomPlot owns the returned axis, so if you want to remove an axis, use removeAxis instead of deleting it manually.

You may inject QCPAxis instances (or subclasses of QCPAxis) by setting axis to an axis that was previously created outside QCustomPlot. It is important to note that QCustomPlot takes ownership of the axis, so you may not delete it afterwards. Further, the axis must have been created with this axis rect as parent and with the same axis type as specified in type. If this is not the case, a debug output is generated, the axis is not added, and the method returns 0.

This method can not be used to move axis between axis rects. The same axis instance must not be added multiple times to the same or different axis rects.

If an axis rect side already contains one or more axes, the lower and upper endings of the new axis (QCPAxis::setLowerEnding, QCPAxis::setUpperEnding) are set to QCPLineEnding::esHalfBar.

See also
addAxes, setupFullAxesBox

Adds a new axis to the axis rect side specified with type, and returns it. If axis is 0, a new QCPAxis instance is created internally.

You may inject QCPAxis instances (or sublasses of QCPAxis) by setting axis to an axis that was previously created outside QCustomPlot. It is important to note that QCustomPlot takes ownership of the axis, so you may not delete it afterwards. Further, the axis must have been created with this axis rect as parent and with the same axis type as specified in type. If this is not the case, a debug output is generated, the axis is not added, and the method returns 0.

This method can not be used to move axis between axis rects. The same axis instance must not be added multiple times to the same or different axis rects.

If an axis rect side already contains one or more axes, the lower and upper endings of the new axis (QCPAxis::setLowerEnding, QCPAxis::setUpperEnding) are set to QCPLineEnding::esHalfBar.

See also
addAxes, setupFullAxesBox

Definition at line 17653 of file qcustomplot.cpp.

References QCPAxis::atBottom, QCPAxis::atLeft, QCPAxis::atRight, QCPAxis::atTop, axes(), axis(), QCPAxis::axisRect(), QCustomPlot::axisRect(), QCustomPlot::axisRectCount(), QCPAxis::axisType(), QCPLineEnding::esHalfBar, mAxes, QCPLayerable::mParentPlot, QCPAxis::setLowerEnding(), QCPAxis::setUpperEnding(), size(), type, QCustomPlot::xAxis, QCustomPlot::xAxis2, QCustomPlot::yAxis, and QCustomPlot::yAxis2.

Referenced by addAxes(), QCPAxisRect(), and setupFullAxesBox().

◆ addAxis() [2/2]

QCPAxis* QCPAxisRect::addAxis ( QCPAxis::AxisType  type,
QCPAxis axis = 0 
)

◆ applyDefaultAntialiasingHint() [1/2]

void QCPAxisRect::applyDefaultAntialiasingHint ( QCPPainter painter) const
protectedvirtual

Reimplemented from QCPLayoutElement.

Definition at line 18002 of file qcustomplot.cpp.

References QCPPainter::setAntialiasing().

◆ applyDefaultAntialiasingHint() [2/2]

virtual void QCPAxisRect::applyDefaultAntialiasingHint ( QCPPainter painter) const
protectedvirtual

Reimplemented from QCPLayoutElement.

◆ axes() [1/4]

QList< QCPAxis * > QCPAxisRect::axes ( ) const

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Returns all axes of this axis rect.

Definition at line 17619 of file qcustomplot.cpp.

References mAxes, and result.

Referenced by addAxis(), setRangeDragAxes(), setRangeZoomAxes(), update(), zoom(), and ~QCPAxisRect().

◆ axes() [2/4]

QList<QCPAxis *> QCPAxisRect::axes ( ) const

◆ axes() [3/4]

QList< QCPAxis * > QCPAxisRect::axes ( QCPAxis::AxisTypes  types) const

Returns all axes on the axis rect sides specified with types.

types may be a single QCPAxis::AxisType or an or-combination, to get the axes of multiple sides.

See also
axis

Definition at line 17604 of file qcustomplot.cpp.

References QCPAxis::atBottom, QCPAxis::atLeft, QCPAxis::atRight, QCPAxis::atTop, mAxes, and result.

Referenced by QCustomPlot::rescaleAxes(), and QCustomPlot::selectedAxes().

◆ axes() [4/4]

QList<QCPAxis *> QCPAxisRect::axes ( QCPAxis::AxisTypes  types) const

◆ axis() [1/2]

QCPAxis * QCPAxisRect::axis ( QCPAxis::AxisType  type,
int  index = 0 
) const

Returns the axis with the given index on the axis rect side specified with type.

See also
axisCount, axes

Definition at line 17586 of file qcustomplot.cpp.

References mAxes, and type.

Referenced by addAxis(), layoutChanged(), QCustomPlot::QCustomPlot(), removeAxis(), setupFullAxesBox(), wheelEvent(), and zoom().

◆ axis() [2/2]

QCPAxis* QCPAxisRect::axis ( QCPAxis::AxisType  type,
int  index = 0 
) const

◆ axisCount() [1/2]

int QCPAxisRect::axisCount ( QCPAxis::AxisType  type) const

Returns the number of axes on the axis rect side specified with type.

See also
axis

Definition at line 17576 of file qcustomplot.cpp.

References mAxes, and type.

Referenced by layoutChanged(), and setupFullAxesBox().

◆ axisCount() [2/2]

int QCPAxisRect::axisCount ( QCPAxis::AxisType  type) const

◆ background() [1/2]

QPixmap QCPAxisRect::background ( ) const
inline

Definition at line 5391 of file qcustomplot.h.

◆ background() [2/2]

QPixmap QCPAxisRect::background ( ) const
inline

Definition at line 2444 of file qcustomplot.h.

◆ backgroundBrush()

QBrush QCPAxisRect::backgroundBrush ( ) const
inline

Definition at line 5392 of file qcustomplot.h.

◆ backgroundScaled() [1/2]

bool QCPAxisRect::backgroundScaled ( ) const
inline

Definition at line 5393 of file qcustomplot.h.

◆ backgroundScaled() [2/2]

bool QCPAxisRect::backgroundScaled ( ) const
inline

Definition at line 2445 of file qcustomplot.h.

◆ backgroundScaledMode() [1/2]

Qt::AspectRatioMode QCPAxisRect::backgroundScaledMode ( ) const
inline

Definition at line 5394 of file qcustomplot.h.

◆ backgroundScaledMode() [2/2]

Qt::AspectRatioMode QCPAxisRect::backgroundScaledMode ( ) const
inline

Definition at line 2446 of file qcustomplot.h.

◆ bottom() [1/2]

int QCPAxisRect::bottom ( ) const
inline

Returns the pixel position of the bottom border of this axis rect. Margins are not taken into account here, so the returned value is with respect to the inner rect.

Definition at line 5448 of file qcustomplot.h.

Referenced by QCPAxis::coordToPixel(), QCPGrid::drawGridLines(), QCPGrid::drawSubGridLines(), QCPGraph::getFillBasePoint(), QCPGraph::lowerFillBasePoint(), QCPAxis::pixelToCoord(), and QCPGraph::upperFillBasePoint().

◆ bottom() [2/2]

int QCPAxisRect::bottom ( ) const
inline

Definition at line 2490 of file qcustomplot.h.

◆ bottomLeft() [1/2]

QPoint QCPAxisRect::bottomLeft ( ) const
inline

Returns the bottom left corner of this axis rect in pixels. Margins are not taken into account here, so the returned value is with respect to the inner rect.

Definition at line 5454 of file qcustomplot.h.

◆ bottomLeft() [2/2]

QPoint QCPAxisRect::bottomLeft ( ) const
inline

Definition at line 2496 of file qcustomplot.h.

◆ bottomRight() [1/2]

QPoint QCPAxisRect::bottomRight ( ) const
inline

Returns the bottom right corner of this axis rect in pixels. Margins are not taken into account here, so the returned value is with respect to the inner rect.

Definition at line 5455 of file qcustomplot.h.

◆ bottomRight() [2/2]

QPoint QCPAxisRect::bottomRight ( ) const
inline

Definition at line 2497 of file qcustomplot.h.

◆ calculateAutoMargin() [1/2]

int QCPAxisRect::calculateAutoMargin ( QCP::MarginSide  side)
protectedvirtual

◆ calculateAutoMargin() [2/2]

virtual int QCPAxisRect::calculateAutoMargin ( QCP::MarginSide  side)
protectedvirtual

Reimplemented from QCPLayoutElement.

◆ center() [1/2]

QPoint QCPAxisRect::center ( ) const
inline

Returns the center of this axis rect in pixels. Margins are not taken into account here, so the returned value is with respect to the inner rect.

Definition at line 5456 of file qcustomplot.h.

◆ center() [2/2]

QPoint QCPAxisRect::center ( ) const
inline

Definition at line 2498 of file qcustomplot.h.

◆ draw() [1/2]

void QCPAxisRect::draw ( QCPPainter painter)
protectedvirtual

Reimplemented from QCPLayoutElement.

Definition at line 18007 of file qcustomplot.cpp.

References drawBackground().

◆ draw() [2/2]

virtual void QCPAxisRect::draw ( QCPPainter painter)
protectedvirtual

Reimplemented from QCPLayoutElement.

◆ drawBackground() [1/2]

void QCPAxisRect::drawBackground ( QCPPainter painter)
protected

◆ drawBackground() [2/2]

void QCPAxisRect::drawBackground ( QCPPainter painter)
protected

◆ elements() [1/2]

QList< QCPLayoutElement * > QCPAxisRect::elements ( bool  recursive) const
virtual

Returns a list of all child elements in this layout element. If recursive is true, all sub-child elements are included in the list, too.

Warning
There may be entries with value 0 in the returned list. (For example, QCPLayoutGrid may have empty cells which yield 0 at the respective index.)

Reimplemented from QCPLayoutElement.

Definition at line 17992 of file qcustomplot.cpp.

References QCPLayout::elements(), mInsetLayout, and result.

◆ elements() [2/2]

virtual QList<QCPLayoutElement *> QCPAxisRect::elements ( bool  recursive) const
virtual

Returns a list of all child elements in this layout element. If recursive is true, all sub-child elements are included in the list, too.

Warning
There may be entries with value 0 in the returned list. (For example, QCPLayoutGrid may have empty cells which yield 0 at the respective index.)

Reimplemented from QCPLayoutElement.

◆ graphs() [1/2]

QList< QCPGraph * > QCPAxisRect::graphs ( ) const

Returns a list of all the graphs that are associated with this axis rect.

A graph is considered associated with an axis rect if its key or value axis (or both) is in this axis rect.

See also
plottables, items

Definition at line 17911 of file qcustomplot.cpp.

References QCustomPlot::mGraphs, QCPLayerable::mParentPlot, and result.

◆ graphs() [2/2]

QList<QCPGraph *> QCPAxisRect::graphs ( ) const

◆ height() [1/2]

int QCPAxisRect::height ( ) const
inline

Returns the pixel height of this axis rect. Margins are not taken into account here, so the returned value is with respect to the inner rect.

Definition at line 5450 of file qcustomplot.h.

Referenced by QCPAxis::coordToPixel(), QCPAxis::pixelToCoord(), and QCPAxis::setScaleRatio().

◆ height() [2/2]

int QCPAxisRect::height ( ) const
inline

Definition at line 2492 of file qcustomplot.h.

◆ insetLayout() [1/2]

QCPLayoutInset * QCPAxisRect::insetLayout ( ) const
inline

Returns the inset layout of this axis rect. It can be used to place other layout elements (or even layouts with multiple other elements) inside/on top of an axis rect.

See also
QCPLayoutInset

Definition at line 5435 of file qcustomplot.h.

Referenced by QCustomPlot::QCustomPlot().

◆ insetLayout() [2/2]

QCPLayoutInset* QCPAxisRect::insetLayout ( ) const
inline

Definition at line 2479 of file qcustomplot.h.

◆ items() [1/2]

QList< QCPAbstractItem * > QCPAxisRect::items ( ) const

Returns a list of all the items that are associated with this axis rect.

An item is considered associated with an axis rect if any of its positions has key or value axis set to an axis that is in this axis rect, or if any of its positions has QCPItemPosition::setAxisRect set to the axis rect, or if the clip axis rect (QCPAbstractItem::setClipAxisRect) is set to this axis rect.

See also
plottables, graphs

Definition at line 17934 of file qcustomplot.cpp.

References QCustomPlot::mItems, QCPLayerable::mParentPlot, and result.

◆ items() [2/2]

QList<QCPAbstractItem *> QCPAxisRect::items ( ) const

◆ layoutChanged()

◆ left() [1/2]

int QCPAxisRect::left ( ) const
inline

Returns the pixel position of the left border of this axis rect. Margins are not taken into account here, so the returned value is with respect to the inner rect.

Definition at line 5445 of file qcustomplot.h.

Referenced by QCPAxis::coordToPixel(), QCPGrid::drawGridLines(), QCPGrid::drawSubGridLines(), QCPGraph::getFillBasePoint(), QCPGraph::lowerFillBasePoint(), QCPAxis::pixelToCoord(), and QCPGraph::upperFillBasePoint().

◆ left() [2/2]

int QCPAxisRect::left ( ) const
inline

Definition at line 2487 of file qcustomplot.h.

◆ mouseMoveEvent() [1/2]

void QCPAxisRect::mouseMoveEvent ( QMouseEvent *  event)
protectedvirtual

◆ mouseMoveEvent() [2/2]

void QCPAxisRect::mouseMoveEvent ( QMouseEvent *  event,
const QPointF &  startPos 
)
protectedvirtual

This event gets called when the user moves the mouse while holding a mouse button, after this layerable has become the mouse grabber by accepting the preceding mousePressEvent.

The current pixel position of the cursor on the QCustomPlot widget is accessible via event->pos(). The parameter startPos indicates the position where the initial mousePressEvent occured, that started the mouse interaction.

The default implementation does nothing.

See also
mousePressEvent, mouseReleaseEvent, mouseDoubleClickEvent, wheelEvent

Reimplemented from QCPLayerable.

Definition at line 18556 of file qcustomplot.cpp.

References QCP::aeAll, event, QCustomPlot::interactions(), QCP::iRangeDrag, mDragging, mDragStartHorzRange, mDragStartVertRange, QCPLayerable::mParentPlot, mRangeDrag, mRangeDragHorzAxis, mRangeDragVertAxis, QCPAxis::mScaleType, QCustomPlot::noAntialiasingOnDrag(), QCPAxis::pixelToCoord(), QCustomPlot::replot(), QCustomPlot::rpQueuedReplot, QCustomPlot::setNotAntialiasedElements(), QCPAxis::setRange(), QCPAxis::stLinear, and QCPAxis::stLogarithmic.

◆ mousePressEvent() [1/2]

void QCPAxisRect::mousePressEvent ( QMouseEvent *  event)
protectedvirtual

◆ mousePressEvent() [2/2]

void QCPAxisRect::mousePressEvent ( QMouseEvent *  event,
const QVariant &  details 
)
protectedvirtual

This event gets called when the user presses a mouse button while the cursor is over the layerable. Whether a cursor is over the layerable is decided by a preceding call to selectTest.

The current pixel position of the cursor on the QCustomPlot widget is accessible via event->pos(). The parameter details contains layerable-specific details about the hit, which were generated in the previous call to selectTest. For example, One-dimensional plottables like QCPGraph or QCPBars convey the clicked data point in the details parameter, as QCPDataSelection packed as QVariant. Multi-part objects convey the specific SelectablePart that was hit (e.g. QCPAxis::SelectablePart in the case of axes).

QCustomPlot uses an event propagation system that works the same as Qt's system. If your layerable doesn't reimplement the mousePressEvent or explicitly calls event->ignore() in its reimplementation, the event will be propagated to the next layerable in the stacking order.

Once a layerable has accepted the mousePressEvent, it is considered the mouse grabber and will receive all following calls to mouseMoveEvent or mouseReleaseEvent for this mouse interaction (a "mouse interaction" in this context ends with the release).

The default implementation does nothing except explicitly ignoring the event with event->ignore().

See also
mouseMoveEvent, mouseReleaseEvent, mouseDoubleClickEvent, wheelEvent

Reimplemented from QCPLayerable.

Definition at line 18521 of file qcustomplot.cpp.

References QCustomPlot::antialiasedElements(), event, QCustomPlot::interactions(), QCP::iRangeDrag, mAADragBackup, mDragging, mDragStartHorzRange, mDragStartVertRange, mNotAADragBackup, QCPLayerable::mParentPlot, mRangeDragHorzAxis, mRangeDragVertAxis, QCustomPlot::noAntialiasingOnDrag(), and QCustomPlot::notAntialiasedElements().

◆ mouseReleaseEvent() [1/2]

void QCPAxisRect::mouseReleaseEvent ( QMouseEvent *  event)
protectedvirtual

This event is called, if the mouse was previously pressed inside the outer rect of this layout element and is now released.

Reimplemented from QCPLayoutElement.

Definition at line 12968 of file qcustomplot.cpp.

References event, mAADragBackup, mDragging, mNotAADragBackup, QCPLayerable::mParentPlot, QCustomPlot::noAntialiasingOnDrag(), QCustomPlot::setAntialiasedElements(), and QCustomPlot::setNotAntialiasedElements().

◆ mouseReleaseEvent() [2/2]

void QCPAxisRect::mouseReleaseEvent ( QMouseEvent *  event,
const QPointF &  startPos 
)
protectedvirtual

This event gets called when the user releases the mouse button, after this layerable has become the mouse grabber by accepting the preceding mousePressEvent.

The current pixel position of the cursor on the QCustomPlot widget is accessible via event->pos(). The parameter startPos indicates the position where the initial mousePressEvent occured, that started the mouse interaction.

The default implementation does nothing.

See also
mousePressEvent, mouseMoveEvent, mouseDoubleClickEvent, wheelEvent

Reimplemented from QCPLayerable.

Definition at line 18609 of file qcustomplot.cpp.

References event, mAADragBackup, mDragging, mNotAADragBackup, QCPLayerable::mParentPlot, QCustomPlot::noAntialiasingOnDrag(), QCustomPlot::setAntialiasedElements(), and QCustomPlot::setNotAntialiasedElements().

◆ plottables() [1/2]

QList< QCPAbstractPlottable * > QCPAxisRect::plottables ( ) const

Returns a list of all the plottables that are associated with this axis rect.

A plottable is considered associated with an axis rect if its key or value axis (or both) is in this axis rect.

See also
graphs, items

Definition at line 17891 of file qcustomplot.cpp.

References QCPLayerable::mParentPlot, QCustomPlot::mPlottables, and result.

◆ plottables() [2/2]

QList<QCPAbstractPlottable *> QCPAxisRect::plottables ( ) const

◆ rangeDrag() [1/2]

Qt::Orientations QCPAxisRect::rangeDrag ( ) const
inline

Definition at line 5397 of file qcustomplot.h.

Referenced by QCPAxis::mousePressEvent().

◆ rangeDrag() [2/2]

Qt::Orientations QCPAxisRect::rangeDrag ( ) const
inline

Definition at line 2449 of file qcustomplot.h.

◆ rangeDragAxes()

QList< QCPAxis * > QCPAxisRect::rangeDragAxes ( Qt::Orientation  orientation)

Returns all range drag axes of the orientation provided.

See also
rangeZoomAxis, setRangeZoomAxes

Definition at line 18129 of file qcustomplot.cpp.

References mRangeDragHorzAxis, mRangeDragVertAxis, and result.

Referenced by QCPAxis::mousePressEvent().

◆ rangeDragAxis() [1/2]

QCPAxis * QCPAxisRect::rangeDragAxis ( Qt::Orientation  orientation)

Returns the range drag axis of the orientation provided. If multiple axes were set, returns the first one (use rangeDragAxes to retrieve a list with all set axes).

See also
setRangeDragAxes

Returns the range drag axis of the orientation provided.

See also
setRangeDragAxes

Definition at line 18099 of file qcustomplot.cpp.

References mRangeDragHorzAxis, and mRangeDragVertAxis.

◆ rangeDragAxis() [2/2]

QCPAxis* QCPAxisRect::rangeDragAxis ( Qt::Orientation  orientation)

◆ rangeZoom() [1/2]

Qt::Orientations QCPAxisRect::rangeZoom ( ) const
inline

Definition at line 5398 of file qcustomplot.h.

Referenced by QCPAxis::wheelEvent().

◆ rangeZoom() [2/2]

Qt::Orientations QCPAxisRect::rangeZoom ( ) const
inline

Definition at line 2450 of file qcustomplot.h.

◆ rangeZoomAxes()

QList< QCPAxis * > QCPAxisRect::rangeZoomAxes ( Qt::Orientation  orientation)

Returns all range zoom axes of the orientation provided.

See also
rangeDragAxis, setRangeDragAxes

Definition at line 18150 of file qcustomplot.cpp.

References mRangeZoomHorzAxis, mRangeZoomVertAxis, and result.

Referenced by QCustomPlot::processRectZoom(), and QCPAxis::wheelEvent().

◆ rangeZoomAxis() [1/2]

QCPAxis * QCPAxisRect::rangeZoomAxis ( Qt::Orientation  orientation)

Returns the range zoom axis of the orientation provided. If multiple axes were set, returns the first one (use rangeZoomAxes to retrieve a list with all set axes).

See also
setRangeZoomAxes

Returns the range zoom axis of the orientation provided.

See also
setRangeZoomAxes

Definition at line 18115 of file qcustomplot.cpp.

References mRangeZoomHorzAxis, and mRangeZoomVertAxis.

◆ rangeZoomAxis() [2/2]

QCPAxis* QCPAxisRect::rangeZoomAxis ( Qt::Orientation  orientation)

◆ rangeZoomFactor() [1/2]

double QCPAxisRect::rangeZoomFactor ( Qt::Orientation  orientation)

Returns the range zoom factor of the orientation provided.

See also
setRangeZoomFactor

Definition at line 18171 of file qcustomplot.cpp.

References mRangeZoomFactorHorz, and mRangeZoomFactorVert.

Referenced by QCPAxis::wheelEvent().

◆ rangeZoomFactor() [2/2]

double QCPAxisRect::rangeZoomFactor ( Qt::Orientation  orientation)

◆ removeAxis() [1/2]

bool QCPAxisRect::removeAxis ( QCPAxis axis)

Removes the specified axis from the axis rect and deletes it.

Returns true on success, i.e. if axis was a valid axis in this axis rect.

See also
addAxis

Definition at line 17739 of file qcustomplot.cpp.

References axis(), QCustomPlot::axisRemoved(), mAxes, QCPAxis::offset(), and QCPLayerable::parentPlot().

Referenced by ~QCPAxisRect().

◆ removeAxis() [2/2]

bool QCPAxisRect::removeAxis ( QCPAxis axis)

◆ right() [1/2]

int QCPAxisRect::right ( ) const
inline

Returns the pixel position of the right border of this axis rect. Margins are not taken into account here, so the returned value is with respect to the inner rect.

Definition at line 5446 of file qcustomplot.h.

Referenced by QCPAxis::coordToPixel(), QCPGrid::drawGridLines(), QCPGrid::drawSubGridLines(), QCPGraph::getFillBasePoint(), QCPGraph::lowerFillBasePoint(), and QCPGraph::upperFillBasePoint().

◆ right() [2/2]

int QCPAxisRect::right ( ) const
inline

Definition at line 2488 of file qcustomplot.h.

◆ setBackground() [1/6]

void QCPAxisRect::setBackground ( const QBrush &  brush)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Sets brush as the background brush. The axis rect background will be filled with this brush. Since axis rects place themselves on the "background" layer by default, the axis rect backgrounds are usually drawn below everything else.

The brush will be drawn before (under) any background pixmap, which may be specified with setBackground(const QPixmap &pm).

To disable drawing of a background brush, set brush to Qt::NoBrush.

See also
setBackground(const QPixmap &pm)

Definition at line 18045 of file qcustomplot.cpp.

References mBackgroundBrush.

◆ setBackground() [2/6]

void QCPAxisRect::setBackground ( const QBrush &  brush)

◆ setBackground() [3/6]

void QCPAxisRect::setBackground ( const QPixmap &  pm)

Sets pm as the axis background pixmap. The axis background pixmap will be drawn inside the axis rect. Since axis rects place themselves on the "background" layer by default, the axis rect backgrounds are usually drawn below everything else.

For cases where the provided pixmap doesn't have the same size as the axis rect, scaling can be enabled with setBackgroundScaled and the scaling mode (i.e. whether and how the aspect ratio is preserved) can be set with setBackgroundScaledMode. To set all these options in one call, consider using the overloaded version of this function.

Below the pixmap, the axis rect may be optionally filled with a brush, if specified with setBackground(const QBrush &brush).

See also
setBackgroundScaled, setBackgroundScaledMode, setBackground(const QBrush &brush)

Definition at line 18027 of file qcustomplot.cpp.

References mBackgroundPixmap, and mScaledBackgroundPixmap.

◆ setBackground() [4/6]

void QCPAxisRect::setBackground ( const QPixmap &  pm)

◆ setBackground() [5/6]

void QCPAxisRect::setBackground ( const QPixmap &  pm,
bool  scaled,
Qt::AspectRatioMode  mode = Qt::KeepAspectRatioByExpanding 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Allows setting the background pixmap of the axis rect, whether it shall be scaled and how it shall be scaled in one call.

See also
setBackground(const QPixmap &pm), setBackgroundScaled, setBackgroundScaledMode

Definition at line 18057 of file qcustomplot.cpp.

References mBackgroundPixmap, mBackgroundScaled, mBackgroundScaledMode, and mScaledBackgroundPixmap.

◆ setBackground() [6/6]

void QCPAxisRect::setBackground ( const QPixmap &  pm,
bool  scaled,
Qt::AspectRatioMode  mode = Qt::KeepAspectRatioByExpanding 
)

◆ setBackgroundScaled() [1/2]

void QCPAxisRect::setBackgroundScaled ( bool  scaled)

Sets whether the axis background pixmap shall be scaled to fit the axis rect or not. If scaled is set to true, you may control whether and how the aspect ratio of the original pixmap is preserved with setBackgroundScaledMode.

Note that the scaled version of the original pixmap is buffered, so there is no performance penalty on replots. (Except when the axis rect dimensions are changed continuously.)

See also
setBackground, setBackgroundScaledMode

Definition at line 18078 of file qcustomplot.cpp.

References mBackgroundScaled.

◆ setBackgroundScaled() [2/2]

void QCPAxisRect::setBackgroundScaled ( bool  scaled)

◆ setBackgroundScaledMode() [1/2]

void QCPAxisRect::setBackgroundScaledMode ( Qt::AspectRatioMode  mode)

If scaling of the axis background pixmap is enabled (setBackgroundScaled), use this function to define whether and how the aspect ratio of the original pixmap passed to setBackground is preserved.

See also
setBackground, setBackgroundScaled

Definition at line 18088 of file qcustomplot.cpp.

References mBackgroundScaledMode.

◆ setBackgroundScaledMode() [2/2]

void QCPAxisRect::setBackgroundScaledMode ( Qt::AspectRatioMode  mode)

◆ setRangeDrag() [1/2]

void QCPAxisRect::setRangeDrag ( Qt::Orientations  orientations)

Sets which axis orientation may be range dragged by the user with mouse interaction. What orientation corresponds to which specific axis can be set with setRangeDragAxes(QCPAxis *horizontal, QCPAxis *vertical). By default, the horizontal axis is the bottom axis (xAxis) and the vertical axis is the left axis (yAxis).

To disable range dragging entirely, pass 0 as orientations or remove QCP::iRangeDrag from QCustomPlot::setInteractions. To enable range dragging for both directions, pass Qt::Horizontal | Qt::Vertical as orientations.

In addition to setting orientations to a non-zero value, make sure QCustomPlot::setInteractions contains QCP::iRangeDrag to enable the range dragging interaction.

See also
setRangeZoom, setRangeDragAxes, QCustomPlot::setNoAntialiasingOnDrag

Definition at line 18194 of file qcustomplot.cpp.

References mRangeDrag.

◆ setRangeDrag() [2/2]

void QCPAxisRect::setRangeDrag ( Qt::Orientations  orientations)

◆ setRangeDragAxes() [1/4]

void QCPAxisRect::setRangeDragAxes ( QCPAxis horizontal,
QCPAxis vertical 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Sets the axes whose range will be dragged when setRangeDrag enables mouse range dragging on the QCustomPlot widget. Pass 0 if no axis shall be dragged in the respective orientation.

Use the overload taking a list of axes, if multiple axes (more than one per orientation) shall react to dragging interactions.

See also
setRangeZoomAxes

Sets the axes whose range will be dragged when setRangeDrag enables mouse range dragging on the QCustomPlot widget.

See also
setRangeZoomAxes

Definition at line 18231 of file qcustomplot.cpp.

Referenced by QCPAxisRect(), and setRangeDragAxes().

◆ setRangeDragAxes() [2/4]

void QCPAxisRect::setRangeDragAxes ( QCPAxis horizontal,
QCPAxis vertical 
)

◆ setRangeDragAxes() [3/4]

void QCPAxisRect::setRangeDragAxes ( QList< QCPAxis * >  axes)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

This method allows to set up multiple axes to react to horizontal and vertical dragging. The drag orientation that the respective axis will react to is deduced from its orientation (QCPAxis::orientation).

In the unusual case that you wish to e.g. drag a vertically oriented axis with a horizontal drag motion, use the overload taking two separate lists for horizontal and vertical dragging.

Definition at line 18248 of file qcustomplot.cpp.

References axes(), QCPAxis::orientation(), and setRangeDragAxes().

◆ setRangeDragAxes() [4/4]

void QCPAxisRect::setRangeDragAxes ( QList< QCPAxis * >  horizontal,
QList< QCPAxis * >  vertical 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

This method allows to set multiple axes up to react to horizontal and vertical dragging, and define specifically which axis reacts to which drag orientation (irrespective of the axis orientation).

Definition at line 18265 of file qcustomplot.cpp.

References mRangeDragHorzAxis, and mRangeDragVertAxis.

◆ setRangeZoom() [1/2]

void QCPAxisRect::setRangeZoom ( Qt::Orientations  orientations)

Sets which axis orientation may be zoomed by the user with the mouse wheel. What orientation corresponds to which specific axis can be set with setRangeZoomAxes(QCPAxis *horizontal, QCPAxis *vertical). By default, the horizontal axis is the bottom axis (xAxis) and the vertical axis is the left axis (yAxis).

To disable range zooming entirely, pass 0 as orientations or remove QCP::iRangeZoom from QCustomPlot::setInteractions. To enable range zooming for both directions, pass Qt::Horizontal | Qt::Vertical as orientations.

In addition to setting orientations to a non-zero value, make sure QCustomPlot::setInteractions contains QCP::iRangeZoom to enable the range zooming interaction.

See also
setRangeZoomFactor, setRangeZoomAxes, setRangeDrag

Definition at line 18216 of file qcustomplot.cpp.

References mRangeZoom.

◆ setRangeZoom() [2/2]

void QCPAxisRect::setRangeZoom ( Qt::Orientations  orientations)

◆ setRangeZoomAxes() [1/4]

void QCPAxisRect::setRangeZoomAxes ( QCPAxis horizontal,
QCPAxis vertical 
)

Sets the axes whose range will be zoomed when setRangeZoom enables mouse wheel zooming on the QCustomPlot widget. Pass 0 if no axis shall be zoomed in the respective orientation.

The two axes can be zoomed with different strengths, when different factors are passed to setRangeZoomFactor(double horizontalFactor, double verticalFactor).

Use the overload taking a list of axes, if multiple axes (more than one per orientation) shall react to zooming interactions.

See also
setRangeDragAxes

Sets the axes whose range will be zoomed when setRangeZoom enables mouse wheel zooming on the QCustomPlot widget. The two axes can be zoomed with different strengths, when different factors are passed to setRangeZoomFactor(double horizontalFactor, double verticalFactor).

See also
setRangeDragAxes

Definition at line 18301 of file qcustomplot.cpp.

Referenced by QCPAxisRect(), and setRangeZoomAxes().

◆ setRangeZoomAxes() [2/4]

void QCPAxisRect::setRangeZoomAxes ( QCPAxis horizontal,
QCPAxis vertical 
)

◆ setRangeZoomAxes() [3/4]

void QCPAxisRect::setRangeZoomAxes ( QList< QCPAxis * >  axes)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

This method allows to set up multiple axes to react to horizontal and vertical range zooming. The zoom orientation that the respective axis will react to is deduced from its orientation (QCPAxis::orientation).

In the unusual case that you wish to e.g. zoom a vertically oriented axis with a horizontal zoom interaction, use the overload taking two separate lists for horizontal and vertical zooming.

Definition at line 18318 of file qcustomplot.cpp.

References axes(), QCPAxis::orientation(), and setRangeZoomAxes().

◆ setRangeZoomAxes() [4/4]

void QCPAxisRect::setRangeZoomAxes ( QList< QCPAxis * >  horizontal,
QList< QCPAxis * >  vertical 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

This method allows to set multiple axes up to react to horizontal and vertical zooming, and define specifically which axis reacts to which zoom orientation (irrespective of the axis orientation).

Definition at line 18335 of file qcustomplot.cpp.

References mRangeZoomHorzAxis, and mRangeZoomVertAxis.

◆ setRangeZoomFactor() [1/4]

void QCPAxisRect::setRangeZoomFactor ( double  factor)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Sets both the horizontal and vertical zoom factor.

Definition at line 18378 of file qcustomplot.cpp.

References mRangeZoomFactorHorz, and mRangeZoomFactorVert.

◆ setRangeZoomFactor() [2/4]

void QCPAxisRect::setRangeZoomFactor ( double  factor)

◆ setRangeZoomFactor() [3/4]

void QCPAxisRect::setRangeZoomFactor ( double  horizontalFactor,
double  verticalFactor 
)

Sets how strong one rotation step of the mouse wheel zooms, when range zoom was activated with setRangeZoom. The two parameters horizontalFactor and verticalFactor provide a way to let the horizontal axis zoom at different rates than the vertical axis. Which axis is horizontal and which is vertical, can be set with setRangeZoomAxes.

When the zoom factor is greater than one, scrolling the mouse wheel backwards (towards the user) will zoom in (make the currently visible range smaller). For zoom factors smaller than one, the same scrolling direction will zoom out.

Definition at line 18368 of file qcustomplot.cpp.

References mRangeZoomFactorHorz, and mRangeZoomFactorVert.

◆ setRangeZoomFactor() [4/4]

void QCPAxisRect::setRangeZoomFactor ( double  horizontalFactor,
double  verticalFactor 
)

◆ setupFullAxesBox() [1/2]

void QCPAxisRect::setupFullAxesBox ( bool  connectRanges = false)

Convenience function to create an axis on each side that doesn't have any axes yet and set their visibility to true. Further, the top/right axes are assigned the following properties of the bottom/left axes:

Tick label visibility (QCPAxis::setTickLabels) of the right and top axes are set to false.

If connectRanges is true, the rangeChanged signals of the bottom and left axes are connected to the QCPAxis::setRange slots of the top and right axes.

Convenience function to create an axis on each side that doesn't have any axes yet and set their visibility to true. Further, the top/right axes are assigned the following properties of the bottom/left axes:

Tick labels (QCPAxis::setTickLabels) of the right and top axes are set to false.

If connectRanges is true, the rangeChanged signals of the bottom and left axes are connected to the QCPAxis::setRange slots of the top and right axes.

Definition at line 17828 of file qcustomplot.cpp.

References addAxis(), QCPAxis::atBottom, QCPAxis::atLeft, QCPAxis::atRight, QCPAxis::atTop, axis(), axisCount(), QCPAxis::numberFormat(), QCPAxis::numberPrecision(), QCPAxis::range(), QCPAxis::rangeReversed(), QCPAxis::scaleType(), QCPAxis::setNumberFormat(), QCPAxis::setNumberPrecision(), QCPAxis::setRange(), QCPAxis::setRangeReversed(), QCPAxis::setScaleType(), QCPAxis::setTickLabels(), QCPAxis::setTicks(), QCPLayerable::setVisible(), QCPAxis::ticker(), and QCPAxis::ticks().

◆ setupFullAxesBox() [2/2]

void QCPAxisRect::setupFullAxesBox ( bool  connectRanges = false)

◆ size() [1/2]

QSize QCPAxisRect::size ( ) const
inline

Returns the pixel size of this axis rect. Margins are not taken into account here, so the returned value is with respect to the inner rect.

Definition at line 5451 of file qcustomplot.h.

Referenced by addAxis().

◆ size() [2/2]

QSize QCPAxisRect::size ( ) const
inline

Definition at line 2493 of file qcustomplot.h.

◆ top() [1/2]

int QCPAxisRect::top ( ) const
inline

Returns the pixel position of the top border of this axis rect. Margins are not taken into account here, so the returned value is with respect to the inner rect.

Definition at line 5447 of file qcustomplot.h.

Referenced by QCPAxis::coordToPixel(), QCPGrid::drawGridLines(), QCPGrid::drawSubGridLines(), QCPGraph::getFillBasePoint(), QCPGraph::lowerFillBasePoint(), and QCPGraph::upperFillBasePoint().

◆ top() [2/2]

int QCPAxisRect::top ( ) const
inline

Definition at line 2489 of file qcustomplot.h.

◆ topLeft() [1/2]

QPoint QCPAxisRect::topLeft ( ) const
inline

Returns the top left corner of this axis rect in pixels. Margins are not taken into account here, so the returned value is with respect to the inner rect.

Definition at line 5452 of file qcustomplot.h.

◆ topLeft() [2/2]

QPoint QCPAxisRect::topLeft ( ) const
inline

Definition at line 2494 of file qcustomplot.h.

◆ topRight() [1/2]

QPoint QCPAxisRect::topRight ( ) const
inline

Returns the top right corner of this axis rect in pixels. Margins are not taken into account here, so the returned value is with respect to the inner rect.

Definition at line 5453 of file qcustomplot.h.

◆ topRight() [2/2]

QPoint QCPAxisRect::topRight ( ) const
inline

Definition at line 2495 of file qcustomplot.h.

◆ update() [1/2]

void QCPAxisRect::update ( UpdatePhase  phase)
virtual

This method is called automatically upon replot and doesn't need to be called by users of QCPAxisRect.

Calls the base class implementation to update the margins (see QCPLayoutElement::update), and finally passes the rect to the inset layout (insetLayout) and calls its QCPInsetLayout::update function.

\seebaseclassmethod

This method is called automatically upon replot and doesn't need to be called by users of QCPAxisRect.

Calls the base class implementation to update the margins (see QCPLayoutElement::update), and finally passes the rect to the inset layout (insetLayout) and calls its QCPInsetLayout::update function.

Reimplemented from QCPLayoutElement.

Definition at line 17968 of file qcustomplot.cpp.

References axes(), mInsetLayout, QCPLayoutElement::rect(), QCPLayoutElement::setOuterRect(), QCPLayoutElement::update(), QCPLayout::update(), QCPLayoutElement::upLayout, and QCPLayoutElement::upPreparation.

◆ update() [2/2]

virtual void QCPAxisRect::update ( UpdatePhase  phase)
virtual

Updates the layout element and sub-elements. This function is automatically called before every replot by the parent layout element. It is called multiple times, once for every UpdatePhase. The phases are run through in the order of the enum values. For details about what happens at the different phases, see the documentation of UpdatePhase.

Layout elements that have child elements should call the update method of their child elements, and pass the current phase unchanged.

The default implementation executes the automatic margin mechanism in the upMargins phase. Subclasses should make sure to call the base class implementation.

Reimplemented from QCPLayoutElement.

◆ updateAxesOffset() [1/2]

void QCPAxisRect::updateAxesOffset ( QCPAxis::AxisType  type)
protected

Definition at line 18441 of file qcustomplot.cpp.

References mAxes, offset, and type.

Referenced by calculateAutoMargin().

◆ updateAxesOffset() [2/2]

void QCPAxisRect::updateAxesOffset ( QCPAxis::AxisType  type)
protected

◆ wheelEvent() [1/2]

void QCPAxisRect::wheelEvent ( QWheelEvent *  event)
protectedvirtual

This event is called, if the mouse wheel is scrolled while the cursor is inside the rect of this layout element.

Reimplemented from QCPLayoutElement.

Definition at line 18637 of file qcustomplot.cpp.

References axis(), event, QCustomPlot::interactions(), QCP::iRangeZoom, QCPLayerable::mParentPlot, mRangeZoom, mRangeZoomFactorHorz, mRangeZoomFactorVert, mRangeZoomHorzAxis, mRangeZoomVertAxis, QCPAxis::pixelToCoord(), qtCompatWheelEventDelta(), qtCompatWheelEventPos(), QCustomPlot::replot(), and QCPAxis::scaleRange().

◆ wheelEvent() [2/2]

virtual void QCPAxisRect::wheelEvent ( QWheelEvent *  event)
protectedvirtual

This event is called, if the mouse wheel is scrolled while the cursor is inside the rect of this layout element.

Reimplemented from QCPLayoutElement.

◆ width() [1/2]

int QCPAxisRect::width ( ) const
inline

Returns the pixel width of this axis rect. Margins are not taken into account here, so the returned value is with respect to the inner rect.

Definition at line 5449 of file qcustomplot.h.

Referenced by QCPAxis::coordToPixel(), QCPAxis::pixelToCoord(), and QCPAxis::setScaleRatio().

◆ width() [2/2]

int QCPAxisRect::width ( ) const
inline

Definition at line 2491 of file qcustomplot.h.

◆ zoom() [1/2]

void QCPAxisRect::zoom ( const QRectF &  pixelRect)

Zooms in (or out) to the passed rectangular region pixelRect, given in pixel coordinates.

All axes of this axis rect will have their range zoomed accordingly. If you only wish to zoom specific axes, use the overloaded version of this method.

See also
QCustomPlot::setSelectionRectMode

Definition at line 17778 of file qcustomplot.cpp.

References axes().

Referenced by QCustomPlot::processRectZoom().

◆ zoom() [2/2]

void QCPAxisRect::zoom ( const QRectF &  pixelRect,
const QList< QCPAxis * > &  affectedAxes 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Zooms in (or out) to the passed rectangular region pixelRect, given in pixel coordinates.

Only the axes passed in affectedAxes will have their ranges zoomed accordingly.

See also
QCustomPlot::setSelectionRectMode

Definition at line 17790 of file qcustomplot.cpp.

References axis(), QCPRange::lower, QCPAxis::orientation(), QCPAxis::pixelToCoord(), QCPAxis::setRange(), and QCPRange::upper.

Member Data Documentation

◆ mAADragBackup

QCP::AntialiasedElements QCPAxisRect::mAADragBackup
protected

Definition at line 5478 of file qcustomplot.h.

Referenced by mousePressEvent(), and mouseReleaseEvent().

◆ mAxes

QHash< QCPAxis::AxisType, QList< QCPAxis * > > QCPAxisRect::mAxes
protected

◆ mBackgroundBrush

QBrush QCPAxisRect::mBackgroundBrush
protected

Definition at line 5465 of file qcustomplot.h.

Referenced by drawBackground(), and setBackground().

◆ mBackgroundPixmap

QPixmap QCPAxisRect::mBackgroundPixmap
protected

Definition at line 5466 of file qcustomplot.h.

Referenced by drawBackground(), and setBackground().

◆ mBackgroundScaled

bool QCPAxisRect::mBackgroundScaled
protected

Definition at line 5468 of file qcustomplot.h.

Referenced by drawBackground(), setBackground(), and setBackgroundScaled().

◆ mBackgroundScaledMode

Qt::AspectRatioMode QCPAxisRect::mBackgroundScaledMode
protected

Definition at line 5469 of file qcustomplot.h.

Referenced by drawBackground(), setBackground(), and setBackgroundScaledMode().

◆ mDragging

bool QCPAxisRect::mDragging
protected

Definition at line 5479 of file qcustomplot.h.

Referenced by mouseMoveEvent(), mousePressEvent(), and mouseReleaseEvent().

◆ mDragStart

QPoint QCPAxisRect::mDragStart
protected

Definition at line 2519 of file qcustomplot.h.

Referenced by mouseMoveEvent(), and mousePressEvent().

◆ mDragStartHorzRange [1/2]

QList<QCPRange> QCPAxisRect::mDragStartHorzRange
protected

Definition at line 5477 of file qcustomplot.h.

Referenced by mouseMoveEvent(), and mousePressEvent().

◆ mDragStartHorzRange [2/2]

QCPRange QCPAxisRect::mDragStartHorzRange
protected

Definition at line 2517 of file qcustomplot.h.

◆ mDragStartVertRange [1/2]

QList<QCPRange> QCPAxisRect::mDragStartVertRange
protected

Definition at line 5477 of file qcustomplot.h.

Referenced by mouseMoveEvent(), and mousePressEvent().

◆ mDragStartVertRange [2/2]

QCPRange QCPAxisRect::mDragStartVertRange
protected

Definition at line 2517 of file qcustomplot.h.

◆ mInsetLayout

QCPLayoutInset * QCPAxisRect::mInsetLayout
protected

Definition at line 5470 of file qcustomplot.h.

Referenced by elements(), QCPAxisRect(), update(), and ~QCPAxisRect().

◆ mNotAADragBackup

QCP::AntialiasedElements QCPAxisRect::mNotAADragBackup
protected

Definition at line 5478 of file qcustomplot.h.

Referenced by mousePressEvent(), and mouseReleaseEvent().

◆ mRangeDrag

Qt::Orientations QCPAxisRect::mRangeDrag
protected

Definition at line 5471 of file qcustomplot.h.

Referenced by mouseMoveEvent(), and setRangeDrag().

◆ mRangeDragHorzAxis [1/2]

QList<QPointer<QCPAxis> > QCPAxisRect::mRangeDragHorzAxis
protected

◆ mRangeDragHorzAxis [2/2]

QPointer<QCPAxis> QCPAxisRect::mRangeDragHorzAxis
protected

Definition at line 2513 of file qcustomplot.h.

◆ mRangeDragVertAxis [1/2]

QList<QPointer<QCPAxis> > QCPAxisRect::mRangeDragVertAxis
protected

◆ mRangeDragVertAxis [2/2]

QPointer<QCPAxis> QCPAxisRect::mRangeDragVertAxis
protected

Definition at line 2513 of file qcustomplot.h.

◆ mRangeZoom

Qt::Orientations QCPAxisRect::mRangeZoom
protected

Definition at line 5471 of file qcustomplot.h.

Referenced by setRangeZoom(), and wheelEvent().

◆ mRangeZoomFactorHorz

double QCPAxisRect::mRangeZoomFactorHorz
protected

Definition at line 5474 of file qcustomplot.h.

Referenced by rangeZoomFactor(), setRangeZoomFactor(), and wheelEvent().

◆ mRangeZoomFactorVert

double QCPAxisRect::mRangeZoomFactorVert
protected

Definition at line 5474 of file qcustomplot.h.

Referenced by rangeZoomFactor(), setRangeZoomFactor(), and wheelEvent().

◆ mRangeZoomHorzAxis [1/2]

QList<QPointer<QCPAxis> > QCPAxisRect::mRangeZoomHorzAxis
protected

Definition at line 5473 of file qcustomplot.h.

Referenced by rangeZoomAxes(), rangeZoomAxis(), setRangeZoomAxes(), and wheelEvent().

◆ mRangeZoomHorzAxis [2/2]

QPointer<QCPAxis> QCPAxisRect::mRangeZoomHorzAxis
protected

Definition at line 2514 of file qcustomplot.h.

◆ mRangeZoomVertAxis [1/2]

QList<QPointer<QCPAxis> > QCPAxisRect::mRangeZoomVertAxis
protected

Definition at line 5473 of file qcustomplot.h.

Referenced by rangeZoomAxes(), rangeZoomAxis(), setRangeZoomAxes(), and wheelEvent().

◆ mRangeZoomVertAxis [2/2]

QPointer<QCPAxis> QCPAxisRect::mRangeZoomVertAxis
protected

Definition at line 2514 of file qcustomplot.h.

◆ mScaledBackgroundPixmap

QPixmap QCPAxisRect::mScaledBackgroundPixmap
protected

Definition at line 5467 of file qcustomplot.h.

Referenced by drawBackground(), and setBackground().


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