QCPItemCurve

Search for usage in LXR

Inheritance diagram for QCPItemCurve:

Public Member Functions

 QCPItemCurve (QCustomPlot *parentPlot)
 
QCPLineEnding head () const
 
QPen pen () const
 
QPen selectedPen () const
 
virtual double selectTest (const QPointF &pos, bool onlySelectable, QVariant *details=nullptr) const override
 
void setHead (const QCPLineEnding &head)
 
void setPen (const QPen &pen)
 
void setSelectedPen (const QPen &pen)
 
void setTail (const QCPLineEnding &tail)
 
QCPLineEnding tail () const
 
- Public Member Functions inherited from QCPAbstractItem
 QCPAbstractItem (QCustomPlot *parentPlot)
 
QCPItemAnchoranchor (const QString &name) const
 
QList< QCPItemAnchor * > anchors () const
 
QCPAxisRectclipAxisRect () const
 
bool clipToAxisRect () const
 
bool hasAnchor (const QString &name) const
 
QCPItemPositionposition (const QString &name) const
 
QList< QCPItemPosition * > positions () const
 
bool selectable () const
 
bool selected () const
 
void setClipAxisRect (QCPAxisRect *rect)
 
void setClipToAxisRect (bool clip)
 
Q_SLOT void setSelectable (bool selectable)
 
Q_SLOT void setSelected (bool selected)
 
- 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)
 
QBindable< QStringbindableObjectName ()
 
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 () const const
 
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 QRegularExpression &re, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (Qt::FindChildOptions options) const const
 
bool inherits (const char *className) const const
 
void installEventFilter (QObject *filterObj)
 
bool isQuickItemType () const const
 
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_EMIT Q_EMIT
 
 Q_ENUM (...)
 
 Q_ENUM_NS (...)
 
 Q_ENUMS (...)
 
 Q_FLAG (...)
 
 Q_FLAG_NS (...)
 
 Q_FLAGS (...)
 
 Q_GADGET Q_GADGET
 
 Q_GADGET_EXPORT (EXPORT_MACRO)
 
 Q_INTERFACES (...)
 
 Q_INVOKABLE Q_INVOKABLE
 
 Q_MOC_INCLUDE Q_MOC_INCLUDE
 
 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
 
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 setObjectName (QAnyStringView name)
 
void setParent (QObject *parent)
 
bool setProperty (const char *name, const QVariant &value)
 
bool setProperty (const char *name, QVariant &&value)
 
bool signalsBlocked () const const
 
int startTimer (int interval, Qt::TimerType timerType)
 
int startTimer (std::chrono::milliseconds interval, Qt::TimerType timerType)
 
QThreadthread () const const
 

Public Attributes

QCPItemPosition *const end
 
QCPItemPosition *const endDir
 
QCPItemPosition *const start
 
QCPItemPosition *const startDir
 

Protected Member Functions

virtual void draw (QCPPainter *painter) override
 
QPen mainPen () const
 
- Protected Member Functions inherited from QCPAbstractItem
virtual QPointF anchorPixelPosition (int anchorId) const
 
virtual void applyDefaultAntialiasingHint (QCPPainter *painter) const override
 
virtual QRect clipRect () const override
 
QCPItemAnchorcreateAnchor (const QString &name, int anchorId)
 
QCPItemPositioncreatePosition (const QString &name)
 
virtual void deselectEvent (bool *selectionStateChanged) override
 
double rectDistance (const QRectF &rect, const QPointF &pos, bool filledRect) const
 
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

QCPLineEnding mHead
 
QPen mPen
 
QPen mSelectedPen
 
QCPLineEnding mTail
 
- Protected Attributes inherited from QCPAbstractItem
QList< QCPItemAnchor * > mAnchors
 
QPointer< QCPAxisRectmClipAxisRect
 
bool mClipToAxisRect
 
QList< QCPItemPosition * > mPositions
 
bool mSelectable
 
bool mSelected
 
- Protected Attributes inherited from QCPLayerable
bool mAntialiased
 
QCPLayermLayer
 
QPointer< QCPLayerablemParentLayerable
 
QCustomPlotmParentPlot
 
bool mVisible
 

Additional Inherited Members

- Public Types inherited from QObject
typedef  QObjectList
 
- Properties inherited from QObject
 objectName
 
- Signals inherited from QCPAbstractItem
void selectableChanged (bool selectable)
 
void selectionChanged (bool selected)
 
- 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)
 

Detailed Description

A curved line from one point to another.

Curve example. Blue dotted circles are anchors, solid blue discs are positions.

It has four positions, start and end, which define the end points of the line, and two control points which define the direction the line exits from the start and the direction from which it approaches the end: startDir and endDir.

With setHead and setTail you may set different line ending styles, e.g. to create an arrow.

Often it is desirable for the control points to stay at fixed relative positions to the start/end point. This can be achieved by setting the parent anchor e.g. of startDir simply to start, and then specify the desired pixel offset with QCPItemPosition::setCoords on startDir.

Definition at line 6515 of file qcustomplot.h.

Constructor & Destructor Documentation

◆ QCPItemCurve()

QCPItemCurve::QCPItemCurve ( QCustomPlot * parentPlot)
explicit

Creates a curve item and sets default values.

The created item is automatically registered with parentPlot. This QCustomPlot instance takes ownership of the item, so do not delete it manually but use QCustomPlot::removeItem() instead.

Definition at line 29296 of file qcustomplot.cpp.

◆ ~QCPItemCurve()

QCPItemCurve::~QCPItemCurve ( )
overridevirtual

Definition at line 29312 of file qcustomplot.cpp.

Member Function Documentation

◆ draw()

