summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/charts/areachart/areachartitem.cpp9
-rw-r--r--src/charts/areachart/areachartitem_p.h1
-rw-r--r--src/charts/areachart/qareaseries.cpp45
-rw-r--r--src/charts/areachart/qareaseries.h5
-rw-r--r--src/charts/areachart/qareaseries_p.h2
-rw-r--r--src/charts/linechart/linechartitem.cpp10
-rw-r--r--src/charts/linechart/linechartitem_p.h1
-rw-r--r--src/charts/scatterchart/scatterchartitem.cpp7
-rw-r--r--src/charts/scatterchart/scatterchartitem_p.h1
-rw-r--r--src/charts/splinechart/splinechartitem.cpp10
-rw-r--r--src/charts/splinechart/splinechartitem_p.h1
-rw-r--r--src/charts/xychart/qxyseries.cpp45
-rw-r--r--src/charts/xychart/qxyseries.h5
-rw-r--r--src/charts/xychart/qxyseries_p.h1
-rw-r--r--src/chartsqml2/plugins.qmltypes10
-rw-r--r--tests/auto/qlineseries/tst_qlineseries.cpp1
-rw-r--r--tests/auto/qxyseries/tst_qxyseries.cpp18
-rw-r--r--tests/auto/qxyseries/tst_qxyseries.h1
-rw-r--r--tests/manual/qmlchartproperties/qml/qmlchartproperties/AreaChart.qml2
-rw-r--r--tests/manual/qmlchartproperties/qml/qmlchartproperties/AreaEditor.qml4
-rw-r--r--tests/manual/qmlchartproperties/qml/qmlchartproperties/LineChart.qml2
-rw-r--r--tests/manual/qmlchartproperties/qml/qmlchartproperties/LineEditor.qml4
-rw-r--r--tests/manual/qmlchartproperties/qml/qmlchartproperties/ScatterChart.qml2
-rw-r--r--tests/manual/qmlchartproperties/qml/qmlchartproperties/ScatterEditor.qml8
-rw-r--r--tests/manual/qmlchartproperties/qml/qmlchartproperties/SplineChart.qml2
25 files changed, 189 insertions, 8 deletions
diff --git a/src/charts/areachart/areachartitem.cpp b/src/charts/areachart/areachartitem.cpp
index fea5913b..f9f7bfc2 100644
--- a/src/charts/areachart/areachartitem.cpp
+++ b/src/charts/areachart/areachartitem.cpp
@@ -39,6 +39,7 @@ AreaChartItem::AreaChartItem(QAreaSeries *areaSeries, QGraphicsItem* item)
m_pointLabelsFormat(areaSeries->pointLabelsFormat()),
m_pointLabelsFont(areaSeries->pointLabelsFont()),
m_pointLabelsColor(areaSeries->pointLabelsColor()),
+ m_pointLabelsClipping(true),
m_mousePressed(false)
{
setAcceptHoverEvents(true);
@@ -66,6 +67,8 @@ AreaChartItem::AreaChartItem(QAreaSeries *areaSeries, QGraphicsItem* item)
this, SLOT(handleUpdated()));
QObject::connect(areaSeries, SIGNAL(pointLabelsColorChanged(QColor)),
this, SLOT(handleUpdated()));
+ QObject::connect(areaSeries, SIGNAL(pointLabelsClippingChanged(bool)),
+ this, SLOT(handleUpdated()));
handleUpdated();
}
@@ -151,6 +154,7 @@ void AreaChartItem::handleUpdated()
m_pointLabelsVisible = m_series->pointLabelsVisible();
m_pointLabelsFont = m_series->pointLabelsFont();
m_pointLabelsColor = m_series->pointLabelsColor();
+ m_pointLabelsClipping = m_series->pointLabelsClipping();
update();
}
@@ -202,6 +206,11 @@ void AreaChartItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *opt
static const QString yPointTag(QLatin1String("@yPoint"));
const int labelOffset = 2;
+ if (m_pointLabelsClipping)
+ painter->setClipping(true);
+ else
+ painter->setClipping(false);
+
painter->setFont(m_pointLabelsFont);
painter->setPen(QPen(m_pointLabelsColor));
QFontMetrics fm(painter->font());
diff --git a/src/charts/areachart/areachartitem_p.h b/src/charts/areachart/areachartitem_p.h
index 75785135..485fdffd 100644
--- a/src/charts/areachart/areachartitem_p.h
+++ b/src/charts/areachart/areachartitem_p.h
@@ -90,6 +90,7 @@ private:
QString m_pointLabelsFormat;
QFont m_pointLabelsFont;
QColor m_pointLabelsColor;
+ bool m_pointLabelsClipping;
QPointF m_lastMousePos;
bool m_mousePressed;
diff --git a/src/charts/areachart/qareaseries.cpp b/src/charts/areachart/qareaseries.cpp
index 4d08087f..a33db927 100644
--- a/src/charts/areachart/qareaseries.cpp
+++ b/src/charts/areachart/qareaseries.cpp
@@ -269,13 +269,13 @@ QT_CHARTS_BEGIN_NAMESPACE
\property QAreaSeries::pointLabelsVisible
Defines the visibility for data point labels. False by default.
- \sa QAreaSeries::pointLabelsFormat
+ \sa QAreaSeries::pointLabelsFormat, QAreaSeries::pointLabelsClipping
*/
/*!
\qmlproperty bool AreaSeries::pointLabelsVisible
Defines the visibility for data point labels.
- \sa pointLabelsFormat
+ \sa pointLabelsFormat, pointLabelsClipping
*/
/*!
\fn void QAreaSeries::pointLabelsVisibilityChanged(bool visible)
@@ -331,6 +331,29 @@ QT_CHARTS_BEGIN_NAMESPACE
*/
/*!
+ \property QAreaSeries::pointLabelsClipping
+ Defines the clipping for data point labels. True by default. The labels on the edge of the plot
+ area are cut when clipping is enabled.
+
+ \sa pointLabelsVisible
+*/
+/*!
+ \qmlproperty bool AreaSeries::pointLabelsClipping
+ Defines the clipping for data point labels. True by default. The labels on the edge of the plot
+ area are cut when clipping is enabled.
+
+ \sa pointLabelsVisible
+*/
+/*!
+ \fn void QAreaSeries::pointLabelsClippintChanged(bool clipping)
+ The clipping of the data point labels is changed to \a clipping.
+*/
+/*!
+ \qmlsignal AreaSeries::onPointLabelsClippingChanged(bool clipping)
+ The clipping of the data point labels is changed to \a clipping.
+*/
+
+/*!
Constructs area series object which is a child of \a upperSeries. Area will be spanned between \a
upperSeries line and \a lowerSeries line. If no \a lowerSeries is passed to constructor, area is specified by axis x (y=0) instead.
When series object is added to QChartView or QChart instance ownerships is transferred.
@@ -556,6 +579,21 @@ QColor QAreaSeries::pointLabelsColor() const
return d->m_pointLabelsColor;
}
+void QAreaSeries::setPointLabelsClipping(bool enabled)
+{
+ Q_D(QAreaSeries);
+ if (d->m_pointLabelsClipping != enabled) {
+ d->m_pointLabelsClipping = enabled;
+ emit pointLabelsClippingChanged(enabled);
+ }
+}
+
+bool QAreaSeries::pointLabelsClipping() const
+{
+ Q_D(const QAreaSeries);
+ return d->m_pointLabelsClipping;
+}
+
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
QAreaSeriesPrivate::QAreaSeriesPrivate(QLineSeries *upperSeries, QLineSeries *lowerSeries, QAreaSeries *q)
@@ -568,7 +606,8 @@ QAreaSeriesPrivate::QAreaSeriesPrivate(QLineSeries *upperSeries, QLineSeries *lo
m_pointLabelsFormat(QLatin1String("@xPoint, @yPoint")),
m_pointLabelsVisible(false),
m_pointLabelsFont(QChartPrivate::defaultFont()),
- m_pointLabelsColor(QChartPrivate::defaultPen().color())
+ m_pointLabelsColor(QChartPrivate::defaultPen().color()),
+ m_pointLabelsClipping(true)
{
}
diff --git a/src/charts/areachart/qareaseries.h b/src/charts/areachart/qareaseries.h
index f977053a..3a70d04e 100644
--- a/src/charts/areachart/qareaseries.h
+++ b/src/charts/areachart/qareaseries.h
@@ -39,6 +39,7 @@ class QT_CHARTS_EXPORT QAreaSeries : public QAbstractSeries
Q_PROPERTY(bool pointLabelsVisible READ pointLabelsVisible WRITE setPointLabelsVisible NOTIFY pointLabelsVisibilityChanged)
Q_PROPERTY(QFont pointLabelsFont READ pointLabelsFont WRITE setPointLabelsFont NOTIFY pointLabelsFontChanged)
Q_PROPERTY(QColor pointLabelsColor READ pointLabelsColor WRITE setPointLabelsColor NOTIFY pointLabelsColorChanged)
+ Q_PROPERTY(bool pointLabelsClipping READ pointLabelsClipping WRITE setPointLabelsClipping NOTIFY pointLabelsClippingChanged)
public:
explicit QAreaSeries(QObject *parent = 0);
@@ -80,6 +81,9 @@ public:
void setPointLabelsColor(const QColor &color);
QColor pointLabelsColor() const;
+ void setPointLabelsClipping(bool enabled = true);
+ bool pointLabelsClipping() const;
+
Q_SIGNALS:
void clicked(const QPointF &point);
void hovered(const QPointF &point, bool state);
@@ -93,6 +97,7 @@ Q_SIGNALS:
void pointLabelsVisibilityChanged(bool visible);
void pointLabelsFontChanged(const QFont &font);
void pointLabelsColorChanged(const QColor &color);
+ void pointLabelsClippingChanged(bool clipping);
private:
Q_DECLARE_PRIVATE(QAreaSeries)
diff --git a/src/charts/areachart/qareaseries_p.h b/src/charts/areachart/qareaseries_p.h
index 10e6d99d..def20dac 100644
--- a/src/charts/areachart/qareaseries_p.h
+++ b/src/charts/areachart/qareaseries_p.h
@@ -67,6 +67,8 @@ protected:
bool m_pointLabelsVisible;
QFont m_pointLabelsFont;
QColor m_pointLabelsColor;
+ bool m_pointLabelsClipping;
+
private:
Q_DECLARE_PUBLIC(QAreaSeries);
};
diff --git a/src/charts/linechart/linechartitem.cpp b/src/charts/linechart/linechartitem.cpp
index 54f13235..ba39098f 100644
--- a/src/charts/linechart/linechartitem.cpp
+++ b/src/charts/linechart/linechartitem.cpp
@@ -39,6 +39,7 @@ LineChartItem::LineChartItem(QLineSeries *series, QGraphicsItem *item)
m_pointLabelsFormat(series->pointLabelsFormat()),
m_pointLabelsFont(series->pointLabelsFont()),
m_pointLabelsColor(series->pointLabelsColor()),
+ m_pointLabelsClipping(true),
m_mousePressed(false)
{
setAcceptHoverEvents(true);
@@ -53,6 +54,7 @@ LineChartItem::LineChartItem(QLineSeries *series, QGraphicsItem *item)
this, SLOT(handleUpdated()));
QObject::connect(series, SIGNAL(pointLabelsFontChanged(QFont)), this, SLOT(handleUpdated()));
QObject::connect(series, SIGNAL(pointLabelsColorChanged(QColor)), this, SLOT(handleUpdated()));
+ QObject::connect(series, SIGNAL(pointLabelsClippingChanged(bool)), this, SLOT(handleUpdated()));
handleUpdated();
}
@@ -330,6 +332,7 @@ void LineChartItem::handleUpdated()
m_pointLabelsVisible = m_series->pointLabelsVisible();
m_pointLabelsFont = m_series->pointLabelsFont();
m_pointLabelsColor = m_series->pointLabelsColor();
+ m_pointLabelsClipping = m_series->pointLabelsClipping();
if (doGeometryUpdate)
updateGeometry();
update();
@@ -382,8 +385,13 @@ void LineChartItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *opt
reversePainter(painter, clipRect);
- if (m_pointLabelsVisible)
+ if (m_pointLabelsVisible) {
+ if (m_pointLabelsClipping)
+ painter->setClipping(true);
+ else
+ painter->setClipping(false);
m_series->d_func()->drawSeriesPointLabels(painter, m_points, m_linePen.width() / 2);
+ }
painter->restore();
diff --git a/src/charts/linechart/linechartitem_p.h b/src/charts/linechart/linechartitem_p.h
index dd24f681..846ea787 100644
--- a/src/charts/linechart/linechartitem_p.h
+++ b/src/charts/linechart/linechartitem_p.h
@@ -84,6 +84,7 @@ private:
QString m_pointLabelsFormat;
QFont m_pointLabelsFont;
QColor m_pointLabelsColor;
+ bool m_pointLabelsClipping;
QPointF m_lastMousePos;
bool m_mousePressed;
diff --git a/src/charts/scatterchart/scatterchartitem.cpp b/src/charts/scatterchart/scatterchartitem.cpp
index 0889a0dd..ac0611e0 100644
--- a/src/charts/scatterchart/scatterchartitem.cpp
+++ b/src/charts/scatterchart/scatterchartitem.cpp
@@ -40,6 +40,7 @@ ScatterChartItem::ScatterChartItem(QScatterSeries *series, QGraphicsItem *item)
m_pointLabelsFormat(series->pointLabelsFormat()),
m_pointLabelsFont(series->pointLabelsFont()),
m_pointLabelsColor(series->pointLabelsColor()),
+ m_pointLabelsClipping(true),
m_mousePressed(false)
{
QObject::connect(m_series->d_func(), SIGNAL(updated()), this, SLOT(handleUpdated()));
@@ -51,6 +52,7 @@ ScatterChartItem::ScatterChartItem(QScatterSeries *series, QGraphicsItem *item)
this, SLOT(handleUpdated()));
QObject::connect(series, SIGNAL(pointLabelsFontChanged(QFont)), this, SLOT(handleUpdated()));
QObject::connect(series, SIGNAL(pointLabelsColorChanged(QColor)), this, SLOT(handleUpdated()));
+ QObject::connect(series, SIGNAL(pointLabelsClippingChanged(bool)), this, SLOT(handleUpdated()));
setZValue(ChartPresenter::ScatterSeriesZValue);
setFlags(QGraphicsItem::ItemClipsChildrenToShape);
@@ -203,6 +205,10 @@ void ScatterChartItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *
painter->setClipRect(clipRect);
if (m_pointLabelsVisible) {
+ if (m_pointLabelsClipping)
+ painter->setClipping(true);
+ else
+ painter->setClipping(false);
m_series->d_func()->drawSeriesPointLabels(painter, m_points,
m_series->markerSize() / 2
+ m_series->pen().width());
@@ -242,6 +248,7 @@ void ScatterChartItem::handleUpdated()
m_pointLabelsVisible = m_series->pointLabelsVisible();
m_pointLabelsFont = m_series->pointLabelsFont();
m_pointLabelsColor = m_series->pointLabelsColor();
+ m_pointLabelsClipping = m_series->pointLabelsClipping();
if (recreate) {
deletePoints(count);
diff --git a/src/charts/scatterchart/scatterchartitem_p.h b/src/charts/scatterchart/scatterchartitem_p.h
index 080d84e9..faba1f2c 100644
--- a/src/charts/scatterchart/scatterchartitem_p.h
+++ b/src/charts/scatterchart/scatterchartitem_p.h
@@ -86,6 +86,7 @@ private:
QString m_pointLabelsFormat;
QFont m_pointLabelsFont;
QColor m_pointLabelsColor;
+ bool m_pointLabelsClipping;
bool m_mousePressed;
};
diff --git a/src/charts/splinechart/splinechartitem.cpp b/src/charts/splinechart/splinechartitem.cpp
index 752658d8..33896451 100644
--- a/src/charts/splinechart/splinechartitem.cpp
+++ b/src/charts/splinechart/splinechartitem.cpp
@@ -35,6 +35,7 @@ SplineChartItem::SplineChartItem(QSplineSeries *series, QGraphicsItem *item)
m_pointLabelsFormat(series->pointLabelsFormat()),
m_pointLabelsFont(series->pointLabelsFont()),
m_pointLabelsColor(series->pointLabelsColor()),
+ m_pointLabelsClipping(true),
m_mousePressed(false)
{
setAcceptHoverEvents(true);
@@ -49,6 +50,7 @@ SplineChartItem::SplineChartItem(QSplineSeries *series, QGraphicsItem *item)
this, SLOT(handleUpdated()));
QObject::connect(series, SIGNAL(pointLabelsFontChanged(QFont)), this, SLOT(handleUpdated()));
QObject::connect(series, SIGNAL(pointLabelsColorChanged(QColor)), this, SLOT(handleUpdated()));
+ QObject::connect(series, SIGNAL(pointLabelsClippingChanged(bool)), this, SLOT(handleUpdated()));
handleUpdated();
}
@@ -414,6 +416,7 @@ void SplineChartItem::handleUpdated()
m_pointLabelsVisible = m_series->pointLabelsVisible();
m_pointLabelsFont = m_series->pointLabelsFont();
m_pointLabelsColor = m_series->pointLabelsColor();
+ m_pointLabelsClipping = m_series->pointLabelsClipping();
update();
}
@@ -460,8 +463,13 @@ void SplineChartItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *o
reversePainter(painter, clipRect);
- if (m_pointLabelsVisible)
+ if (m_pointLabelsVisible) {
+ if (m_pointLabelsClipping)
+ painter->setClipping(true);
+ else
+ painter->setClipping(false);
m_series->d_func()->drawSeriesPointLabels(painter, m_points, m_linePen.width() / 2);
+ }
painter->restore();
}
diff --git a/src/charts/splinechart/splinechartitem_p.h b/src/charts/splinechart/splinechartitem_p.h
index fa3a68c6..241f26c6 100644
--- a/src/charts/splinechart/splinechartitem_p.h
+++ b/src/charts/splinechart/splinechartitem_p.h
@@ -85,6 +85,7 @@ private:
QString m_pointLabelsFormat;
QFont m_pointLabelsFont;
QColor m_pointLabelsColor;
+ bool m_pointLabelsClipping;
QPointF m_lastMousePos;
bool m_mousePressed;
diff --git a/src/charts/xychart/qxyseries.cpp b/src/charts/xychart/qxyseries.cpp
index c431f8a1..a88c5f85 100644
--- a/src/charts/xychart/qxyseries.cpp
+++ b/src/charts/xychart/qxyseries.cpp
@@ -162,13 +162,13 @@ QT_CHARTS_BEGIN_NAMESPACE
\property QXYSeries::pointLabelsVisible
Defines the visibility for data point labels. False by default.
- \sa pointLabelsFormat
+ \sa pointLabelsFormat, pointLabelsClipping
*/
/*!
\qmlproperty bool XYSeries::pointLabelsVisible
Defines the visibility for data point labels.
- \sa pointLabelsFormat
+ \sa pointLabelsFormat, pointLabelsClipping
*/
/*!
\fn void QXYSeries::pointLabelsVisibilityChanged(bool visible)
@@ -224,6 +224,29 @@ QT_CHARTS_BEGIN_NAMESPACE
*/
/*!
+ \property QXYSeries::pointLabelsClipping
+ Defines the clipping for data point labels. True by default. The labels on the edge of the plot
+ area are cut when clipping is enabled.
+
+ \sa pointLabelsVisible
+*/
+/*!
+ \qmlproperty bool XYSeries::pointLabelsClipping
+ Defines the clipping for data point labels. True by default. The labels on the edge of the plot
+ area are cut when clipping is enabled.
+
+ \sa pointLabelsVisible
+*/
+/*!
+ \fn void QXYSeries::pointLabelsClippintChanged(bool clipping)
+ The clipping of the data point labels is changed to \a clipping.
+*/
+/*!
+ \qmlsignal XYSeries::onPointLabelsClippingChanged(bool clipping)
+ The clipping of the data point labels is changed to \a clipping.
+*/
+
+/*!
\fn void QXYSeries::clicked(const QPointF& point)
\brief Signal is emitted when user clicks the \a point on chart. The \a point is the point
where the press was triggered.
@@ -779,6 +802,21 @@ QColor QXYSeries::pointLabelsColor() const
return d->m_pointLabelsColor;
}
+void QXYSeries::setPointLabelsClipping(bool enabled)
+{
+ Q_D(QXYSeries);
+ if (d->m_pointLabelsClipping != enabled) {
+ d->m_pointLabelsClipping = enabled;
+ emit pointLabelsClippingChanged(enabled);
+ }
+}
+
+bool QXYSeries::pointLabelsClipping() const
+{
+ Q_D(const QXYSeries);
+ return d->m_pointLabelsClipping;
+}
+
/*!
Stream operator for adding a data \a point to the series.
\sa append()
@@ -812,7 +850,8 @@ QXYSeriesPrivate::QXYSeriesPrivate(QXYSeries *q)
m_pointLabelsFormat(QLatin1String("@xPoint, @yPoint")),
m_pointLabelsVisible(false),
m_pointLabelsFont(QChartPrivate::defaultFont()),
- m_pointLabelsColor(QChartPrivate::defaultPen().color())
+ m_pointLabelsColor(QChartPrivate::defaultPen().color()),
+ m_pointLabelsClipping(true)
{
}
diff --git a/src/charts/xychart/qxyseries.h b/src/charts/xychart/qxyseries.h
index ceba5deb..6a211fbf 100644
--- a/src/charts/xychart/qxyseries.h
+++ b/src/charts/xychart/qxyseries.h
@@ -42,6 +42,7 @@ class QT_CHARTS_EXPORT QXYSeries : public QAbstractSeries
Q_PROPERTY(bool pointLabelsVisible READ pointLabelsVisible WRITE setPointLabelsVisible NOTIFY pointLabelsVisibilityChanged)
Q_PROPERTY(QFont pointLabelsFont READ pointLabelsFont WRITE setPointLabelsFont NOTIFY pointLabelsFontChanged)
Q_PROPERTY(QColor pointLabelsColor READ pointLabelsColor WRITE setPointLabelsColor NOTIFY pointLabelsColorChanged)
+ Q_PROPERTY(bool pointLabelsClipping READ pointLabelsClipping WRITE setPointLabelsClipping NOTIFY pointLabelsClippingChanged)
protected:
explicit QXYSeries(QXYSeriesPrivate &d, QObject *parent = 0);
@@ -93,6 +94,9 @@ public:
void setPointLabelsColor(const QColor &color);
QColor pointLabelsColor() const;
+ void setPointLabelsClipping(bool enabled = true);
+ bool pointLabelsClipping() const;
+
void replace(QList<QPointF> points);
void replace(QVector<QPointF> points);
@@ -111,6 +115,7 @@ Q_SIGNALS:
void pointLabelsVisibilityChanged(bool visible);
void pointLabelsFontChanged(const QFont &font);
void pointLabelsColorChanged(const QColor &color);
+ void pointLabelsClippingChanged(bool clipping);
void pointsRemoved(int index, int count);
private:
diff --git a/src/charts/xychart/qxyseries_p.h b/src/charts/xychart/qxyseries_p.h
index 57f6ba4a..9ec1c1e1 100644
--- a/src/charts/xychart/qxyseries_p.h
+++ b/src/charts/xychart/qxyseries_p.h
@@ -67,6 +67,7 @@ protected:
bool m_pointLabelsVisible;
QFont m_pointLabelsFont;
QColor m_pointLabelsColor;
+ bool m_pointLabelsClipping;
private:
Q_DECLARE_PUBLIC(QXYSeries)
diff --git a/src/chartsqml2/plugins.qmltypes b/src/chartsqml2/plugins.qmltypes
index 43f0faa5..618e5e2a 100644
--- a/src/chartsqml2/plugins.qmltypes
+++ b/src/chartsqml2/plugins.qmltypes
@@ -2256,6 +2256,7 @@ Module {
Property { name: "pointLabelsVisible"; type: "bool" }
Property { name: "pointLabelsFont"; type: "QFont" }
Property { name: "pointLabelsColor"; type: "QColor" }
+ Property { name: "pointLabelsClipping"; type: "bool" }
Signal {
name: "clicked"
Parameter { name: "point"; type: "QPointF" }
@@ -2302,6 +2303,10 @@ Module {
name: "pointLabelsColorChanged"
Parameter { name: "color"; type: "QColor" }
}
+ Signal {
+ name: "pointLabelsClippingChanged"
+ Parameter { name: "clipping"; type: "bool" }
+ }
}
Component {
name: "QtCharts::QBarCategoryAxis"
@@ -2899,6 +2904,7 @@ Module {
Property { name: "pointLabelsVisible"; type: "bool" }
Property { name: "pointLabelsFont"; type: "QFont" }
Property { name: "pointLabelsColor"; type: "QColor" }
+ Property { name: "pointLabelsClipping"; type: "bool" }
Signal {
name: "clicked"
Parameter { name: "point"; type: "QPointF" }
@@ -2954,6 +2960,10 @@ Module {
Parameter { name: "color"; type: "QColor" }
}
Signal {
+ name: "pointLabelsClippingChanged"
+ Parameter { name: "clipping"; type: "bool" }
+ }
+ Signal {
name: "pointsRemoved"
Parameter { name: "index"; type: "int" }
Parameter { name: "count"; type: "int" }
diff --git a/tests/auto/qlineseries/tst_qlineseries.cpp b/tests/auto/qlineseries/tst_qlineseries.cpp
index f4406308..e1df6c78 100644
--- a/tests/auto/qlineseries/tst_qlineseries.cpp
+++ b/tests/auto/qlineseries/tst_qlineseries.cpp
@@ -80,6 +80,7 @@ void tst_QLineSeries::qlineseries()
QCOMPARE(series.pointsVisible(), false);
QCOMPARE(series.pointLabelsVisible(), false);
QCOMPARE(series.pointLabelsFormat(), QLatin1String("@xPoint, @yPoint"));
+ QCOMPARE(series.pointLabelsClipping(), true);
series.append(QList<QPointF>());
series.append(0.0,0.0);
diff --git a/tests/auto/qxyseries/tst_qxyseries.cpp b/tests/auto/qxyseries/tst_qxyseries.cpp
index 337bc4ec..bb827412 100644
--- a/tests/auto/qxyseries/tst_qxyseries.cpp
+++ b/tests/auto/qxyseries/tst_qxyseries.cpp
@@ -152,6 +152,24 @@ void tst_QXYSeries::pointLabelsColor()
QVERIFY(arguments.at(0).value<QColor>() == defaultColor);
}
+void tst_QXYSeries::pointLabelsClipping()
+{
+ QSignalSpy labelsClippingSpy(m_series, SIGNAL(pointLabelsClippingChanged(bool)));
+ QCOMPARE(m_series->pointLabelsClipping(), true);
+
+ m_series->setPointLabelsClipping(false);
+ QCOMPARE(m_series->pointLabelsClipping(), false);
+ TRY_COMPARE(labelsClippingSpy.count(), 1);
+ QList<QVariant> arguments = labelsClippingSpy.takeFirst();
+ QVERIFY(arguments.at(0).toBool() == false);
+
+ m_series->setPointLabelsClipping();
+ QCOMPARE(m_series->pointLabelsClipping(), true);
+ TRY_COMPARE(labelsClippingSpy.count(), 1);
+ arguments = labelsClippingSpy.takeFirst();
+ QVERIFY(arguments.at(0).toBool() == true);
+}
+
void tst_QXYSeries::append_data()
{
QTest::addColumn< QList<QPointF> >("points");
diff --git a/tests/auto/qxyseries/tst_qxyseries.h b/tests/auto/qxyseries/tst_qxyseries.h
index 59a2c99b..fca4a492 100644
--- a/tests/auto/qxyseries/tst_qxyseries.h
+++ b/tests/auto/qxyseries/tst_qxyseries.h
@@ -44,6 +44,7 @@ private slots:
void pointLabelsVisible();
void pointLabelsFont();
void pointLabelsColor();
+ void pointLabelsClipping();
void seriesOpacity();
void oper_data();
void oper();
diff --git a/tests/manual/qmlchartproperties/qml/qmlchartproperties/AreaChart.qml b/tests/manual/qmlchartproperties/qml/qmlchartproperties/AreaChart.qml
index 3f2a87bf..020cbdeb 100644
--- a/tests/manual/qmlchartproperties/qml/qmlchartproperties/AreaChart.qml
+++ b/tests/manual/qmlchartproperties/qml/qmlchartproperties/AreaChart.qml
@@ -79,6 +79,8 @@ ChartView {
+ font.family);
onPointLabelsColorChanged: console.log(name + ".onPointLabelsColorChanged: "
+ color);
+ onPointLabelsClippingChanged: console.log(name + ".onPointLabelsClippingChanged: "
+ + clipping);
onPressed: console.log(name + ".onPressed: " + point.x + ", " + point.y);
onReleased: console.log(name + ".onReleased: " + point.x + ", " + point.y);
onDoubleClicked: console.log(name + ".onDoubleClicked: " + point.x + ", " + point.y);
diff --git a/tests/manual/qmlchartproperties/qml/qmlchartproperties/AreaEditor.qml b/tests/manual/qmlchartproperties/qml/qmlchartproperties/AreaEditor.qml
index 79cc84d9..23ed70ea 100644
--- a/tests/manual/qmlchartproperties/qml/qmlchartproperties/AreaEditor.qml
+++ b/tests/manual/qmlchartproperties/qml/qmlchartproperties/AreaEditor.qml
@@ -79,6 +79,10 @@ Flow {
onClicked: series.pointLabelsColor = main.nextColor();
}
Button {
+ text: "point labels clipping"
+ onClicked: series.pointLabelsClipping = !series.pointLabelsClipping;
+ }
+ Button {
id: upperButton
text: "upper series"
unpressedColor: "#79bd8f"
diff --git a/tests/manual/qmlchartproperties/qml/qmlchartproperties/LineChart.qml b/tests/manual/qmlchartproperties/qml/qmlchartproperties/LineChart.qml
index f1eaaa45..784a575c 100644
--- a/tests/manual/qmlchartproperties/qml/qmlchartproperties/LineChart.qml
+++ b/tests/manual/qmlchartproperties/qml/qmlchartproperties/LineChart.qml
@@ -60,6 +60,8 @@ ChartView {
+ font.family);
onPointLabelsColorChanged: console.log("lineSeries.onPointLabelsColorChanged: "
+ color);
+ onPointLabelsClippingChanged: console.log("lineSeries.onPointLabelsClippingChanged: "
+ + clipping);
onPressed: console.log(name + ".onPressed: " + point.x + ", " + point.y);
onReleased: console.log(name + ".onReleased: " + point.x + ", " + point.y);
onDoubleClicked: console.log(name + ".onDoubleClicked: " + point.x + ", " + point.y);
diff --git a/tests/manual/qmlchartproperties/qml/qmlchartproperties/LineEditor.qml b/tests/manual/qmlchartproperties/qml/qmlchartproperties/LineEditor.qml
index a6390cb5..c44f63e3 100644
--- a/tests/manual/qmlchartproperties/qml/qmlchartproperties/LineEditor.qml
+++ b/tests/manual/qmlchartproperties/qml/qmlchartproperties/LineEditor.qml
@@ -96,6 +96,10 @@ Flow {
onClicked: series.pointLabelsColor = main.nextColor();
}
Button {
+ text: "point labels clipping"
+ onClicked: series.pointLabelsClipping = !series.pointLabelsClipping;
+ }
+ Button {
text: "append point"
onClicked: series.append(series.count - 1, series.count - 1);
}
diff --git a/tests/manual/qmlchartproperties/qml/qmlchartproperties/ScatterChart.qml b/tests/manual/qmlchartproperties/qml/qmlchartproperties/ScatterChart.qml
index eada1aa7..f957f02d 100644
--- a/tests/manual/qmlchartproperties/qml/qmlchartproperties/ScatterChart.qml
+++ b/tests/manual/qmlchartproperties/qml/qmlchartproperties/ScatterChart.qml
@@ -57,6 +57,8 @@ ChartView {
+ font.family);
onPointLabelsColorChanged: console.log("scatterSeries.onPointLabelsColorChanged: "
+ color);
+ onPointLabelsClippingChanged: console.log("scatterSeries.onPointLabelsClippingChanged: "
+ + clipping);
onPressed: console.log(name + ".onPressed: " + point.x + ", " + point.y);
onReleased: console.log(name + ".onReleased: " + point.x + ", " + point.y);
onDoubleClicked: console.log(name + ".onDoubleClicked: " + point.x + ", " + point.y);
diff --git a/tests/manual/qmlchartproperties/qml/qmlchartproperties/ScatterEditor.qml b/tests/manual/qmlchartproperties/qml/qmlchartproperties/ScatterEditor.qml
index ce95cf59..4eca23ca 100644
--- a/tests/manual/qmlchartproperties/qml/qmlchartproperties/ScatterEditor.qml
+++ b/tests/manual/qmlchartproperties/qml/qmlchartproperties/ScatterEditor.qml
@@ -69,6 +69,10 @@ Flow {
onClicked: series.pointLabelsVisible = !series.pointLabelsVisible;
}
Button {
+ text: "point labels clipping"
+ onClicked: series.pointLabelsClipping = !series.pointLabelsClipping;
+ }
+ Button {
text: "point labels format"
onClicked: {
if (series.pointLabelsFormat === "@xPoint, @yPoint")
@@ -91,6 +95,10 @@ Flow {
onClicked: series.pointLabelsColor = main.nextColor();
}
Button {
+ text: "point labels clipping"
+ onClicked: series.pointLabelsClipping = !series.pointLabelsClipping;
+ }
+ Button {
text: "append point"
onClicked: series.append(series.count - 1, series.count - 1);
}
diff --git a/tests/manual/qmlchartproperties/qml/qmlchartproperties/SplineChart.qml b/tests/manual/qmlchartproperties/qml/qmlchartproperties/SplineChart.qml
index fe21688f..0eaa47ca 100644
--- a/tests/manual/qmlchartproperties/qml/qmlchartproperties/SplineChart.qml
+++ b/tests/manual/qmlchartproperties/qml/qmlchartproperties/SplineChart.qml
@@ -59,6 +59,8 @@ ChartView {
+ font.family);
onPointLabelsColorChanged: console.log("splineSeries.onPointLabelsColorChanged: "
+ color);
+ onPointLabelsClippingChanged: console.log("splineSeries.onPointLabelsClippingChanged: "
+ + clipping);
onPressed: console.log(name + ".onPressed: " + point.x + ", " + point.y);
onReleased: console.log(name + ".onReleased: " + point.x + ", " + point.y);
onDoubleClicked: console.log(name + ".onDoubleClicked: " + point.x + ", " + point.y);