return counter;
}
-BoxItem *GroupScene::createBoxItem(AbstractBlock *block) {
+BoxItem *GroupScene::createBoxItem(AbstractBlock *block, BoxItem::Position hPos, BoxItem::Position vPos, AbstractBoxItem::LockType lock, BoxItem::SpanType span) {
- BoxItem* item = new BoxItem(block,dispatcher,params,groupItem);
+ BoxItem* item = new BoxItem(block,dispatcher,params,groupItem, lock, span);
item->setZValue(1);
// add item from the QList
boxItems.append(item);
// repainting the group
groupItem->updateShape();
// center the new block
- QPointF newPos((groupItem->getWidth()-item->getTotalWidth())/2.0, (groupItem->getHeight()-item->getTotalHeight())/2.0);
+ double x,y;
+ if (hPos == BoxItem::Left) {
+ x = 0;
+ }
+ else if (hPos == BoxItem::Center) {
+ x = (groupItem->getWidth()-item->getTotalWidth())/2.0;
+ }
+ else if (hPos == BoxItem::Right) {
+ x = groupItem->getWidth()-item->getTotalWidth();
+ }
+ if (vPos == BoxItem::Top) {
+ y = 0;
+ }
+ else if (vPos == BoxItem::Center) {
+ y = (groupItem->getHeight()-item->getTotalHeight())/2.0;
+ }
+ else if (vPos == BoxItem::Bottom) {
+ y = groupItem->getHeight()-item->getTotalHeight();
+ }
+ QPointF newPos(x,y);
newPos = newPos-item->getOriginPoint();
item->moveTo(newPos);