void QCPItemCurve::draw ( QCPPainter * painter)
overrideprotectedvirtual

Draws this item with the provided painter.

The cliprect of the provided painter is set to the rect returned by clipRect before this function is called. The clipRect depends on the clipping settings defined by setClipToAxisRect and setClipAxisRect.

Implements QCPAbstractItem.

Definition at line 29393 of file qcustomplot.cpp.

◆ head()

QCPLineEnding QCPItemCurve::head ( ) const
inline

Definition at line 6531 of file qcustomplot.h.

◆ mainPen()

QPen QCPItemCurve::mainPen ( ) const
protected

Returns the pen that should be used for drawing lines. Returns mPen when the item is not selected and mSelectedPen when it is.

Definition at line 29428 of file qcustomplot.cpp.

◆ pen()

QPen QCPItemCurve::pen ( ) const
inline

Definition at line 6529 of file qcustomplot.h.

◆ selectedPen()

QPen QCPItemCurve::selectedPen ( ) const
inline

Definition at line 6530 of file qcustomplot.h.

◆ selectTest()

double QCPItemCurve::selectTest ( const QPointF & pos,
bool onlySelectable,
QVariant * details = nullptr ) const
overridevirtual

This function is used to decide whether a click hits a layerable object or not.

pos is a point in pixel coordinates on the QCustomPlot surface. This function returns the shortest pixel distance of this point to the object. If the object is either invisible or the distance couldn't be determined, -1.0 is returned. Further, if onlySelectable is true and the object is not selectable, -1.0 is returned, too.

If the object is represented not by single lines but by an area like a QCPItemText or the bars of a QCPBars plottable, a click inside the area should also be considered a hit. In these cases this function thus returns a constant value greater zero but still below the parent plot's selection tolerance. (typically the selectionTolerance multiplied by 0.99).

Providing a constant value for area objects allows selecting line objects even when they are obscured by such area objects, by clicking close to the lines (i.e. closer than 0.99*selectionTolerance).

The actual setting of the selection state is not done by this function. This is handled by the parent QCustomPlot when the mouseReleaseEvent occurs, and the finally selected object is notified via the selectEvent/ deselectEvent methods.

details is an optional output parameter. Every layerable subclass may place any information in details. This information will be passed to selectEvent when the parent QCustomPlot decides on the basis of this selectTest call, that the object was successfully selected. The subsequent call to selectEvent will carry the details. This is useful for multi-part objects (like QCPAxis). This way, a possibly complex calculation to decide which part was clicked is only done once in selectTest. The result (i.e. the actually clicked part) can then be placed in details. So in the subsequent selectEvent, the decision which part was selected doesn't have to be done a second time for a single selection operation.

In the case of 1D Plottables (QCPAbstractPlottable1D, like QCPGraph or QCPBars) details will be set to a QCPDataSelection, describing the closest data point to pos.

You may pass nullptr as details to indicate that you are not interested in those selection details.

See also
selectEvent, deselectEvent, mousePressEvent, wheelEvent, QCustomPlot::setInteractions, QCPAbstractPlottable1D::selectTestRect

Implements QCPAbstractItem.

Definition at line 29363 of file qcustomplot.cpp.

◆ setHead()

void QCPItemCurve::setHead ( const QCPLineEnding & head)

Sets the line ending style of the head. The head corresponds to the end position.

Note that due to the overloaded QCPLineEnding constructor, you may directly specify a QCPLineEnding::EndingStyle here, e.g.

void setHead(const QCPLineEnding &head)
@ esSpikeArrow
A filled arrow head with an indented back.
See also
setTail

Definition at line 29344 of file qcustomplot.cpp.

◆ setPen()

void QCPItemCurve::setPen ( const QPen & pen)

Sets the pen that will be used to draw the line

See also
setSelectedPen

Definition at line 29321 of file qcustomplot.cpp.

◆ setSelectedPen()

void QCPItemCurve::setSelectedPen ( const QPen & pen)

Sets the pen that will be used to draw the line when selected

See also
setPen, setSelected

Definition at line 29331 of file qcustomplot.cpp.

◆ setTail()

void QCPItemCurve::setTail ( const QCPLineEnding & tail)

Sets the line ending style of the tail. The tail corresponds to the start position.

Note that due to the overloaded QCPLineEnding constructor, you may directly specify a QCPLineEnding::EndingStyle here, e.g.

void setTail(const QCPLineEnding &tail)
See also
setHead

Definition at line 29357 of file qcustomplot.cpp.

◆ tail()

QCPLineEnding QCPItemCurve::tail ( ) const
inline

Definition at line 6532 of file qcustomplot.h.

Member Data Documentation

◆ end

QCPItemPosition* const QCPItemCurve::end

Definition at line 6546 of file qcustomplot.h.

◆ endDir

QCPItemPosition* const QCPItemCurve::endDir

Definition at line 6545 of file qcustomplot.h.

◆ mHead

QCPLineEnding QCPItemCurve::mHead
protected

Definition at line 6551 of file qcustomplot.h.

◆ mPen

QPen QCPItemCurve::mPen
protected

Definition at line 6550 of file qcustomplot.h.

◆ mSelectedPen

QPen QCPItemCurve::mSelectedPen
protected

Definition at line 6550 of file qcustomplot.h.

◆ mTail

QCPLineEnding QCPItemCurve::mTail
protected

Definition at line 6551 of file qcustomplot.h.

◆ start

QCPItemPosition* const QCPItemCurve::start

Definition at line 6543 of file qcustomplot.h.

◆ startDir

QCPItemPosition* const QCPItemCurve::startDir

Definition at line 6544 of file qcustomplot.h.


The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Wed Nov 6 2024 12:13:18 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.