QCPAbstractPlottable1D

Search for usage in LXR

QCPAbstractPlottable1D< DataType > Class Template Reference

#include <qcustomplot.h>

Inheritance diagram for QCPAbstractPlottable1D< DataType >:

Public Member Functions

 QCPAbstractPlottable1D (QCPAxis *keyAxis, QCPAxis *valueAxis)
 
virtual int dataCount () const override
 
virtual double dataMainKey (int index) const override
 
virtual double dataMainValue (int index) const override
 
virtual QPointF dataPixelPosition (int index) const override
 
virtual double dataSortKey (int index) const override
 
virtual QCPRange dataValueRange (int index) const override
 
virtual int findBegin (double sortKey, bool expandedRange=true) const override
 
virtual int findEnd (double sortKey, bool expandedRange=true) const override
 
virtual QCPPlottableInterface1Dinterface1D () override
 
virtual double selectTest (const QPointF &pos, bool onlySelectable, QVariant *details=nullptr) const override
 
virtual QCPDataSelection selectTestRect (const QRectF &rect, bool onlySelectable) const override
 
virtual bool sortKeyIsMainKey () const override
 
- Public Member Functions inherited from QCPAbstractPlottable
 QCPAbstractPlottable (QCPAxis *keyAxis, QCPAxis *valueAxis)
 
bool addToLegend ()
 
bool addToLegend (QCPLegend *legend)
 
bool antialiasedFill () const
 
bool antialiasedScatters () const
 
QBrush brush () const
 
const QPointF coordsToPixels (double key, double value) const
 
void coordsToPixels (double key, double value, double &x, double &y) const
 
virtual QCPRange getKeyRange (bool &foundRange, QCP::SignDomain inSignDomain=QCP::sdBoth) const =0
 
virtual QCPRange getValueRange (bool &foundRange, QCP::SignDomain inSignDomain=QCP::sdBoth, const QCPRange &inKeyRange=QCPRange()) const =0
 
QCPAxiskeyAxis () const
 
QString name () const
 
QPen pen () const
 
void pixelsToCoords (const QPointF &pixelPos, double &key, double &value) const
 
void pixelsToCoords (double x, double y, double &key, double &value) const
 
bool removeFromLegend () const
 
bool removeFromLegend (QCPLegend *legend) const
 
void rescaleAxes (bool onlyEnlarge=false) const
 
void rescaleKeyAxis (bool onlyEnlarge=false) const
 
void rescaleValueAxis (bool onlyEnlarge=false, bool inKeyRange=false) const
 
QCP::SelectionType selectable () const
 
bool selected () const
 
QCPDataSelection selection () const
 
QCPSelectionDecoratorselectionDecorator () const
 
void setAntialiasedFill (bool enabled)
 
void setAntialiasedScatters (bool enabled)
 
void setBrush (const QBrush &brush)
 
void setKeyAxis (QCPAxis *axis)
 
void setName (const QString &name)
 
void setPen (const QPen &pen)
 
Q_SLOT void setSelectable (QCP::SelectionType selectable)
 
Q_SLOT void setSelection (QCPDataSelection selection)
 
void setSelectionDecorator (QCPSelectionDecorator *decorator)
 
void setValueAxis (QCPAxis *axis)
 
QCPAxisvalueAxis () const
 
- Public Member Functions inherited from QCPLayerable
 QCPLayerable (QCustomPlot *plot, QString targetLayer=QString(), QCPLayerable *parentLayerable=nullptr)
 
bool antialiased () const
 
QCPLayerlayer () const
 
QCPLayerableparentLayerable () const
 
QCustomPlotparentPlot () const
 
bool realVisibility () const
 
void setAntialiased (bool enabled)
 
bool setLayer (const QString &layerName)
 
Q_SLOT bool setLayer (QCPLayer *layer)
 
void setVisible (bool on)
 
bool visible () const
 
- Public Member Functions inherited from QObject
 QObject (QObject *parent)
 
bool blockSignals (bool block)
 
const QObjectListchildren () const const
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const
 
void deleteLater ()
 
void destroyed (QObject *obj)
 
bool disconnect (const char *signal, const QObject *receiver, const char *method) const const
 
bool disconnect (const QObject *receiver, const char *method) const const
 
void dumpObjectInfo ()
 
void dumpObjectInfo () const const
 
void dumpObjectTree ()
 
void dumpObjectTree () const const
 
QList< QByteArraydynamicPropertyNames () const const
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
findChild (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegExp &regExp, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QString &name, Qt::FindChildOptions options) const const
 
bool inherits (const char *className) const const
 
void installEventFilter (QObject *filterObj)
 
bool isWidgetType () const const
 
bool isWindowType () const const
 
void killTimer (int id)
 
virtual const QMetaObjectmetaObject () const const
 
void moveToThread (QThread *targetThread)
 
