From 263b99ff197ad0e0f907b16157e5ae4065798b93 Mon Sep 17 00:00:00 2001 From: Roman Telezhynskyi Date: Tue, 26 Mar 2019 17:26:15 +0200 Subject: [PATCH] Improve API for class VNoBrushScalePathItem. Added method SetWidth(). --HG-- branch : develop --- src/libs/vwidgets/vnobrushscalepathitem.cpp | 15 ++++++++++++++- src/libs/vwidgets/vnobrushscalepathitem.h | 3 +++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/libs/vwidgets/vnobrushscalepathitem.cpp b/src/libs/vwidgets/vnobrushscalepathitem.cpp index aa0d8fd85..0ab6f4d18 100644 --- a/src/libs/vwidgets/vnobrushscalepathitem.cpp +++ b/src/libs/vwidgets/vnobrushscalepathitem.cpp @@ -28,6 +28,7 @@ #include "vnobrushscalepathitem.h" #include "global.h" +#include "../vmisc/vabstractapplication.h" #include #include @@ -35,10 +36,17 @@ //--------------------------------------------------------------------------------------------------------------------- VNoBrushScalePathItem::VNoBrushScalePathItem(QGraphicsItem *parent) : - QGraphicsPathItem(parent) + QGraphicsPathItem(parent), + m_defaultWidth(qApp->Settings()->WidthHairLine()) { } +//--------------------------------------------------------------------------------------------------------------------- +void VNoBrushScalePathItem::SetWidth(qreal width) +{ + m_defaultWidth = width; +} + //--------------------------------------------------------------------------------------------------------------------- void VNoBrushScalePathItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) { @@ -57,5 +65,10 @@ void VNoBrushScalePathItem::paint(QPainter *painter, const QStyleOptionGraphicsI QBrush brush = this->brush(); brush.setMatrix(painter->combinedMatrix().inverted()); this->setBrush(brush); + + QPen toolPen = pen(); + toolPen.setWidthF(ScaleWidth(m_defaultWidth, SceneScale(scene()))); + setPen(toolPen); + PaintWithFixItemHighlightSelected(this, painter, option, widget); } diff --git a/src/libs/vwidgets/vnobrushscalepathitem.h b/src/libs/vwidgets/vnobrushscalepathitem.h index b15f5324c..74bbf7a97 100644 --- a/src/libs/vwidgets/vnobrushscalepathitem.h +++ b/src/libs/vwidgets/vnobrushscalepathitem.h @@ -40,6 +40,8 @@ class VNoBrushScalePathItem : public QGraphicsPathItem public: explicit VNoBrushScalePathItem(QGraphicsItem *parent = nullptr); + void SetWidth(qreal width); + protected: virtual void paint(QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget = nullptr) override; @@ -49,6 +51,7 @@ protected: private: Q_DISABLE_COPY(VNoBrushScalePathItem) + qreal m_defaultWidth; }; #endif // VNOBRUSHSCALEPATHITEM_H