X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/blast.git/blobdiff_plain/015e6979cd7d336f6bbebfbdb7916af3ba23c096..3bcfe4df6fdde086eb1b59f7a0173358170174a1:/Parameters.cpp 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°" <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 Parameters::searchResourceByName(const QString& name) { + QList listRes; + foreach(ExternalResource* s, availableResources) { + if (s->getName() == name) { + listRes.append(s); + } } - return NULL; + return listRes; } void Parameters::addAvailableBlock(ReferenceBlock *block) {