X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/blast.git/blobdiff_plain/015e6979cd7d336f6bbebfbdb7916af3ba23c096..e40a5399ec7887c2606f18575c809b0d05b09278:/Parameters.cpp?ds=sidebyside

diff --git a/Parameters.cpp b/Parameters.cpp
index 32bec53..60d7971 100644
--- a/Parameters.cpp
+++ b/Parameters.cpp
@@ -69,8 +69,8 @@ void Parameters::clear() {
   refPathes.clear();
 }
 
-Graph* Parameters::createGraph() {
-  graph = new Graph();
+Graph* Parameters::createGraph(bool createTopGroupIfaces) {
+  graph = new Graph(createTopGroupIfaces);
   return graph;
 }
 
@@ -272,7 +272,7 @@ GroupWidget *Parameters::loadProject(QDomElement root) throw(Exception) {
     if(!ok) throw(Exception(PROJECTFILE_CORRUPTED));
 
     if (idUpperScene == -1) {
-      topGroup = dispatcher->createTopScene();
+      topGroup = dispatcher->createTopScene(Dispatcher::Load);
       topScene->setId(idScene);
       groupItem = topScene->getGroupItem();      
       cout << "top group added to scene n°" << idScene << endl;
@@ -280,7 +280,7 @@ GroupWidget *Parameters::loadProject(QDomElement root) throw(Exception) {
     else {
       cout << "trying to create scene n°" << idScene << " with upper scene n°" <<idUpperScene << endl;
       GroupScene* upperScene = searchSceneById(idUpperScene, topScene);
-      groupWidget = dispatcher->addNewEmptyGroup(upperScene,false);
+      groupWidget = dispatcher->addNewEmptyGroup(Dispatcher::Load, upperScene,false);
       groupWidget->getScene()->setId(idScene);
       groupItem = groupWidget->getScene()->getGroupItem();      
     }
@@ -302,7 +302,7 @@ GroupWidget *Parameters::loadProject(QDomElement root) throw(Exception) {
       cout << qPrintable(groupItem->getRefBlock()->getName()) << " has upper box item in " << qPrintable(groupItem->getParentItem()->getScene()->getGroupItem()->getRefBlock()->getName()) << endl;
     }    
   }
-  dispatcher->setSceneCounter(maxIdScene+1);
+  dispatcher->setSceneCounter(Dispatcher::Load, maxIdScene+1);
   cout << "groupItems loaded and windows created succefully!" << endl;
 
   /**********************************************************
@@ -457,7 +457,7 @@ GroupWidget *Parameters::loadProject(QDomElement root) throw(Exception) {
     InterfaceItem *iface2 = searchInterfaceItemById(to,topScene);
 
     if(iface1 != NULL && iface2 != NULL){
-      dispatcher->createConnection(iface1,iface2);
+      dispatcher->createConnection(Dispatcher::Load, iface1,iface2);
     } else {
       cout << "interfaces not found, connect canceled!" << endl;
     }
@@ -836,7 +836,7 @@ void Parameters::loadImplementationsFromXml() throw(Exception) {
       if (compList != "none") {
         QStringList compos = compList.split(",");
         foreach(QString s, compos) {
-          impl->addSource(s);
+          impl->addResource(s);
         }
       }
 
@@ -960,7 +960,7 @@ void Parameters::loadSources() throw(Exception) {
         QString netName = list.at(j);
         netName.truncate(list.at(j).size() -4);
         cout << "found netlist " << qPrintable(netName) << endl;
-        availableSources.append(new ExternalSource(netName,fileName,ExternalSource::Netlist));
+        availableResources.append(new ExternalResource(netName,fileName,ExternalResource::Netlist));
       }
       else {
         cout << "parsing " << qPrintable(fileName) << " ... ";
@@ -978,7 +978,7 @@ void Parameters::loadSources() throw(Exception) {
             if (matchPack.hasMatch()) {
               QString packName = matchPack.captured(1);
               cout << "found package " << qPrintable(packName) << endl;
-              availableSources.append(new ExternalSource(packName,fileName,ExternalSource::Package));
+              availableResources.append(new ExternalResource(packName,fileName,ExternalResource::Package));
             }
           }
           else if (line.contains("entity", Qt::CaseInsensitive)) {
@@ -987,7 +987,7 @@ void Parameters::loadSources() throw(Exception) {
             if (matchEnt.hasMatch()) {
               QString entityName = matchEnt.captured(1);
               cout << "found entity " << qPrintable(entityName) << endl;
-              availableSources.append(new ExternalSource(entityName,fileName,ExternalSource::Code));
+              availableResources.append(new ExternalResource(entityName,fileName,ExternalResource::Code));
             }
           }
           line = in.readLine();
@@ -999,11 +999,14 @@ void Parameters::loadSources() throw(Exception) {
   }
 }
 
-ExternalSource* Parameters::searchSourceByName(const QString& name) {
-  foreach(ExternalSource* s, availableSources) {
-    if (s->getName() == name) return s;
+QList<ExternalResource *> Parameters::searchResourceByName(const QString& name) {
+  QList<ExternalResource*> listRes;
+  foreach(ExternalResource* s, availableResources) {
+    if (s->getName() == name) {
+      listRes.append(s);
+    }
   }
-  return NULL;
+  return listRes;
 }
 
 void Parameters::addAvailableBlock(ReferenceBlock *block) {