QString objectName () const const
 
void objectNameChanged (const QString &objectName)
 
QObjectparent () const const
 
QVariant property (const char *name) const const
 
 Q_CLASSINFO (Name, Value)
 
 Q_DISABLE_COPY (Class)
 
 Q_DISABLE_COPY_MOVE (Class)
 
 Q_DISABLE_MOVE (Class)
 
 Q_EMIT Q_EMIT
 
 Q_ENUM (...)
 
 Q_ENUM_NS (...)
 
 Q_ENUMS (...)
 
 Q_FLAG (...)
 
 Q_FLAG_NS (...)
 
 Q_FLAGS (...)
 
 Q_GADGET Q_GADGET
 
 Q_INTERFACES (...)
 
 Q_INVOKABLE Q_INVOKABLE
 
 Q_NAMESPACE Q_NAMESPACE
 
 Q_NAMESPACE_EXPORT (EXPORT_MACRO)
 
 Q_OBJECT Q_OBJECT
 
 Q_PROPERTY (...)
 
 Q_REVISION Q_REVISION
 
 Q_SET_OBJECT_NAME (Object)
 
 Q_SIGNAL Q_SIGNAL
 
 Q_SIGNALS Q_SIGNALS
 
 Q_SLOT Q_SLOT
 
 Q_SLOTS Q_SLOTS
 
qFindChild (const QObject *obj, const QString &name)
 
QList< T > qFindChildren (const QObject *obj, const QRegExp &regExp)
 
QList< T > qFindChildren (const QObject *obj, const QString &name)
 
qobject_cast (const QObject *object)
 
qobject_cast (QObject *object)
 
 QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
 
void removeEventFilter (QObject *obj)
 
void setObjectName (const QString &name)
 
void setParent (QObject *parent)
 
bool setProperty (const char *name, const QVariant &value)
 
bool signalsBlocked () const const
 
int startTimer (int interval, Qt::TimerType timerType)
 
int startTimer (std::chrono::milliseconds time, Qt::TimerType timerType)
 
QThreadthread () const const
 

Protected Member Functions

void drawPolyline (QCPPainter *painter, const QVector< QPointF > &lineData) const
 
void getDataSegments (QList< QCPDataRange > &selectedSegments, QList< QCPDataRange > &unselectedSegments) const
 
- Protected Member Functions inherited from QCPAbstractPlottable
void applyDefaultAntialiasingHint (QCPPainter *painter) const override
 
void applyFillAntialiasingHint (QCPPainter *painter) const
 
void applyScattersAntialiasingHint (QCPPainter *painter) const
 
virtual QRect clipRect () const override
 
virtual void deselectEvent (bool *selectionStateChanged) override
 
virtual void draw (QCPPainter *painter) override=0
 
virtual void drawLegendIcon (QCPPainter *painter, const QRectF &rect) const =0
 
virtual void selectEvent (QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged) override
 
virtual QCP::Interaction selectionCategory () const override
 
- Protected Member Functions inherited from QCPLayerable
void applyAntialiasingHint (QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const
 
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)
 
void setParentLayerable (QCPLayerable *parentLayerable)
 
virtual void wheelEvent (QWheelEvent *event)
 
- Protected Member Functions inherited from QObject
virtual void childEvent (QChildEvent *event)
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void customEvent (QEvent *event)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
bool isSignalConnected (const QMetaMethod &signal) const const
 
int receivers (const char *signal) const const
 
QObjectsender () const const
 
int senderSignalIndex () const const
 
virtual void timerEvent (QTimerEvent *event)
 

Protected Attributes

QSharedPointer< QCPDataContainer< DataType > > mDataContainer
 
- Protected Attributes inherited from QCPAbstractPlottable
bool mAntialiasedFill
 
bool mAntialiasedScatters
 
QBrush mBrush
 
QPointer< QCPAxismKeyAxis
 
QString mName
 
QPen mPen
 
QCP::SelectionType mSelectable
 
QCPDataSelection mSelection
 
QCPSelectionDecoratormSelectionDecorator
 
QPointer< QCPAxismValueAxis
 
- Protected Attributes inherited from QCPLayerable
bool mAntialiased
 
QCPLayermLayer
 
QPointer< QCPLayerablemParentLayerable
 
QCustomPlotmParentPlot
 
bool mVisible
 

Additional Inherited Members

- Properties inherited from QObject
 objectName
 
- Signals inherited from QCPAbstractPlottable
void selectableChanged (QCP::SelectionType selectable)
 
void selectionChanged (bool selected)
 
void selectionChanged (const QCPDataSelection &selection)
 
- Signals inherited from QCPLayerable
void layerChanged (QCPLayer *newLayer)
 
- Static Public Member Functions inherited from QObject
QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, Functor functor)
 
