##// END OF EJS Templates
Fix documentation build...
Fix documentation build Removed deprecated and unnecessary '\mainclass' command from documentation. Change-Id: I7aaaba3da38ef647b4cf9023cb4f4b50fe08ca53 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>

File last commit:

r2782:5fbd172ba15f
r2782:5fbd172ba15f
Show More
qlegendmarker.cpp
291 lines | 6.7 KiB | text/x-c | CppLexer
/****************************************************************************
**
** Copyright (C) 2015 The Qt Company Ltd
** All rights reserved.
** For any questions to The Qt Company, please use contact form at http://qt.io
**
** This file is part of the Qt Charts module.
**
** Licensees holding valid commercial license for Qt may use this file in
** accordance with the Qt License Agreement provided with the Software
** or, alternatively, in accordance with the terms contained in a written
** agreement between you and The Qt Company.
**
** If you have questions regarding the use of this file, please use
** contact form at http://qt.io
**
****************************************************************************/
#include <QtCharts/QLegendMarker>
#include <private/qlegendmarker_p.h>
#include <private/legendmarkeritem_p.h>
#include <QtCharts/QLegend>
#include <private/qlegend_p.h>
#include <private/legendlayout_p.h>
#include <QtGui/QFontMetrics>
#include <QtWidgets/QGraphicsSceneEvent>
#include <QtCharts/QAbstractSeries>
QT_CHARTS_BEGIN_NAMESPACE
/*!
\class QLegendMarker
\inmodule Qt Charts
\brief LegendMarker object.
QLegendMarker is abstract object that can be used to access markers inside QLegend. Legend marker consists of two
items: The colored box, which reflects the color of series and label, which is the name of series (or label of slice/barset
in case of pie or bar series)
The QLegendMarker is always related to one series.
\image examples_percentbarchart_legend.png
\sa QLegend
*/
/*!
\enum QLegendMarker::LegendMarkerType
The type of the legendmarker object.
\value LegendMarkerTypeArea
\value LegendMarkerTypeBar
\value LegendMarkerTypePie
\value LegendMarkerTypeXY
\value LegendMarkerTypeBoxPlot
*/
/*!
\fn virtual LegendMarkerType QLegendMarker::type() = 0;
Returns the type of legendmarker. Type depends of the related series. LegendMarkerTypeXY is used for all QXYSeries derived
classes.
*/
/*!
\fn virtual QAbstractSeries* QLegendMarker::series() = 0;
Returns pointer to series, which is related to this marker. Marker is always related to some series.
*/
/*!
\fn void QLegendMarker::clicked();
This signal is emitted, when marker is clicked with mouse.
*/
/*!
\fn void QLegendMarker::hovered(bool status);
This signal is emitted, when mouse is hovered over marker. \a status is true, when mouse enters the marker
and false when it leaves the marker.
*/
/*!
\fn void QLegendMarker::labelChanged()
This signal is emitted when the label of the legend marker has changed.
*/
/*!
\fn void QLegendMarker::labelBrushChanged()
This signal is emitted when the label brush of the legend marker has changed.
*/
/*!
\fn void QLegendMarker::fontChanged()
This signal is emitted when the (label) font of the legend marker has changed.
*/
/*!
\fn void QLegendMarker::penChanged()
This signal is emitted when the pen of the legend marker has changed.
*/
/*!
\fn void QLegendMarker::brushChanged()
This signal is emitted when the brush of the legend marker has changed.
*/
/*!
\fn void QLegendMarker::visibleChanged()
This signal is emitted when the visibility of the legend marker has changed.
*/
/*!
\property QLegendMarker::label
Label of the marker. This is the text that is shown in legend.
*/
/*!
\property QLegendMarker::labelBrush
Brush of the label
*/
/*!
\property QLegendMarker::font
Font of the label
*/
/*!
\property QLegendMarker::pen
Pen of the marker. This is the outline of the colored square.
*/
/*!
\property QLegendMarker::brush
Brush of the marker. This is the inside of the colored square.
*/
/*!
\property QLegendMarker::visible
Visibility of the legend marker. Affects label and the colored square.
*/
/*!
\internal
*/
QLegendMarker::QLegendMarker(QLegendMarkerPrivate &d, QObject *parent) :
QObject(parent),
d_ptr(&d)
{
d_ptr->m_item->setVisible(d_ptr->series()->isVisible());
}
/*!
Destructor of marker
*/
QLegendMarker::~QLegendMarker()
{
}
/*!
Returns the label of the marker.
*/
QString QLegendMarker::label() const
{
return d_ptr->m_item->label();
}
/*!
Sets the \a label of marker. Note that changing name of series will also change label of its marker.
*/
void QLegendMarker::setLabel(const QString &label)
{
if (label.isEmpty()) {
d_ptr->m_customLabel = false;
} else {
d_ptr->m_customLabel = true;
d_ptr->m_item->setLabel(label);
}
}
/*!
Returns the brush which is used to draw label.
*/
QBrush QLegendMarker::labelBrush() const
{
return d_ptr->m_item->labelBrush();
}
/*!
Sets the \a brush of label
*/
void QLegendMarker::setLabelBrush(const QBrush &brush)
{
d_ptr->m_item->setLabelBrush(brush);
}
/*!
Retuns the font of label
*/
QFont QLegendMarker::font() const
{
return d_ptr->m_item->font();
}
/*!
Sets the \a font of label
*/
void QLegendMarker::setFont(const QFont &font)
{
d_ptr->m_item->setFont(font);
}
/*!
Returns the pen of marker item
*/
QPen QLegendMarker::pen() const
{
return d_ptr->m_item->pen();
}
/*!
Sets the \a pen of marker item
*/
void QLegendMarker::setPen(const QPen &pen)
{
if (pen == QPen(Qt::NoPen)) {
d_ptr->m_customPen = false;
} else {
d_ptr->m_customPen = true;
d_ptr->m_item->setPen(pen);
}
}
/*!
Returns the brush of marker item
*/
QBrush QLegendMarker::brush() const
{
return d_ptr->m_item->brush();
}
/*!
Sets the \a brush of marker item. Note that changing color of the series also changes this.
*/
void QLegendMarker::setBrush(const QBrush &brush)
{
if (brush == QBrush(Qt::NoBrush)) {
d_ptr->m_customBrush = false;
} else {
d_ptr->m_customBrush = true;
d_ptr->m_item->setBrush(brush);
}
}
/*!
Returns visibility of the marker
*/
bool QLegendMarker::isVisible() const
{
return d_ptr->m_item->isVisible();
}
/*!
Sets markers visibility to \a visible
*/
void QLegendMarker::setVisible(bool visible)
{
d_ptr->m_item->setVisible(visible);
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
QLegendMarkerPrivate::QLegendMarkerPrivate(QLegendMarker *q, QLegend *legend) :
m_legend(legend),
m_customLabel(false),
m_customBrush(false),
m_customPen(false),
q_ptr(q)
{
m_item = new LegendMarkerItem(this);
}
QLegendMarkerPrivate::~QLegendMarkerPrivate()
{
delete m_item;
}
void QLegendMarkerPrivate::invalidateLegend()
{
m_legend->d_ptr->m_layout->invalidate();
}
#include "moc_qlegendmarker.cpp"
#include "moc_qlegendmarker_p.cpp"
QT_CHARTS_END_NAMESPACE