X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/blast.git/blobdiff_plain/abbc64cf04a35ab3549d5c516f44c7c5921baa63..4005a2dc6a4d35a5cdf2bb0b5479b5a2ca63b39c:/GroupScene.cpp?ds=inline diff --git a/GroupScene.cpp b/GroupScene.cpp index 7ba8c9d..e8c9e84 100644 --- a/GroupScene.cpp +++ b/GroupScene.cpp @@ -84,16 +84,10 @@ QList GroupScene::getGroupAndBlocks() { return lst; } -void GroupScene::createBlockItem(AbstractBlock *block) { +BoxItem *GroupScene::createBlockItem(AbstractBlock *block) { - BoxItem* blockItem = new BoxItem(block,dispatcher,params,groupItem); - blockItem->setZValue(1); - addBlockItem(blockItem); -} - -void GroupScene::addBlockItem(BoxItem* item) { - // add item from the viewport - //addItem(item); + BoxItem* item = new BoxItem(block,dispatcher,params,groupItem); + item->setZValue(1); // add item from the QList blockItems.append(item); // repainting the group @@ -101,7 +95,16 @@ void GroupScene::addBlockItem(BoxItem* item) { // center the new block QPointF newPos((groupItem->getWidth()-item->getTotalWidth())/2.0, (groupItem->getHeight()-item->getTotalHeight())/2.0); newPos = newPos-item->getOriginPoint(); - item->moveTo(newPos); + item->moveTo(newPos); + + return item; +} + +void GroupScene::addBlockItem(BoxItem* item) { + // add item from the QList + blockItems.append(item); + // repainting the group + groupItem->updateShape(); } void GroupScene::removeBlockItem(BoxItem* item) { @@ -179,13 +182,19 @@ void GroupScene::unselecteInterfaces() { void GroupScene::updateConnectionItemsShape() { foreach(ConnectionItem* conn, connectionItems){ - conn->setPathes(); + conn->setPath(); } } void GroupScene::save(QXmlStreamWriter &writer) { writer.writeStartElement("scene"); writer.writeAttribute("id",QString::number(id)); + if (parentScene == NULL) { + writer.writeAttribute("upper_scene",QString::number(-1)); + } + else { + writer.writeAttribute("upper_scene",QString::number(parentScene->getId())); + } groupItem->save(writer); writer.writeStartElement("block_items");