Exemple #1
0
SCnFieldItem* SCnEditorScene::prevField(SCnFieldItem *field, bool withLevelChange)
{
    SCnFieldItem *prevField;
    SCnFieldItem *nextField = 0;
    QGraphicsItem *parentItem = field->parentItem();
    if (!parentItem)
        return 0;
    QList<QGraphicsItem *> items = withLevelChange
            ? this->items()
            : parentItem->childItems();
    foreach (QGraphicsItem *item, items)
    {
        if (nextField->isSCnFieldType(item->type()))
        {
            prevField = nextField;
            nextField = static_cast<SCnFieldItem*>(item);
            if (nextField == field)
                return prevField;
        }
    }
    return 0;
}
Exemple #2
0
SCnFieldItem* SCnEditorScene::nextField(SCnFieldItem *field, bool withLevelChange)
{    
    SCnFieldItem *nextField = 0;
    bool prevFieldComingFlag = false;
    QGraphicsItem *parentItem = field->parentItem();
    if (!parentItem)
        return 0;
    QList<QGraphicsItem *> items = withLevelChange
            ? this->items()
            : parentItem->childItems();
    foreach(QGraphicsItem *item, items)
    {
        if (nextField->isSCnFieldType(item->type()))
        {
            nextField = static_cast<SCnFieldItem*>(item);
            if (prevFieldComingFlag)
                return nextField;
            if (nextField == field)
                prevFieldComingFlag = true;
        }
    }
    return 0;
}