Exemple #1
0
void SCgVisualControl::_update(SCgObjectObserver::UpdateEventType eventType, SCgObject *object)
{
    if (eventType == SCgObjectObserver::IdentifierChanged)
    {
        if (mTextItem == 0)
        {
            QFont font(scg_cfg_get_value_string(scg_key_control_font_name),
                       scg_cfg_get_value_uint(scg_key_control_font_size),
                       10, false);
            font.setBold(true);
            //font.setItalic(true);

            mTextItem = new QGraphicsTextItem(this);
            mTextItem->setFont(font);
            mTextItem->setDefaultTextColor(scg_cfg_get_value_color(scg_key_control_font_color));
        }

        mTextItem->setPlainText(object->identifier());
        QRectF textBound = mTextItem->boundingRect();
        baseObject()->setSize(QSizeF(textBound.width() + 10, textBound.height() + 10));
        mTextItem->setPos(-textBound.width() / 2.f, -textBound.height() / 2.f);

        return;
    }

    SCgVisualObject::_update(eventType, object);
}
Exemple #2
0
void inputHandler::mouseUp(scene &mainScene, const bool &bEditing)
{
	if (bEditing)
	{
		primitives::vertex clickLoc = mainScene.getClickLoc();
		primitives::vertex mouseLoc = mainScene.getMouseLoc();

		primitives::vertex drawSize;
		drawSize.x = mouseLoc.x - clickLoc.x;
		drawSize.y = mouseLoc.y - clickLoc.y;
		//drawSize.roundToNearest(.05f);
		drawCenter.x = clickLoc.x + drawSize.x / 2;
		drawCenter.y = clickLoc.y + drawSize.y / 2;
		//drawCenter.roundToNearest(.025f);
		//prevent accidental creating
		if (abs(drawSize.x) > .025 && abs(drawSize.y) > .025)
		{
			mainScene.getGround()->push_back(baseObject(drawCenter, drawSize.x, drawSize.y));
			drawSize.x = drawSize.y = 0.0f;
			mainScene.setDrawSize(drawSize);
			mainScene.setClickLoc(primitives::vertex());
		}
	}
}
Exemple #3
0
QRectF SCgVisualControl::boundingRect() const
{
    QSizeF size = baseObject()->size();
    return QRectF(-size.width() / 2.f, -size.height() / 2.f, size.width(), size.height());
}