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

Private GIT Repository
adding link between ifaces and clk
[blast.git] / GroupScene.h
index 61319df3c5fb0abf988d5fdc32210856094ff0d9..211d9d7937519151e861cbae245c2b82b0c62f75 100644 (file)
@@ -10,6 +10,7 @@ class Parameters;
 class AbstractBlock;
 class GroupWidget;
 class GroupItem;
 class AbstractBlock;
 class GroupWidget;
 class GroupItem;
+#include "BoxItem.h"
 class BoxItem;
 class SourceItem;
 class AbstractBoxItem;
 class BoxItem;
 class SourceItem;
 class AbstractBoxItem;
@@ -42,14 +43,18 @@ public:
      - AddGroup: while a new group (empty or from selected blocks) is created
      - ItemEdtion: can move/resize blocks/interfaces, remove blocks/interface/group, ...
    */
      - AddGroup: while a new group (empty or from selected blocks) is created
      - ItemEdtion: can move/resize blocks/interfaces, remove blocks/interface/group, ...
    */
-  enum EditMode { InitState, AddBlock, AddConnection, AddGroup, 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<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; }
@@ -71,12 +76,12 @@ 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);
   
   // ConnectionItem related
   void addBoxItem(BoxItem* item); //! add an already configured BoxItem in the scene.
   void removeBoxItem(BoxItem* item);
   
   // 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);