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

Private GIT Repository
finalized analysis with clkconvert + started testbench gen.
[blast.git] / GroupScene.h
index a691a6dec8d7bdd41fe1590b0023c9e2dcd3ec07..10a5a90692db3a1c8a1edd935f71c9cafc4d861c 100644 (file)
@@ -10,8 +10,9 @@ class Parameters;
 class AbstractBlock;
 class GroupWidget;
 class GroupItem;
 class AbstractBlock;
 class GroupWidget;
 class GroupItem;
+#include "BoxItem.h"
 class BoxItem;
 class BoxItem;
-class SourceItem;
+class StimuliItem;
 class AbstractBoxItem;
 class ConnectionItem;
 class InterfaceItem;
 class AbstractBoxItem;
 class ConnectionItem;
 class InterfaceItem;
@@ -44,13 +45,16 @@ public:
    */
   enum EditMode { InitState, AddConnection, ItemEdition };
 
    */
   enum EditMode { InitState, AddConnection, ItemEdition };
 
+
   GroupScene(GroupScene* _parentScene, GroupWidget* _window, Dispatcher* _dispatcher, Parameters* _params, bool topScene = false, QObject *parent = 0);
   ~GroupScene();
 
   GroupScene(GroupScene* _parentScene, GroupWidget* _window, Dispatcher* _dispatcher, Parameters* _params, bool topScene = false, QObject *parent = 0);
   ~GroupScene();
 
+  //void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
+
   // attributes getters
   inline GroupItem* getGroupItem() {return groupItem;}
   inline QList<BoxItem*> getBoxItems() { return boxItems; }
   // attributes getters
   inline GroupItem* getGroupItem() {return groupItem;}
   inline QList<BoxItem*> getBoxItems() { return boxItems; }
-  inline QList<SourceItem*> getSourceItems() { return sourceItems; }
+  inline QList<StimuliItem*> getSourceItems() { return stimuliItems; }
   inline QList<ConnectionItem*> getConnectionItems() { return connectionItems; }
   inline QList<GroupScene*> getChildrenScene() { return childrenScene; }
   inline GroupScene* getParentScene() { return parentScene; }
   inline QList<ConnectionItem*> getConnectionItems() { return connectionItems; }
   inline QList<GroupScene*> getChildrenScene() { return childrenScene; }
   inline GroupScene* getParentScene() { return parentScene; }
@@ -72,12 +76,13 @@ public:
   // others  
   
   // BoxItem related
   // others  
   
   // BoxItem related
-  BoxItem* createBoxItem(AbstractBlock* block); //! create a new BoxItem and place it at the center of the scene
+  BoxItem* createBoxItem(AbstractBlock* block, BoxItem::Position position = BoxItem::Free, int lock = AbstractBoxItem::NoLock, BoxItem::SpanType span = BoxItem::NoSpan); //! create a new BoxItem and place it at the center of the scene
   void addBoxItem(BoxItem* item); //! add an already configured BoxItem in the scene.
   void removeBoxItem(BoxItem* item);
   void addBoxItem(BoxItem* item); //! add an already configured BoxItem in the scene.
   void removeBoxItem(BoxItem* item);
+  BoxItem* searchBoxItemByName(QString name);
   
   // ConnectionItem related
   
   // ConnectionItem related
-  void createConnectionItem(InterfaceItem* iface1, InterfaceItem* iface2);
+  void createConnectionItem(InterfaceItem* iface1, InterfaceItem* iface2, bool visible = true);
   ConnectionItem* searchConnectionItem(InterfaceItem* iface1, InterfaceItem* iface2);
   void addConnectionItem(ConnectionItem* item);
   void removeConnectionItem(ConnectionItem* item);
   ConnectionItem* searchConnectionItem(InterfaceItem* iface1, InterfaceItem* iface2);
   void addConnectionItem(ConnectionItem* item);
   void removeConnectionItem(ConnectionItem* item);
@@ -85,10 +90,10 @@ public:
   // GroupItem related
   void removeGroupItem();
   
   // GroupItem related
   void removeGroupItem();
   
-  // SourceItem related
-  SourceItem* createSourceItem(AbstractBlock* block); //! create a new SourceItem and place it around the group item
-  void addSourceItem(SourceItem* item); //! add an already configured SourceItem in the scene.
-  void removeSourceItem(SourceItem* item);
+  // StimuliItem related
+  StimuliItem* createStimuliItem(AbstractBlock* block); //! create a new SourceItem and place it around the group item
+  void addStimuliItem(StimuliItem* item); //! add an already configured SourceItem in the scene.
+  void removeStimuliItem(StimuliItem* item);
   
   // child scenes related
   inline void addChildScene(GroupScene* child) { childrenScene.append(child); }
   
   // child scenes related
   inline void addChildScene(GroupScene* child) { childrenScene.append(child); }
@@ -114,7 +119,7 @@ private:
   GroupItem *groupItem; //! for convenience, the group item is directly accessible via this attribute
   QList<ConnectionItem*> connectionItems; //! for convenience, connections are directly accessible via this attribute
   QList<BoxItem*> boxItems; //! for convenience, box items are directly accessible via this attribute
   GroupItem *groupItem; //! for convenience, the group item is directly accessible via this attribute
   QList<ConnectionItem*> connectionItems; //! for convenience, connections are directly accessible via this attribute
   QList<BoxItem*> boxItems; //! for convenience, box items are directly accessible via this attribute
-  QList<SourceItem*> sourceItems; //! for convenience, box items are directly accessible via this attribute. Only usefull for top scene
+  QList<StimuliItem*> stimuliItems; //! for convenience, box items are directly accessible via this attribute. Only usefull for top scene
   QList<GroupScene*> childrenScene;//! for convenience, children scenes are directly accessible via this attribute
   bool topScene;
   EditMode editMode;
   QList<GroupScene*> childrenScene;//! for convenience, children scenes are directly accessible via this attribute
   bool topScene;
   EditMode editMode;