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

Private GIT Repository
moved clocks list to graph
[blast.git] / Dispatcher.cpp
index 94cdfb66e7ad5b131e9d073b793fca7117ea21a5..b1625593cedad52154794e4b67dd91ecbbbbfc4f 100644 (file)
@@ -18,7 +18,7 @@
 #include "GroupScene.h"
 #include "GroupItem.h"
 #include "BoxItem.h"
 #include "GroupScene.h"
 #include "GroupItem.h"
 #include "BoxItem.h"
-#include "SourceItem.h"
+#include "StimuliItem.h"
 #include "InterfaceItem.h"
 #include "ConnectionItem.h"
 
 #include "InterfaceItem.h"
 #include "ConnectionItem.h"
 
@@ -381,8 +381,8 @@ void Dispatcher::renameGroupBlock(Context context, GroupItem *item){
   mainWindow->getLibrary()->updateComboScene();   
 }
 
   mainWindow->getLibrary()->updateComboScene();   
 }
 
-void Dispatcher::renameSourceBlock(Context context, SourceItem *item){
-  static QString fctName = "Dispatcher::renameSourceBlock()";
+void Dispatcher::renameStimuliItem(Context context, StimuliItem *item){
+  static QString fctName = "Dispatcher::renameStimuliItem()";
 #ifdef DEBUG_FCTNAME
   cout << "call to " << qPrintable(fctName) << endl;
 #endif
 #ifdef DEBUG_FCTNAME
   cout << "call to " << qPrintable(fctName) << endl;
 #endif
@@ -392,7 +392,7 @@ void Dispatcher::renameSourceBlock(Context context, SourceItem *item){
   bool ok = false;
   QString text = "";  
   while (!ok) {  
   bool ok = false;
   QString text = "";  
   while (!ok) {  
-    text = QInputDialog::getText(win, "Rename a source",
+    text = QInputDialog::getText(win, "Rename a stimuli",
                                        "New name:", QLineEdit::Normal,
                                        item->getRefBlock()->getName(), &ok);
     if (!ok) return;
                                        "New name:", QLineEdit::Normal,
                                        item->getRefBlock()->getName(), &ok);
     if (!ok) return;
@@ -406,10 +406,10 @@ void Dispatcher::renameSourceBlock(Context context, SourceItem *item){
       ok = false;
     }
     else {
       ok = false;
     }
     else {
-      FunctionalBlock* block = params->getGraph()->getSourceBlockByName(text);
+      FunctionalBlock* block = params->getGraph()->getStimuliBlockByName(text);
       if (block != NULL) {
         QMessageBox::warning(win,"Error in given name",
       if (block != NULL) {
         QMessageBox::warning(win,"Error in given name",
-                             "the name provided is similar to that of another source block within the top group",
+                             "the name provided is similar to that of another stimuli block within the top group",
                              QMessageBox::Ok);
         ok = false;
       }
                              QMessageBox::Ok);
         ok = false;
       }
@@ -564,8 +564,8 @@ void Dispatcher::duplicateBoxItem(Context context, BoxItem *item){
   }
 }
 
   }
 }
 
-void Dispatcher::duplicateSourceItem(Context context, SourceItem *item) {
-  static QString fctName = "Dispatcher::duplicateSourceItem()";
+void Dispatcher::duplicateStimuliItem(Context context, StimuliItem *item) {
+  static QString fctName = "Dispatcher::duplicateStimuliItem()";
 #ifdef DEBUG_FCTNAME
   cout << "call to " << qPrintable(fctName) << endl;
 #endif
 #ifdef DEBUG_FCTNAME
   cout << "call to " << qPrintable(fctName) << endl;
 #endif
@@ -579,9 +579,9 @@ void Dispatcher::duplicateSourceItem(Context context, SourceItem *item) {
 
     // adding to the model
     FunctionalBlock* funBlock = (FunctionalBlock*)block;
 
     // adding to the model
     FunctionalBlock* funBlock = (FunctionalBlock*)block;
-    newBlock = params->getGraph()->duplicateSourceBlock(funBlock);
+    newBlock = params->getGraph()->duplicateStimuliBlock(funBlock);
     // adding to the view
     // adding to the view
-    scene->createSourceItem(newBlock);
+    scene->createStimuliItem(newBlock);
 
     params->unsaveModif = true;
   }
 
     params->unsaveModif = true;
   }
@@ -628,7 +628,7 @@ BoxItem* Dispatcher::addBlock(Context context, int idCategory, int idBlock, int
 #ifdef DEBUG_FCTNAME
   cout << "call to " << qPrintable(fctName) << endl;
 #endif
 #ifdef DEBUG_FCTNAME
   cout << "call to " << qPrintable(fctName) << endl;
 #endif
-  bool newSource = false;
+  bool newStimuli = false;
   BoxItem* item = NULL;
 
   /* For now, this method is only used while designing and not loading */
   BoxItem* item = NULL;
 
   /* For now, this method is only used while designing and not loading */
@@ -636,15 +636,15 @@ BoxItem* Dispatcher::addBlock(Context context, int idCategory, int idBlock, int
     GroupScene *scene = getSceneById(idScene);
     ReferenceBlock* ref = params->getReferenceBlock(idCategory,idBlock);
     // if block has no inputs, propose to add it as a source to top scene
     GroupScene *scene = getSceneById(idScene);
     ReferenceBlock* ref = params->getReferenceBlock(idCategory,idBlock);
     // if block has no inputs, propose to add it as a source to top scene
-    if ((scene->isTopScene()) && (ref->isGeneratorBlock())) {
-      int ret = QMessageBox::question(NULL,"Adding a block to top scene","Selected block may be used as a source for the top scene. Do you want to add it as a source ?");
+    if ((scene->isTopScene()) && (ref->isSourceBlock())) {
+      int ret = QMessageBox::question(NULL,"Adding a block to top scene","Selected block may be used as a stimuli for the top scene. Do you want to add it as a stimuli ?");
       if (ret == QMessageBox::Yes) {
       if (ret == QMessageBox::Yes) {
-        newSource = true;
+        newStimuli = true;
       }
     }
       }
     }
-    if (newSource) {
-      FunctionalBlock* newOne = params->getGraph()->createSourceBlock(ref, true);
-      scene->createSourceItem(newOne);
+    if (newStimuli) {
+      FunctionalBlock* newOne = params->getGraph()->createStimuliBlock(ref, true);
+      scene->createStimuliItem(newOne);
     }
     else {
 
     }
     else {
 
@@ -684,7 +684,7 @@ void Dispatcher::addClkRstGenBlock(Context context, double frequency) {
 
   if (context == Design) {
 
 
   if (context == Design) {
 
-    params->clocks.append(frequency);
+    params->getGraph()->addClock(frequency);
 
     // get the top group
     GroupBlock *group = params->getGraph()->getTopGroup();
 
     // get the top group
     GroupBlock *group = params->getGraph()->getTopGroup();
@@ -695,7 +695,7 @@ void Dispatcher::addClkRstGenBlock(Context context, double frequency) {
     FunctionalBlock* newOne = params->getGraph()->createFunctionalBlock(group, ref, true);
 
     QString name = "clkrstgen_";
     FunctionalBlock* newOne = params->getGraph()->createFunctionalBlock(group, ref, true);
 
     QString name = "clkrstgen_";
-    name += QString::number(params->clocks.size()-1);
+    name += QString::number(params->getGraph()->getClocks().size()-1);
     newOne->setName(name);
 
     // creating the box item
     newOne->setName(name);
 
     // creating the box item
@@ -704,8 +704,8 @@ void Dispatcher::addClkRstGenBlock(Context context, double frequency) {
 
     ConnectedInterface* fromIfaceClk = NULL;
     ConnectedInterface* fromIfaceReset = NULL;
 
     ConnectedInterface* fromIfaceClk = NULL;
     ConnectedInterface* fromIfaceReset = NULL;
-    QString clkName = "ext_clk_"+QString::number(params->clocks.size()-1);
-    QString rstName = "ext_reset_"+QString::number(params->clocks.size()-1);
+    QString clkName = "ext_clk_"+QString::number(params->getGraph()->getClocks().size()-1);
+    QString rstName = "ext_reset_"+QString::number(params->getGraph()->getClocks().size()-1);
     fromIfaceClk = new GroupInterface(group,clkName, AbstractInterface::Input, AbstractInterface::Clock);
     fromIfaceReset = new GroupInterface(group,rstName, AbstractInterface::Input, AbstractInterface::Reset);
     group->addInterface(fromIfaceClk);
     fromIfaceClk = new GroupInterface(group,clkName, AbstractInterface::Input, AbstractInterface::Clock);
     fromIfaceReset = new GroupInterface(group,rstName, AbstractInterface::Input, AbstractInterface::Reset);
     group->addInterface(fromIfaceClk);
@@ -737,7 +737,7 @@ void Dispatcher::addClkRstGenBlock(Context context, double frequency) {
 
 
 
 
 
 
-GroupWidget *Dispatcher::createTopScene(Context context){
+GroupWidget *Dispatcher::createTopScene(Context context, double mainClock){
   static QString fctName = "Dispatcher::createTopScene()";
 #ifdef DEBUG_FCTNAME
   cout << "call to " << qPrintable(fctName) << endl;
   static QString fctName = "Dispatcher::createTopScene()";
 #ifdef DEBUG_FCTNAME
   cout << "call to " << qPrintable(fctName) << endl;
@@ -748,7 +748,8 @@ GroupWidget *Dispatcher::createTopScene(Context context){
     createIfaces = false;
   }
   // creating the graph and thus, the topgroup
     createIfaces = false;
   }
   // creating the graph and thus, the topgroup
-  Graph* graph = params->createGraph(createIfaces);
+  Graph* graph = params->initGraph(createIfaces);
+  graph->addClock(mainClock);
   // get the top group
   GroupBlock *topBlock = graph->getTopGroup();
   // creating the top group widget
   // get the top group
   GroupBlock *topBlock = graph->getTopGroup();
   // creating the top group widget
@@ -771,8 +772,8 @@ GroupWidget *Dispatcher::createTopScene(Context context){
 
   if (context == Design) {
     // create clkrstgen
 
   if (context == Design) {
     // create clkrstgen
-    double freq = params->clocks.at(0);
-    params->clocks.clear();
+    double freq = params->getGraph()->getClock(0);
+    params->getGraph()->resetClocks();
     addClkRstGenBlock(context,freq);
   }
 
     addClkRstGenBlock(context,freq);
   }
 
@@ -1159,26 +1160,26 @@ void Dispatcher::removeAllBlockConnections(Context context, AbstractBoxItem *ite
   }
 }
 
   }
 }
 
-void Dispatcher::removeSourceItem(Context context, SourceItem *item) {
-  static QString fctName = "Dispatcher::removeSourceItem()";
+void Dispatcher::removeStimuliItem(Context context, StimuliItem *item) {
+  static QString fctName = "Dispatcher::removeStimuliItem()";
 #ifdef DEBUG_FCTNAME
   cout << "call to " << qPrintable(fctName) << endl;
 #endif
   
 #ifdef DEBUG_FCTNAME
   cout << "call to " << qPrintable(fctName) << endl;
 #endif
   
-  QString msg = "Removing source ";
+  QString msg = "Removing stimmuli ";
   
   msg += item->getRefBlock()->getName();
   msg += " and all its connections.\n\nAre you sure ?";
 
   
   msg += item->getRefBlock()->getName();
   msg += " and all its connections.\n\nAre you sure ?";
 
-  int ret = QMessageBox::question(NULL,"Removing source block",msg, QMessageBox::Ok | QMessageBox::Cancel, QMessageBox::Ok);
+  int ret = QMessageBox::question(NULL,"Removing stimuli block",msg, QMessageBox::Ok | QMessageBox::Cancel, QMessageBox::Ok);
   if (ret == QMessageBox::Cancel) {
     return;
   }
   removeAllBlockConnections(context, item);
   
   FunctionalBlock* block = AB_TO_FUN(item->getRefBlock());  
   if (ret == QMessageBox::Cancel) {
     return;
   }
   removeAllBlockConnections(context, item);
   
   FunctionalBlock* block = AB_TO_FUN(item->getRefBlock());  
-  item->getScene()->removeSourceItem(item);
-  params->getGraph()->removeSourceBlock(block);  
+  item->getScene()->removeStimuliItem(item);
+  params->getGraph()->removeStimuliBlock(block);
 }
 
 
 }