scene = new GroupScene(NULL, this, dispatcher, params, true);
}
else {
- topGroup = true;
+ topGroup = false;
scene = new GroupScene(upperGroup->getScene(), this, dispatcher, params, false);
}
}
-GroupWidget::~GroupWidget(){}
+GroupWidget::~GroupWidget(){
+ static QString fctName = "GroupWidget::~GroupWidget()";
+#ifdef DEBUG_FCTNAME
+ cout << "call to " << qPrintable(fctName) << endl;
+#endif
+ // delete scene; // TO DO: must check if it is needed
+}
void GroupWidget::changeConnectionMode(int mode) {
/*
void GroupWidget::mousePressEvent(QMouseEvent *e) {
- dispatcher->setCurrentGroupWidget(this);
+ dispatcher->setCurrentGroupWidget(Dispatcher::Design, this);
QWidget::mousePressEvent(e);
}
void GroupWidget::closeEvent(QCloseEvent *e) {
clearFocus();
focusNextChild();
+
}
void GroupWidget::createToolbar() {
toolbarEditMode = new QToolBar(tr("Mode"));
toolbarAdd = new QToolBar(tr("Group"));
- toolbarTools = new QToolBar(tr("Tools"));
+ //toolbarTools = new QToolBar(tr("Tools"));
toolbarEditMode->addWidget(new QLabel("Mode"));
- toolbarTools->addWidget(new QLabel("Tools"));
+ //toolbarTools->addWidget(new QLabel("Tools"));
toolbarEditMode->addSeparator();
- toolbarTools->addSeparator();
+ //toolbarTools->addSeparator();
toolbarEditMode->addWidget(butAddConnection);
toolbarEditMode->addWidget(butEdit);
- toolbarAdd->addAction(copyBlockAct);
+ //toolbarAdd->addAction(copyBlockAct);
toolbarAdd->addAction(newEmptyGroupAct);
toolbarAdd->addAction(newGroupAct);
- toolbarTools->addAction(deleteAct);
- toolbarTools->addAction(selectAllAct);
- toolbarTools->addAction(unselectAllAct);
+ //toolbarTools->addAction(deleteAct);
+ //toolbarTools->addAction(selectAllAct);
+ //toolbarTools->addAction(unselectAllAct);
layout->addWidget(toolbarEditMode,0,0);
layout->addWidget(toolbarAdd,0,1);
- layout->addWidget(toolbarTools,0,2);
+ //layout->addWidget(toolbarTools,0,2);
}
void GroupWidget::slotEdit() {
- dispatcher->unselectAllItems();
+ dispatcher->unselectAllItems(Dispatcher::Design);
getScene()->setEditionMode(GroupScene::ItemEdition);
updateBlockButton();
}
void GroupWidget::slotCopyBlock() {
- foreach (BoxItem *item, params->getCurrentScene()->getBlockItems()) {
+ foreach (BoxItem *item, params->getCurrentScene()->getBoxItems()) {
if(item->isSelected()){
- dispatcher->duplicateBlock(item);
+ dispatcher->duplicateBoxItem(Dispatcher::Design, item);
}
}
}
void GroupWidget::slotAddConnection() {
- dispatcher->unselectAllItems();
+ dispatcher->unselectAllItems(Dispatcher::Design);
getScene()->setEditionMode(GroupScene::AddConnection);
updateBlockButton();
}
void GroupWidget::slotNewEmptyGroup() {
- // creating the GroupBlock in graph model
- GroupBlock* parent = AB_TO_GRP(scene->getGroupItem()->getRefBlock());
- cout << "new group : parent = "<< qPrintable(parent->getName()) << endl;
- GroupBlock* groupBlock = params->getGraph()->createChildBlock(parent);
- cout << "new group : child = "<< qPrintable(groupBlock->getName()) << ", child of " << qPrintable(groupBlock->getParent()->getName()) << endl;
- // creating the BlockItem in the scene
- BoxItem* newItem = scene->createBlockItem(groupBlock);
+ dispatcher->addNewEmptyGroup(Dispatcher::Design, scene);
- GroupWidget* child = dispatcher->createChildScene(this,newItem);
- child->show();
}
void GroupWidget::slotNewGroup()
{
- dispatcher->addNewFullGroup();
+ dispatcher->addNewFullGroup(Dispatcher::Design );
}
void GroupWidget::slotDeleteItems() {
- foreach (BoxItem *item, scene->getBlockItems()) {
+ foreach (BoxItem *item, scene->getBoxItems()) {
if(item->isSelected()){
- dispatcher->removeBlock(item);
+ dispatcher->removeBoxItem(Dispatcher::Design, item);
}
}
foreach (ConnectionItem *item, scene->getConnectionItems()) {
if(item->isSelected()){
- dispatcher->removeConnection(item);
+ dispatcher->removeConnection(Dispatcher::Design, item);
}
}
}