A legend item representing a plottable with an icon and the plottable name. More...
Public Functions | |
QCPPlottableLegendItem (QCPLegend *parent, QCPAbstractPlottable *plottable) | |
QCPAbstractPlottable * | plottable () |
Public Functions inherited from QCPAbstractLegendItem | |
QCPAbstractLegendItem (QCPLegend *parent) | |
QCPLegend * | parentLegend () const |
QFont | font () const |
QColor | textColor () const |
QFont | selectedFont () const |
QColor | selectedTextColor () const |
bool | selectable () const |
bool | selected () const |
void | setFont (const QFont &font) |
void | setTextColor (const QColor &color) |
void | setSelectedFont (const QFont &font) |
void | setSelectedTextColor (const QColor &color) |
Q_SLOT void | setSelectable (bool selectable) |
Q_SLOT void | setSelected (bool selected) |
virtual double | selectTest (const QPointF &pos, bool onlySelectable, QVariant *details=0) const |
Public Functions inherited from QCPLayoutElement | |
QCPLayoutElement (QCustomPlot *parentPlot=0) | |
QCPLayout * | layout () const |
QRect | rect () const |
QRect | outerRect () const |
QMargins | margins () const |
QMargins | minimumMargins () const |
QCP::MarginSides | autoMargins () const |
QSize | minimumSize () const |
QSize | maximumSize () const |
QCPMarginGroup * | marginGroup (QCP::MarginSide side) const |
QHash< QCP::MarginSide, QCPMarginGroup * > | marginGroups () const |
void | setOuterRect (const QRect &rect) |
void | setMargins (const QMargins &margins) |
void | setMinimumMargins (const QMargins &margins) |
void | setAutoMargins (QCP::MarginSides sides) |
void | setMinimumSize (const QSize &size) |
void | setMinimumSize (int width, int height) |
void | setMaximumSize (const QSize &size) |
void | setMaximumSize (int width, int height) |
void | setMarginGroup (QCP::MarginSides sides, QCPMarginGroup *group) |
virtual void | update (UpdatePhase phase) |
virtual QSize | maximumSizeHint () const |
virtual QList< QCPLayoutElement * > | elements (bool recursive) const |
Public Functions inherited from QCPLayerable | |
QCPLayerable (QCustomPlot *plot, QString targetLayer=QString(), QCPLayerable *parentLayerable=0) | |
bool | visible () const |
QCustomPlot * | parentPlot () const |
QCPLayerable * | parentLayerable () const |
QCPLayer * | layer () const |
bool | antialiased () const |
void | setVisible (bool on) |
Q_SLOT bool | setLayer (QCPLayer *layer) |
bool | setLayer (const QString &layerName) |
void | setAntialiased (bool enabled) |
bool | realVisibility () const |
Protected Functions | |
virtual void | draw (QCPPainter *painter) |
virtual QSize | minimumSizeHint () const |
QPen | getIconBorderPen () const |
QColor | getTextColor () const |
QFont | getFont () const |
Protected Functions inherited from QCPAbstractLegendItem | |
virtual QCP::Interaction | selectionCategory () const |
virtual void | applyDefaultAntialiasingHint (QCPPainter *painter) const |
virtual QRect | clipRect () const |
virtual void | selectEvent (QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged) |
virtual void | deselectEvent (bool *selectionStateChanged) |
Protected Functions inherited from QCPLayoutElement | |
virtual int | calculateAutoMargin (QCP::MarginSide side) |
virtual void | mousePressEvent (QMouseEvent *event) |
virtual void | mouseMoveEvent (QMouseEvent *event) |
virtual void | mouseReleaseEvent (QMouseEvent *event) |
virtual void | mouseDoubleClickEvent (QMouseEvent *event) |
virtual void | wheelEvent (QWheelEvent *event) |
virtual void | parentPlotInitialized (QCustomPlot *parentPlot) |
Protected Functions inherited from QCPLayerable | |
void | initializeParentPlot (QCustomPlot *parentPlot) |
void | setParentLayerable (QCPLayerable *parentLayerable) |
bool | moveToLayer (QCPLayer *layer, bool prepend) |
void | applyAntialiasingHint (QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const |
Additional Inherited Members | |
Public Types inherited from QCPLayoutElement | |
enum | UpdatePhase |
Signals inherited from QCPAbstractLegendItem | |
void | selectionChanged (bool selected) |
void | selectableChanged (bool selectable) |
Signals inherited from QCPLayerable | |
void | layerChanged (QCPLayer *newLayer) |
A legend item representing a plottable with an icon and the plottable name.
This is the standard legend item for plottables. It displays an icon of the plottable next to the plottable name. The icon is drawn by the respective plottable itself (QCPAbstractPlottable::drawLegendIcon), and tries to give an intuitive symbol for the plottable. For example, the QCPGraph draws a centered horizontal line and/or a single scatter point in the middle.
Legend items of this type are always associated with one plottable (retrievable via the plottable() function and settable with the constructor). You may change the font of the plottable name with setFont. Icon padding and border pen is taken from the parent QCPLegend, see QCPLegend::setIconBorderPen and QCPLegend::setIconTextPadding.
The function QCPAbstractPlottable::addToLegend/QCPAbstractPlottable::removeFromLegend creates/removes legend items of this type in the default implementation. However, these functions may be reimplemented such that a different kind of legend item (e.g a direct subclass of QCPAbstractLegendItem) is used for that plottable.
Since QCPLegend is based on QCPLayoutGrid, a legend item itself is just a subclass of QCPLayoutElement. While it could be added to a legend (or any other layout) via the normal layout interface, QCPLegend has specialized functions for handling legend items conveniently, see the documentation of QCPLegend.
QCPPlottableLegendItem::QCPPlottableLegendItem | ( | QCPLegend * | parent, |
QCPAbstractPlottable * | plottable | ||
) |
Creates a new legend item associated with plottable.
Once it's created, it can be added to the legend via QCPLegend::addItem.
A more convenient way of adding/removing a plottable to/from the legend is via the functions QCPAbstractPlottable::addToLegend and QCPAbstractPlottable::removeFromLegend.
|
protectedvirtual |
Draws the item with painter. The size and position of the drawn legend item is defined by the parent layout (typically a QCPLegend) and the minimumSizeHint and maximumSizeHint of this legend item.
Implements QCPAbstractLegendItem.
|
protectedvirtual |
Calculates and returns the size of this item. This includes the icon, the text and the padding in between.
Reimplemented from QCPLayoutElement.
|
protected |
Returns the pen that shall be used to draw the icon border, taking into account the selection state of this item.
|
protected |
Returns the text color that shall be used to draw text, taking into account the selection state of this item.
|
protected |
Returns the font that shall be used to draw text, taking into account the selection state of this item.