bool disconnect (const QMetaObject::Connection &connection)
 
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
bool disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method)
 
QString tr (const char *sourceText, const char *disambiguation, int n)
 
QString trUtf8 (const char *sourceText, const char *disambiguation, int n)
 
- Public Attributes inherited from QObject
typedef QObjectList
 

Detailed Description

template<class DataType>
class QCPAbstractPlottable1D< DataType >

A template base class for plottables with one-dimensional data.

This template class derives from QCPAbstractPlottable and from the abstract interface QCPPlottableInterface1D. It serves as a base class for all one-dimensional data (i.e. data with one key dimension), such as QCPGraph and QCPCurve.

The template parameter DataType is the type of the data points of this plottable (e.g. QCPGraphData or QCPCurveData). The main purpose of this base class is to provide the member mDataContainer (a shared pointer to a QCPDataContainer<DataType>) and implement the according virtual methods of the QCPPlottableInterface1D, such that most subclassed plottables don't need to worry about this anymore.

Further, it provides a convenience method for retrieving selected/unselected data segments via getDataSegments. This is useful when subclasses implement their draw method and need to draw selected segments with a different pen/brush than unselected segments (also see QCPSelectionDecorator).

This class implements basic functionality of QCPAbstractPlottable::selectTest and QCPPlottableInterface1D::selectTestRect, assuming point-like data points, based on the 1D data interface. In spite of that, most plottable subclasses will want to reimplement those methods again, to provide a more accurate hit test based on their specific data visualization geometry.

Definition at line 4120 of file qcustomplot.h.

Constructor & Destructor Documentation

◆ QCPAbstractPlottable1D()

template<class DataType >
QCPAbstractPlottable1D< DataType >::QCPAbstractPlottable1D ( QCPAxis keyAxis,
QCPAxis valueAxis 
)

Forwards keyAxis and valueAxis to the QCPAbstractPlottable constructor and allocates the mDataContainer.

Definition at line 4346 of file qcustomplot.h.

Member Function Documentation

◆ dataCount()

template<class DataType >
int QCPAbstractPlottable1D< DataType >::dataCount
overridevirtual

Returns the number of data points of the plottable.

Implements QCPPlottableInterface1D.

Definition at line 4361 of file qcustomplot.h.

◆ dataMainKey()

template<class DataType >
double QCPAbstractPlottable1D< DataType >::dataMainKey ( int  index) const
overridevirtual

Returns the main key of the data point at the given index.

What the main key is, is defined by the plottable's data type. See the QCPDataContainer DataType documentation for details about this naming convention.

Implements QCPPlottableInterface1D.

Definition at line 4370 of file qcustomplot.h.

◆ dataMainValue()

template<class DataType >
double QCPAbstractPlottable1D< DataType >::dataMainValue ( int  index) const
overridevirtual

Returns the main value of the data point at the given index.

What the main value is, is defined by the plottable's data type. See the QCPDataContainer DataType documentation for details about this naming convention.

Implements QCPPlottableInterface1D.

Definition at line 4402 of file qcustomplot.h.

◆ dataPixelPosition()

template<class DataType >
QPointF QCPAbstractPlottable1D< DataType >::dataPixelPosition ( int  index) const
overridevirtual

Returns the pixel position on the widget surface at which the data point at the given index appears.

Usually this corresponds to the point of dataMainKey/ dataMainValue, in pixel coordinates. However, depending on the plottable, this might be a different apparent position than just a coord-to-pixel transform of those values. For example, QCPBars apparent data values can be shifted depending on their stacking, bar grouping or configured base value.

Implements QCPPlottableInterface1D.

Reimplemented in QCPBars.

Definition at line 4434 of file qcustomplot.h.

◆ dataSortKey()

template<class DataType >
double QCPAbstractPlottable1D< DataType >::dataSortKey ( int  index) const
overridevirtual

Returns the sort key of the data point at the given index.

What the sort key is, is defined by the plottable's data type. See the QCPDataContainer DataType documentation for details about this naming convention.

Implements QCPPlottableInterface1D.

Definition at line 4386 of file qcustomplot.h.

◆ dataValueRange()

template<class DataType >
QCPRange QCPAbstractPlottable1D< DataType >::dataValueRange ( int  index) const
overridevirtual

Returns the value range of the data point at the given index.

What the value range is, is defined by the plottable's data type. See the QCPDataContainer DataType documentation for details about this naming convention.

Implements QCPPlottableInterface1D.

Definition at line 4418 of file qcustomplot.h.

◆ drawPolyline()

template<class DataType >
void QCPAbstractPlottable1D< DataType >::drawPolyline ( QCPPainter painter,
const QVector< QPointF > &  lineData 
) const
protected

A helper method which draws a line with the passed painter, according to the pixel data in lineData. NaN points create gaps in the line, as expected from QCustomPlot's plottables (this is the main difference to QPainter's regular drawPolyline, which handles NaNs by lagging or crashing).

