Add hove color for a layout piece.
This commit is contained in:
parent
4508bd859f
commit
0aeb3e8926
|
@ -191,6 +191,20 @@ void VPGraphicsPiece::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
void VPGraphicsPiece::hoverEnterEvent(QGraphicsSceneHoverEvent *event)
|
||||||
|
{
|
||||||
|
m_hoverMode = true;
|
||||||
|
QGraphicsObject::hoverEnterEvent(event);
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
void VPGraphicsPiece::hoverLeaveEvent(QGraphicsSceneHoverEvent *event)
|
||||||
|
{
|
||||||
|
m_hoverMode = false;
|
||||||
|
QGraphicsObject::hoverLeaveEvent(event);
|
||||||
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
void VPGraphicsPiece::contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
|
void VPGraphicsPiece::contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
|
||||||
{
|
{
|
||||||
|
@ -397,7 +411,7 @@ void VPGraphicsPiece::InitPieceLabel(const QVector<QPointF> &labelShape, const V
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
void VPGraphicsPiece::PaintPiece(QPainter *painter)
|
void VPGraphicsPiece::PaintPiece(QPainter *painter)
|
||||||
{
|
{
|
||||||
QBrush noBrush(Qt::NoBrush);
|
QBrush noBrush = m_hoverMode ? QBrush(QColor(199, 244, 249, 60)) : QBrush(Qt::NoBrush);
|
||||||
QBrush selectionBrush(QColor(255, 160, 160, 60));
|
QBrush selectionBrush(QColor(255, 160, 160, 60));
|
||||||
|
|
||||||
m_seamLine = QPainterPath();
|
m_seamLine = QPainterPath();
|
||||||
|
|
|
@ -35,14 +35,18 @@
|
||||||
#include "scenedef.h"
|
#include "scenedef.h"
|
||||||
#include "../layout/layoutdef.h"
|
#include "../layout/layoutdef.h"
|
||||||
|
|
||||||
|
#if QT_VERSION < QT_VERSION_CHECK(5, 13, 0)
|
||||||
|
#include "../vmisc/defglobal.h"
|
||||||
|
#endif // QT_VERSION < QT_VERSION_CHECK(5, 13, 0)
|
||||||
|
|
||||||
class VTextManager;
|
class VTextManager;
|
||||||
|
|
||||||
class VPGraphicsPiece : public QGraphicsObject
|
class VPGraphicsPiece : public QGraphicsObject
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT // NOLINT
|
||||||
public:
|
public:
|
||||||
explicit VPGraphicsPiece(const VPPiecePtr &piece, QGraphicsItem *parent = nullptr);
|
explicit VPGraphicsPiece(const VPPiecePtr &piece, QGraphicsItem *parent = nullptr);
|
||||||
~VPGraphicsPiece() = default;
|
~VPGraphicsPiece() override = default;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief GetPiece Returns the piece that corresponds to the graphics piece
|
* @brief GetPiece Returns the piece that corresponds to the graphics piece
|
||||||
|
@ -50,7 +54,7 @@ public:
|
||||||
*/
|
*/
|
||||||
auto GetPiece() -> VPPiecePtr;
|
auto GetPiece() -> VPPiecePtr;
|
||||||
|
|
||||||
virtual int type() const override {return Type;}
|
auto type() const -> int override {return Type;}
|
||||||
enum { Type = UserType + static_cast<int>(PGraphicsItem::Piece)};
|
enum { Type = UserType + static_cast<int>(PGraphicsItem::Piece)};
|
||||||
|
|
||||||
void SetStickyPoints(const QVector<QPointF> &newStickyPoint);
|
void SetStickyPoints(const QVector<QPointF> &newStickyPoint);
|
||||||
|
@ -74,12 +78,15 @@ protected:
|
||||||
void mouseMoveEvent(QGraphicsSceneMouseEvent *event) override;
|
void mouseMoveEvent(QGraphicsSceneMouseEvent *event) override;
|
||||||
void mouseReleaseEvent(QGraphicsSceneMouseEvent *event) override;
|
void mouseReleaseEvent(QGraphicsSceneMouseEvent *event) override;
|
||||||
|
|
||||||
|
void hoverEnterEvent(QGraphicsSceneHoverEvent *event) override;
|
||||||
|
void hoverLeaveEvent(QGraphicsSceneHoverEvent *event) override;
|
||||||
|
|
||||||
auto itemChange(GraphicsItemChange change, const QVariant &value) -> QVariant override;
|
auto itemChange(GraphicsItemChange change, const QVariant &value) -> QVariant override;
|
||||||
|
|
||||||
void contextMenuEvent(QGraphicsSceneContextMenuEvent *event) override;
|
void contextMenuEvent(QGraphicsSceneContextMenuEvent *event) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Q_DISABLE_COPY(VPGraphicsPiece)
|
Q_DISABLE_COPY_MOVE(VPGraphicsPiece) // NOLINT
|
||||||
VPPieceWeakPtr m_piece;
|
VPPieceWeakPtr m_piece;
|
||||||
|
|
||||||
QPainterPath m_cuttingLine{};
|
QPainterPath m_cuttingLine{};
|
||||||
|
@ -103,6 +110,8 @@ private:
|
||||||
|
|
||||||
bool m_textAsPaths{false};
|
bool m_textAsPaths{false};
|
||||||
|
|
||||||
|
bool m_hoverMode{false};
|
||||||
|
|
||||||
QVector<QGraphicsPathItem *> m_labelPathItems{};
|
QVector<QGraphicsPathItem *> m_labelPathItems{};
|
||||||
QVector<QGraphicsSimpleTextItem *> m_labelTextItems{};
|
QVector<QGraphicsSimpleTextItem *> m_labelTextItems{};
|
||||||
|
|
||||||
|
@ -112,7 +121,7 @@ private:
|
||||||
|
|
||||||
void GroupMove(const QPointF &pos);
|
void GroupMove(const QPointF &pos);
|
||||||
|
|
||||||
QColor PieceColor() const;
|
auto PieceColor() const -> QColor;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // VPGRAPHICSPIECE_H
|
#endif // VPGRAPHICSPIECE_H
|
||||||
|
|
Loading…
Reference in New Issue
Block a user