X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/blast.git/blobdiff_plain/d111eaf49741a0a79d372445f97c314a637e331e..c85843afb9bd492b46d6fe87a8287157097483f5:/Parameters.h?ds=inline

diff --git a/Parameters.h b/Parameters.h
index 27dc08f..f03ca0a 100644
--- a/Parameters.h
+++ b/Parameters.h
@@ -16,6 +16,7 @@ class ReferenceBlock;
 class GroupBlock;
 class FunctionalBlock;
 class GroupScene;
+class AbstractBoxItem;
 class GroupItem;
 class BoxItem;
 class InterfaceItem;
@@ -77,6 +78,11 @@ public :
   inline void setCursorState(CursorState state) { cursorState = state; }
   inline void setDispatcher(Dispatcher* _dispatcher) { dispatcher = _dispatcher;}
 
+  // testers
+
+  // others
+  static QString normalizeName(const QString& name);
+
   /***************************************************
     attributes that are general to the application
   ***************************************************/  
@@ -85,7 +91,8 @@ public :
   QList<QString> implPathes;
   QList<ReferenceBlock*> availableBlocks;
   QList<BlockImplementation*> availableImplementations;
-
+  ReferenceBlock* delayRef;
+  BlockImplementation* delayImpl;  
 
   QString refLib;
   QString implLib;
@@ -108,8 +115,10 @@ public :
   QString defaultIfaceFontName;
   int defaultIfaceFontSize;
   int connGapLength;
-  QPainterPath inArrow;
-  QPainterPath outArrow;
+  QPainterPath dataArrowIn;
+  QPainterPath dataArrowOut;
+  QPainterPath clkrstArrow;
+
 
   /***************************************************
    attributes that are specific for the current project
@@ -120,11 +129,16 @@ public :
   EditState editState; // takes values from EDIT_STATE_XXX
   bool unsaveModif;
   bool isRstClkShown;
+  QMap<FunctionalBlock*, BoxItem*> blockToItem; // allow to retrieve a box item from a functionnal block
+  QString projectPath;
+  QString projectName;
+  QString projectFile; // equals to projectPath/projectName.xml
 
   Graph* createGraph();
   void destroyGraph();
   inline Graph* getGraph() { return graph; }  
   ReferenceBlock* getReferenceBlock(int idCategory, int idBlock); // get the reference block from its category and index
+  ReferenceBlock* getHiddenReferenceBlock(QString blockName); // get a hidden block by name, i.e. in category 100
   FunctionalBlock* duplicateFunctionalBlock(FunctionalBlock* block); // adding a copy of a functional block to current group
 
 
@@ -137,6 +151,7 @@ public :
   void loadReferencesFromXml() throw(Exception);
   void loadReferencesFromLib() throw(Exception);
   void saveReferencesToLib() throw(Exception);
+  void createDelayBlock();
 
   void loadImplementationsFromXml() throw(Exception);
   void loadImplementationsFromLib() throw(Exception);
@@ -153,10 +168,12 @@ public :
   ReferenceBlock* searchBlockByXml(QString xmlName);
   ReferenceBlock* searchBlockByMd5(QString sumMd5);
 
+  BoxItem* searchFunctionalBlock(AbstractBlock* block);
+
   void save(QString confFile);
 
 
-  QString projectPath;
+
 
 private:
   Graph* graph; // the graph model of blocks
@@ -169,6 +186,7 @@ private:
 
   GroupScene* searchSceneById(int id, GroupScene* scene);
   BoxItem* searchBlockItemById(int id, GroupScene* scene);
+  BoxItem* searchFunctionalBlockRecur(AbstractBlock* block, GroupScene* scene);
   GroupItem* searchGroupItemById(int id, GroupScene* scene);
   InterfaceItem* searchInterfaceItemById(int id, GroupScene *scene);