LARS
LARS (Light Augmented Reality System) is an open-source framework for light-based interaction and real-time tracking in multi-robot experiments. Inspired by ARK, LARS extends the augmented reality paradigm to robotic collectives by projecting dynamic visual cues and environments onto the arena, enabling new experimental possibilities for collective robotics research, education, and outreach. LARS features integrated tracking, light projection, and modular experiment control with a user-friendly Qt GUI.
Loading...
Searching...
No Matches
QCPPlottableLegendItem Class Reference

A legend item representing a plottable with an icon and the plottable name. More...

Inheritance diagram for QCPPlottableLegendItem:
QCPAbstractLegendItem QCPLayoutElement QCPLayerable

Public Member Functions

 QCPPlottableLegendItem (QCPLegend *parent, QCPAbstractPlottable *plottable)
QCPAbstractPlottableplottable ()
Public Member Functions inherited from QCPAbstractLegendItem
 QCPAbstractLegendItem (QCPLegend *parent)
QCPLegendparentLegend () 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=nullptr) const Q_DECL_OVERRIDE
Public Member Functions inherited from QCPLayoutElement
 QCPLayoutElement (QCustomPlot *parentPlot=nullptr)
QCPLayoutlayout () const
QRect rect () const
QRect outerRect () const
QMargins margins () const
QMargins minimumMargins () const
QCP::MarginSides autoMargins () const
QSize minimumSize () const
QSize maximumSize () const
SizeConstraintRect sizeConstraintRect () const
QCPMarginGroupmarginGroup (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 setSizeConstraintRect (SizeConstraintRect constraintRect)
void setMarginGroup (QCP::MarginSides sides, QCPMarginGroup *group)
virtual void update (UpdatePhase phase)
virtual QSize maximumOuterSizeHint () const
virtual QList< QCPLayoutElement * > elements (bool recursive) const
Public Member Functions inherited from QCPLayerable
 QCPLayerable (QCustomPlot *plot, QString targetLayer=QString(), QCPLayerable *parentLayerable=nullptr)
bool visible () const
QCustomPlotparentPlot () const
QCPLayerableparentLayerable () const
QCPLayerlayer () 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 Member Functions

virtual void draw (QCPPainter *painter) Q_DECL_OVERRIDE
virtual QSize minimumOuterSizeHint () const Q_DECL_OVERRIDE
QPen getIconBorderPen () const
QColor getTextColor () const
QFont getFont () const
Protected Member Functions inherited from QCPAbstractLegendItem
virtual QCP::Interaction selectionCategory () const Q_DECL_OVERRIDE
virtual void applyDefaultAntialiasingHint (QCPPainter *painter) const Q_DECL_OVERRIDE
virtual QRect clipRect () const Q_DECL_OVERRIDE
virtual void selectEvent (QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged) Q_DECL_OVERRIDE
virtual void deselectEvent (bool *selectionStateChanged) Q_DECL_OVERRIDE
Protected Member Functions inherited from QCPLayoutElement
virtual int calculateAutoMargin (QCP::MarginSide side)
virtual void layoutChanged ()
virtual void parentPlotInitialized (QCustomPlot *parentPlot) Q_DECL_OVERRIDE
Protected Member Functions inherited from QCPLayerable
virtual void mousePressEvent (QMouseEvent *event, const QVariant &details)
virtual void mouseMoveEvent (QMouseEvent *event, const QPointF &startPos)
virtual void mouseReleaseEvent (QMouseEvent *event, const QPointF &startPos)
virtual void mouseDoubleClickEvent (QMouseEvent *event, const QVariant &details)
virtual void wheelEvent (QWheelEvent *event)
void initializeParentPlot (QCustomPlot *parentPlot)
void setParentLayerable (QCPLayerable *parentLayerable)
bool moveToLayer (QCPLayer *layer, bool prepend)
void applyAntialiasingHint (QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const

Protected Attributes

QCPAbstractPlottablemPlottable
Protected Attributes inherited from QCPAbstractLegendItem
QCPLegendmParentLegend
QFont mFont
QColor mTextColor
QFont mSelectedFont
QColor mSelectedTextColor
bool mSelectable
bool mSelected
Protected Attributes inherited from QCPLayoutElement
QCPLayoutmParentLayout
QSize mMinimumSize
QSize mMaximumSize
SizeConstraintRect mSizeConstraintRect
QRect mRect
QRect mOuterRect
QMargins mMargins
QMargins mMinimumMargins
QCP::MarginSides mAutoMargins
QHash< QCP::MarginSide, QCPMarginGroup * > mMarginGroups
Protected Attributes inherited from QCPLayerable
bool mVisible
QCustomPlotmParentPlot
QPointer< QCPLayerablemParentLayerable
QCPLayermLayer
bool mAntialiased

Additional Inherited Members

Public Types inherited from QCPLayoutElement
enum  UpdatePhase { upPreparation , upMargins , upLayout }
enum  SizeConstraintRect { scrInnerRect , scrOuterRect }
Signals inherited from QCPAbstractLegendItem
void selectionChanged (bool selected)
void selectableChanged (bool selectable)
Signals inherited from QCPLayerable
void layerChanged (QCPLayer *newLayer)

Detailed Description

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.

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.

Constructor & Destructor Documentation

◆ QCPPlottableLegendItem()

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.

Member Function Documentation

◆ draw()

void QCPPlottableLegendItem::draw ( QCPPainter * painter)
protectedvirtual

Implements QCPAbstractLegendItem.

◆ minimumOuterSizeHint()

QSize QCPPlottableLegendItem::minimumOuterSizeHint ( ) const
protectedvirtual

Returns the suggested minimum size this layout element (the outerRect) may be compressed to, if no manual minimum size is set.

if a minimum size (setMinimumSize) was not set manually, parent layouts use the returned size (usually indirectly through QCPLayout::getFinalMinimumOuterSize) to determine the minimum allowed size of this layout element.

A manual minimum size is considered set if it is non-zero.

The default implementation simply returns the sum of the horizontal margins for the width and the sum of the vertical margins for the height. Reimplementations may use their detailed knowledge about the layout element's content to provide size hints.

Reimplemented from QCPLayoutElement.


The documentation for this class was generated from the following files: