mirror of https://github.com/qt/qtgraphs.git
Graphs: rename VisibleMode to LabelVisibility
Based on API review: Rename the VisibleMode enum to LabelVisibility
to specifically state that it controls label visibility in pie series.
Task-number: QTBUG-137478
Change-Id: If7834e180a3be90c8a5f69807ac9763b7e4ac853
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
(cherry picked from commit 8a24be6330)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
30d9763c31
commit
74f76ec3d3
|
|
@ -309,11 +309,11 @@ QT_BEGIN_NAMESPACE
|
|||
\brief The angle span limit for label visibility.
|
||||
|
||||
The angle span that will be used as the visibility limit for a slice label. A slice with
|
||||
angle span under this value will change its visibility based on the \l angleSpanVisibleMode
|
||||
angle span under this value will change its visibility based on the \l angleSpanLabelVisibility
|
||||
set to the series. The default value is \c {0}, which means no slices will be hidden
|
||||
regardless of the \l {angleSpanVisibleMode}.
|
||||
regardless of the \l {angleSpanLabelVisibility}.
|
||||
|
||||
\sa QPieSeries::angleSpanVisibleMode
|
||||
\sa QPieSeries::angleSpanLabelVisibility
|
||||
*/
|
||||
|
||||
/*!
|
||||
|
|
@ -323,15 +323,15 @@ QT_BEGIN_NAMESPACE
|
|||
The angle span limit for label visibility.
|
||||
|
||||
The angle span that will be used as the visibility limit for a slice label. A slice with
|
||||
angle span under this value will change its visibility based on the \l angleSpanVisibleMode
|
||||
angle span under this value will change its visibility based on the \l angleSpanLabelVisibility
|
||||
set to the series. The default value is \c {0}, which means no slices will be hidden
|
||||
regardless of the \l {angleSpanVisibleMode}.
|
||||
regardless of the \l {angleSpanLabelVisibility}.
|
||||
|
||||
\sa angleSpanVisibleMode
|
||||
\sa angleSpanLabelVisibility
|
||||
*/
|
||||
|
||||
/*!
|
||||
\property QPieSeries::angleSpanVisibleMode
|
||||
\property QPieSeries::angleSpanLabelVisibility
|
||||
\since 6.10
|
||||
|
||||
\brief The mode for label visibility.
|
||||
|
|
@ -344,7 +344,7 @@ QT_BEGIN_NAMESPACE
|
|||
*/
|
||||
|
||||
/*!
|
||||
\qmlproperty enumeration PieSeries::angleSpanVisibleMode
|
||||
\qmlproperty enumeration PieSeries::angleSpanLabelVisibility
|
||||
\since 6.10
|
||||
|
||||
The mode for label visibility.
|
||||
|
|
@ -353,16 +353,16 @@ QT_BEGIN_NAMESPACE
|
|||
set with \l {angleSpanVisibleLimit}. Has no effect if \l angleSpanVisibleLimit has not been
|
||||
set.
|
||||
|
||||
\value PieSeries.VisibleMode.None
|
||||
\value PieSeries.LabelVisibility.None
|
||||
All of the labels of slices with smaller angle span than the \l angleSpanVisibleLimit
|
||||
will be hidden.
|
||||
\value PieSeries.VisibleMode.First
|
||||
\value PieSeries.LabelVisibility.First
|
||||
All except the first label of consecutive slices with smaller angle span than
|
||||
the \l angleSpanVisibleLimit will be hidden. This is the default value.
|
||||
\value PieSeries.VisibleMode.Even
|
||||
\value PieSeries.LabelVisibility.Even
|
||||
Every other label of consecutive slices with smaller angle span than
|
||||
the \l angleSpanVisibleLimit will be hidden, starting from the second one.
|
||||
\value PieSeries.VisibleMode.Odd
|
||||
\value PieSeries.LabelVisibility.Odd
|
||||
Every other label of consecutive slices with smaller angle span than
|
||||
the \l angleSpanVisibleLimit will be hidden, starting from the first one.
|
||||
|
||||
|
|
@ -370,7 +370,7 @@ QT_BEGIN_NAMESPACE
|
|||
*/
|
||||
|
||||
/*!
|
||||
\enum QPieSeries::VisibleMode
|
||||
\enum QPieSeries::LabelVisibility
|
||||
\since 6.10
|
||||
|
||||
The mode for label visibility.
|
||||
|
|
@ -514,7 +514,7 @@ QT_BEGIN_NAMESPACE
|
|||
*/
|
||||
|
||||
/*!
|
||||
\qmlsignal PieSeries::angleSpanVisibleModeChanged()
|
||||
\qmlsignal PieSeries::angleSpanLabelVisibilityChanged()
|
||||
\since 6.10
|
||||
This signal is emitted when the angle span limit visible mode has been changed.
|
||||
*/
|
||||
|
|
@ -1176,23 +1176,23 @@ void QPieSeries::setAngleSpanVisibleLimit(qreal newAngleSpanVisibleLimit)
|
|||
emit angleSpanVisibleLimitChanged();
|
||||
}
|
||||
|
||||
QPieSeries::VisibleMode QPieSeries::angleSpanVisibleMode() const
|
||||
QPieSeries::LabelVisibility QPieSeries::angleSpanLabelVisibility() const
|
||||
{
|
||||
Q_D(const QPieSeries);
|
||||
return d->m_angleSpanVisibleMode;
|
||||
}
|
||||
|
||||
void QPieSeries::setAngleSpanVisibleMode(QPieSeries::VisibleMode newAngleSpanVisibleMode)
|
||||
void QPieSeries::setAngleSpanLabelVisibility(QPieSeries::LabelVisibility newAngleSpanVisibleMode)
|
||||
{
|
||||
Q_D(QPieSeries);
|
||||
if (d->m_angleSpanVisibleMode == newAngleSpanVisibleMode) {
|
||||
qCDebug(lcProperties2D) << "QPieSeries::setAngleSpanVisibleMode. Mode is already set to: "
|
||||
qCDebug(lcProperties2D) << "QPieSeries::setAngleSpanLabelVisibility. Property is already set to: "
|
||||
<< newAngleSpanVisibleMode;
|
||||
return;
|
||||
}
|
||||
d->m_angleSpanVisibleMode = newAngleSpanVisibleMode;
|
||||
d->updateData(true);
|
||||
emit angleSpanVisibleModeChanged();
|
||||
emit angleSpanLabelVisibilityChanged();
|
||||
}
|
||||
|
||||
QPieSeriesPrivate::QPieSeriesPrivate()
|
||||
|
|
@ -1204,7 +1204,7 @@ QPieSeriesPrivate::QPieSeriesPrivate()
|
|||
, m_sum(0)
|
||||
, m_holeRelativeSize(.0)
|
||||
, m_angleSpanVisibleLimit(.0)
|
||||
, m_angleSpanVisibleMode(QPieSeries::VisibleMode::First)
|
||||
, m_angleSpanVisibleMode(QPieSeries::LabelVisibility::First)
|
||||
|
||||
{}
|
||||
|
||||
|
|
@ -1229,7 +1229,7 @@ void QPieSeriesPrivate::updateData(bool clearHidden)
|
|||
// update slice attributes
|
||||
qreal sliceAngle = m_pieStartAngle;
|
||||
qreal pieSpan = m_pieEndAngle - m_pieStartAngle;
|
||||
auto hideMode = q->angleSpanVisibleMode();
|
||||
auto hideMode = q->angleSpanLabelVisibility();
|
||||
bool hideNextSmallSlice = false;
|
||||
for (QPieSlice *s : std::as_const(m_slices)) {
|
||||
QPieSlicePrivate *d = s->d_func();
|
||||
|
|
@ -1245,14 +1245,14 @@ void QPieSeriesPrivate::updateData(bool clearHidden)
|
|||
// Check if current slice is small, and if the previous slice was also small
|
||||
// Hide the label on this one if the mode matches
|
||||
if (d->m_angleSpan < m_angleSpanVisibleLimit
|
||||
&& ((!hideNextSmallSlice && hideMode == QPieSeries::VisibleMode::Even)
|
||||
&& ((!hideNextSmallSlice && hideMode == QPieSeries::LabelVisibility::Even)
|
||||
|| (hideNextSmallSlice
|
||||
&& (hideMode == QPieSeries::VisibleMode::Odd
|
||||
|| hideMode == QPieSeries::VisibleMode::First))
|
||||
|| hideMode == QPieSeries::VisibleMode::None)) {
|
||||
&& (hideMode == QPieSeries::LabelVisibility::Odd
|
||||
|| hideMode == QPieSeries::LabelVisibility::First))
|
||||
|| hideMode == QPieSeries::LabelVisibility::None)) {
|
||||
d->setLabelVisible(false, true);
|
||||
}
|
||||
if (hideMode == QPieSeries::VisibleMode::First) {
|
||||
if (hideMode == QPieSeries::LabelVisibility::First) {
|
||||
// Hide every other small slice label after the first shown one
|
||||
hideNextSmallSlice = d->m_angleSpan < m_angleSpanVisibleLimit;
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -28,18 +28,18 @@ class Q_GRAPHS_EXPORT QPieSeries : public QAbstractSeries
|
|||
Q_PROPERTY(qreal holeSize READ holeSize WRITE setHoleSize NOTIFY holeSizeChanged FINAL)
|
||||
Q_PROPERTY(qreal angleSpanVisibleLimit READ angleSpanVisibleLimit WRITE setAngleSpanVisibleLimit
|
||||
NOTIFY angleSpanVisibleLimitChanged REVISION(6, 10))
|
||||
Q_PROPERTY(VisibleMode angleSpanVisibleMode READ angleSpanVisibleMode WRITE setAngleSpanVisibleMode
|
||||
NOTIFY angleSpanVisibleModeChanged REVISION(6, 10))
|
||||
Q_PROPERTY(LabelVisibility angleSpanLabelVisibility READ angleSpanLabelVisibility
|
||||
WRITE setAngleSpanLabelVisibility NOTIFY angleSpanLabelVisibilityChanged REVISION(6, 10))
|
||||
QML_NAMED_ELEMENT(PieSeries)
|
||||
|
||||
public:
|
||||
enum class VisibleMode {
|
||||
enum class LabelVisibility {
|
||||
None,
|
||||
First,
|
||||
Even,
|
||||
Odd,
|
||||
};
|
||||
Q_ENUM(VisibleMode)
|
||||
Q_ENUM(LabelVisibility)
|
||||
|
||||
explicit QPieSeries(QObject *parent = nullptr);
|
||||
~QPieSeries() override;
|
||||
|
|
@ -92,8 +92,8 @@ public:
|
|||
qreal angleSpanVisibleLimit() const;
|
||||
void setAngleSpanVisibleLimit(qreal newAngleSpanVisibleLimit);
|
||||
|
||||
VisibleMode angleSpanVisibleMode() const;
|
||||
void setAngleSpanVisibleMode(VisibleMode newAngleSpanVisibleMode);
|
||||
LabelVisibility angleSpanLabelVisibility() const;
|
||||
void setAngleSpanLabelVisibility(LabelVisibility newAngleSpanVisibleMode);
|
||||
|
||||
public Q_SLOTS:
|
||||
void handleSliceChange();
|
||||
|
|
@ -121,7 +121,7 @@ Q_SIGNALS:
|
|||
Q_REVISION(6, 9) void released(QPieSlice *slice);
|
||||
|
||||
Q_REVISION(6, 10) void angleSpanVisibleLimitChanged();
|
||||
Q_REVISION(6, 10) void angleSpanVisibleModeChanged();
|
||||
Q_REVISION(6, 10) void angleSpanLabelVisibilityChanged();
|
||||
|
||||
private:
|
||||
friend class PieRenderer;
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ private:
|
|||
qreal m_sum;
|
||||
qreal m_holeRelativeSize;
|
||||
qreal m_angleSpanVisibleLimit;
|
||||
QPieSeries::VisibleMode m_angleSpanVisibleMode;
|
||||
QPieSeries::LabelVisibility m_angleSpanVisibleMode;
|
||||
Q_DECLARE_PUBLIC(QPieSeries)
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ void tst_qgpieseries::properties()
|
|||
QSignalSpy opacitySpy(m_series, SIGNAL(opacityChanged()));
|
||||
QSignalSpy valuesMultiplierSpy(m_series, SIGNAL(valuesMultiplierChanged()));
|
||||
QSignalSpy angleSpanVisibleLimitSpy(m_series, SIGNAL(angleSpanVisibleLimitChanged()));
|
||||
QSignalSpy angleSpanVisibleModeSpy(m_series, SIGNAL(angleSpanVisibleModeChanged()));
|
||||
QSignalSpy angleSpanLabelVisibilitySpy(m_series, SIGNAL(angleSpanLabelVisibilityChanged()));
|
||||
|
||||
QVERIFY(m_series->type() == QAbstractSeries::SeriesType::Pie);
|
||||
QVERIFY(m_series->count() == 0);
|
||||
|
|
@ -78,7 +78,7 @@ void tst_qgpieseries::properties()
|
|||
QCOMPARE(m_series->opacity(), 1.0);
|
||||
QCOMPARE(m_series->valuesMultiplier(), 1.0);
|
||||
QCOMPARE(m_series->angleSpanVisibleLimit(), 0.0);
|
||||
QCOMPARE(m_series->angleSpanVisibleMode(), QPieSeries::VisibleMode::First);
|
||||
QCOMPARE(m_series->angleSpanLabelVisibility(), QPieSeries::LabelVisibility::First);
|
||||
|
||||
m_series->append("s1", 1);
|
||||
m_series->append("s2", 1);
|
||||
|
|
@ -164,12 +164,12 @@ void tst_qgpieseries::properties()
|
|||
QCOMPARE(m_series->angleSpanVisibleLimit(), 10.0);
|
||||
QCOMPARE(angleSpanVisibleLimitSpy.size(), 2);
|
||||
|
||||
m_series->setAngleSpanVisibleMode(QPieSeries::VisibleMode::None);
|
||||
QCOMPARE(m_series->angleSpanVisibleMode(), QPieSeries::VisibleMode::None);
|
||||
QCOMPARE(angleSpanVisibleModeSpy.size(), 1);
|
||||
m_series->setAngleSpanVisibleMode(QPieSeries::VisibleMode::Even);
|
||||
QCOMPARE(m_series->angleSpanVisibleMode(), QPieSeries::VisibleMode::Even);
|
||||
QCOMPARE(angleSpanVisibleModeSpy.size(), 2);
|
||||
m_series->setAngleSpanLabelVisibility(QPieSeries::LabelVisibility::None);
|
||||
QCOMPARE(m_series->angleSpanLabelVisibility(), QPieSeries::LabelVisibility::None);
|
||||
QCOMPARE(angleSpanLabelVisibilitySpy.size(), 1);
|
||||
m_series->setAngleSpanLabelVisibility(QPieSeries::LabelVisibility::Even);
|
||||
QCOMPARE(m_series->angleSpanLabelVisibility(), QPieSeries::LabelVisibility::Even);
|
||||
QCOMPARE(angleSpanLabelVisibilitySpy.size(), 2);
|
||||
}
|
||||
|
||||
void tst_qgpieseries::append()
|
||||
|
|
@ -622,7 +622,7 @@ void tst_qgpieseries::adjust_limits_and_mode()
|
|||
}
|
||||
|
||||
// Every slice label under the limit should be hidden
|
||||
series.setAngleSpanVisibleMode(QPieSeries::VisibleMode::None);
|
||||
series.setAngleSpanLabelVisibility(QPieSeries::LabelVisibility::None);
|
||||
series.setAngleSpanVisibleLimit(35);
|
||||
for (const QPieSlice *slice : series.slices()) {
|
||||
if (slice->angleSpan() < series.angleSpanVisibleLimit())
|
||||
|
|
@ -645,7 +645,7 @@ void tst_qgpieseries::adjust_limits_and_mode()
|
|||
QCOMPARE(visiblecount, 7);
|
||||
|
||||
// Only the first label of slices under the limit should be visible
|
||||
series.setAngleSpanVisibleMode(QPieSeries::VisibleMode::First);
|
||||
series.setAngleSpanLabelVisibility(QPieSeries::LabelVisibility::First);
|
||||
series.setAngleSpanVisibleLimit(36); // mid-point; half of the labels plus one should be visible
|
||||
visiblecount = 0;
|
||||
for (const QPieSlice *slice : series.slices())
|
||||
|
|
@ -659,7 +659,7 @@ void tst_qgpieseries::adjust_limits_and_mode()
|
|||
QCOMPARE(visiblecount, 1);
|
||||
|
||||
// Every other label of slices under the limit should be visible
|
||||
series.setAngleSpanVisibleMode(QPieSeries::VisibleMode::Odd);
|
||||
series.setAngleSpanLabelVisibility(QPieSeries::LabelVisibility::Odd);
|
||||
series.setAngleSpanVisibleLimit(36);
|
||||
visiblecount = 0;
|
||||
for (const QPieSlice *slice : series.slices())
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ Item {
|
|||
SignalSpy {
|
||||
id: modeChangedSpy
|
||||
target: pieSeries
|
||||
signalName: "angleSpanVisibleModeChanged"
|
||||
signalName: "angleSpanLabelVisibilityChanged"
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -57,7 +57,7 @@ Item {
|
|||
compare(pieSeries.sum, 0)
|
||||
compare(pieSeries.verticalPosition, 0.5)
|
||||
compare(pieSeries.angleSpanVisibleLimit, 0)
|
||||
compare(pieSeries.angleSpanVisibleMode, PieSeries.VisibleMode.First)
|
||||
compare(pieSeries.angleSpanLabelVisibility, PieSeries.LabelVisibility.First)
|
||||
|
||||
pieSeries.clear()
|
||||
}
|
||||
|
|
@ -162,7 +162,7 @@ Item {
|
|||
for (let i = 0; i < count; i++)
|
||||
pieSeries.append("slice" + i, i + 0.1) // Produces angle span range from ~0.8 to ~71.2
|
||||
|
||||
pieSeries.angleSpanVisibleMode = PieSeries.VisibleMode.None
|
||||
pieSeries.angleSpanLabelVisibility = PieSeries.LabelVisibility.None
|
||||
compare(modeChangedSpy.count, 1)
|
||||
|
||||
pieSeries.angleSpanVisibleLimit = 20
|
||||
|
|
@ -181,7 +181,7 @@ Item {
|
|||
visiblecount += pieSeries.at(i).labelVisible
|
||||
compare(visiblecount, 5)
|
||||
|
||||
pieSeries.angleSpanVisibleMode = PieSeries.VisibleMode.First
|
||||
pieSeries.angleSpanLabelVisibility = PieSeries.LabelVisibility.First
|
||||
compare(modeChangedSpy.count, 2)
|
||||
|
||||
pieSeries.angleSpanVisibleLimit = 75 // This covers all the slices
|
||||
|
|
@ -192,7 +192,7 @@ Item {
|
|||
visiblecount += pieSeries.at(i).labelVisible
|
||||
compare(visiblecount, 1)
|
||||
|
||||
pieSeries.angleSpanVisibleMode = PieSeries.VisibleMode.Even
|
||||
pieSeries.angleSpanLabelVisibility = PieSeries.LabelVisibility.Even
|
||||
compare(modeChangedSpy.count, 3)
|
||||
|
||||
visiblecount = 0
|
||||
|
|
|
|||
|
|
@ -86,19 +86,19 @@ Item {
|
|||
onCurrentIndexChanged: {
|
||||
switch (currentIndex) {
|
||||
case 0: {
|
||||
pieSeries.angleSpanVisibleMode = PieSeries.VisibleMode.None
|
||||
pieSeries.angleSpanLabelVisibility = PieSeries.LabelVisibility.None
|
||||
break
|
||||
}
|
||||
case 1: {
|
||||
pieSeries.angleSpanVisibleMode = PieSeries.VisibleMode.First
|
||||
pieSeries.angleSpanLabelVisibility = PieSeries.LabelVisibility.First
|
||||
break
|
||||
}
|
||||
case 2: {
|
||||
pieSeries.angleSpanVisibleMode = PieSeries.VisibleMode.Odd
|
||||
pieSeries.angleSpanLabelVisibility = PieSeries.LabelVisibility.Odd
|
||||
break
|
||||
}
|
||||
case 3: {
|
||||
pieSeries.angleSpanVisibleMode = PieSeries.VisibleMode.Even
|
||||
pieSeries.angleSpanLabelVisibility = PieSeries.LabelVisibility.Even
|
||||
break
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue