X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/blast.git/blobdiff_plain/d111eaf49741a0a79d372445f97c314a637e331e..8fb3c55ee009a11db5e1c08a4cfb286979412745:/GroupScene.h?ds=inline diff --git a/GroupScene.h b/GroupScene.h index a691a6d..d5a485e 100644 --- a/GroupScene.h +++ b/GroupScene.h @@ -10,8 +10,9 @@ class Parameters; class AbstractBlock; class GroupWidget; class GroupItem; +#include "BoxItem.h" class BoxItem; -class SourceItem; +class StimuliItem; class AbstractBoxItem; class ConnectionItem; class InterfaceItem; @@ -44,13 +45,16 @@ public: */ enum EditMode { InitState, AddConnection, ItemEdition }; + 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 getBoxItems() { return boxItems; } - inline QList getSourceItems() { return sourceItems; } + inline QList getSourceItems() { return stimuliItems; } inline QList getConnectionItems() { return connectionItems; } inline QList getChildrenScene() { return childrenScene; } inline GroupScene* getParentScene() { return parentScene; } @@ -72,12 +76,12 @@ public: // 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 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); @@ -85,10 +89,10 @@ public: // 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); } @@ -114,7 +118,7 @@ private: GroupItem *groupItem; //! for convenience, the group item is directly accessible via this attribute QList connectionItems; //! for convenience, connections are directly accessible via this attribute QList boxItems; //! for convenience, box items are directly accessible via this attribute - QList sourceItems; //! for convenience, box items are directly accessible via this attribute. Only usefull for top scene + QList stimuliItems; //! for convenience, box items are directly accessible via this attribute. Only usefull for top scene QList childrenScene;//! for convenience, children scenes are directly accessible via this attribute bool topScene; EditMode editMode;