10 #include <QtCore/qglobal.h>
17 #ifdef QCUSTOMPLOT_USE_OPENGL
18 #if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
19 #define QCP_OPENGL_PBUFFER
21 #define QCP_OPENGL_FBO
23 #if QT_VERSION >= QT_VERSION_CHECK(5, 3, 0)
24 #define QCP_OPENGL_OFFSCREENSURFACE
28 #if QT_VERSION >= QT_VERSION_CHECK(5, 4, 0)
29 #define QCP_DEVICEPIXELRATIO_SUPPORTED
30 #if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)
31 #define QCP_DEVICEPIXELRATIO_FLOAT
37 #include <QtCore/QCache>
38 #include <QtCore/QDateTime>
39 #include <QtCore/QDebug>
40 #include <QtCore/QFlags>
41 #include <QtCore/QMargins>
42 #include <QtCore/QMultiMap>
43 #include <QtCore/QObject>
44 #include <QtCore/QPointer>
45 #include <QtCore/QStack>
46 #include <QtCore/QString>
47 #include <QtCore/QVector>
48 #include <QtGui/QMouseEvent>
49 #include <QtGui/QPaintEvent>
50 #include <QtGui/QPainter>
51 #include <QtGui/QPainterPath>
52 #include <QtGui/QPixmap>
53 #include <QtGui/QVector2D>
54 #include <QtGui/QWheelEvent>
58 #include <QtGui/QOpenGLContext>
59 #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
60 #include <QtGui/QOpenGLFramebufferObject>
62 #include <QOpenGLFramebufferObject>
63 #include <QOpenGLPaintDevice>
65 #ifdef QCP_OPENGL_OFFSCREENSURFACE
66 #include <QtGui/QOffscreenSurface>
68 #include <QtGui/QWindow>
71 #ifdef QCP_OPENGL_PBUFFER
72 #include <QtOpenGL/QGLPixelBuffer>
74 #if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
77 #include <QtGui/QPrintEngine>
78 #include <QtGui/QPrinter>
79 #include <QtGui/QWidget>
82 #include <QtPrintSupport/QtPrintSupport>
83 #include <QtWidgets/QWidget>
85 #if QT_VERSION >= QT_VERSION_CHECK(4, 8, 0)
86 #include <QtCore/QElapsedTimer>
88 #if QT_VERSION >= QT_VERSION_CHECK(5, 2, 0)
89 #include <QtCore/QTimeZone>
99 class QCPAxisPainterPrivate;
115 #if defined(QT_STATIC_BUILD)
117 #elif defined(QCUSTOMPLOT_COMPILE_LIBRARY)
118 #define QCP_LIB_DECL Q_DECL_EXPORT
119 #elif defined(QCUSTOMPLOT_USE_LIBRARY)
120 #define QCP_LIB_DECL Q_DECL_IMPORT
126 #ifndef Q_DECL_OVERRIDE
127 #define Q_DECL_OVERRIDE
275 return qIsNaN(value) || qIsInf(value);
296 margins.setLeft(value);
299 margins.setRight(value);
302 margins.setTop(value);
305 margins.setBottom(value);
308 margins = QMargins(value, value, value, value);
325 return margins.left();
327 return margins.right();
329 return margins.top();
331 return margins.bottom();
356 Q_ENUMS(ScatterShape)
423 const QBrush &brush = Qt::NoBrush,
427 double size()
const {
return mSize; }
429 QPen
pen()
const {
return mPen; }
430 QBrush
brush()
const {
return mBrush; }
431 QPixmap
pixmap()
const {
return mPixmap; }
443 bool isNone()
const {
return mShape == ssNone; }
446 void drawShape(
QCPPainter *painter, QPointF pos)
const;
456 QPainterPath mCustomPath;
488 Q_FLAGS(PainterMode PainterModes)
489 Q_DECLARE_FLAGS(PainterModes, PainterMode)
496 bool antialiasing()
const {
return testRenderHint(QPainter::Antialiasing); }
497 PainterModes
modes()
const {
return mModes; }
511 void drawLine(
const QPointF &p1,
const QPointF &p2) {
512 drawLine(QLineF(p1, p2));
523 bool mIsAntialiasing;
526 QStack<bool> mAntialiasingStack;
533 Q_PROPERTY(
QCustomPlot *parentPlot READ parentPlot)
535 Q_PROPERTY(
int index READ index)
536 Q_PROPERTY(QList<QCPLayerable *> children READ children)
537 Q_PROPERTY(
bool visible READ visible WRITE setVisible)
545 QString
name()
const {
return mName; }
546 int index()
const {
return mIndex; }
547 QList<QCPLayerable *>
children()
const {
return mChildren; }
558 QList<QCPLayerable *> mChildren;
575 Q_PROPERTY(
bool visible READ visible WRITE setVisible)
576 Q_PROPERTY(
QCustomPlot *parentPlot READ parentPlot)
577 Q_PROPERTY(
QCPLayerable *parentLayerable READ parentLayerable)
578 Q_PROPERTY(
QCPLayer *layer READ layer WRITE setLayer NOTIFY layerChanged)
579 Q_PROPERTY(
bool antialiased READ antialiased WRITE setAntialiased)
583 QString targetLayer = QString(),
603 QVariant *details = 0)
const;
615 QPointer<QCPLayerable> mParentLayerable;
628 const QVariant &details,
629 bool *selectionStateChanged);
637 bool localAntialiased,
655 return lower == other.
lower && upper == other.
upper;
697 static const double minRange;
698 static const double maxRange;
788 return mChildren.value(side);
796 QHash<QCP::MarginSide, QList<QCPLayoutElement *>> mChildren;
812 Q_PROPERTY(
QCPLayout *layout READ layout)
813 Q_PROPERTY(QRect rect READ rect)
814 Q_PROPERTY(QRect outerRect READ outerRect WRITE setOuterRect)
815 Q_PROPERTY(QMargins margins READ margins WRITE setMargins)
817 QMargins minimumMargins READ minimumMargins WRITE setMinimumMargins)
818 Q_PROPERTY(QSize minimumSize READ minimumSize WRITE setMinimumSize)
819 Q_PROPERTY(QSize maximumSize READ maximumSize WRITE setMaximumSize)
842 QRect
rect()
const {
return mRect; }
853 return mMarginGroups;
869 virtual QSize minimumSizeHint()
const;
870 virtual QSize maximumSizeHint()
const;
871 virtual QList<QCPLayoutElement *>
elements(
bool recursive)
const;
876 QVariant *details = 0)
const;
881 QSize mMinimumSize, mMaximumSize;
882 QRect mRect, mOuterRect;
883 QMargins mMargins, mMinimumMargins;
884 QCP::MarginSides mAutoMargins;
885 QHash<QCP::MarginSide, QCPMarginGroup *> mMarginGroups;
918 virtual QList<QCPLayoutElement *>
elements(
bool recursive)
const;
941 QVector<int> minSizes,
942 QVector<double> stretchFactors,
943 int totalSize)
const;
953 Q_PROPERTY(
int rowCount READ rowCount)
955 Q_PROPERTY(QList<double> columnStretchFactors READ columnStretchFactors
956 WRITE setColumnStretchFactors)
957 Q_PROPERTY(QList<double> rowStretchFactors READ rowStretchFactors WRITE
958 setRowStretchFactors)
959 Q_PROPERTY(
int columnSpacing READ columnSpacing WRITE setColumnSpacing)
960 Q_PROPERTY(
int rowSpacing READ rowSpacing WRITE setRowSpacing)
988 virtual QList<QCPLayoutElement *>
elements(
bool recursive)
const;
990 virtual QSize minimumSizeHint()
const;
991 virtual QSize maximumSizeHint()
const;
997 void expandTo(
int newRowCount,
int newColumnCount);
1003 QList<QList<QCPLayoutElement *>> mElements;
1004 QList<double> mColumnStretchFactors;
1005 QList<double> mRowStretchFactors;
1006 int mColumnSpacing, mRowSpacing;
1010 QVector<int> *minRowHeights)
const;
1012 QVector<int> *maxRowHeights)
const;
1054 bool onlySelectable,
1055 QVariant *details = 0)
const;
1063 QList<QCPLayoutElement *> mElements;
1064 QList<InsetPlacement> mInsetPlacement;
1065 QList<Qt::Alignment> mInsetAlignment;
1066 QList<QRectF> mInsetRect;
1088 Q_ENUMS(EndingStyle)
1119 bool inverted =
false);
1137 const QVector2D &pos,
1138 const QVector2D &dir)
const;
1139 void draw(
QCPPainter *painter,
const QVector2D &pos,
double angle)
const;
1144 double mWidth, mLength;
1152 Q_PROPERTY(
bool subGridVisible READ subGridVisible WRITE setSubGridVisible)
1153 Q_PROPERTY(
bool antialiasedSubGrid READ antialiasedSubGrid WRITE
1154 setAntialiasedSubGrid)
1155 Q_PROPERTY(
bool antialiasedZeroLine READ antialiasedZeroLine WRITE
1156 setAntialiasedZeroLine)
1157 Q_PROPERTY(QPen pen READ pen WRITE setPen)
1158 Q_PROPERTY(QPen subGridPen READ subGridPen WRITE setSubGridPen)
1159 Q_PROPERTY(QPen zeroLinePen READ zeroLinePen WRITE setZeroLinePen)
1168 QPen
pen()
const {
return mPen; }
1182 bool mSubGridVisible;
1183 bool mAntialiasedSubGrid, mAntialiasedZeroLine;
1184 QPen mPen, mSubGridPen, mZeroLinePen;
1202 Q_PROPERTY(AxisType axisType READ axisType)
1204 Q_PROPERTY(ScaleType scaleType READ scaleType WRITE setScaleType NOTIFY
1206 Q_PROPERTY(
double scaleLogBase READ scaleLogBase WRITE setScaleLogBase)
1207 Q_PROPERTY(
QCPRange range READ range WRITE setRange NOTIFY rangeChanged)
1208 Q_PROPERTY(
bool rangeReversed READ rangeReversed WRITE setRangeReversed)
1209 Q_PROPERTY(
bool autoTicks READ autoTicks WRITE setAutoTicks)
1210 Q_PROPERTY(
int autoTickCount READ autoTickCount WRITE setAutoTickCount)
1211 Q_PROPERTY(
bool autoTickLabels READ autoTickLabels WRITE setAutoTickLabels)
1212 Q_PROPERTY(
bool autoTickStep READ autoTickStep WRITE setAutoTickStep)
1213 Q_PROPERTY(
bool autoSubTicks READ autoSubTicks WRITE setAutoSubTicks)
1214 Q_PROPERTY(
bool ticks READ ticks WRITE setTicks)
1215 Q_PROPERTY(
bool tickLabels READ tickLabels WRITE setTickLabels)
1216 Q_PROPERTY(
int tickLabelPadding READ tickLabelPadding WRITE
1217 setTickLabelPadding)
1219 LabelType tickLabelType READ tickLabelType WRITE setTickLabelType)
1220 Q_PROPERTY(QFont tickLabelFont READ tickLabelFont WRITE setTickLabelFont)
1222 QColor tickLabelColor READ tickLabelColor WRITE setTickLabelColor)
1223 Q_PROPERTY(
double tickLabelRotation READ tickLabelRotation WRITE
1224 setTickLabelRotation)
1226 LabelSide tickLabelSide READ tickLabelSide WRITE setTickLabelSide)
1228 QString dateTimeFormat READ dateTimeFormat WRITE setDateTimeFormat)
1230 Qt::TimeSpec dateTimeSpec READ dateTimeSpec WRITE setDateTimeSpec)
1231 Q_PROPERTY(QString numberFormat READ numberFormat WRITE setNumberFormat)
1233 int numberPrecision READ numberPrecision WRITE setNumberPrecision)
1234 Q_PROPERTY(
double tickStep READ tickStep WRITE setTickStep)
1235 Q_PROPERTY(QVector<double> tickVector READ tickVector WRITE setTickVector)
1236 Q_PROPERTY(QVector<QString> tickVectorLabels READ tickVectorLabels WRITE
1237 setTickVectorLabels)
1238 Q_PROPERTY(
int tickLengthIn READ tickLengthIn WRITE setTickLengthIn)
1239 Q_PROPERTY(
int tickLengthOut READ tickLengthOut WRITE setTickLengthOut)
1240 Q_PROPERTY(
int subTickCount READ subTickCount WRITE setSubTickCount)
1242 int subTickLengthIn READ subTickLengthIn WRITE setSubTickLengthIn)
1243 Q_PROPERTY(
int subTickLengthOut READ subTickLengthOut WRITE
1244 setSubTickLengthOut)
1245 Q_PROPERTY(QPen basePen READ basePen WRITE setBasePen)
1246 Q_PROPERTY(QPen tickPen READ tickPen WRITE setTickPen)
1247 Q_PROPERTY(QPen subTickPen READ subTickPen WRITE setSubTickPen)
1248 Q_PROPERTY(QFont labelFont READ labelFont WRITE setLabelFont)
1249 Q_PROPERTY(QColor labelColor READ labelColor WRITE setLabelColor)
1250 Q_PROPERTY(QString label READ label WRITE setLabel)
1251 Q_PROPERTY(
int labelPadding READ labelPadding WRITE setLabelPadding)
1252 Q_PROPERTY(
int padding READ padding WRITE setPadding)
1254 Q_PROPERTY(SelectableParts selectedParts READ selectedParts WRITE
1255 setSelectedParts NOTIFY selectionChanged)
1256 Q_PROPERTY(SelectableParts selectableParts READ selectableParts WRITE
1257 setSelectableParts NOTIFY selectableChanged)
1258 Q_PROPERTY(QFont selectedTickLabelFont READ selectedTickLabelFont WRITE
1259 setSelectedTickLabelFont)
1260 Q_PROPERTY(QFont selectedLabelFont READ selectedLabelFont WRITE
1261 setSelectedLabelFont)
1262 Q_PROPERTY(QColor selectedTickLabelColor READ selectedTickLabelColor WRITE
1263 setSelectedTickLabelColor)
1264 Q_PROPERTY(QColor selectedLabelColor READ selectedLabelColor WRITE
1265 setSelectedLabelColor)
1267 QPen selectedBasePen READ selectedBasePen WRITE setSelectedBasePen)
1269 QPen selectedTickPen READ selectedTickPen WRITE setSelectedTickPen)
1270 Q_PROPERTY(QPen selectedSubTickPen READ selectedSubTickPen WRITE
1271 setSelectedSubTickPen)
1272 Q_PROPERTY(
QCPLineEnding lowerEnding READ lowerEnding WRITE setLowerEnding)
1273 Q_PROPERTY(
QCPLineEnding upperEnding READ upperEnding WRITE setUpperEnding)
1274 Q_PROPERTY(
QCPGrid *grid READ grid)
1295 Q_FLAGS(AxisType AxisTypes)
1296 Q_DECLARE_FLAGS(AxisTypes, AxisType)
1347 spTickLabels = 0x002
1352 Q_FLAGS(SelectablePart SelectableParts)
1353 Q_DECLARE_FLAGS(SelectableParts, SelectablePart)
1395 QString
label()
const {
return mLabel; }
1414 void setScaleLogBase(
double base);
1421 void setAutoTicks(
bool on);
1422 void setAutoTickCount(
int approximateCount);
1423 void setAutoTickLabels(
bool on);
1424 void setAutoTickStep(
bool on);
1425 void setAutoSubTicks(
bool on);
1434 void setDateTimeFormat(
const QString &
format);
1435 void setDateTimeSpec(
const Qt::TimeSpec &timeSpec);
1438 void setTickStep(
double step);
1439 void setTickVector(
const QVector<double> &vec);
1440 void setTickVectorLabels(
const QVector<QString> &vec);
1444 void setSubTickCount(
int count);
1465 const QCPAxis::SelectableParts &selectableParts);
1472 bool onlySelectable,
1473 QVariant *details = 0)
const;
1490 return type == atBottom ||
type == atTop ? Qt::Horizontal
1510 Qt::Orientation mOrientation;
1511 SelectableParts mSelectableParts, mSelectedParts;
1512 QPen mBasePen, mSelectedBasePen;
1517 QFont mLabelFont, mSelectedLabelFont;
1518 QColor mLabelColor, mSelectedLabelColor;
1524 QFont mTickLabelFont, mSelectedTickLabelFont;
1525 QColor mTickLabelColor, mSelectedTickLabelColor;
1528 int mNumberPrecision;
1529 QLatin1Char mNumberFormatChar;
1530 bool mNumberBeautifulPowers;
1539 QPen mTickPen, mSelectedTickPen;
1540 QPen mSubTickPen, mSelectedSubTickPen;
1543 bool mRangeReversed;
1549 QCPAxisPainterPrivate *mAxisPainter;
1551 QVector<double> mTickVector;
1552 QVector<QString> mTickVectorLabels;
1553 QVector<double> mSubTickVector;
1554 bool mCachedMarginValid;
1559 virtual void generateAutoTicks();
1560 virtual int calculateAutoSubTickCount(
double tickStep)
const;
1570 const QVariant &details,
1571 bool *selectionStateChanged);
1575 void visibleTickBounds(
int &lowIndex,
int &highIndex)
const;
1576 double baseLog(
double value)
const;
1577 double basePow(
double value)
const;
1597 class QCPAxisPainterPrivate {
1599 explicit QCPAxisPainterPrivate(
QCustomPlot *parentPlot);
1600 virtual ~QCPAxisPainterPrivate();
1603 virtual int size()
const;
1606 QRect axisSelectionBox()
const {
return mAxisSelectionBox; }
1607 QRect tickLabelsSelectionBox()
const {
return mTickLabelsSelectionBox; }
1608 QRect labelSelectionBox()
const {
return mLabelSelectionBox; }
1619 int tickLabelPadding;
1620 double tickLabelRotation;
1623 bool substituteExponent;
1624 bool numberMultiplyCross;
1625 int tickLengthIn, tickLengthOut, subTickLengthIn,
1627 QPen tickPen, subTickPen;
1628 QFont tickLabelFont;
1629 QColor tickLabelColor;
1630 QRect axisRect, viewportRect;
1632 bool abbreviateDecimalPowers;
1633 bool reversedEndings;
1635 QVector<double> subTickPositions;
1636 QVector<double> tickPositions;
1637 QVector<QString> tickLabels;
1640 struct CachedLabel {
1644 struct TickLabelData {
1645 QString basePart, expPart;
1646 QRect baseBounds, expBounds, totalBounds, rotatedTotalBounds;
1647 QFont baseFont, expFont;
1650 QByteArray mLabelParameterHash;
1652 QCache<QString, CachedLabel> mLabelCache;
1653 QRect mAxisSelectionBox, mTickLabelsSelectionBox, mLabelSelectionBox;
1655 virtual QByteArray generateLabelParameterHash()
const;
1657 virtual void placeTickLabel(
QCPPainter *painter,
1660 const QString &text,
1661 QSize *tickLabelsSize);
1662 virtual void drawTickLabel(
QCPPainter *painter,
1665 const TickLabelData &labelData)
const;
1666 virtual TickLabelData getTickLabelData(
const QFont &font,
1667 const QString &text)
const;
1668 virtual QPointF getTickLabelDrawOffset(
1669 const TickLabelData &labelData)
const;
1670 virtual void getMaxTickLabelSize(
const QFont &font,
1671 const QString &text,
1672 QSize *tickLabelsSize)
const;
1678 Q_PROPERTY(QString
name READ
name WRITE setName)
1680 bool antialiasedFill READ antialiasedFill WRITE setAntialiasedFill)
1681 Q_PROPERTY(
bool antialiasedScatters READ antialiasedScatters WRITE
1682 setAntialiasedScatters)
1683 Q_PROPERTY(
bool antialiasedErrorBars READ antialiasedErrorBars WRITE
1684 setAntialiasedErrorBars)
1685 Q_PROPERTY(QPen pen READ pen WRITE setPen)
1686 Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen)
1687 Q_PROPERTY(QBrush brush READ brush WRITE setBrush)
1688 Q_PROPERTY(QBrush selectedBrush READ selectedBrush WRITE setSelectedBrush)
1689 Q_PROPERTY(
QCPAxis *keyAxis READ keyAxis WRITE setKeyAxis)
1690 Q_PROPERTY(
QCPAxis *valueAxis READ valueAxis WRITE setValueAxis)
1691 Q_PROPERTY(
bool selectable READ selectable WRITE setSelectable NOTIFY
1693 Q_PROPERTY(
bool selected READ selected WRITE setSelected NOTIFY
1700 QString
name()
const {
return mName; }
1704 QPen
pen()
const {
return mPen; }
1717 void setAntialiasedErrorBars(
bool enabled);
1719 void setSelectedPen(
const QPen &pen);
1721 void setSelectedBrush(
const QBrush &brush);
1724 Q_SLOT
void setSelectable(
bool selectable);
1725 Q_SLOT
void setSelected(
bool selected);
1730 bool onlySelectable,
1731 QVariant *details = 0)
const = 0;
1738 void rescaleValueAxis(
bool onlyEnlarge =
false)
const;
1765 QPointer<QCPAxis> mKeyAxis, mValueAxis;
1776 const QVariant &details,
1777 bool *selectionStateChanged);
1782 const QRectF &rect)
const = 0;
1794 double &value)
const;
1795 QPen mainPen()
const;
1796 QBrush mainBrush()
const;
1799 void applyErrorBarsAntialiasingHint(
QCPPainter *painter)
const;
1800 double distSqrToLine(
const QPointF &start,
1802 const QPointF &point)
const;
1821 QString
name()
const {
return mName; }
1822 virtual QPointF pixelPoint()
const;
1832 QSet<QCPItemPosition *> mChildrenX, mChildrenY;
1888 const QString
name);
1898 double key()
const {
return mKey; }
1900 QPointF
coords()
const {
return QPointF(mKey, mValue); }
1904 virtual QPointF pixelPoint()
const;
1911 bool keepPixelPosition =
false);
1913 bool keepPixelPosition =
false);
1915 bool keepPixelPosition =
false);
1920 void setPixelPoint(
const QPointF &pixelPoint);
1925 QPointer<QCPAxis> mKeyAxis, mValueAxis;
1926 QPointer<QCPAxisRect> mAxisRect;
1927 double mKey, mValue;
1940 Q_PROPERTY(
bool clipToAxisRect READ clipToAxisRect WRITE setClipToAxisRect)
1942 QCPAxisRect *clipAxisRect READ clipAxisRect WRITE setClipAxisRect)
1943 Q_PROPERTY(
bool selectable READ selectable WRITE setSelectable NOTIFY
1945 Q_PROPERTY(
bool selected READ selected WRITE setSelected NOTIFY
1966 bool onlySelectable,
1967 QVariant *details = 0)
const = 0;
1970 QList<QCPItemPosition *>
positions()
const {
return mPositions; }
1971 QList<QCPItemAnchor *>
anchors()
const {
return mAnchors; }
1982 bool mClipToAxisRect;
1983 QPointer<QCPAxisRect> mClipAxisRect;
1984 QList<QCPItemPosition *> mPositions;
1985 QList<QCPItemAnchor *> mAnchors;
1986 bool mSelectable, mSelected;
1996 const QVariant &details,
1997 bool *selectionStateChanged);
2001 virtual QPointF anchorPixelPoint(
int anchorId)
const;
2004 double distSqrToLine(
const QPointF &start,
2006 const QPointF &point)
const;
2007 double rectSelectTest(
const QRectF &rect,
2009 bool filledRect)
const;
2023 Q_PROPERTY(QRect viewport READ viewport WRITE setViewport)
2024 Q_PROPERTY(QPixmap background READ background WRITE setBackground)
2025 Q_PROPERTY(
bool backgroundScaled READ backgroundScaled WRITE
2026 setBackgroundScaled)
2027 Q_PROPERTY(Qt::AspectRatioMode backgroundScaledMode READ
2028 backgroundScaledMode WRITE setBackgroundScaledMode)
2030 Q_PROPERTY(
bool autoAddPlottableToLegend READ autoAddPlottableToLegend WRITE
2031 setAutoAddPlottableToLegend)
2032 Q_PROPERTY(
int selectionTolerance READ selectionTolerance WRITE
2033 setSelectionTolerance)
2034 Q_PROPERTY(
bool noAntialiasingOnDrag READ noAntialiasingOnDrag WRITE
2035 setNoAntialiasingOnDrag)
2036 Q_PROPERTY(Qt::KeyboardModifier multiSelectModifier READ multiSelectModifier
2037 WRITE setMultiSelectModifier)
2050 Q_ENUMS(LayerInsertMode)
2079 return mBackgroundScaledMode;
2083 return mAntialiasedElements;
2086 return mNotAntialiasedElements;
2094 return mMultiSelectModifier;
2103 Qt::AspectRatioMode mode = Qt::KeepAspectRatioByExpanding);
2108 const QCP::AntialiasedElements &antialiasedElements);
2110 bool enabled =
true);
2112 const QCP::AntialiasedElements ¬AntialiasedElements);
2114 bool enabled =
true);
2118 bool enabled =
true);
2136 bool onlySelectable =
false)
const;
2159 bool onlySelectable =
false)
const;
2188 bool savePdf(
const QString &fileName,
2189 bool noCosmeticPen =
false,
2192 const QString &pdfCreator = QString(),
2193 const QString &pdfTitle = QString());
2194 bool savePng(
const QString &fileName,
2199 bool saveJpg(
const QString &fileName,
2204 bool saveBmp(
const QString &fileName,
2207 double scale = 1.0);
2208 bool saveRastered(
const QString &fileName,
2219 QCPAxis *xAxis, *yAxis, *xAxis2, *yAxis2;
2231 QMouseEvent *
event);
2236 QMouseEvent *
event);
2239 QMouseEvent *
event);
2242 QMouseEvent *
event);
2245 QMouseEvent *
event);
2254 void showPointToolTip(QMouseEvent *
event);
2260 bool mAutoAddPlottableToLegend;
2261 QList<QCPAbstractPlottable *> mPlottables;
2262 QList<QCPGraph *> mGraphs;
2264 QList<QCPAbstractItem *> mItems;
2265 QList<QCPLayer *> mLayers;
2266 QCP::AntialiasedElements mAntialiasedElements, mNotAntialiasedElements;
2267 QCP::Interactions mInteractions;
2268 int mSelectionTolerance;
2269 bool mNoAntialiasingOnDrag;
2270 QBrush mBackgroundBrush;
2271 QPixmap mBackgroundPixmap;
2272 QPixmap mScaledBackgroundPixmap;
2273 bool mBackgroundScaled;
2274 Qt::AspectRatioMode mBackgroundScaledMode;
2276 QCP::PlottingHints mPlottingHints;
2277 Qt::KeyboardModifier mMultiSelectModifier;
2281 QPoint mMousePressPos;
2304 bool onlySelectable,
2305 QVariant *selectionDetails = 0)
const;
2330 Q_ENUMS(ColorInterpolation)
2377 Q_ENUMS(GradientPreset)
2382 return !(*
this == other);
2389 return mColorInterpolation;
2405 int dataIndexFactor = 1,
2406 bool logarithmic =
false);
2409 bool logarithmic =
false);
2419 QMap<double, QColor> mColorStops;
2424 QVector<QRgb> mColorBuffer;
2425 bool mColorBufferInvalidated;
2431 Q_PROPERTY(QPixmap background READ background WRITE setBackground)
2432 Q_PROPERTY(
bool backgroundScaled READ backgroundScaled WRITE
2433 setBackgroundScaled)
2434 Q_PROPERTY(Qt::AspectRatioMode backgroundScaledMode READ
2435 backgroundScaledMode WRITE setBackgroundScaledMode)
2436 Q_PROPERTY(Qt::Orientations rangeDrag READ rangeDrag WRITE setRangeDrag)
2437 Q_PROPERTY(Qt::Orientations rangeZoom READ rangeZoom WRITE setRangeZoom)
2447 return mBackgroundScaledMode;
2460 Qt::AspectRatioMode mode = Qt::KeepAspectRatioByExpanding);
2474 QList<QCPAxis *>
axes(QCPAxis::AxisTypes types)
const;
2477 QList<QCPAxis *>
addAxes(QCPAxis::AxisTypes types);
2487 int left()
const {
return mRect.left(); }
2488 int right()
const {
return mRect.right(); }
2489 int top()
const {
return mRect.top(); }
2490 int bottom()
const {
return mRect.bottom(); }
2491 int width()
const {
return mRect.width(); }
2492 int height()
const {
return mRect.height(); }
2493 QSize
size()
const {
return mRect.size(); }
2494 QPoint
topLeft()
const {
return mRect.topLeft(); }
2498 QPoint
center()
const {
return mRect.center(); }
2502 virtual QList<QCPLayoutElement *>
elements(
bool recursive)
const;
2506 QBrush mBackgroundBrush;
2507 QPixmap mBackgroundPixmap;
2508 QPixmap mScaledBackgroundPixmap;
2509 bool mBackgroundScaled;
2510 Qt::AspectRatioMode mBackgroundScaledMode;
2512 Qt::Orientations mRangeDrag, mRangeZoom;
2515 double mRangeZoomFactorHorz, mRangeZoomFactorVert;
2518 QCP::AntialiasedElements mAADragBackup, mNotAADragBackup;
2521 QHash<QCPAxis::AxisType, QList<QCPAxis *>> mAxes;
2528 virtual void mousePressEvent(QMouseEvent *
event);
2529 virtual void mouseMoveEvent(QMouseEvent *
event);
2530 virtual void mouseReleaseEvent(QMouseEvent *
event);
2546 Q_PROPERTY(
QCPLegend *parentLegend READ parentLegend)
2547 Q_PROPERTY(QFont font READ font WRITE setFont)
2548 Q_PROPERTY(QColor textColor READ textColor WRITE setTextColor)
2549 Q_PROPERTY(QFont selectedFont READ selectedFont WRITE setSelectedFont)
2550 Q_PROPERTY(QColor selectedTextColor READ selectedTextColor WRITE
2551 setSelectedTextColor)
2552 Q_PROPERTY(
bool selectable READ selectable WRITE setSelectable NOTIFY
2554 Q_PROPERTY(
bool selected READ selected WRITE setSelected NOTIFY
2562 QFont
font()
const {
return mFont; }
2579 bool onlySelectable,
2580 QVariant *details = 0)
const;
2591 QFont mSelectedFont;
2592 QColor mSelectedTextColor;
2593 bool mSelectable, mSelected;
2603 const QVariant &details,
2604 bool *selectionStateChanged);
2627 virtual QSize minimumSizeHint()
const;
2638 Q_PROPERTY(QPen borderPen READ borderPen WRITE setBorderPen)
2639 Q_PROPERTY(QBrush brush READ brush WRITE setBrush)
2640 Q_PROPERTY(QFont font READ font WRITE setFont)
2641 Q_PROPERTY(QColor textColor READ textColor WRITE setTextColor)
2642 Q_PROPERTY(QSize iconSize READ iconSize WRITE setIconSize)
2644 int iconTextPadding READ iconTextPadding WRITE setIconTextPadding)
2645 Q_PROPERTY(QPen iconBorderPen READ iconBorderPen WRITE setIconBorderPen)
2646 Q_PROPERTY(SelectableParts selectableParts READ selectableParts WRITE
2647 setSelectableParts NOTIFY selectionChanged)
2648 Q_PROPERTY(SelectableParts selectedParts READ selectedParts WRITE
2649 setSelectedParts NOTIFY selectableChanged)
2650 Q_PROPERTY(QPen selectedBorderPen READ selectedBorderPen WRITE
2651 setSelectedBorderPen)
2652 Q_PROPERTY(QPen selectedIconBorderPen READ selectedIconBorderPen WRITE
2653 setSelectedIconBorderPen)
2654 Q_PROPERTY(QBrush selectedBrush READ selectedBrush WRITE setSelectedBrush)
2655 Q_PROPERTY(QFont selectedFont READ selectedFont WRITE setSelectedFont)
2656 Q_PROPERTY(QColor selectedTextColor READ selectedTextColor WRITE
2657 setSelectedTextColor)
2673 Q_FLAGS(SelectablePart SelectableParts)
2674 Q_DECLARE_FLAGS(SelectableParts, SelectablePart)
2680 QPen borderPen()
const {
return mBorderPen; }
2682 QFont
font()
const {
return mFont; }
2714 bool onlySelectable,
2715 QVariant *details = 0)
const;
2736 QPen mBorderPen, mIconBorderPen;
2741 int mIconTextPadding;
2742 SelectableParts mSelectedParts, mSelectableParts;
2743 QPen mSelectedBorderPen, mSelectedIconBorderPen;
2744 QBrush mSelectedBrush;
2745 QFont mSelectedFont;
2746 QColor mSelectedTextColor;
2756 const QVariant &details,
2757 bool *selectionStateChanged);
2776 Q_PROPERTY(QString text READ text WRITE setText)
2792 QString
text()
const {
return mText; }
2801 void setText(
const QString &text);
2810 virtual double selectTest(
const QPointF &pos,
2811 bool onlySelectable,
2812 QVariant *details = 0)
const;
2836 const QVariant &details,
2837 bool *selectionStateChanged);
2841 QFont mainFont()
const;
2842 QColor mainTextColor()
const;
2848 class QCPColorScaleAxisRectPrivate :
public QCPAxisRect {
2851 explicit QCPColorScaleAxisRectPrivate(
QCPColorScale *parentColorScale);
2855 QImage mGradientImage;
2856 bool mGradientImageInvalidated;
2866 void updateGradientImage();
2867 Q_SLOT
void axisSelectionChanged(QCPAxis::SelectableParts selectedParts);
2868 Q_SLOT
void axisSelectableChanged(QCPAxis::SelectableParts selectableParts);
2876 Q_PROPERTY(
QCPRange dataRange READ dataRange WRITE setDataRange NOTIFY
2879 setDataScaleType NOTIFY dataScaleTypeChanged)
2880 Q_PROPERTY(
QCPColorGradient gradient READ gradient WRITE setGradient NOTIFY
2882 Q_PROPERTY(QString label READ label WRITE setLabel)
2883 Q_PROPERTY(
int barWidth READ barWidth WRITE setBarWidth)
2884 Q_PROPERTY(
bool rangeDrag READ rangeDrag WRITE setRangeDrag)
2885 Q_PROPERTY(
bool rangeZoom READ rangeZoom WRITE setRangeZoom)
2933 QPointer<QCPColorScaleAxisRectPrivate> mAxisRect;
2934 QPointer<QCPAxis> mColorAxis;
2939 virtual void mousePressEvent(QMouseEvent *
event);
2940 virtual void mouseMoveEvent(QMouseEvent *
event);
2941 virtual void mouseReleaseEvent(QMouseEvent *
event);
2947 friend class QCPColorScaleAxisRectPrivate;
2955 QCPData(
double key,
double value);
2976 Q_PROPERTY(LineStyle lineStyle READ lineStyle WRITE setLineStyle)
2979 Q_PROPERTY(ErrorType errorType READ errorType WRITE setErrorType)
2980 Q_PROPERTY(QPen errorPen READ errorPen WRITE setErrorPen)
2981 Q_PROPERTY(
double errorBarSize READ errorBarSize WRITE setErrorBarSize)
2982 Q_PROPERTY(
bool errorBarSkipSymbol READ errorBarSkipSymbol WRITE
2983 setErrorBarSkipSymbol)
2984 Q_PROPERTY(
QCPGraph *channelFillGraph READ channelFillGraph WRITE
2985 setChannelFillGraph)
2986 Q_PROPERTY(
bool adaptiveSampling READ adaptiveSampling WRITE
2987 setAdaptiveSampling)
3047 void setData(
const QVector<double> &key,
const QVector<double> &value);
3048 void setDataKeyError(
const QVector<double> &key,
3049 const QVector<double> &value,
3050 const QVector<double> &keyError);
3051 void setDataKeyError(
const QVector<double> &key,
3052 const QVector<double> &value,
3053 const QVector<double> &keyErrorMinus,
3054 const QVector<double> &keyErrorPlus);
3055 void setDataValueError(
const QVector<double> &key,
3056 const QVector<double> &value,
3057 const QVector<double> &valueError);
3058 void setDataValueError(
const QVector<double> &key,
3059 const QVector<double> &value,
3060 const QVector<double> &valueErrorMinus,
3061 const QVector<double> &valueErrorPlus);
3062 void setDataBothError(
const QVector<double> &key,
3063 const QVector<double> &value,
3064 const QVector<double> &keyError,
3065 const QVector<double> &valueError);
3066 void setDataBothError(
const QVector<double> &key,
3067 const QVector<double> &value,
3068 const QVector<double> &keyErrorMinus,
3069 const QVector<double> &keyErrorPlus,
3070 const QVector<double> &valueErrorMinus,
3071 const QVector<double> &valueErrorPlus);
3075 void setErrorPen(
const QPen &pen);
3076 void setErrorBarSize(
double size);
3077 void setErrorBarSkipSymbol(
bool enabled);
3085 void addData(
const QVector<double> &keys,
const QVector<double> &values);
3086 void removeDataBefore(
double key);
3087 void removeDataAfter(
double key);
3088 void removeData(
double fromKey,
double toKey);
3089 void removeData(
double key);
3092 virtual void clearData();
3094 bool onlySelectable,
3095 QVariant *details = 0)
const;
3099 void rescaleAxes(
bool onlyEnlarge,
bool includeErrorBars)
3101 void rescaleKeyAxis(
bool onlyEnlarge,
bool includeErrorBars)
3103 void rescaleValueAxis(
bool onlyEnlarge,
bool includeErrorBars)
3115 QPointer<QCPGraph> mChannelFillGraph;
3116 bool mAdaptiveSampling;
3121 virtual QCPRange getKeyRange(
bool &foundRange,
3123 virtual QCPRange getValueRange(
bool &foundRange,
3128 bool includeErrors)
const;
3132 bool includeErrors)
const;
3136 QVector<QPointF> *lineData)
const;
3137 virtual void drawScatterPlot(
QCPPainter *painter,
3138 QVector<QCPData> *scatterData)
const;
3139 virtual void drawLinePlot(
QCPPainter *painter,
3140 QVector<QPointF> *lineData)
const;
3141 virtual void drawImpulsePlot(
QCPPainter *painter,
3142 QVector<QPointF> *lineData)
const;
3145 void getPreparedData(QVector<QCPData> *lineData,
3146 QVector<QCPData> *scatterData)
const;
3147 void getPlotData(QVector<QPointF> *lineData,
3148 QVector<QCPData> *scatterData)
const;
3149 void getScatterPlotData(QVector<QCPData> *scatterData)
const;
3150 void getLinePlotData(QVector<QPointF> *linePixelData,
3151 QVector<QCPData> *scatterData)
const;
3152 void getStepLeftPlotData(QVector<QPointF> *linePixelData,
3153 QVector<QCPData> *scatterData)
const;
3154 void getStepRightPlotData(QVector<QPointF> *linePixelData,
3155 QVector<QCPData> *scatterData)
const;
3156 void getStepCenterPlotData(QVector<QPointF> *linePixelData,
3157 QVector<QCPData> *scatterData)
const;
3158 void getImpulsePlotData(QVector<QPointF> *linePixelData,
3159 QVector<QCPData> *scatterData)
const;
3164 void getVisibleDataBounds(QCPDataMap::const_iterator &lower,
3165 QCPDataMap::const_iterator &upper)
const;
3166 int countDataInBounds(
const QCPDataMap::const_iterator &lower,
3167 const QCPDataMap::const_iterator &upper,
3168 int maxCount)
const;
3169 void addFillBasePoints(QVector<QPointF> *lineData)
const;
3170 void removeFillBasePoints(QVector<QPointF> *lineData)
const;
3171 QPointF lowerFillBasePoint(
double lowerKey)
const;
3172 QPointF upperFillBasePoint(
double upperKey)
const;
3173 const QPolygonF getChannelFillPolygon(
3174 const QVector<QPointF> *lineData)
const;
3179 double pointDistance(
const QPointF &pixelPoint)
const;
3191 double t, key, value;
3205 typedef QMutableMapIterator<double, QCPCurveData>
3213 Q_PROPERTY(LineStyle lineStyle READ lineStyle WRITE setLineStyle)
3235 void setData(
const QVector<double> &t,
3236 const QVector<double> &key,
3237 const QVector<double> &value);
3238 void setData(
const QVector<double> &key,
const QVector<double> &value);
3247 void addData(
const QVector<double> &ts,
3248 const QVector<double> &keys,
3249 const QVector<double> &values);
3250 void removeDataBefore(
double t);
3251 void removeDataAfter(
double t);
3252 void removeData(
double fromt,
double tot);
3253 void removeData(
double t);
3256 virtual void clearData();
3258 bool onlySelectable,
3259 QVariant *details = 0)
const;
3270 virtual QCPRange getKeyRange(
bool &foundRange,
3272 virtual QCPRange getValueRange(
bool &foundRange,
3276 virtual void drawScatterPlot(
QCPPainter *painter,
3277 const QVector<QPointF> *pointData)
const;
3280 void getCurveData(QVector<QPointF> *lineData)
const;
3286 double rectBottom)
const;
3295 double rectBottom)
const;
3305 double rectBottom)
const;
3316 QPointF &crossB)
const;
3323 QVector<QPointF> &beforeTraverse,
3324 QVector<QPointF> &afterTraverse)
const;
3325 double pointDistance(
const QPointF &pixelPoint)
const;
3336 Q_PROPERTY(SpacingType spacingType READ spacingType WRITE setSpacingType)
3337 Q_PROPERTY(
double spacing READ spacing WRITE setSpacing)
3367 QList<QCPBars *>
bars()
const {
return mBars; }
3369 int size()
const {
return mBars.size(); }
3382 QList<QCPBars *> mBars;
3420 Q_PROPERTY(
double width READ
width WRITE setWidth)
3421 Q_PROPERTY(WidthType widthType READ widthType WRITE setWidthType)
3422 Q_PROPERTY(
QCPBarsGroup *barsGroup READ barsGroup WRITE setBarsGroup)
3423 Q_PROPERTY(
double baseValue READ baseValue WRITE setBaseValue)
3424 Q_PROPERTY(
QCPBars *barBelow READ barBelow)
3425 Q_PROPERTY(
QCPBars *barAbove READ barAbove)
3463 void setData(
const QVector<double> &key,
const QVector<double> &value);
3471 void addData(
const QVector<double> &keys,
const QVector<double> &values);
3472 void removeDataBefore(
double key);
3473 void removeDataAfter(
double key);
3474 void removeData(
double fromKey,
double toKey);
3475 void removeData(
double key);
3478 virtual void clearData();
3480 bool onlySelectable,
3481 QVariant *details = 0)
const;
3490 QPointer<QCPBars> mBarBelow, mBarAbove;
3495 virtual QCPRange getKeyRange(
bool &foundRange,
3497 virtual QCPRange getValueRange(
bool &foundRange,
3501 void getVisibleDataBounds(QCPBarDataMap::const_iterator &lower,
3502 QCPBarDataMap::const_iterator &upperEnd)
const;
3503 QPolygonF getBarPolygon(
double key,
double value)
const;
3518 Q_PROPERTY(
double key READ key WRITE setKey)
3519 Q_PROPERTY(
double minimum READ minimum WRITE setMinimum)
3520 Q_PROPERTY(
double lowerQuartile READ lowerQuartile WRITE setLowerQuartile)
3521 Q_PROPERTY(
double median READ median WRITE setMedian)
3522 Q_PROPERTY(
double upperQuartile READ upperQuartile WRITE setUpperQuartile)
3523 Q_PROPERTY(
double maximum READ maximum WRITE setMaximum)
3524 Q_PROPERTY(QVector<double> outliers READ outliers WRITE setOutliers)
3525 Q_PROPERTY(
double width READ
width WRITE setWidth)
3526 Q_PROPERTY(
double whiskerWidth READ whiskerWidth WRITE setWhiskerWidth)
3527 Q_PROPERTY(QPen whiskerPen READ whiskerPen WRITE setWhiskerPen)
3528 Q_PROPERTY(QPen whiskerBarPen READ whiskerBarPen WRITE setWhiskerBarPen)
3529 Q_PROPERTY(QPen medianPen READ medianPen WRITE setMedianPen)
3537 double key()
const {
return mKey; }
3552 void setKey(
double key);
3553 void setMinimum(
double value);
3554 void setLowerQuartile(
double value);
3555 void setMedian(
double value);
3556 void setUpperQuartile(
double value);
3557 void setMaximum(
double value);
3558 void setOutliers(
const QVector<double> &values);
3559 void setData(
double key,
3561 double lowerQuartile,
3563 double upperQuartile,
3573 virtual void clearData();
3575 bool onlySelectable,
3576 QVariant *details = 0)
const;
3581 double mKey, mMinimum, mLowerQuartile, mMedian, mUpperQuartile, mMaximum;
3583 double mWhiskerWidth;
3584 QPen mWhiskerPen, mWhiskerBarPen, mMedianPen;
3590 virtual QCPRange getKeyRange(
bool &foundRange,
3592 virtual QCPRange getValueRange(
bool &foundRange,
3596 virtual void drawQuartileBox(
QCPPainter *painter,
3597 QRectF *quartileBox = 0)
const;
3598 virtual void drawMedian(
QCPPainter *painter)
const;
3599 virtual void drawWhiskers(
QCPPainter *painter)
const;
3600 virtual void drawOutliers(
QCPPainter *painter)
const;
3622 double data(
double key,
double value);
3623 double cell(
int keyIndex,
int valueIndex);
3643 int *valueIndex)
const;
3647 double *value)
const;
3651 int mKeySize, mValueSize;
3665 Q_PROPERTY(
QCPRange dataRange READ dataRange WRITE setDataRange NOTIFY
3668 setDataScaleType NOTIFY dataScaleTypeChanged)
3669 Q_PROPERTY(
QCPColorGradient gradient READ gradient WRITE setGradient NOTIFY
3671 Q_PROPERTY(
bool interpolate READ interpolate WRITE setInterpolate)
3672 Q_PROPERTY(
bool tightBoundary READ tightBoundary WRITE setTightBoundary)
3673 Q_PROPERTY(
QCPColorScale *colorScale READ colorScale WRITE setColorScale)
3700 Qt::TransformationMode transformMode = Qt::SmoothTransformation,
3701 const QSize &thumbSize = QSize(32, 18));
3704 virtual void clearData();
3706 bool onlySelectable,
3707 QVariant *details = 0)
const;
3721 bool mTightBoundary;
3722 QPointer<QCPColorScale> mColorScale;
3724 QImage mMapImage, mUndersampledMapImage;
3725 QPixmap mLegendIcon;
3726 bool mMapImageInvalidated;
3734 virtual QCPRange getKeyRange(
bool &foundRange,
3736 virtual QCPRange getValueRange(
bool &foundRange,
3749 double key,
double open,
double high,
double low,
double close);
3750 double key, open, high, low, close;
3763 typedef QMutableMapIterator<double, QCPFinancialData>
3769 Q_PROPERTY(ChartStyle chartStyle READ chartStyle WRITE setChartStyle)
3770 Q_PROPERTY(
double width READ
width WRITE setWidth)
3771 Q_PROPERTY(
bool twoColored READ twoColored WRITE setTwoColored)
3772 Q_PROPERTY(QBrush brushPositive READ brushPositive WRITE setBrushPositive)
3773 Q_PROPERTY(QBrush brushNegative READ brushNegative WRITE setBrushNegative)
3774 Q_PROPERTY(QPen penPositive READ penPositive WRITE setPenPositive)
3775 Q_PROPERTY(QPen penNegative READ penNegative WRITE setPenNegative)
3805 void setData(
const QVector<double> &key,
3806 const QVector<double> &open,
3807 const QVector<double> &high,
3808 const QVector<double> &low,
3809 const QVector<double> &close);
3822 double key,
double open,
double high,
double low,
double close);
3823 void addData(
const QVector<double> &key,
3824 const QVector<double> &open,
3825 const QVector<double> &high,
3826 const QVector<double> &low,
3827 const QVector<double> &close);
3828 void removeDataBefore(
double key);
3829 void removeDataAfter(
double key);
3830 void removeData(
double fromKey,
double toKey);
3831 void removeData(
double key);
3834 virtual void clearData();
3836 bool onlySelectable,
3837 QVariant *details = 0)
const;
3841 const QVector<double> &value,
3843 double timeBinOffset = 0);
3851 QBrush mBrushPositive, mBrushNegative;
3852 QPen mPenPositive, mPenNegative;
3857 virtual QCPRange getKeyRange(
bool &foundRange,
3859 virtual QCPRange getValueRange(
bool &foundRange,
3864 const QCPFinancialDataMap::const_iterator &begin,
3865 const QCPFinancialDataMap::const_iterator &end);
3866 void drawCandlestickPlot(
QCPPainter *painter,
3867 const QCPFinancialDataMap::const_iterator &begin,
3868 const QCPFinancialDataMap::const_iterator &end);
3869 double ohlcSelectTest(
const QPointF &pos,
3870 const QCPFinancialDataMap::const_iterator &begin,
3871 const QCPFinancialDataMap::const_iterator &end)
const;
3872 double candlestickSelectTest(
3874 const QCPFinancialDataMap::const_iterator &begin,
3875 const QCPFinancialDataMap::const_iterator &end)
const;
3876 void getVisibleDataBounds(QCPFinancialDataMap::const_iterator &lower,
3877 QCPFinancialDataMap::const_iterator &upper)
const;
3886 Q_PROPERTY(QPen pen READ pen WRITE setPen)
3887 Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen)
3894 QPen
pen()
const {
return mPen; }
3903 bool onlySelectable,
3904 QVariant *details = 0)
const;
3911 QPen mPen, mSelectedPen;
3917 double distToStraightLine(
const QVector2D &point1,
3918 const QVector2D &vec,
3919 const QVector2D &point)
const;
3920 QLineF getRectClippedStraightLine(
const QVector2D &point1,
3921 const QVector2D &vec,
3922 const QRect &rect)
const;
3929 Q_PROPERTY(QPen pen READ pen WRITE setPen)
3930 Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen)
3939 QPen
pen()
const {
return mPen; }
3952 bool onlySelectable,
3953 QVariant *details = 0)
const;
3960 QPen mPen, mSelectedPen;
3967 QLineF getRectClippedLine(
const QVector2D &start,
3968 const QVector2D &end,
3969 const QRect &rect)
const;
3976 Q_PROPERTY(QPen pen READ pen WRITE setPen)
3977 Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen)
3986 QPen
pen()
const {
return mPen; }
3999 bool onlySelectable,
4000 QVariant *details = 0)
const;
4009 QPen mPen, mSelectedPen;
4022 Q_PROPERTY(QPen pen READ pen WRITE setPen)
4023 Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen)
4024 Q_PROPERTY(QBrush brush READ brush WRITE setBrush)
4025 Q_PROPERTY(QBrush selectedBrush READ selectedBrush WRITE setSelectedBrush)
4032 QPen
pen()
const {
return mPen; }
4045 bool onlySelectable,
4046 QVariant *details = 0)
const;
4068 QPen mPen, mSelectedPen;
4069 QBrush mBrush, mSelectedBrush;
4073 virtual QPointF anchorPixelPoint(
int anchorId)
const;
4084 Q_PROPERTY(QColor selectedColor READ selectedColor WRITE setSelectedColor)
4085 Q_PROPERTY(QPen pen READ pen WRITE setPen)
4086 Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen)
4087 Q_PROPERTY(QBrush brush READ brush WRITE setBrush)
4088 Q_PROPERTY(QBrush selectedBrush READ selectedBrush WRITE setSelectedBrush)
4089 Q_PROPERTY(QFont font READ font WRITE setFont)
4090 Q_PROPERTY(QFont selectedFont READ selectedFont WRITE setSelectedFont)
4091 Q_PROPERTY(QString text READ text WRITE setText)
4092 Q_PROPERTY(
Qt::Alignment positionAlignment READ positionAlignment WRITE
4093 setPositionAlignment)
4094 Q_PROPERTY(
Qt::Alignment textAlignment READ textAlignment WRITE
4097 Q_PROPERTY(QMargins padding READ padding WRITE setPadding)
4106 QPen
pen()
const {
return mPen; }
4110 QFont
font()
const {
return mFont; }
4112 QString
text()
const {
return mText; }
4135 bool onlySelectable,
4136 QVariant *details = 0)
const;
4161 QColor mColor, mSelectedColor;
4162 QPen mPen, mSelectedPen;
4163 QBrush mBrush, mSelectedBrush;
4164 QFont mFont, mSelectedFont;
4173 virtual QPointF anchorPixelPoint(
int anchorId)
const;
4188 Q_PROPERTY(QPen pen READ pen WRITE setPen)
4189 Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen)
4190 Q_PROPERTY(QBrush brush READ brush WRITE setBrush)
4191 Q_PROPERTY(QBrush selectedBrush READ selectedBrush WRITE setSelectedBrush)
4198 QPen
pen()
const {
return mPen; }
4211 bool onlySelectable,
4212 QVariant *details = 0)
const;
4240 QPen mPen, mSelectedPen;
4241 QBrush mBrush, mSelectedBrush;
4245 virtual QPointF anchorPixelPoint(
int anchorId)
const;
4255 Q_PROPERTY(QPixmap pixmap READ pixmap WRITE setPixmap)
4256 Q_PROPERTY(
bool scaled READ scaled WRITE setScaled)
4257 Q_PROPERTY(Qt::AspectRatioMode aspectRatioMode READ aspectRatioMode)
4259 Qt::TransformationMode transformationMode READ transformationMode)
4260 Q_PROPERTY(QPen pen READ pen WRITE setPen)
4261 Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen)
4272 return mTransformationMode;
4274 QPen
pen()
const {
return mPen; }
4280 Qt::AspectRatioMode aspectRatioMode = Qt::KeepAspectRatio,
4281 Qt::TransformationMode transformationMode =
4282 Qt::SmoothTransformation);
4288 bool onlySelectable,
4289 QVariant *details = 0)
const;
4312 QPixmap mScaledPixmap;
4314 Qt::AspectRatioMode mAspectRatioMode;
4315 Qt::TransformationMode mTransformationMode;
4316 QPen mPen, mSelectedPen;
4320 virtual QPointF anchorPixelPoint(
int anchorId)
const;
4324 bool flipHorz =
false,
4325 bool flipVert =
false);
4333 Q_PROPERTY(QPen pen READ pen WRITE setPen)
4334 Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen)
4335 Q_PROPERTY(QBrush brush READ brush WRITE setBrush)
4336 Q_PROPERTY(QBrush selectedBrush READ selectedBrush WRITE setSelectedBrush)
4337 Q_PROPERTY(
double size READ
size WRITE setSize)
4338 Q_PROPERTY(TracerStyle style READ style WRITE setStyle)
4339 Q_PROPERTY(
QCPGraph *graph READ graph WRITE setGraph)
4340 Q_PROPERTY(
double graphKey READ graphKey WRITE setGraphKey)
4341 Q_PROPERTY(
bool interpolating READ interpolating WRITE setInterpolating)
4362 Q_ENUMS(TracerStyle)
4368 QPen pen()
const {
return mPen; }
4372 double size()
const {
return mSize; }
4391 bool onlySelectable,
4392 QVariant *details = 0)
const;
4401 QPen mPen, mSelectedPen;
4402 QBrush mBrush, mSelectedBrush;
4407 bool mInterpolating;
4420 Q_PROPERTY(QPen pen READ pen WRITE setPen)
4421 Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen)
4422 Q_PROPERTY(
double length READ length WRITE setLength)
4423 Q_PROPERTY(BracketStyle style READ style WRITE setStyle)
4441 QPen
pen()
const {
return mPen; }
4454 bool onlySelectable,
4455 QVariant *details = 0)
const;
4464 QPen mPen, mSelectedPen;
4466 BracketStyle mStyle;
4470 virtual QPointF anchorPixelPoint(
int anchorId)
const;
filament::Texture::InternalFormat format
const QCPVector2D operator+(const QCPVector2D &vec1, const QCPVector2D &vec2)
const QCPVector2D operator-(const QCPVector2D &vec1, const QCPVector2D &vec2)
const QCPVector2D operator/(const QCPVector2D &vec, double divisor)
const QCPVector2D operator*(double factor, const QCPVector2D &vec)
Q_DECLARE_TYPEINFO(QCPVector2D, Q_MOVABLE_TYPE)
The abstract base class for all items in a plot.
QList< QCPItemPosition * > positions() const
virtual void deselectEvent(bool *selectionStateChanged)
virtual void applyDefaultAntialiasingHint(QCPPainter *painter) const
QList< QCPItemAnchor * > anchors() const
void setClipToAxisRect(bool clip)
bool clipToAxisRect() const
void selectableChanged(bool selectable)
virtual QCP::Interaction selectionCategory() const
void setClipAxisRect(QCPAxisRect *rect)
QCPAxisRect * clipAxisRect() const
bool hasAnchor(const QString &name) const
QCPItemPosition * position(const QString &name) const
QCPItemAnchor * createAnchor(const QString &name, int anchorId)
virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const =0
QCPAbstractItem(QCustomPlot *parentPlot)
virtual void selectEvent(QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged)
Q_SLOT void setSelected(bool selected)
void selectionChanged(bool selected)
QCPItemPosition * createPosition(const QString &name)
Q_SLOT void setSelectable(bool selectable)
QCPItemAnchor * anchor(const QString &name) const
virtual ~QCPAbstractItem()
virtual void draw(QCPPainter *painter)=0
virtual QRect clipRect() const
The abstract base class for all entries in a QCPLegend.
virtual QCP::Interaction selectionCategory() const
QColor selectedTextColor() const
QCPLegend * parentLegend() const
virtual void applyDefaultAntialiasingHint(QCPPainter *painter) const
void setFont(const QFont &font)
QColor mSelectedTextColor
void setSelectedTextColor(const QColor &color)
void setTextColor(const QColor &color)
Q_SLOT void setSelected(bool selected)
void selectionChanged(bool selected)
virtual void selectEvent(QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged)
Q_SLOT void setSelectable(bool selectable)
virtual void applyDefaultAntialiasingHint(QCPPainter *painter) const
virtual QRect clipRect() const
void setSelectedFont(const QFont &font)
virtual void draw(QCPPainter *painter)=0
Q_SLOT void setSelectable(bool selectable)
void selectableChanged(bool selectable)
virtual void selectEvent(QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged)
virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const
QFont selectedFont() const
Q_SLOT void setSelected(bool selected)
virtual void deselectEvent(bool *selectionStateChanged)
virtual void deselectEvent(bool *selectionStateChanged)
QCPAbstractLegendItem(QCPLegend *parent)
virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const
The abstract base class for all data representing objects in a plot.
void selectableChanged(bool selectable)
virtual QRect clipRect() const
bool antialiasedFill() const
void setAntialiasedFill(bool enabled)
void rescaleAxes(bool onlyEnlarge=false) const
virtual bool removeFromLegend() const
void pixelsToCoords(const QPointF &pixelPos, double &key, double &value) const
QCPAxis * keyAxis() const
virtual bool addToLegend()
void setAntialiasedScatters(bool enabled)
virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const =0
void pixelsToCoords(double x, double y, double &key, double &value) const
void selectionChanged(bool selected)
void applyDefaultAntialiasingHint(QCPPainter *painter) const
const QPointF coordsToPixels(double key, double value) const
void rescaleValueAxis(bool onlyEnlarge=false, bool inKeyRange=false) const
void setValueAxis(QCPAxis *axis)
virtual void drawLegendIcon(QCPPainter *painter, const QRectF &rect) const =0
virtual QCPRange getKeyRange(bool &foundRange, SignDomain inSignDomain=sdBoth) const =0
bool antialiasedScatters() const
void setBrush(const QBrush &brush)
void coordsToPixels(double key, double value, double &x, double &y) const
virtual void deselectEvent(bool *selectionStateChanged)
void setKeyAxis(QCPAxis *axis)
virtual void clearData()=0
void applyFillAntialiasingHint(QCPPainter *painter) const
virtual QCPRange getValueRange(bool &foundRange, SignDomain inSignDomain=sdBoth) const =0
virtual QCP::Interaction selectionCategory() const
void setPen(const QPen &pen)
void setName(const QString &name)
void applyScattersAntialiasingHint(QCPPainter *painter) const
virtual void draw(QCPPainter *painter)=0
bool mAntialiasedErrorBars
bool antialiasedErrorBars() const
void rescaleKeyAxis(bool onlyEnlarge=false) const
virtual void selectEvent(QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged)
QCPAxis * valueAxis() const
QCPAbstractPlottable(QCPAxis *keyAxis, QCPAxis *valueAxis)
QBrush selectedBrush() const
Holds multiple axes and arranges them in a rectangular shape.
bool removeAxis(QCPAxis *axis)
bool backgroundScaled() const
Qt::AspectRatioMode backgroundScaledMode() const
QCPAxis * rangeDragAxis(Qt::Orientation orientation)
virtual void wheelEvent(QWheelEvent *event)
QList< QCPAbstractItem * > items() const
virtual int calculateAutoMargin(QCP::MarginSide side)
virtual QList< QCPLayoutElement * > elements(bool recursive) const
void setBackground(const QBrush &brush)
virtual void update(UpdatePhase phase)
QCPAxis * rangeZoomAxis(Qt::Orientation orientation)
QPoint bottomRight() const
virtual void mouseMoveEvent(QMouseEvent *event, const QPointF &startPos)
QList< QCPAxis * > axes(QCPAxis::AxisTypes types) const
QCPRange mDragStartHorzRange
virtual void mousePressEvent(QMouseEvent *event, const QVariant &details)
QPixmap background() const
virtual void wheelEvent(QWheelEvent *event)
void setBackgroundScaledMode(Qt::AspectRatioMode mode)
void setupFullAxesBox(bool connectRanges=false)
void updateAxesOffset(QCPAxis::AxisType type)
QCPAxisRect(QCustomPlot *parentPlot, bool setupDefaultAxes=true)
void setRangeDragAxes(QCPAxis *horizontal, QCPAxis *vertical)
void setRangeZoom(Qt::Orientations orientations)
virtual void applyDefaultAntialiasingHint(QCPPainter *painter) const
int axisCount(QCPAxis::AxisType type) const
void setRangeZoomFactor(double horizontalFactor, double verticalFactor)
void setRangeZoomAxes(QCPAxis *horizontal, QCPAxis *vertical)
virtual void mouseReleaseEvent(QMouseEvent *event, const QPointF &startPos)
virtual void draw(QCPPainter *painter)
QCPAxis * axis(QCPAxis::AxisType type, int index=0) const
QList< QCPGraph * > graphs() const
Qt::Orientations rangeZoom() const
Qt::Orientations rangeDrag() const
virtual void update(UpdatePhase phase)
QPoint bottomLeft() const
void drawBackground(QCPPainter *painter)
QCPAxis * addAxis(QCPAxis::AxisType type, QCPAxis *axis=0)
void setBackground(const QPixmap &pm, bool scaled, Qt::AspectRatioMode mode=Qt::KeepAspectRatioByExpanding)
QList< QCPAxis * > axes() const
QList< QCPAxis * > addAxes(QCPAxis::AxisTypes types)
QPointer< QCPAxis > mRangeZoomHorzAxis
double rangeZoomFactor(Qt::Orientation orientation)
void setRangeDrag(Qt::Orientations orientations)
void setBackgroundScaled(bool scaled)
QList< QCPAbstractPlottable * > plottables() const
virtual int calculateAutoMargin(QCP::MarginSide side)
void setRangeZoomFactor(double factor)
QPointer< QCPAxis > mRangeDragHorzAxis
QCPLayoutInset * insetLayout() const
void setBackground(const QPixmap &pm)
virtual void draw(QCPPainter *painter)
Manages a single axis inside a QCustomPlot.
void setSelectedLabelFont(const QFont &font)
void setOffset(int offset)
void setTickLabels(bool show)
QColor labelColor() const
void rangeChanged(const QCPRange &newRange)
void setLowerEnding(const QCPLineEnding &ending)
SelectablePart getPartAt(const QPointF &pos) const
QFont selectedTickLabelFont() const
QFont tickLabelFont() const
LabelType tickLabelType() const
QCPLineEnding lowerEnding() const
QPen selectedBasePen() const
virtual void selectEvent(QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged)
QFont selectedLabelFont() const
void setTickLabelSide(LabelSide side)
bool autoTickStep() const
void moveRange(double diff)
Q_SLOT void setRange(const QCPRange &range)
QVector< QString > tickVectorLabels() const
void setTickLabelRotation(double degrees)
SelectableParts selectableParts() const
QString numberFormat() const
void setRangeReversed(bool reversed)
void setNumberPrecision(int precision)
int numberPrecision() const
virtual void draw(QCPPainter *painter)
void setSelectedSubTickPen(const QPen &pen)
void setTickLabelFont(const QFont &font)
QString dateTimeFormat() const
QList< QCPAbstractItem * > items() const
void setLabel(const QString &str)
void scaleTypeChanged(QCPAxis::ScaleType scaleType)
void setTickLabelColor(const QColor &color)
void setTickLengthOut(int outside)
int autoTickCount() const
void setLabelPadding(int padding)
void rescale(bool onlyVisiblePlottables=false)
void setSubTickLengthOut(int outside)
double pixelToCoord(double value) const
void setPadding(int padding)
void setRange(double lower, double upper)
QVector< double > tickVector() const
double tickLabelRotation() const
void setSelectedLabelColor(const QColor &color)
void selectionChanged(const QCPAxis::SelectableParts &parts)
void setTickLength(int inside, int outside=0)
virtual void deselectEvent(bool *selectionStateChanged)
void setUpperEnding(const QCPLineEnding &ending)
QFont getTickLabelFont() const
virtual int calculateMargin()
virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const
void setLabelColor(const QColor &color)
void scaleRange(double factor, double center)
void setLabelFont(const QFont &font)
QPen selectedSubTickPen() const
QColor selectedTickLabelColor() const
QPen selectedTickPen() const
void setBasePen(const QPen &pen)
QColor selectedLabelColor() const
Q_SLOT void setSelectedParts(const QCPAxis::SelectableParts &selectedParts)
void setSelectedTickPen(const QPen &pen)
void setSelectedTickLabelFont(const QFont &font)
SelectableParts selectedParts() const
QColor getTickLabelColor() const
double scaleLogBase() const
virtual QCP::Interaction selectionCategory() const
bool autoTickLabels() const
static Qt::Orientation orientation(AxisType type)
void setSelectedTickLabelColor(const QColor &color)
QColor tickLabelColor() const
QCPLineEnding upperEnding() const
static AxisType opposite(AxisType type)
void selectableChanged(const QCPAxis::SelectableParts &parts)
virtual void setupTickVectors()
void rangeChanged(const QCPRange &newRange, const QCPRange &oldRange)
static AxisType marginSideToAxisType(QCP::MarginSide side)
QPen getSubTickPen() const
Q_SLOT void setSelectableParts(const QCPAxis::SelectableParts &selectableParts)
virtual void applyDefaultAntialiasingHint(QCPPainter *painter) const
void setSubTickLength(int inside, int outside=0)
bool rangeReversed() const
Qt::Orientation orientation() const
const QCPRange range() const
void setSubTickLengthIn(int inside)
QList< QCPAbstractPlottable * > plottables() const
Q_SLOT void setScaleType(QCPAxis::ScaleType type)
int subTickLengthOut() const
LabelSide tickLabelSide() const
void setRangeUpper(double upper)
void setRange(double position, double size, Qt::AlignmentFlag alignment)
ScaleType scaleType() const
int tickLengthOut() const
void setTickPen(const QPen &pen)
bool autoSubTicks() const
void setNumberFormat(const QString &formatCode)
QColor getLabelColor() const
Qt::TimeSpec dateTimeSpec() const
QFont getLabelFont() const
void setSelectedBasePen(const QPen &pen)
void setSubTickPen(const QPen &pen)
double coordToPixel(double value) const
void setTickLabelPadding(int padding)
void setScaleRatio(const QCPAxis *otherAxis, double ratio=1.0)
Qt::TimeSpec mDateTimeSpec
int subTickLengthIn() const
int tickLabelPadding() const
void setTickLengthIn(int inside)
QCPAxisRect * axisRect() const
void setRangeLower(double lower)
QList< QCPGraph * > graphs() const
Holds the data of one single data point (one bar) for QCPBars.
Groups multiple QCPBars together so they appear side by side.
double getPixelSpacing(const QCPBars *bars, double keyCoord)
void remove(QCPBars *bars)
void setSpacingType(SpacingType spacingType)
void insert(int i, QCPBars *bars)
void registerBars(QCPBars *bars)
void append(QCPBars *bars)
SpacingType spacingType() const
double keyPixelOffset(const QCPBars *bars, double keyCoord)
QCPBars * bars(int index) const
QList< QCPBars * > bars() const
QCPBarsGroup(QCustomPlot *parentPlot)
void setSpacing(double spacing)
void unregisterBars(QCPBars *bars)
bool contains(QCPBars *bars) const
A plottable representing a bar chart in a plot.
QCPBars * barAbove() const
double getStackedBaseValue(double key, bool positive) const
QCPBarDataMap * data() const
static void connectBars(QCPBars *lower, QCPBars *upper)
virtual void draw(QCPPainter *painter)
WidthType widthType() const
void setBaseValue(double baseValue)
QCPBarsGroup * barsGroup() const
void addData(double key, double value)
void moveBelow(QCPBars *bars)
QCPBars * barBelow() const
QSharedPointer< QCPBarsDataContainer > data() const
virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const
void moveAbove(QCPBars *bars)
void getPixelWidth(double key, double &lower, double &upper) const
void setWidthType(WidthType widthType)
void setBarsGroup(QCPBarsGroup *barsGroup)
virtual void drawLegendIcon(QCPPainter *painter, const QRectF &rect) const
void setWidth(double width)
Defines a color gradient for use with e.g. QCPColorMap.
QRgb color(double position, const QCPRange &range, bool logarithmic=false)
void setLevelCount(int n)
void setPeriodic(bool enabled)
void setColorStopAt(double position, const QColor &color)
void setColorStops(const QMap< double, QColor > &colorStops)
QCPColorGradient inverted() const
void loadPreset(GradientPreset preset)
void setColorInterpolation(ColorInterpolation interpolation)
QMap< double, QColor > colorStops() const
void colorize(const double *data, const QCPRange &range, QRgb *scanLine, int n, int dataIndexFactor=1, bool logarithmic=false)
ColorInterpolation colorInterpolation() const
Holds the two-dimensional data of a QCPColorMap plottable.
void setKeyRange(const QCPRange &keyRange)
void setValueSize(int valueSize)
void setSize(int keySize, int valueSize)
QCPColorMapData & operator=(const QCPColorMapData &other)
QCPRange keyRange() const
double data(double key, double value)
QCPColorMapData(const QCPColorMapData &other)
QCPRange valueRange() const
void setCell(int keyIndex, int valueIndex, double z)
QCPColorMapData(int keySize, int valueSize, const QCPRange &keyRange, const QCPRange &valueRange)
void setRange(const QCPRange &keyRange, const QCPRange &valueRange)
void recalculateDataBounds()
QCPRange dataBounds() const
void setKeySize(int keySize)
void coordToCell(double key, double value, int *keyIndex, int *valueIndex) const
void setValueRange(const QCPRange &valueRange)
void cellToCoord(int keyIndex, int valueIndex, double *key, double *value) const
double cell(int keyIndex, int valueIndex)
void setData(double key, double value, double z)
A plottable representing a two-dimensional color map in a plot.
virtual void drawLegendIcon(QCPPainter *painter, const QRectF &rect) const
virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const
Q_SLOT void setDataScaleType(QCPAxis::ScaleType scaleType)
void dataRangeChanged(QCPRange newRange)
void setInterpolate(bool enabled)
virtual void updateMapImage()
bool tightBoundary() const
Q_SLOT void updateLegendIcon(Qt::TransformationMode transformMode=Qt::SmoothTransformation, const QSize &thumbSize=QSize(32, 18))
void setData(QCPColorMapData *data, bool copy=false)
void rescaleDataRange(bool recalculateDataBounds=false)
void dataScaleTypeChanged(QCPAxis::ScaleType scaleType)
QCPColorScale * colorScale() const
QCPColorMap(QCPAxis *keyAxis, QCPAxis *valueAxis)
void setColorScale(QCPColorScale *colorScale)
QCPAxis::ScaleType dataScaleType() const
QCPColorMapData * data() const
void gradientChanged(QCPColorGradient newGradient)
QCPColorGradient gradient() const
Q_SLOT void setGradient(const QCPColorGradient &gradient)
void setTightBoundary(bool enabled)
Q_SLOT void setDataRange(const QCPRange &dataRange)
QCPRange dataRange() const
virtual void draw(QCPPainter *painter)
A color scale for use with color coding data such as QCPColorMap.
virtual void update(UpdatePhase phase)
void setType(QCPAxis::AxisType type)
virtual void wheelEvent(QWheelEvent *event)
void setRangeDrag(bool enabled)
void dataRangeChanged(QCPRange newRange)
QCPColorGradient gradient() const
void rescaleDataRange(bool onlyVisibleMaps)
Q_SLOT void setGradient(const QCPColorGradient &gradient)
QCPRange dataRange() const
void dataScaleTypeChanged(QCPAxis::ScaleType scaleType)
virtual void applyDefaultAntialiasingHint(QCPPainter *painter) const
void gradientChanged(QCPColorGradient newGradient)
QCPAxis::AxisType type() const
Q_SLOT void setDataScaleType(QCPAxis::ScaleType scaleType)
void setRangeZoom(bool enabled)
QList< QCPColorMap * > colorMaps() const
QCPColorScale(QCustomPlot *parentPlot)
void setBarWidth(int width)
Q_SLOT void setDataRange(const QCPRange &dataRange)
QCPAxis::ScaleType dataScaleType() const
void setLabel(const QString &str)
Holds the data of one single data point for QCPCurve.
QCPCurveData(double t, double key, double value)
A plottable representing a parametric curve in a plot.
LineStyle lineStyle() const
virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const
void addData(double t, double key, double value)
virtual void draw(QCPPainter *painter)
int getRegion(double x, double y, double rectLeft, double rectTop, double rectRight, double rectBottom) const
QCPCurve(QCPAxis *keyAxis, QCPAxis *valueAxis)
void setLineStyle(LineStyle style)
void setScatterStyle(const QCPScatterStyle &style)
void getTraverseCornerPoints(int prevRegion, int currentRegion, double rectLeft, double rectTop, double rectRight, double rectBottom, QVector< QPointF > &beforeTraverse, QVector< QPointF > &afterTraverse) const
QCPCurveDataMap * data() const
bool getTraverse(double prevKey, double prevValue, double key, double value, double rectLeft, double rectTop, double rectRight, double rectBottom, QPointF &crossA, QPointF &crossB) const
QVector< QPointF > getOptimizedCornerPoints(int prevRegion, int currentRegion, double prevKey, double prevValue, double key, double value, double rectLeft, double rectTop, double rectRight, double rectBottom) const
void setData(const QVector< double > &key, const QVector< double > &value)
void addData(double key, double value)
QPointF getOptimizedPoint(int prevRegion, double prevKey, double prevValue, double key, double value, double rectLeft, double rectTop, double rectRight, double rectBottom) const
virtual void drawLegendIcon(QCPPainter *painter, const QRectF &rect) const
bool mayTraverse(int prevRegion, int currentRegion) const
QCPScatterStyle scatterStyle() const
Holds the data of one single data point for QCPGraph.
Holds the data of one single data point for QCPFinancial.
QCPFinancialData(double key, double open, double high, double low, double close)
A plottable representing a financial stock chart.
void setTwoColored(bool twoColored)
QCPFinancialDataMap * mData
ChartStyle chartStyle() const
void setChartStyle(ChartStyle style)
void setBrushPositive(const QBrush &brush)
void addData(double key, double open, double high, double low, double close)
virtual void drawLegendIcon(QCPPainter *painter, const QRectF &rect) const
void setBrushNegative(const QBrush &brush)
virtual void draw(QCPPainter *painter)
void setWidth(double width)
virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const
void setPenPositive(const QPen &pen)
QBrush brushNegative() const
QBrush brushPositive() const
static QCPFinancialDataMap timeSeriesToOhlc(const QVector< double > &time, const QVector< double > &value, double timeBinSize, double timeBinOffset=0)
void setPenNegative(const QPen &pen)
A plottable representing a graph in a plot.
void addData(double key, double value)
void setScatterStyle(const QCPScatterStyle &style)
bool adaptiveSampling() const
ErrorType errorType() const
void setChannelFillGraph(QCPGraph *targetGraph)
QCPScatterStyle scatterStyle() const
void setLineStyle(LineStyle ls)
int findIndexBelowY(const QVector< QPointF > *data, double y) const
double errorBarSize() const
virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const
bool errorBarSkipSymbol() const
QCPGraph * channelFillGraph() const
int findIndexAboveY(const QVector< QPointF > *data, double y) const
int findIndexBelowX(const QVector< QPointF > *data, double x) const
virtual void drawFill(QCPPainter *painter, QVector< QPointF > *lineData) const
int findIndexAboveX(const QVector< QPointF > *data, double x) const
void setAdaptiveSampling(bool enabled)
LineStyle lineStyle() const
QSharedPointer< QCPGraphDataContainer > data() const
virtual void drawLegendIcon(QCPPainter *painter, const QRectF &rect) const
virtual void draw(QCPPainter *painter)
Responsible for drawing the grid of a QCPAxis.
void setZeroLinePen(const QPen &pen)
void setAntialiasedZeroLine(bool enabled)
void setAntialiasedSubGrid(bool enabled)
bool antialiasedZeroLine() const
void drawSubGridLines(QCPPainter *painter) const
void setSubGridPen(const QPen &pen)
void setPen(const QPen &pen)
QCPGrid(QCPAxis *parentAxis)
void setSubGridVisible(bool visible)
virtual void applyDefaultAntialiasingHint(QCPPainter *painter) const
void drawGridLines(QCPPainter *painter) const
bool antialiasedSubGrid() const
virtual void draw(QCPPainter *painter)
bool subGridVisible() const
An anchor of an item to which positions can be attached to.
void removeChildX(QCPItemPosition *pos)
virtual QCPItemPosition * toQCPItemPosition()
void removeChildY(QCPItemPosition *pos)
void addChildX(QCPItemPosition *pos)
void addChildY(QCPItemPosition *pos)
A bracket for referencing/highlighting certain parts in the plot.
void setSelectedPen(const QPen &pen)
QCPItemBracket(QCustomPlot *parentPlot)
BracketStyle style() const
void setStyle(BracketStyle style)
virtual void draw(QCPPainter *painter)
virtual ~QCPItemBracket()
void setPen(const QPen &pen)
void setLength(double length)
virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const
A curved line from one point to another.
void setPen(const QPen &pen)
void setHead(const QCPLineEnding &head)
void setSelectedPen(const QPen &pen)
QCPLineEnding head() const
virtual void draw(QCPPainter *painter)
QCPLineEnding tail() const
void setTail(const QCPLineEnding &tail)
QCPItemCurve(QCustomPlot *parentPlot)
virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const
virtual ~QCPItemEllipse()
void setBrush(const QBrush &brush)
void setSelectedPen(const QPen &pen)
QCPItemEllipse(QCustomPlot *parentPlot)
void setSelectedBrush(const QBrush &brush)
virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const
virtual void draw(QCPPainter *painter)
void setPen(const QPen &pen)
QBrush selectedBrush() const
A line from one point to another.
QCPItemLine(QCustomPlot *parentPlot)
void setSelectedPen(const QPen &pen)
void setPen(const QPen &pen)
QCPLineEnding head() const
virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const
QCPLineEnding tail() const
virtual void draw(QCPPainter *painter)
void setTail(const QCPLineEnding &tail)
void setHead(const QCPLineEnding &head)
virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const
QRect getFinalRect(bool *flippedHorz=0, bool *flippedVert=0) const
Qt::AspectRatioMode aspectRatioMode() const
void setPixmap(const QPixmap &pixmap)
void updateScaledPixmap(QRect finalRect=QRect(), bool flipHorz=false, bool flipVert=false)
QCPItemPixmap(QCustomPlot *parentPlot)
void setScaled(bool scaled, Qt::AspectRatioMode aspectRatioMode=Qt::KeepAspectRatio, Qt::TransformationMode transformationMode=Qt::SmoothTransformation)
Qt::TransformationMode transformationMode() const
void setPen(const QPen &pen)
virtual void draw(QCPPainter *painter)
void setSelectedPen(const QPen &pen)
Manages the position of an item.
void setAxisRect(QCPAxisRect *axisRect)
PositionType typeX() const
void setTypeX(PositionType type)
void setAxes(QCPAxis *keyAxis, QCPAxis *valueAxis)
QCPAxis * valueAxis() const
virtual QCPItemPosition * toQCPItemPosition()
QCPItemAnchor * parentAnchorX() const
QCPAxis * keyAxis() const
QCPItemAnchor * parentAnchorY() const
void setType(PositionType type)
void setCoords(double key, double value)
PositionType type() const
bool setParentAnchor(QCPItemAnchor *parentAnchor, bool keepPixelPosition=false)
void setTypeY(PositionType type)
void setCoords(const QPointF &coords)
bool setParentAnchorY(QCPItemAnchor *parentAnchor, bool keepPixelPosition=false)
bool setParentAnchorX(QCPItemAnchor *parentAnchor, bool keepPixelPosition=false)
QCPItemAnchor * parentAnchor() const
PositionType typeY() const
QCPAxisRect * axisRect() const
virtual ~QCPItemPosition()
virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const
QBrush selectedBrush() const
QCPItemRect(QCustomPlot *parentPlot)
void setPen(const QPen &pen)
virtual void draw(QCPPainter *painter)
void setSelectedPen(const QPen &pen)
void setBrush(const QBrush &brush)
void setSelectedBrush(const QBrush &brush)
A straight line that spans infinitely in both directions.
QCPItemStraightLine(QCustomPlot *parentPlot)
virtual void draw(QCPPainter *painter)
void setSelectedPen(const QPen &pen)
virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const
void setPen(const QPen &pen)
virtual ~QCPItemStraightLine()
void setSelectedFont(const QFont &font)
Qt::Alignment positionAlignment() const
void setBrush(const QBrush &brush)
void setSelectedPen(const QPen &pen)
QBrush selectedBrush() const
void setText(const QString &text)
void setRotation(double degrees)
QPointF getTextDrawPoint(const QPointF &pos, const QRectF &rect, Qt::Alignment positionAlignment) const
void setSelectedBrush(const QBrush &brush)
QColor selectedColor() const
QFont selectedFont() const
QCPItemText(QCustomPlot *parentPlot)
void setPositionAlignment(Qt::Alignment alignment)
void setFont(const QFont &font)
Qt::Alignment textAlignment() const
void setPen(const QPen &pen)
void setColor(const QColor &color)
void setTextAlignment(Qt::Alignment alignment)
virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const
virtual void draw(QCPPainter *painter)
void setSelectedColor(const QColor &color)
void setPadding(const QMargins &padding)
Item that sticks to QCPGraph data points.
void setSelectedBrush(const QBrush &brush)
void setBrush(const QBrush &brush)
void setStyle(TracerStyle style)
virtual void draw(QCPPainter *painter)
void setGraphKey(double key)
void setInterpolating(bool enabled)
virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const
void setSelectedPen(const QPen &pen)
QBrush selectedBrush() const
void setSize(double size)
bool interpolating() const
void setGraph(QCPGraph *graph)
void setPen(const QPen &pen)
TracerStyle style() const
A layer that may contain objects, to control the rendering order.
QCustomPlot * parentPlot() const
void addChild(QCPLayerable *layerable, bool prepend)
QCPLayer(QCustomPlot *parentPlot, const QString &layerName)
QList< QCPLayerable * > children() const
void setVisible(bool visible)
void removeChild(QCPLayerable *layerable)
Base class for all drawable objects.
virtual void selectEvent(QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged)
virtual void applyDefaultAntialiasingHint(QCPPainter *painter) const =0
virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const
QCustomPlot * parentPlot() const
void setAntialiased(bool enabled)
QCPLayerable(QCustomPlot *plot, QString targetLayer=QString(), QCPLayerable *parentLayerable=0)
virtual void deselectEvent(bool *selectionStateChanged)
void initializeParentPlot(QCustomPlot *parentPlot)
void setParentLayerable(QCPLayerable *parentLayerable)
bool realVisibility() const
bool setLayer(const QString &layerName)
void layerChanged(QCPLayer *newLayer)
QCPLayerable * parentLayerable() const
virtual void parentPlotInitialized(QCustomPlot *parentPlot)
void applyAntialiasingHint(QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const
virtual void draw(QCPPainter *painter)=0
virtual QCP::Interaction selectionCategory() const
Q_SLOT bool setLayer(QCPLayer *layer)
bool moveToLayer(QCPLayer *layer, bool prepend)
virtual QRect clipRect() const
The abstract base class for all objects that form the layout system.
void setMaximumSize(int width, int height)
void setMinimumMargins(const QMargins &margins)
virtual void mouseMoveEvent(QMouseEvent *event)
QCP::MarginSides autoMargins() const
virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const
virtual void mousePressEvent(QMouseEvent *event)
virtual void wheelEvent(QWheelEvent *event)
void setOuterRect(const QRect &rect)
void setMarginGroup(QCP::MarginSides sides, QCPMarginGroup *group)
virtual void draw(QCPPainter *painter)
virtual void parentPlotInitialized(QCustomPlot *parentPlot)
void setMinimumSize(const QSize &size)
QMargins minimumMargins() const
QSize minimumSize() const
virtual QList< QCPLayoutElement * > elements(bool recursive) const
void setMaximumSize(const QSize &size)
virtual int calculateAutoMargin(QCP::MarginSide side)
QHash< QCP::MarginSide, QCPMarginGroup * > marginGroups() const
QCPMarginGroup * marginGroup(QCP::MarginSide side) const
void setMinimumSize(int width, int height)
void setMargins(const QMargins &margins)
virtual void mouseDoubleClickEvent(QMouseEvent *event)
virtual QSize minimumSizeHint() const
virtual QSize maximumSizeHint() const
void setAutoMargins(QCP::MarginSides sides)
virtual void update(UpdatePhase phase)
virtual void mouseReleaseEvent(QMouseEvent *event)
virtual void applyDefaultAntialiasingHint(QCPPainter *painter) const
QSize maximumSize() const
A layout that arranges child elements in a grid.
virtual bool take(QCPLayoutElement *element)
void insertColumn(int newIndex)
void setRowStretchFactors(const QList< double > &factors)
virtual int elementCount() const
void setColumnSpacing(int pixels)
QCPLayoutElement * element(int row, int column) const
void insertRow(int newIndex)
void getMinimumRowColSizes(QVector< int > *minColWidths, QVector< int > *minRowHeights) const
virtual QCPLayoutElement * elementAt(int index) const
void setColumnStretchFactors(const QList< double > &factors)
virtual QCPLayoutElement * takeAt(int index)
void setRowStretchFactor(int row, double factor)
void expandTo(int newRowCount, int newColumnCount)
QList< double > columnStretchFactors() const
virtual void updateLayout()
void getMaximumRowColSizes(QVector< int > *maxColWidths, QVector< int > *maxRowHeights) const
QList< double > rowStretchFactors() const
void setRowSpacing(int pixels)
bool hasElement(int row, int column)
int columnSpacing() const
bool addElement(int row, int column, QCPLayoutElement *element)
void setColumnStretchFactor(int column, double factor)
virtual QList< QCPLayoutElement * > elements(bool recursive) const
A layout that places child elements aligned to the border or arbitrarily positioned.
virtual bool take(QCPLayoutElement *element)
virtual int elementCount() const
virtual void updateLayout()
virtual ~QCPLayoutInset()
virtual QCPLayoutElement * elementAt(int index) const
Qt::Alignment insetAlignment(int index) const
void setInsetAlignment(int index, Qt::Alignment alignment)
void setInsetPlacement(int index, InsetPlacement placement)
void addElement(QCPLayoutElement *element, const QRectF &rect)
virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const
void setInsetRect(int index, const QRectF &rect)
QRectF insetRect(int index) const
void addElement(QCPLayoutElement *element, Qt::Alignment alignment)
virtual QCPLayoutElement * takeAt(int index)
InsetPlacement insetPlacement(int index) const
The abstract base class for layouts.
virtual QList< QCPLayoutElement * > elements(bool recursive) const
virtual QCPLayoutElement * takeAt(int index)=0
void releaseElement(QCPLayoutElement *el)
virtual void update(UpdatePhase phase)
bool remove(QCPLayoutElement *element)
QVector< int > getSectionSizes(QVector< int > maxSizes, QVector< int > minSizes, QVector< double > stretchFactors, int totalSize) const
virtual QCPLayoutElement * elementAt(int index) const =0
virtual int elementCount() const =0
virtual bool take(QCPLayoutElement *element)=0
void sizeConstraintsChanged() const
void adoptElement(QCPLayoutElement *el)
virtual void updateLayout()
Manages a legend inside a QCustomPlot.
int iconTextPadding() const
QPen getBorderPen() const
bool removeItem(QCPAbstractLegendItem *item)
SelectableParts selectedParts() const
void setSelectedBorderPen(const QPen &pen)
void setIconBorderPen(const QPen &pen)
bool addItem(QCPAbstractLegendItem *item)
Q_SLOT void setSelectableParts(const SelectableParts &selectableParts)
QCPAbstractLegendItem * item(int index) const
QFont selectedFont() const
virtual void parentPlotInitialized(QCustomPlot *parentPlot)
virtual void applyDefaultAntialiasingHint(QCPPainter *painter) const
void setBrush(const QBrush &brush)
bool hasItemWithPlottable(const QCPAbstractPlottable *plottable) const
QList< QCPAbstractLegendItem * > selectedItems() const
virtual void draw(QCPPainter *painter)
QPen iconBorderPen() const
void setIconTextPadding(int padding)
void setSelectedTextColor(const QColor &color)
QBrush selectedBrush() const
virtual QCP::Interaction selectionCategory() const
void selectionChanged(QCPLegend::SelectableParts parts)
void setBorderPen(const QPen &pen)
void setSelectedBrush(const QBrush &brush)
void selectableChanged(QCPLegend::SelectableParts parts)
void setIconSize(const QSize &size)
Q_SLOT void setSelectedParts(const SelectableParts &selectedParts)
void setIconSize(int width, int height)
void setFont(const QFont &font)
void setSelectedFont(const QFont &font)
QColor selectedTextColor() const
virtual void deselectEvent(bool *selectionStateChanged)
bool removeItem(int index)
SelectableParts selectableParts() const
bool hasItem(QCPAbstractLegendItem *item) const
virtual void selectEvent(QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged)
QPen selectedIconBorderPen() const
QPen selectedBorderPen() const
void setSelectedIconBorderPen(const QPen &pen)
void setTextColor(const QColor &color)
QCPPlottableLegendItem * itemWithPlottable(const QCPAbstractPlottable *plottable) const
virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const
Handles the different ending decorations for line-like items.
EndingStyle style() const
double boundingDistance() const
void setWidth(double width)
void setStyle(EndingStyle style)
void setInverted(bool inverted)
QCPLineEnding(EndingStyle style, double width=8, double length=10, bool inverted=false)
double realLength() const
void setLength(double length)
A margin group allows synchronization of margin sides if working with multiple layout elements.
void removeChild(QCP::MarginSide side, QCPLayoutElement *element)
QList< QCPLayoutElement * > elements(QCP::MarginSide side) const
QCPMarginGroup(QCustomPlot *parentPlot)
void addChild(QCP::MarginSide side, QCPLayoutElement *element)
int commonMargin(QCP::MarginSide side) const
QPainter subclass used internally.
bool begin(QPaintDevice *device)
void drawLine(const QLineF &line)
void setPen(Qt::PenStyle penStyle)
void setPen(const QColor &color)
void setModes(PainterModes modes)
void setAntialiasing(bool enabled)
void drawLine(const QPointF &p1, const QPointF &p2)
PainterModes modes() const
void setMode(PainterMode mode, bool enabled=true)
void setPen(const QPen &pen)
A layout element displaying a plot title text.
void selectionChanged(bool selected)
QFont selectedFont() const
void selectableChanged(bool selectable)
QColor mSelectedTextColor
QColor selectedTextColor() const
A legend item representing a plottable with an icon and the plottable name.
virtual void draw(QCPPainter *painter)
QColor getTextColor() const
QCPPlottableLegendItem(QCPLegend *parent, QCPAbstractPlottable *plottable)
QCPAbstractPlottable * plottable()
QPen getIconBorderPen() const
Represents the range an axis is encompassing.
void expand(const QCPRange &otherRange)
QCPRange(double lower, double upper)
QCPRange & operator*=(const double &value)
QCPRange & operator-=(const double &value)
static bool validRange(const QCPRange &range)
QCPRange sanitizedForLogScale() const
bool operator!=(const QCPRange &other) const
static bool validRange(double lower, double upper)
QCPRange sanitizedForLinScale() const
QCPRange & operator/=(const double &value)
QCPRange expanded(const QCPRange &otherRange) const
bool operator==(const QCPRange &other) const
QCPRange & operator+=(const double &value)
bool contains(double value) const
Represents the visual appearance of scatter points.
QCPScatterStyle(ScatterShape shape, double size=6)
bool isPenDefined() const
void setPixmap(const QPixmap &pixmap)
QCPScatterStyle(const QPixmap &pixmap)
QCPScatterStyle(ScatterShape shape, const QColor &color, const QColor &fill, double size)
void setBrush(const QBrush &brush)
void setPen(const QPen &pen)
void setShape(ScatterShape shape)
QCPScatterStyle(ScatterShape shape, const QPen &pen, const QBrush &brush, double size)
QCPScatterStyle(const QPainterPath &customPath, const QPen &pen, const QBrush &brush=Qt::NoBrush, double size=6)
void drawShape(QCPPainter *painter, double x, double y) const
void setCustomPath(const QPainterPath &customPath)
void setSize(double size)
QPainterPath customPath() const
ScatterShape shape() const
QCPScatterStyle(ScatterShape shape, const QColor &color, double size)
void applyTo(QCPPainter *painter, const QPen &defaultPen) const
A plottable representing a single statistical box in a plot.
QVector< double > outliers() const
void setWidth(double width)
QVector< double > mOutliers
QPen whiskerBarPen() const
void setWhiskerPen(const QPen &pen)
void setMedianPen(const QPen &pen)
QCPStatisticalBox(QCPAxis *keyAxis, QCPAxis *valueAxis)
virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const
void setWhiskerBarPen(const QPen &pen)
double whiskerWidth() const
void setOutlierStyle(const QCPScatterStyle &style)
void setWhiskerWidth(double width)
QCPScatterStyle outlierStyle() const
virtual void drawLegendIcon(QCPPainter *painter, const QRectF &rect) const
virtual void draw(QCPPainter *painter)
double lowerQuartile() const
double upperQuartile() const
The central class of the library. This is the QWidget which displays the plot and interacts with the ...
void legendDoubleClick(QCPLegend *legend, QCPAbstractLegendItem *item, QMouseEvent *event)
void drawBackground(QCPPainter *painter)
void setBackground(const QPixmap &pm)
void toPainter(QCPPainter *painter, int width=0, int height=0)
void titleClick(QMouseEvent *event, QCPPlotTitle *title)
bool setCurrentLayer(QCPLayer *layer)
virtual void legendRemoved(QCPLegend *legend)
Qt::KeyboardModifier multiSelectModifier() const
const QCP::Interactions interactions() const
QPointer< QCPLayoutElement > mMouseEventElement
QCPLayerable * layerableAt(const QPointF &pos, bool onlySelectable, QVariant *selectionDetails=0) const
void setBackgroundScaled(bool scaled)
Q_SLOT void deselectAll()
void setPlottingHint(QCP::PlottingHint hint, bool enabled=true)
virtual void mouseDoubleClickEvent(QMouseEvent *event)
QList< QCPGraph * > selectedGraphs() const
void setViewport(const QRect &rect)
bool removeLayer(QCPLayer *layer)
void setInteraction(const QCP::Interaction &interaction, bool enabled=true)
virtual void mousePressEvent(QMouseEvent *event)
QCustomPlot(QWidget *parent=0)
void setBackgroundScaledMode(Qt::AspectRatioMode mode)
void setSelectionTolerance(int pixels)
QCPAbstractItem * item() const
void selectionChangedByUser()
int selectionTolerance() const
virtual void paintEvent(QPaintEvent *event)
void plottableClick(QCPAbstractPlottable *plottable, QMouseEvent *event)
QPixmap background() const
QCPLayer * layer(const QString &name) const
void setInteractions(const QCP::Interactions &interactions)
int plottableCount() const
virtual void mouseReleaseEvent(QMouseEvent *event)
QCP::AntialiasedElements antialiasedElements() const
QCPLayer * currentLayer() const
void axisDoubleClick(QCPAxis *axis, QCPAxis::SelectablePart part, QMouseEvent *event)
QList< QCPAbstractPlottable * > selectedPlottables() const
virtual QSize sizeHint() const
bool hasPlottable(QCPAbstractPlottable *plottable) const
bool setCurrentLayer(const QString &name)
virtual QSize minimumSizeHint() const
void mouseMove(QMouseEvent *event)
QCP::AntialiasedElements notAntialiasedElements() const
void setNoAntialiasingOnDrag(bool enabled)
void legendClick(QCPLegend *legend, QCPAbstractLegendItem *item, QMouseEvent *event)
virtual void wheelEvent(QWheelEvent *event)
void updateLayerIndices() const
QCPGraph * addGraph(QCPAxis *keyAxis=0, QCPAxis *valueAxis=0)
void setBackground(const QPixmap &pm, bool scaled, Qt::AspectRatioMode mode=Qt::KeepAspectRatioByExpanding)
QCPLayoutGrid * plotLayout() const
Q_SLOT void rescaleAxes(bool onlyVisiblePlottables=false)
void setBackground(const QBrush &brush)
virtual void draw(QCPPainter *painter)
int axisRectCount() const
void setMultiSelectModifier(Qt::KeyboardModifier modifier)
virtual void mouseMoveEvent(QMouseEvent *event)
bool removeGraph(QCPGraph *graph)
void setPlottingHints(const QCP::PlottingHints &hints)
bool removeGraph(int index)
void mouseDoubleClick(QMouseEvent *event)
QList< QCPLegend * > selectedLegends() const
QPixmap toPixmap(int width=0, int height=0, double scale=1.0)
bool backgroundScaled() const
QCPLayoutElement * layoutElementAt(const QPointF &pos) const
Q_SLOT void replot(QCustomPlot::RefreshPriority refreshPriority=QCustomPlot::rpHint)
QCPLayer * layer(int index) const
QList< QCPAxis * > selectedAxes() const
bool removeItem(int index)
QCPAbstractItem * item(int index) const
void axisClick(QCPAxis *axis, QCPAxis::SelectablePart part, QMouseEvent *event)
virtual void resizeEvent(QResizeEvent *event)
QCPAbstractPlottable * plottableAt(const QPointF &pos, bool onlySelectable=false) const
QCPAbstractPlottable * plottable()
bool autoAddPlottableToLegend() const
QCP::PlottingHints plottingHints() const
void mouseWheel(QWheelEvent *event)
void itemDoubleClick(QCPAbstractItem *item, QMouseEvent *event)
void mouseRelease(QMouseEvent *event)
QCPAbstractItem * itemAt(const QPointF &pos, bool onlySelectable=false) const
bool noAntialiasingOnDrag() const
virtual void axisRemoved(QCPAxis *axis)
void mousePress(QMouseEvent *event)
QCPAbstractPlottable * plottable(int index)
void titleDoubleClick(QMouseEvent *event, QCPPlotTitle *title)
bool addLayer(const QString &name, QCPLayer *otherLayer=0, LayerInsertMode insertMode=limAbove)
QList< QCPAbstractItem * > selectedItems() const
void setAutoAddPlottableToLegend(bool on)
bool removeItem(QCPAbstractItem *item)
void setNotAntialiasedElements(const QCP::AntialiasedElements ¬AntialiasedElements)
void itemClick(QCPAbstractItem *item, QMouseEvent *event)
bool moveLayer(QCPLayer *layer, QCPLayer *otherLayer, LayerInsertMode insertMode=limAbove)
QCPGraph * graph(int index) const
void setAntialiasedElement(QCP::AntialiasedElement antialiasedElement, bool enabled=true)
bool hasItem(QCPAbstractItem *item) const
QCPAxisRect * axisRect(int index=0) const
void plottableDoubleClick(QCPAbstractPlottable *plottable, QMouseEvent *event)
bool removePlottable(QCPAbstractPlottable *plottable)
void setAntialiasedElements(const QCP::AntialiasedElements &antialiasedElements)
QList< QCPAxisRect * > axisRects() const
Qt::AspectRatioMode backgroundScaledMode() const
bool removePlottable(int index)
void setNotAntialiasedElement(QCP::AntialiasedElement notAntialiasedElement, bool enabled=true)
Q_DECLARE_METATYPE(ccPclPluginInterface *)
bool isInvalidData(double value)
int getMarginValue(const QMargins &margins, QCP::MarginSide side)
@ phNone
0x000 No hints are set
@ msRight
0x02 right margin
@ msBottom
0x08 bottom margin
@ aeAxes
0x0001 Axis base line and tick marks
@ aeItems
0x0040 Main lines of items
@ aeLegendItems
0x0010 Legend items
@ aeErrorBars
0x0100 Error bars
@ aePlottables
0x0020 Main lines of plottables
@ aeNone
0x0000 No elements
@ aeSubGrid
0x0004 Sub grid lines
@ aeAll
0xFFFF All elements
@ aeGrid
0x0002 Grid lines
@ aeLegend
0x0008 Legend box
void setMarginValue(QMargins &margins, QCP::MarginSide side, int value)
@ sdNegative
The negative sign domain, i.e. numbers smaller than zero.
@ sdPositive
The positive sign domain, i.e. numbers greater than zero.
@ sdBoth
Both sign domains, including zero, i.e. all numbers.
bool setColor(ccHObject::Container selectedEntities, bool colorize, QWidget *parent)