コード例 #1
0
ファイル: scnfielditem.cpp プロジェクト: DenisKlimenko/kbe
void SCnFieldItem::updateOnChilds()
{
    qreal offset = childsOffset();
    QGraphicsItem *child = 0;
    QList<QGraphicsItem*> _childItems = childItems();

    foreach(child, _childItems)
    {
        if (!isSCnFieldType(child->type())) return; // skip non scn-fields
        SCnFieldItem *item = static_cast<SCnFieldItem*>(child);

        item->setPos(30, offset);
        offset += 10 + item->boundingRect().height();
    }

}
コード例 #2
0
ファイル: scneditorscene.cpp プロジェクト: DenisKlimenko/kbe
void SCnEditorScene::updateFieldsPositions()
{
    SCnFieldItem *field = 0;
    qreal y_offset = 40.f;
    qreal max_width = 0.f;
    foreach(field, mFields)
    {
        QRectF rect = field->boundingRect();
        // calculate new position
        QPointF pos;
        pos.setX(20);
        pos.setY(y_offset);

        y_offset += mLevelDistance + rect.height();

        qreal w = rect.width();
        max_width = qMax(w, max_width);

        field->setPos(pos);
    }