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

Private GIT Repository
modifying pattern methods to throw exceptions
[blast.git] / Parameters.h
index 8393a79deea8cda901fccaec8e38ccdca5b63074..27dc08f93dcca70912b766c69cec707cdf642eca 100644 (file)
@@ -20,6 +20,7 @@ class GroupItem;
 class BoxItem;\r
 class InterfaceItem;\r
 class Graph;\r
+class GroupWidget;\r
 \r
 #include "BlockImplementation.h"\r
 \r
@@ -35,6 +36,13 @@ class Exception;
 using namespace std;\r
 using namespace Qt;\r
 \r
+/*!\r
+ * \brief The Parameters class\r
+ *\r
+ * Parameters class represents the Model part of blast in MVC paradigm.\r
+ * It contains all data necessary to create a design: the graph of blocks,\r
+ * the scenes, ...\r
+ */\r
 class Parameters {\r
 \r
 public :\r
@@ -85,6 +93,8 @@ public :
   // defaults for vhdl\r
   int wbDataWidth;\r
   int wbAddressWidth;\r
+  QString validityExtension; //! the string to add to ports to obtain the name of the associated validity port.\r
+  \r
   // defaults for scene elements\r
   int defaultBlockWidth;\r
   int defaultBlockHeight;\r
@@ -104,6 +114,7 @@ public :
   /***************************************************\r
    attributes that are specific for the current project\r
   ****************************************************/\r
+  bool isCurrentProject; // true if a projet is currently open\r
   int sceneMode; // takes values from MODE_XXX\r
   CursorState cursorState;\r
   EditState editState; // takes values from EDIT_STATE_XXX\r
@@ -112,16 +123,15 @@ public :
 \r
   Graph* createGraph();\r
   void destroyGraph();\r
-  inline Graph* getGraph() { return graph; }\r
-  GroupBlock* addGroupBlock(); // adding an empty GroupBlock to the current group\r
-  FunctionalBlock* addFunctionalBlock(int idCategory, int idBlock); // adding a functional block to current group\r
+  inline Graph* getGraph() { return graph; }  \r
+  ReferenceBlock* getReferenceBlock(int idCategory, int idBlock); // get the reference block from its category and index\r
   FunctionalBlock* duplicateFunctionalBlock(FunctionalBlock* block); // adding a copy of a functional block to current group\r
 \r
 \r
   void clear();\r
 \r
   QDomElement openProjectFile(const QString& projectFileName) throw(Exception);\r
-  void loadProject(QDomElement root);\r
+  GroupWidget *loadProject(QDomElement root) throw(Exception);\r
 \r
   void loadBlastConfiguration(QString confFile) throw(Exception);\r
   void loadReferencesFromXml() throw(Exception);\r