Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
QCPSelectionDecoratorBracket Class Reference

A selection decorator which draws brackets around each selected data segment. More...

#include <qcustomplot.h>

Inheritance diagram for QCPSelectionDecoratorBracket:
Inheritance graph
[legend]

Public Types

enum  BracketStyle {
  bsSquareBracket, bsHalfEllipse, bsEllipse, bsPlus,
  bsUserStyle
}
 

Public Member Functions

QBrush bracketBrush () const
 
int bracketHeight () const
 
QPen bracketPen () const
 
BracketStyle bracketStyle () const
 
int bracketWidth () const
 
virtual void drawBracket (QCPPainter *painter, int direction) const
 
virtual void drawDecoration (QCPPainter *painter, QCPDataSelection selection) Q_DECL_OVERRIDE
 
 QCPSelectionDecoratorBracket ()
 
void setBracketBrush (const QBrush &brush)
 
void setBracketHeight (int height)
 
void setBracketPen (const QPen &pen)
 
void setBracketStyle (BracketStyle style)
 
void setBracketWidth (int width)
 
void setTangentAverage (int pointCount)
 
void setTangentToData (bool enabled)
 
int tangentAverage () const
 
bool tangentToData () const
 
virtual ~QCPSelectionDecoratorBracket ()
 
- Public Member Functions inherited from QCPSelectionDecorator
void applyBrush (QCPPainter *painter) const
 
void applyPen (QCPPainter *painter) const
 
QBrush brush () const
 
virtual void copyFrom (const QCPSelectionDecorator *other)
 
QCPScatterStyle getFinalScatterStyle (const QCPScatterStyle &unselectedStyle) const
 
QPen pen () const
 
 QCPSelectionDecorator ()
 
QCPScatterStyle scatterStyle () const
 
void setBrush (const QBrush &brush)
 
void setPen (const QPen &pen)
 
void setScatterStyle (const QCPScatterStyle &scatterStyle, QCPScatterStyle::ScatterProperties usedProperties=QCPScatterStyle::spPen)
 
void setUsedScatterProperties (const QCPScatterStyle::ScatterProperties &properties)
 
QCPScatterStyle::ScatterProperties usedScatterProperties () const
 
virtual ~QCPSelectionDecorator ()
 

Protected Member Functions

QPointF getPixelCoordinates (const QCPPlottableInterface1D *interface1d, int dataIndex) const
 
double getTangentAngle (const QCPPlottableInterface1D *interface1d, int dataIndex, int direction) const
 
- Protected Member Functions inherited from QCPSelectionDecorator
virtual bool registerWithPlottable (QCPAbstractPlottable *plottable)
 

Protected Attributes

QBrush mBracketBrush
 
int mBracketHeight
 
QPen mBracketPen
 
BracketStyle mBracketStyle
 
int mBracketWidth
 
int mTangentAverage
 
bool mTangentToData
 
- Protected Attributes inherited from QCPSelectionDecorator
QBrush mBrush
 
QPen mPen
 
QCPAbstractPlottablemPlottable
 
QCPScatterStyle mScatterStyle
 
QCPScatterStyle::ScatterProperties mUsedScatterProperties
 

Detailed Description

A selection decorator which draws brackets around each selected data segment.

Additionally to the regular highlighting of selected segments via color, fill and scatter style, this QCPSelectionDecorator subclass draws markers at the begin and end of each selected data segment of the plottable.

The shape of the markers can be controlled with setBracketStyle, setBracketWidth and setBracketHeight. The color/fill can be controlled with setBracketPen and setBracketBrush.

To introduce custom bracket styles, it is only necessary to sublcass QCPSelectionDecoratorBracket and reimplement drawBracket. The rest will be managed by the base class.

Definition at line 4524 of file qcustomplot.h.

Member Enumeration Documentation

◆ BracketStyle

Defines which shape is drawn at the boundaries of selected data ranges.

Some of the bracket styles further allow specifying a height and/or width, see setBracketHeight and setBracketWidth.

Enumerator
bsSquareBracket 

A square bracket is drawn.

bsHalfEllipse 

A half ellipse is drawn. The size of the ellipse is given by the bracket width/height properties.

bsEllipse 

An ellipse is drawn. The size of the ellipse is given by the bracket width/height properties.

bsPlus 

A plus is drawn.

bsUserStyle 

Start custom bracket styles at this index when subclassing and reimplementing drawBracket.

Definition at line 4535 of file qcustomplot.h.

Constructor & Destructor Documentation

◆ QCPSelectionDecoratorBracket()

QCPSelectionDecoratorBracket::QCPSelectionDecoratorBracket ( )

Creates a new QCPSelectionDecoratorBracket instance with default values.

Definition at line 16426 of file qcustomplot.cpp.

◆ ~QCPSelectionDecoratorBracket()

QCPSelectionDecoratorBracket::~QCPSelectionDecoratorBracket ( )
virtual

Definition at line 16438 of file qcustomplot.cpp.

Member Function Documentation

◆ bracketBrush()

QBrush QCPSelectionDecoratorBracket::bracketBrush ( ) const
inline

Definition at line 4548 of file qcustomplot.h.

◆ bracketHeight()

int QCPSelectionDecoratorBracket::bracketHeight ( ) const
inline

Definition at line 4550 of file qcustomplot.h.

◆ bracketPen()

QPen QCPSelectionDecoratorBracket::bracketPen ( ) const
inline

Definition at line 4547 of file qcustomplot.h.

◆ bracketStyle()

BracketStyle QCPSelectionDecoratorBracket::bracketStyle ( ) const
inline

Definition at line 4551 of file qcustomplot.h.

◆ bracketWidth()

int QCPSelectionDecoratorBracket::bracketWidth ( ) const
inline

Definition at line 4549 of file qcustomplot.h.

◆ drawBracket()

void QCPSelectionDecoratorBracket::drawBracket ( QCPPainter painter,
int  direction 
) const
virtual

Draws the bracket shape with painter. The parameter direction is either -1 or 1 and indicates whether the bracket shall point to the left or the right (i.e. is a closing or opening bracket, respectively).

The passed painter already contains all transformations that are necessary to position and rotate the bracket appropriately. Painting operations can be performed as if drawing upright brackets on flat data with horizontal key axis, with (0, 0) being the center of the bracket.

If you wish to sublcass QCPSelectionDecoratorBracket in order to provide custom bracket shapes (see QCPSelectionDecoratorBracket::bsUserStyle), this is the method you should reimplement.

Definition at line 16530 of file qcustomplot.cpp.

◆ drawDecoration()

void QCPSelectionDecoratorBracket::drawDecoration ( QCPPainter painter,
QCPDataSelection  selection 
)
virtual

Draws the bracket decoration on the data points at the begin and end of each selected data segment given in seletion.

It uses the method drawBracket to actually draw the shapes.

Reimplemented from QCPSelectionDecorator.

Definition at line 16573 of file qcustomplot.cpp.

◆ getPixelCoordinates()

QPointF QCPSelectionDecoratorBracket::getPixelCoordinates ( const QCPPlottableInterface1D interface1d,
int  dataIndex 
) const
protected

Definition at line 16672 of file qcustomplot.cpp.

◆ getTangentAngle()

double QCPSelectionDecoratorBracket::getTangentAngle ( const QCPPlottableInterface1D interface1d,
int  dataIndex,
int  direction 
) const
protected

Definition at line 16625 of file qcustomplot.cpp.

◆ setBracketBrush()

void QCPSelectionDecoratorBracket::setBracketBrush ( const QBrush &  brush)

Sets the brush that will be used to draw the brackets at the beginning and end of each selected data segment.

Definition at line 16455 of file qcustomplot.cpp.

◆ setBracketHeight()

void QCPSelectionDecoratorBracket::setBracketHeight ( int  height)

Sets the height of the drawn bracket. The height dimension is always perpendicular to the key axis of the data, or the tangent direction of the current data slope, if setTangentToData is enabled.

Definition at line 16475 of file qcustomplot.cpp.

◆ setBracketPen()

void QCPSelectionDecoratorBracket::setBracketPen ( const QPen &  pen)

Sets the pen that will be used to draw the brackets at the beginning and end of each selected data segment.

Definition at line 16446 of file qcustomplot.cpp.

◆ setBracketStyle()

void QCPSelectionDecoratorBracket::setBracketStyle ( QCPSelectionDecoratorBracket::BracketStyle  style)

Sets the shape that the bracket/marker will have.

See also
setBracketWidth, setBracketHeight

Definition at line 16485 of file qcustomplot.cpp.

◆ setBracketWidth()

void QCPSelectionDecoratorBracket::setBracketWidth ( int  width)

Sets the width of the drawn bracket. The width dimension is always parallel to the key axis of the data, or the tangent direction of the current data slope, if setTangentToData is enabled.

Definition at line 16465 of file qcustomplot.cpp.

◆ setTangentAverage()

void QCPSelectionDecoratorBracket::setTangentAverage ( int  pointCount)

Controls over how many data points the slope shall be averaged, when brackets shall be aligned with the data (if setTangentToData is true).

From the position of the bracket, pointCount points towards the selected data range will be taken into account. The smallest value of pointCount is 1, which is effectively equivalent to disabling setTangentToData.

Definition at line 16510 of file qcustomplot.cpp.

◆ setTangentToData()

void QCPSelectionDecoratorBracket::setTangentToData ( bool  enabled)

Sets whether the brackets will be rotated such that they align with the slope of the data at the position that they appear in.

For noisy data, it might be more visually appealing to average the slope over multiple data points. This can be configured via setTangentAverage.

Definition at line 16497 of file qcustomplot.cpp.

◆ tangentAverage()

int QCPSelectionDecoratorBracket::tangentAverage ( ) const
inline

Definition at line 4553 of file qcustomplot.h.

◆ tangentToData()

bool QCPSelectionDecoratorBracket::tangentToData ( ) const
inline

Definition at line 4552 of file qcustomplot.h.

Member Data Documentation

◆ mBracketBrush

QBrush QCPSelectionDecoratorBracket::mBracketBrush
protected

Definition at line 4573 of file qcustomplot.h.

◆ mBracketHeight

int QCPSelectionDecoratorBracket::mBracketHeight
protected

Definition at line 4575 of file qcustomplot.h.

◆ mBracketPen

QPen QCPSelectionDecoratorBracket::mBracketPen
protected

Definition at line 4572 of file qcustomplot.h.

◆ mBracketStyle

BracketStyle QCPSelectionDecoratorBracket::mBracketStyle
protected

Definition at line 4576 of file qcustomplot.h.

◆ mBracketWidth

int QCPSelectionDecoratorBracket::mBracketWidth
protected

Definition at line 4574 of file qcustomplot.h.

◆ mTangentAverage

int QCPSelectionDecoratorBracket::mTangentAverage
protected

Definition at line 4578 of file qcustomplot.h.

◆ mTangentToData

bool QCPSelectionDecoratorBracket::mTangentToData
protected

Definition at line 4577 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