If pattern piece disabled need correct tool color.
--HG-- branch : feature
This commit is contained in:
parent
8b7567c32a
commit
e94c5070dc
|
@ -47,7 +47,7 @@ qreal VDrawTool::factor = 1;
|
||||||
*/
|
*/
|
||||||
VDrawTool::VDrawTool(VPattern *doc, VContainer *data, quint32 id, QObject *parent)
|
VDrawTool::VDrawTool(VPattern *doc, VContainer *data, quint32 id, QObject *parent)
|
||||||
:VAbstractTool(doc, data, id, parent), ignoreFullUpdate(false), nameActivDraw(doc->GetNameActivPP()),
|
:VAbstractTool(doc, data, id, parent), ignoreFullUpdate(false), nameActivDraw(doc->GetNameActivPP()),
|
||||||
dialog(nullptr), typeLine(TypeLineLine), lineColor(ColorBlack)
|
dialog(nullptr), typeLine(TypeLineLine), lineColor(ColorBlack), enabled(true)
|
||||||
{
|
{
|
||||||
connect(this->doc, &VPattern::ChangedActivPP, this, &VDrawTool::ChangedActivDraw);
|
connect(this->doc, &VPattern::ChangedActivPP, this, &VDrawTool::ChangedActivDraw);
|
||||||
connect(this->doc, &VPattern::ChangedNameDraw, this, &VDrawTool::ChangedNameDraw);
|
connect(this->doc, &VPattern::ChangedNameDraw, this, &VDrawTool::ChangedNameDraw);
|
||||||
|
@ -81,14 +81,7 @@ void VDrawTool::ShowTool(quint32 id, Qt::GlobalColor color, bool enable)
|
||||||
*/
|
*/
|
||||||
void VDrawTool::ChangedActivDraw(const QString &newName)
|
void VDrawTool::ChangedActivDraw(const QString &newName)
|
||||||
{
|
{
|
||||||
if (nameActivDraw == newName)
|
enabled = nameActivDraw == newName;
|
||||||
{
|
|
||||||
currentColor = baseColor;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
currentColor = Qt::gray;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
@ -179,6 +172,19 @@ void VDrawTool::RefreshDataInFile()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
QColor VDrawTool::CorrectColor(const QColor &color) const
|
||||||
|
{
|
||||||
|
if (enabled)
|
||||||
|
{
|
||||||
|
return color;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return Qt::gray;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
/**
|
/**
|
||||||
* @brief DialogLinkDestroy removes dialog pointer
|
* @brief DialogLinkDestroy removes dialog pointer
|
||||||
|
|
|
@ -86,6 +86,8 @@ protected:
|
||||||
/** @brief lineColor color line or curve, but not a point. */
|
/** @brief lineColor color line or curve, but not a point. */
|
||||||
QString lineColor;
|
QString lineColor;
|
||||||
|
|
||||||
|
bool enabled;
|
||||||
|
|
||||||
void AddToCalculation(const QDomElement &domElement);
|
void AddToCalculation(const QDomElement &domElement);
|
||||||
|
|
||||||
/** @brief SaveDialog save options into file after change in dialog. */
|
/** @brief SaveDialog save options into file after change in dialog. */
|
||||||
|
@ -93,6 +95,7 @@ protected:
|
||||||
void SaveDialogChange();
|
void SaveDialogChange();
|
||||||
virtual void AddToFile();
|
virtual void AddToFile();
|
||||||
virtual void RefreshDataInFile();
|
virtual void RefreshDataInFile();
|
||||||
|
QColor CorrectColor(const QColor &color) const;
|
||||||
|
|
||||||
template <typename Dialog, typename Tool>
|
template <typename Dialog, typename Tool>
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -476,5 +476,6 @@ void VToolLine::RefreshGeometry()
|
||||||
const QSharedPointer<VPointF> first = VAbstractTool::data.GeometricObject<VPointF>(firstPoint);
|
const QSharedPointer<VPointF> first = VAbstractTool::data.GeometricObject<VPointF>(firstPoint);
|
||||||
const QSharedPointer<VPointF> second = VAbstractTool::data.GeometricObject<VPointF>(secondPoint);
|
const QSharedPointer<VPointF> second = VAbstractTool::data.GeometricObject<VPointF>(secondPoint);
|
||||||
this->setLine(QLineF(first->toQPointF(), second->toQPointF()));
|
this->setLine(QLineF(first->toQPointF(), second->toQPointF()));
|
||||||
this->setPen(QPen(currentColor, qApp->toPixel(qApp->widthHairLine())/factor, LineStyleToPenStyle(typeLine)));
|
this->setPen(QPen(CorrectColor(currentColor), qApp->toPixel(qApp->widthHairLine())/factor,
|
||||||
|
LineStyleToPenStyle(typeLine)));
|
||||||
}
|
}
|
||||||
|
|
|
@ -80,7 +80,8 @@ void VToolLinePoint::ChangedActivDraw(const QString &newName)
|
||||||
*/
|
*/
|
||||||
void VToolLinePoint::RefreshGeometry()
|
void VToolLinePoint::RefreshGeometry()
|
||||||
{
|
{
|
||||||
mainLine->setPen(QPen(currentColor, qApp->toPixel(qApp->widthHairLine())/factor, LineStyleToPenStyle(typeLine)));
|
mainLine->setPen(QPen(CorrectColor(currentColor), qApp->toPixel(qApp->widthHairLine())/factor,
|
||||||
|
LineStyleToPenStyle(typeLine)));
|
||||||
VToolPoint::RefreshPointGeometry(*VDrawTool::data.GeometricObject<VPointF>(id));
|
VToolPoint::RefreshPointGeometry(*VDrawTool::data.GeometricObject<VPointF>(id));
|
||||||
QPointF point = VDrawTool::data.GeometricObject<VPointF>(id)->toQPointF();
|
QPointF point = VDrawTool::data.GeometricObject<VPointF>(id)->toQPointF();
|
||||||
QPointF basePoint = VDrawTool::data.GeometricObject<VPointF>(basePointId)->toQPointF();
|
QPointF basePoint = VDrawTool::data.GeometricObject<VPointF>(basePointId)->toQPointF();
|
||||||
|
|
|
@ -227,7 +227,7 @@ void VToolPoint::hoverLeaveEvent(QGraphicsSceneHoverEvent *event)
|
||||||
void VToolPoint::RefreshPointGeometry(const VPointF &point)
|
void VToolPoint::RefreshPointGeometry(const VPointF &point)
|
||||||
{
|
{
|
||||||
this->setFlag(QGraphicsItem::ItemSendsGeometryChanges, false);
|
this->setFlag(QGraphicsItem::ItemSendsGeometryChanges, false);
|
||||||
this->setPen(QPen(currentColor, qApp->toPixel(qApp->widthHairLine())/factor));
|
this->setPen(QPen(CorrectColor(currentColor), qApp->toPixel(qApp->widthHairLine())/factor));
|
||||||
QRectF rec = QRectF(0, 0, radius*2, radius*2);
|
QRectF rec = QRectF(0, 0, radius*2, radius*2);
|
||||||
rec.translate(-rec.center().x(), -rec.center().y());
|
rec.translate(-rec.center().x(), -rec.center().y());
|
||||||
this->setRect(rec);
|
this->setRect(rec);
|
||||||
|
@ -259,14 +259,7 @@ void VToolPoint::RefreshLine()
|
||||||
VGObject::LineIntersectCircle(QPointF(), radius, QLineF(QPointF(), nameRec.center() - scenePos()), p1, p2);
|
VGObject::LineIntersectCircle(QPointF(), radius, QLineF(QPointF(), nameRec.center() - scenePos()), p1, p2);
|
||||||
QPointF pRec = VGObject::LineIntersectRect(nameRec, QLineF(scenePos(), nameRec.center()));
|
QPointF pRec = VGObject::LineIntersectRect(nameRec, QLineF(scenePos(), nameRec.center()));
|
||||||
lineName->setLine(QLineF(p1, pRec - scenePos()));
|
lineName->setLine(QLineF(p1, pRec - scenePos()));
|
||||||
if (currentColor == Qt::gray)
|
lineName->setPen(QPen(CorrectColor(Qt::black), qApp->toPixel(qApp->widthHairLine())/factor));
|
||||||
{
|
|
||||||
lineName->setPen(QPen(currentColor, qApp->toPixel(qApp->widthHairLine())/factor));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
lineName->setPen(QPen(Qt::black, qApp->toPixel(qApp->widthHairLine())/factor));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (QLineF(p1, pRec - scenePos()).length() <= qApp->toPixel(4, Unit::Mm))
|
if (QLineF(p1, pRec - scenePos()).length() <= qApp->toPixel(4, Unit::Mm))
|
||||||
{
|
{
|
||||||
|
@ -325,3 +318,17 @@ void VToolPoint::keyReleaseEvent(QKeyEvent *event)
|
||||||
}
|
}
|
||||||
QGraphicsEllipseItem::keyReleaseEvent ( event );
|
QGraphicsEllipseItem::keyReleaseEvent ( event );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
void VToolPoint::setEnabled(bool enabled)
|
||||||
|
{
|
||||||
|
QGraphicsEllipseItem::setEnabled(enabled);
|
||||||
|
if (enabled)
|
||||||
|
{
|
||||||
|
setPen(QPen(QColor(baseColor), qApp->toPixel(qApp->widthHairLine())/factor));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
setPen(QPen(Qt::gray, qApp->toPixel(qApp->widthHairLine())/factor));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -49,6 +49,8 @@ public:
|
||||||
void setName(const QString &name);
|
void setName(const QString &name);
|
||||||
virtual QString getTagName() const;
|
virtual QString getTagName() const;
|
||||||
static const QString TagName;
|
static const QString TagName;
|
||||||
|
|
||||||
|
void setEnabled(bool enabled);
|
||||||
public slots:
|
public slots:
|
||||||
void NameChangePosition(const QPointF &pos);
|
void NameChangePosition(const QPointF &pos);
|
||||||
virtual void ChangedActivDraw(const QString &newName);
|
virtual void ChangedActivDraw(const QString &newName);
|
||||||
|
|
|
@ -356,7 +356,7 @@ void VToolSpline::SaveOptions(QDomElement &tag, QSharedPointer<VGObject> &obj)
|
||||||
*/
|
*/
|
||||||
void VToolSpline::RefreshGeometry()
|
void VToolSpline::RefreshGeometry()
|
||||||
{
|
{
|
||||||
//this->setPen(QPen(currentColor, qApp->toPixel(qApp->widthHairLine())/factor));
|
this->setPen(QPen(CorrectColor(currentColor), qApp->toPixel(qApp->widthHairLine())/factor));
|
||||||
if (isHovered)
|
if (isHovered)
|
||||||
{
|
{
|
||||||
this->setPath(ToolPath(PathDirection::Show));
|
this->setPath(ToolPath(PathDirection::Show));
|
||||||
|
|
|
@ -43,7 +43,7 @@
|
||||||
VSimpleCurve::VSimpleCurve(quint32 id, Qt::GlobalColor *currentColor, SimpleCurvePoint pointPosition, qreal *factor,
|
VSimpleCurve::VSimpleCurve(quint32 id, Qt::GlobalColor *currentColor, SimpleCurvePoint pointPosition, qreal *factor,
|
||||||
QObject *parent)
|
QObject *parent)
|
||||||
:QObject(parent), QGraphicsPathItem(), id (id), factor(factor), currentColor(currentColor),
|
:QObject(parent), QGraphicsPathItem(), id (id), factor(factor), currentColor(currentColor),
|
||||||
curvePosition(pointPosition)
|
curvePosition(pointPosition), enabled(true)
|
||||||
{
|
{
|
||||||
if (factor == nullptr)
|
if (factor == nullptr)
|
||||||
{
|
{
|
||||||
|
@ -60,8 +60,9 @@ VSimpleCurve::VSimpleCurve(quint32 id, Qt::GlobalColor *currentColor, SimpleCurv
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
void VSimpleCurve::ChangedActivDraw(const bool &flag)
|
void VSimpleCurve::ChangedActivDraw(const bool &flag)
|
||||||
{
|
{
|
||||||
setEnabled(flag);
|
enabled = flag;
|
||||||
setPen(QPen(*currentColor, qApp->toPixel(qApp->widthHairLine())/ *factor));
|
setEnabled(enabled);
|
||||||
|
setPen(QPen(CorrectColor(*currentColor), qApp->toPixel(qApp->widthHairLine())/ *factor));
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
@ -101,11 +102,11 @@ void VSimpleCurve::hoverMoveEvent(QGraphicsSceneHoverEvent *event)
|
||||||
Q_UNUSED(event);
|
Q_UNUSED(event);
|
||||||
if (factor == nullptr)
|
if (factor == nullptr)
|
||||||
{
|
{
|
||||||
this->setPen(QPen(*currentColor, qApp->toPixel(qApp->widthMainLine())));
|
this->setPen(QPen(CorrectColor(*currentColor), qApp->toPixel(qApp->widthMainLine())));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
this->setPen(QPen(*currentColor, qApp->toPixel(qApp->widthMainLine())/ *factor));
|
this->setPen(QPen(CorrectColor(*currentColor), qApp->toPixel(qApp->widthMainLine())/ *factor));
|
||||||
}
|
}
|
||||||
emit HoverPath(id, curvePosition, PathDirection::Show);
|
emit HoverPath(id, curvePosition, PathDirection::Show);
|
||||||
}
|
}
|
||||||
|
@ -120,12 +121,25 @@ void VSimpleCurve::hoverLeaveEvent(QGraphicsSceneHoverEvent *event)
|
||||||
Q_UNUSED(event);
|
Q_UNUSED(event);
|
||||||
if (factor == nullptr)
|
if (factor == nullptr)
|
||||||
{
|
{
|
||||||
this->setPen(QPen(*currentColor, qApp->toPixel(qApp->widthHairLine())));
|
this->setPen(QPen(CorrectColor(*currentColor), qApp->toPixel(qApp->widthHairLine())));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
this->setPen(QPen(*currentColor, qApp->toPixel(qApp->widthHairLine())/ *factor));
|
this->setPen(QPen(CorrectColor(*currentColor), qApp->toPixel(qApp->widthHairLine())/ *factor));
|
||||||
}
|
}
|
||||||
|
|
||||||
emit HoverPath(id, curvePosition, PathDirection::Hide);
|
emit HoverPath(id, curvePosition, PathDirection::Hide);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
QColor VSimpleCurve::CorrectColor(const QColor &color) const
|
||||||
|
{
|
||||||
|
if (enabled)
|
||||||
|
{
|
||||||
|
return color;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return Qt::gray;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -71,6 +71,10 @@ private:
|
||||||
Qt::GlobalColor *currentColor;
|
Qt::GlobalColor *currentColor;
|
||||||
|
|
||||||
SimpleCurvePoint curvePosition;
|
SimpleCurvePoint curvePosition;
|
||||||
|
|
||||||
|
bool enabled;
|
||||||
|
|
||||||
|
QColor CorrectColor(const QColor &color) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // VSIMPLECURVE_H
|
#endif // VSIMPLECURVE_H
|
||||||
|
|
Loading…
Reference in New Issue
Block a user