X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/blast.git/blobdiff_plain/e5af659f87bcb199d6a5f10f09b311138351d0f3..d111eaf49741a0a79d372445f97c314a637e331e:/Dispatcher.h diff --git a/Dispatcher.h b/Dispatcher.h index 8ffce45..0ddba40 100644 --- a/Dispatcher.h +++ b/Dispatcher.h @@ -15,14 +15,22 @@ class GroupScene; class AbstractBoxItem; class GroupItem; class BoxItem; +class SourceItem; class ConnectionItem; class InterfaceItem; +class GroupBlock; +class FunctionalBlock; using namespace std; using namespace Qt; +/*! + * \brief The Dispatcher class + * The Dispatcher class represents the control part (in MVC) of the application. It relays + * user's interactions with the GUI into model's modifications and feeds back them onto the view. + */ class Dispatcher { public: @@ -32,8 +40,7 @@ public: GroupWidget* loadProject(const QString& filename); inline int getNumberOfScenes() { return groupList.length(); } - bool connect(InterfaceItem *iface1, InterfaceItem *iface2); - void checkSelection(); + void unselectAllItems(int direction=0); void setCurrentGroupWidget(GroupWidget *win); void changeConnectionMode(int mode = -1); @@ -56,17 +63,22 @@ public: public slots: QMap getAllGroupNames(); - GroupScene* searchSceneById(int id); - GroupScene* searchSceneByName(QString name); - BoxItem* searchBlockItemById(int id); - GroupItem* searchGroupItemById(int id); - InterfaceItem* searchInterfaceItemById(int id); + GroupScene* getSceneById(int id); + GroupScene* getSceneByName(QString name); + BoxItem* getBoxItemById(int id); + GroupItem* getGroupItemById(int id); + InterfaceItem* getInterfaceItemById(int id); + // block ops void addBlock(int idCategory, int idBlock, int idScene); - void removeBlock(BoxItem* item); - void duplicateBlock(BoxItem* item); - void renameBlockOrGroup(AbstractBoxItem* item); + void removeBoxItem(BoxItem* item); + void duplicateBoxItem(BoxItem* item); + void renameFunctionalBlock(BoxItem* item); + void renameGroupBlock(GroupItem* item); + void renameSourceBlock(SourceItem* item); + void removeSourceItem(SourceItem* item); + void duplicateSourceItem(SourceItem* item); // interface ops /*! @@ -107,13 +119,13 @@ public slots: * Thus, parameter item is always owned by a GroupItem */ void removeGroupInterface(InterfaceItem* item); - void duplicateInterface(InterfaceItem* item); + void duplicateInterfaceItem(InterfaceItem* item); void showProperties(InterfaceItem *inter); void renameInterface(InterfaceItem* item); // connection ops - ConnectionItem *addConnection(InterfaceItem *input, InterfaceItem *output); - void removeAllBlockConnections(BoxItem *item); + bool createConnectionItem(InterfaceItem *iface1, InterfaceItem *iface2); + void removeAllBlockConnections(AbstractBoxItem *item); void removeConnection(ConnectionItem *conn);