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

Private GIT Repository
nearly finished GroupBlock VHDL gen
[blast.git] / Dispatcher.cpp
index a9beb481f8bdb412c7cec0e5414d5fd85ba5882d..c3ff33fd91b713078ff111e3ec9e2389b630477c 100644 (file)
@@ -69,6 +69,9 @@ GroupWidget *Dispatcher::loadProject(const QString& filename) {
     return NULL;
   }
 
+  QFileInfo info(filename);
+  params->projectPath = info.absolutePath();
+  cout << "project path = " << qPrintable(params->projectPath) << endl;
   groupList.append(topGroup);
   return topGroup;
 }
@@ -179,10 +182,8 @@ void Dispatcher::generateBlockVHDL(BoxItem *item){
 
   if (item->getRefBlock()->isFunctionalBlock()) {
     FunctionalBlock* block = AB_TO_FUN(item->getRefBlock());
-    ReferenceBlock* ref = block->getReference();
-    BlockImplementation* impl = ref->getImplementations().at(0);
     try {
-      impl->generateVHDL(block,params->projectPath);
+      block->generateVHDL(params->projectPath);      
     }
     catch(Exception e) {
       cout << qPrintable(e.getMessage()) << endl;
@@ -559,7 +560,7 @@ GroupWidget *Dispatcher::createTopScene(){
   GroupBlock *topBlock = graph->getTopGroup();
   // creating the clkrstgen block
   ReferenceBlock* ref = params->getHiddenReferenceBlock("clkrstgen");
-  FunctionalBlock* newOne = params->getGraph()->createFunctionalBlock(topBlock, ref);
+  FunctionalBlock* newOne = params->getGraph()->createFunctionalBlock(topBlock, ref);  
   ConnectedInterface* fromIface = AI_TO_CON(topBlock->getIfaceFromName("ext_clk"));
   ConnectedInterface* toIface = AI_TO_CON(newOne->getIfaceFromName("ext_clk"));
   fromIface->connectTo(toIface);