]> AND Private Git Repository - blast.git/blobdiff - GroupWidget.cpp
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
modifying pattern methods to throw exceptions
[blast.git] / GroupWidget.cpp
index 043561e28c34495b6651725286860d3375335530..318e5962e46a286f9ef8c7ddbd8f8c391f783264 100644 (file)
@@ -41,7 +41,13 @@ GroupWidget::GroupWidget(GroupWidget *_upperGroup, Dispatcher *_dispatcher,
 
 }
 
-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) {
   /*
@@ -95,6 +101,7 @@ void GroupWidget::focusInEvent(QFocusEvent *e) {
 void GroupWidget::closeEvent(QCloseEvent *e) {
   clearFocus();
   focusNextChild();
+
 }
 
 
@@ -158,7 +165,7 @@ void GroupWidget::createToolbar() {
   toolbarEditMode->addWidget(butAddConnection);
   toolbarEditMode->addWidget(butEdit);
 
-  toolbarAdd->addAction(copyBlockAct);
+  //toolbarAdd->addAction(copyBlockAct);
   toolbarAdd->addAction(newEmptyGroupAct);
   toolbarAdd->addAction(newGroupAct);
 
@@ -178,9 +185,9 @@ void GroupWidget::slotEdit() {
 }
 
 void GroupWidget::slotCopyBlock() {
-  foreach (BoxItem *item, params->getCurrentScene()->getBlockItems()) {
+  foreach (BoxItem *item, params->getCurrentScene()->getBoxItems()) {
     if(item->isSelected()){
-      dispatcher->duplicateBlock(item);
+      dispatcher->duplicateBoxItem(item);
     }
   }
 }
@@ -222,16 +229,8 @@ void GroupWidget::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(scene);
 
-  GroupWidget* child = dispatcher->createChildScene(this,newItem);
-  child->show();
 }
 
 void GroupWidget::slotNewGroup()
@@ -240,9 +239,9 @@ void GroupWidget::slotNewGroup()
 }
 
 void GroupWidget::slotDeleteItems() {
-  foreach (BoxItem *item, scene->getBlockItems()) {
+  foreach (BoxItem *item, scene->getBoxItems()) {
     if(item->isSelected()){
-      dispatcher->removeBlock(item);
+      dispatcher->removeBoxItem(item);
     }
   }
   foreach (ConnectionItem *item, scene->getConnectionItems()) {