TechDraw: datumLabelDragged now include a modifier value

This commit is contained in:
Franck Jullien
2019-03-11 18:41:14 +01:00
committed by wmayer
parent 9b351e8551
commit 99a205bd40
2 changed files with 15 additions and 6 deletions

View File

@@ -88,6 +88,8 @@ QGIDatumLabel::QGIDatumLabel()
m_dimText->setParentItem(this);
m_tolText = new QGCustomText();
m_tolText->setParentItem(this);
m_ctrl = false;
}
QVariant QGIDatumLabel::itemChange(GraphicsItemChange change, const QVariant &value)
@@ -103,7 +105,7 @@ QVariant QGIDatumLabel::itemChange(GraphicsItemChange change, const QVariant &va
update();
} else if(change == ItemPositionHasChanged && scene()) {
setLabelCenter();
Q_EMIT dragging();
Q_EMIT dragging(m_ctrl);
}
return QGraphicsItem::itemChange(change, value);
@@ -111,6 +113,10 @@ QVariant QGIDatumLabel::itemChange(GraphicsItemChange change, const QVariant &va
void QGIDatumLabel::mousePressEvent(QGraphicsSceneMouseEvent * event)
{
if(event->modifiers() & Qt::ControlModifier) {
m_ctrl = true;
}
if(scene() && this == scene()->mouseGrabberItem()) {
Q_EMIT dragFinished();
}
@@ -124,6 +130,7 @@ void QGIDatumLabel::mouseMoveEvent(QGraphicsSceneMouseEvent * event)
void QGIDatumLabel::mouseReleaseEvent(QGraphicsSceneMouseEvent * event)
{
m_ctrl = false;
if(scene() && this == scene()->mouseGrabberItem()) {
Q_EMIT dragFinished();
}
@@ -313,8 +320,8 @@ QGIViewDimension::QGIViewDimension() :
// connecting the needed slots and signals
QObject::connect(
datumLabel, SIGNAL(dragging()),
this , SLOT (datumLabelDragged()));
datumLabel, SIGNAL(dragging(bool)),
this , SLOT (datumLabelDragged(bool)));
QObject::connect(
datumLabel, SIGNAL(dragFinished()),
@@ -438,8 +445,9 @@ QString QGIViewDimension::getLabelText(void)
}
void QGIViewDimension::datumLabelDragged()
void QGIViewDimension::datumLabelDragged(bool ctrl)
{
Q_UNUSED(ctrl);
draw();
}

View File

@@ -85,7 +85,7 @@ public:
void setTolText(QGCustomText* newTol) { m_tolText = newTol; }
Q_SIGNALS:
void dragging();
void dragging(bool);
void hover(bool state);
void selected(bool state);
void dragFinished();
@@ -103,6 +103,7 @@ protected:
int getPrecision(void);
double getTolAdjust(void);
QColor m_colNormal;
bool m_ctrl;
double posX;
double posY;
@@ -134,7 +135,7 @@ public:
QString getLabelText(void);
public Q_SLOTS:
void datumLabelDragged(void);
void datumLabelDragged(bool ctrl);
void datumLabelDragFinished(void);
void select(bool state);
void hover(bool state);