diff --git a/src/app/visualization/vgraphicssimpletextitem.cpp b/src/app/visualization/vgraphicssimpletextitem.cpp index 34012b5d7..b69266b52 100644 --- a/src/app/visualization/vgraphicssimpletextitem.cpp +++ b/src/app/visualization/vgraphicssimpletextitem.cpp @@ -29,6 +29,7 @@ #include "vgraphicssimpletextitem.h" #include #include +#include //--------------------------------------------------------------------------------------------------------------------- /** @@ -63,6 +64,19 @@ VGraphicsSimpleTextItem::VGraphicsSimpleTextItem( const QString & text, QGraphic this->setAcceptHoverEvents(true); } +//--------------------------------------------------------------------------------------------------------------------- +void VGraphicsSimpleTextItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) +{ + /* From question on StackOverflow + * https://stackoverflow.com/questions/10985028/how-to-remove-border-around-qgraphicsitem-when-selected + * + * There's no interface to disable the drawing of the selection border for the build-in QGraphicsItems. The only way + * I can think of is derive your own items from the build-in ones and override the paint() function:*/ + QStyleOptionGraphicsItem myOption(*option); + myOption.state &= ~QStyle::State_Selected; + QGraphicsSimpleTextItem::paint(painter, &myOption, widget); +} + //--------------------------------------------------------------------------------------------------------------------- /** * @brief itemChange handle item change. diff --git a/src/app/visualization/vgraphicssimpletextitem.h b/src/app/visualization/vgraphicssimpletextitem.h index 283473dd5..699f9e436 100644 --- a/src/app/visualization/vgraphicssimpletextitem.h +++ b/src/app/visualization/vgraphicssimpletextitem.h @@ -39,15 +39,11 @@ class VGraphicsSimpleTextItem : public QObject, public QGraphicsSimpleTextItem { Q_OBJECT public: + VGraphicsSimpleTextItem(QGraphicsItem *parent = nullptr); + VGraphicsSimpleTextItem( const QString & text, QGraphicsItem *parent = nullptr ); - VGraphicsSimpleTextItem(QGraphicsItem * parent = nullptr); - - VGraphicsSimpleTextItem( const QString & text, QGraphicsItem * parent = nullptr ); - /** - * @brief FontSize return label font size. - * @return font size. - */ - qint32 FontSize()const {return fontSize;} + qint32 FontSize()const; + virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0); signals: /** * @brief NameChangePosition emit when label change position. @@ -61,12 +57,22 @@ signals: void ShowContextMenu(QGraphicsSceneContextMenuEvent *event); protected: QVariant itemChange ( GraphicsItemChange change, const QVariant &value ); - virtual void hoverMoveEvent ( QGraphicsSceneHoverEvent * event ); - virtual void hoverLeaveEvent ( QGraphicsSceneHoverEvent * event ); - virtual void contextMenuEvent ( QGraphicsSceneContextMenuEvent * event ); + virtual void hoverMoveEvent ( QGraphicsSceneHoverEvent *event ); + virtual void hoverLeaveEvent ( QGraphicsSceneHoverEvent *event ); + virtual void contextMenuEvent ( QGraphicsSceneContextMenuEvent *event ); private: /** @brief fontSize label font size. */ qint32 fontSize; }; +//--------------------------------------------------------------------------------------------------------------------- +/** + * @brief FontSize return label font size. + * @return font size. + */ +inline qint32 VGraphicsSimpleTextItem::FontSize() const +{ + return fontSize; +} + #endif // VGRAPHICSSIMPLETEXTITEM_H