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

Controls how a plottable's data selection is drawn. More...

#include <qcustomplot.h>

Inheritance diagram for QCPSelectionDecorator:
Collaboration diagram for QCPSelectionDecorator:

Public Member Functions

 QCPSelectionDecorator ()
 
virtual ~QCPSelectionDecorator ()
 
QPen pen () const
 
QBrush brush () const
 
QCPScatterStyle scatterStyle () const
 
QCPScatterStyle::ScatterProperties usedScatterProperties () const
 
void setPen (const QPen &pen)
 
void setBrush (const QBrush &brush)
 
void setScatterStyle (const QCPScatterStyle &scatterStyle, QCPScatterStyle::ScatterProperties usedProperties=QCPScatterStyle::spPen)
 
void setUsedScatterProperties (const QCPScatterStyle::ScatterProperties &properties)
 
void applyPen (QCPPainter *painter) const
 
void applyBrush (QCPPainter *painter) const
 
QCPScatterStyle getFinalScatterStyle (const QCPScatterStyle &unselectedStyle) const
 
virtual void copyFrom (const QCPSelectionDecorator *other)
 
virtual void drawDecoration (QCPPainter *painter, QCPDataSelection selection)
 

Protected Member Functions

virtual bool registerWithPlottable (QCPAbstractPlottable *plottable)
 

Protected Attributes

QPen mPen
 
QBrush mBrush
 
QCPScatterStyle mScatterStyle
 
QCPScatterStyle::ScatterProperties mUsedScatterProperties
 
QCPAbstractPlottablemPlottable
 

Detailed Description

Controls how a plottable's data selection is drawn.

Each QCPAbstractPlottable instance has one QCPSelectionDecorator (accessible via QCPAbstractPlottable::selectionDecorator) and uses it when drawing selected segments of its data.

The selection decorator controls both pen (setPen) and brush (setBrush), as well as the scatter style (setScatterStyle) if the plottable draws scatters. Since a QCPScatterStyle is itself composed of different properties such as color shape and size, the decorator allows specifying exactly which of those properties shall be used for the selected data point, via setUsedScatterProperties.

A QCPSelectionDecorator subclass instance can be passed to a plottable via QCPAbstractPlottable::setSelectionDecorator, allowing greater customizability of the appearance of selected segments.

Use copyFrom to easily transfer the settings of one decorator to another one. This is especially useful since plottables take ownership of the passed selection decorator, and thus the same decorator instance can not be passed to multiple plottables.

Selection decorators can also themselves perform drawing operations by reimplementing drawDecoration, which is called by the plottable's draw method. The base class QCPSelectionDecorator does not make use of this however. For example, QCPSelectionDecoratorBracket draws brackets around selected data segments.

Definition at line 3764 of file qcustomplot.h.

Constructor & Destructor Documentation

◆ QCPSelectionDecorator()

QCPSelectionDecorator::QCPSelectionDecorator ( )

Creates a new QCPSelectionDecorator instance with default values

Definition at line 10725 of file qcustomplot.cpp.

◆ ~QCPSelectionDecorator()

QCPSelectionDecorator::~QCPSelectionDecorator ( )
virtual

Definition at line 10732 of file qcustomplot.cpp.

Member Function Documentation

◆ applyBrush()

void QCPSelectionDecorator::applyBrush ( QCPPainter painter) const

Sets the brush of painter to the brush of this selection decorator.

See also
applyPen, getFinalScatterStyle

Definition at line 10788 of file qcustomplot.cpp.

References mBrush.

Referenced by QCPGraph::draw(), QCPCurve::draw(), QCPBars::draw(), QCPStatisticalBox::draw(), and QCPFinancial::drawCandlestickPlot().

◆ applyPen()

void QCPSelectionDecorator::applyPen ( QCPPainter painter) const

Sets the pen of painter to the pen of this selection decorator.

See also
applyBrush, getFinalScatterStyle

Definition at line 10779 of file qcustomplot.cpp.

References mPen, and QCPPainter::setPen().

Referenced by QCPGraph::draw(), QCPBars::draw(), QCPStatisticalBox::draw(), QCPErrorBars::draw(), QCPFinancial::drawCandlestickPlot(), and QCPFinancial::drawOhlcPlot().

◆ brush()

QBrush QCPSelectionDecorator::brush ( ) const
inline

◆ copyFrom()

void QCPSelectionDecorator::copyFrom ( const QCPSelectionDecorator other)
virtual

Copies all properties (e.g. color, fill, scatter style) of the other selection decorator to this selection decorator.

Definition at line 10819 of file qcustomplot.cpp.

References brush(), pen(), scatterStyle(), setBrush(), setPen(), setScatterStyle(), and usedScatterProperties().

◆ drawDecoration()

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

This method is called by all plottables' draw methods to allow custom selection decorations to be drawn. Use the passed painter to perform the drawing operations. selection carries the data selection for which the decoration shall be drawn.

The default base class implementation of QCPSelectionDecorator has no special decoration, so this method does nothing.

Reimplemented in QCPSelectionDecoratorBracket.

Definition at line 10834 of file qcustomplot.cpp.

Referenced by QCPGraph::draw(), QCPCurve::draw(), QCPBars::draw(), QCPStatisticalBox::draw(), QCPFinancial::draw(), and QCPErrorBars::draw().

◆ getFinalScatterStyle()

QCPScatterStyle QCPSelectionDecorator::getFinalScatterStyle ( const QCPScatterStyle unselectedStyle) const

Returns the scatter style that the parent plottable shall use for selected scatter points. The plottable's original (unselected) scatter style must be passed as unselectedStyle. Depending on the setting of setUsedScatterProperties, the returned scatter style is a mixture of this selecion decorator's scatter style (setScatterStyle), and unselectedStyle.

See also
applyPen, applyBrush, setScatterStyle

Definition at line 10802 of file qcustomplot.cpp.

References mPen, mScatterStyle, mUsedScatterProperties, and result.

Referenced by QCPGraph::draw(), QCPCurve::draw(), and QCPStatisticalBox::draw().

◆ pen()

QPen QCPSelectionDecorator::pen ( ) const
inline

◆ registerWithPlottable()

bool QCPSelectionDecorator::registerWithPlottable ( QCPAbstractPlottable plottable)
protectedvirtual

Definition at line 10851 of file qcustomplot.cpp.

References mPlottable.

Referenced by QCPAbstractPlottable::setSelectionDecorator().

◆ scatterStyle()

QCPScatterStyle QCPSelectionDecorator::scatterStyle ( ) const
inline

Definition at line 3773 of file qcustomplot.h.

Referenced by copyFrom(), and setScatterStyle().

◆ setBrush()

void QCPSelectionDecorator::setBrush ( const QBrush &  brush)

Sets the brush that will be used by the parent plottable to draw selected data segments.

Definition at line 10744 of file qcustomplot.cpp.

References brush(), and mBrush.

Referenced by copyFrom(), QCPBars::QCPBars(), and QCPFinancial::QCPFinancial().

◆ setPen()

void QCPSelectionDecorator::setPen ( const QPen &  pen)

Sets the pen that will be used by the parent plottable to draw selected data segments.

Definition at line 10738 of file qcustomplot.cpp.

References mPen, and pen().

Referenced by copyFrom().

◆ setScatterStyle()

void QCPSelectionDecorator::setScatterStyle ( const QCPScatterStyle scatterStyle,
QCPScatterStyle::ScatterProperties  usedProperties = QCPScatterStyle::spPen 
)

Sets the scatter style that will be used by the parent plottable to draw scatters in selected data segments.

usedProperties specifies which parts of the passed scatterStyle will be used by the plottable. The used properties can also be changed via setUsedScatterProperties.

Definition at line 10754 of file qcustomplot.cpp.

References mScatterStyle, scatterStyle(), and setUsedScatterProperties().

Referenced by copyFrom().

◆ setUsedScatterProperties()

void QCPSelectionDecorator::setUsedScatterProperties ( const QCPScatterStyle::ScatterProperties &  properties)

Use this method to define which properties of the scatter style (set via setScatterStyle) will be used for selected data segments. All properties of the scatter style that are not specified in properties will remain as specified in the plottable's original scatter style.

See also
QCPScatterStyle::ScatterProperty

Definition at line 10769 of file qcustomplot.cpp.

References mUsedScatterProperties.

Referenced by setScatterStyle().

◆ usedScatterProperties()

QCPScatterStyle::ScatterProperties QCPSelectionDecorator::usedScatterProperties ( ) const
inline

Definition at line 3774 of file qcustomplot.h.

Referenced by copyFrom().

Member Data Documentation

◆ mBrush

QBrush QCPSelectionDecorator::mBrush
protected

Definition at line 3801 of file qcustomplot.h.

Referenced by applyBrush(), and setBrush().

◆ mPen

QPen QCPSelectionDecorator::mPen
protected

Definition at line 3800 of file qcustomplot.h.

Referenced by applyPen(), getFinalScatterStyle(), and setPen().

◆ mPlottable

◆ mScatterStyle

QCPScatterStyle QCPSelectionDecorator::mScatterStyle
protected

Definition at line 3802 of file qcustomplot.h.

Referenced by getFinalScatterStyle(), and setScatterStyle().

◆ mUsedScatterProperties

QCPScatterStyle::ScatterProperties QCPSelectionDecorator::mUsedScatterProperties
protected

Definition at line 3803 of file qcustomplot.h.

Referenced by getFinalScatterStyle(), and setUsedScatterProperties().


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