コード例 #1
0
ファイル: rotatey_control.cpp プロジェクト: denji/antimony
void RotateYControl::drag(QVector3D c, QVector3D d)
{
    Q_UNUSED(c);
    dragValue("x", d.x());
    dragValue("_y", d.y());
    dragValue("z", d.z());
}
コード例 #2
0
ファイル: inspector_text.cpp プロジェクト: PhE/antimony
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);
    }
}