void RotateYControl::drag(QVector3D c, QVector3D d) { Q_UNUSED(c); dragValue("x", d.x()); dragValue("_y", d.y()); dragValue("z", d.z()); }
void DatumTextItem::mouseMoveEvent(QGraphicsSceneMouseEvent* event) { const auto f = dynamic_cast<FloatDatum*>(d); const auto i = dynamic_cast<IntDatum*>(d); if (f && f->getValid() && (event->modifiers() & Qt::ShiftModifier)) { const double scale = fmax( 0.01, abs(PyFloat_AsDouble(f->getValue()) * 0.01)); const double dx = (event->screenPos() - event->lastScreenPos()).x(); f->dragValue(scale * dx); } else if (i && i->getValid() && (event->modifiers() & Qt::ShiftModifier)) { drag_accumulated += (event->screenPos() - event->lastScreenPos()).x() / 30.; int q = drag_accumulated; drag_accumulated -= q; i->dragValue(q); } else { QGraphicsTextItem::mouseMoveEvent(event); } }