class AbstractBlock;
class GroupWidget;
class GroupItem;
+#include "BoxItem.h"
class BoxItem;
class SourceItem;
class AbstractBoxItem;
- 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();
+ //void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
+
// 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; }
// 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);