예제 #1
0
  void InputTextItem::gridsCreate(Device *dev, Grids::Event *evt) {
    //dev->getNoticeWindow()->write(tr("Creating input text"));
    /*dev->getScene()->addInputTextItem(evt->getArgsPtr(), evt->getPosition()); */

    Scene2D *scene = dev->getScene();
    Grids::Value *val = evt->getArgsPtr();
    Vec3D item_pos = evt->getPosition();

    InputTextItem *text_item = new InputTextItem(dev, val);
    /*text_item->setFont(myFont);*/
    text_item->setTextInteractionFlags(Qt::TextEditorInteraction);
    /* Set the stack order.  This should be adjusted. */
    text_item->setZValue(item_pos.Z);
    connect(text_item, SIGNAL(lostFocus(InputTextItem*)),
            scene, SLOT(editorLostFocus(InputTextItem*)));
    connect(text_item, SIGNAL(selectedChange(QGraphicsItem*)),
            scene, SIGNAL(itemSelected(QGraphicsItem*)));
    scene->addItem(text_item);
    text_item->setDefaultTextColor(text_item->getTextColor() );

    /*text_item->setPos(mouseEvent->scenePos());*/
    text_item->setPos(QPointF(item_pos.X, item_pos.Y));
    //text_item->setPlainText(tr("This is a test"));
    /*emit textInserted(textItem);*/

    scene->addInputTextItem(text_item);
  }
예제 #2
0
void GenericLinkItem::gridsCreate(Device* dev, Grids::Event* evt) {
    Scene2D* scene = dev->getScene();
    Grids::Value *val = evt->getArgsPtr();

    GenericLinkItem *generic_link = new GenericLinkItem(dev, val);

    if( generic_link->getLinkType() == GenericLinkItem::BROKEN_LINK) {
        delete generic_link;
        return;
    }

    scene->addItem(generic_link);
    scene->addLinkItem(generic_link);
}
void TranslationTransformationTest::setTransformation() {
    Object2D o;

    /* Dirty after setting transformation */
    o.setClean();
    CORRADE_VERIFY(!o.isDirty());
    o.setTransformation({1.0f, -0.3f});
    CORRADE_VERIFY(o.isDirty());
    CORRADE_COMPARE(o.transformationMatrix(), Matrix3::translation({1.0f, -0.3f}));

    /* Scene cannot be transformed */
    Scene2D s;
    s.setClean();
    s.setTransformation({1.0f, -0.3f});
    CORRADE_VERIFY(!s.isDirty());
    CORRADE_COMPARE(s.transformationMatrix(), Matrix3());
}
void DualComplexTransformationTest::setTransformation() {
    Object2D o;

    /* Can't transform with non-rigid transformation */
    std::ostringstream out;
    Error::setOutput(&out);
    o.setTransformation(DualComplex({1.0f, 2.0f}, {}));
    CORRADE_COMPARE(out.str(), "SceneGraph::DualComplexTransformation::setTransformation(): the dual complex number is not normalized\n");

    /* Dirty after setting transformation */
    o.setClean();
    CORRADE_VERIFY(!o.isDirty());
    o.setTransformation(DualComplex::rotation(Deg(17.0f)));
    CORRADE_VERIFY(o.isDirty());
    CORRADE_COMPARE(o.transformationMatrix(), Matrix3::rotation(Deg(17.0f)));

    /* Scene cannot be transformed */
    Scene2D s;
    s.setClean();
    s.setTransformation(DualComplex::rotation(Deg(17.0f)));
    CORRADE_VERIFY(!s.isDirty());
    CORRADE_COMPARE(s.transformationMatrix(), Matrix3());
}
void RigidMatrixTransformation2DTest::setTransformation() {
    Object2D o;

    /* Can't transform with non-rigid transformation */
    std::ostringstream out;
    Error::setOutput(&out);
    o.setTransformation(Matrix3::scaling(Vector2(3.0f)));
    CORRADE_COMPARE(out.str(), "SceneGraph::RigidMatrixTransformation2D::setTransformation(): the matrix doesn't represent rigid transformation\n");

    /* Dirty after setting transformation */
    o.setClean();
    CORRADE_VERIFY(!o.isDirty());
    o.setTransformation(Matrix3::rotation(Deg(17.0f)));
    CORRADE_VERIFY(o.isDirty());
    CORRADE_COMPARE(o.transformationMatrix(), Matrix3::rotation(Deg(17.0f)));

    /* Scene cannot be transformed */
    Scene2D s;
    s.setClean();
    s.setTransformation(Matrix3::rotation(Deg(17.0f)));
    CORRADE_VERIFY(!s.isDirty());
    CORRADE_COMPARE(s.transformationMatrix(), Matrix3());
}