Further it uses a faster line drawing technique based on QCPPainter::drawLine rather than QPainter::drawPolyline if the configured QCustomPlot::setPlottingHints() and painter style allows.

Definition at line 4630 of file qcustomplot.h.

◆ findBegin()

template<class DataType >
int QCPAbstractPlottable1D< DataType >::findBegin ( double  sortKey,
bool  expandedRange = true 
) const
overridevirtual

Returns the index of the data point with a (sort-)key that is equal to, just below, or just above sortKey. If expandedRange is true, the data point just below sortKey will be considered, otherwise the one just above.

This can be used in conjunction with findEnd to iterate over data points within a given key range, including or excluding the bounding data points that are just beyond the specified range.

If expandedRange is true but there are no data points below sortKey, 0 is returned.

If the container is empty, returns 0 (in that case, findEnd will also return 0, so a loop using these methods will not iterate over the index 0).

See also
findEnd, QCPDataContainer::findBegin

Implements QCPPlottableInterface1D.

Definition at line 4513 of file qcustomplot.h.

◆ findEnd()

template<class DataType >
int QCPAbstractPlottable1D< DataType >::findEnd ( double  sortKey,
bool  expandedRange = true 
) const
overridevirtual

Returns the index one after the data point with a (sort-)key that is equal to, just above, or just below sortKey. If expandedRange is true, the data point just above sortKey will be considered, otherwise the one just below.

This can be used in conjunction with findBegin to iterate over data points within a given key range, including the bounding data points that are just below and above the specified range.

If expandedRange is true but there are no data points above sortKey, the index just above the highest data point is returned.

If the container is empty, returns 0.

See also
findBegin, QCPDataContainer::findEnd

Implements QCPPlottableInterface1D.

Definition at line 4522 of file qcustomplot.h.

◆ getDataSegments()

template<class DataType >
void QCPAbstractPlottable1D< DataType >::getDataSegments ( QList< QCPDataRange > &  selectedSegments,
QList< QCPDataRange > &  unselectedSegments 
) const
protected

Splits all data into selected and unselected segments and outputs them via selectedSegments and unselectedSegments, respectively.

This is useful when subclasses implement their draw method and need to draw selected segments with a different pen/brush than unselected segments (also see QCPSelectionDecorator).

See also
setSelection

Definition at line 4600 of file qcustomplot.h.

◆ interface1D()

template<class DataType >
QCPPlottableInterface1D * QCPAbstractPlottable1D< DataType >::interface1D ( )
inlineoverridevirtual

Returns a QCPPlottableInterface1D pointer to this plottable, providing access to its 1D interface.

\seebaseclassmethod

Reimplemented from QCPAbstractPlottable.

Definition at line 4142 of file qcustomplot.h.

◆ selectTest()

template<class DataType >
double QCPAbstractPlottable1D< DataType >::selectTest ( const QPointF pos,
bool  onlySelectable,
QVariant details = nullptr 
) const
overridevirtual

Implements a point-selection algorithm assuming the data (accessed via the 1D data interface) is point-like. Most subclasses will want to reimplement this method again, to provide a more accurate hit test based on the true data visualization geometry.

If details is not 0, it will be set to a QCPDataSelection, describing the closest data point to pos.

\seebaseclassmethod

Implements QCPAbstractPlottable.

Reimplemented in QCPFinancial, QCPStatisticalBox, QCPBars, QCPCurve, and QCPGraph.

Definition at line 4538 of file qcustomplot.h.

◆ selectTestRect()

template<class DataType >
QCPDataSelection QCPAbstractPlottable1D< DataType >::selectTestRect ( const QRectF rect,
bool  onlySelectable 
) const
overridevirtual

Implements a rect-selection algorithm assuming the data (accessed via the 1D data interface) is point-like. Most subclasses will want to reimplement this method again, to provide a more accurate hit test based on the true data visualization geometry.

\seebaseclassmethod

Implements QCPPlottableInterface1D.

Reimplemented in QCPFinancial, QCPStatisticalBox, and QCPBars.

Definition at line 4464 of file qcustomplot.h.

◆ sortKeyIsMainKey()

template<class DataType >
bool QCPAbstractPlottable1D< DataType >::sortKeyIsMainKey
overridevirtual

Returns whether the sort key (dataSortKey) is identical to the main key (dataMainKey).

What the sort and main keys are, is defined by the plottable's data type. See the QCPDataContainer DataType documentation for details about this naming convention.

Implements QCPPlottableInterface1D.

Definition at line 4451 of file qcustomplot.h.


The documentation for this class was generated from the following file:
This file is part of the KDE documentation.
Documentation copyright © 1996-2022 The KDE developers.
Generated on Thu Dec 8 2022 03:59:53 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.