+ QMap<int, QString> getAllGroupNames();
+ 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 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
+ /*!
+ * \brief connectInterToGroup
+ * \param item item is always owned by a BoxItem
+ *
+ * This method is called only when the user right clicks on an InterfaceItem (that belongs
+ * to a BoxItem and if it is NOT connected to an InterfaceItem of the GroupItem) and chooses
+ * connect to group in the contextual menu.
+ * Thus, parameter item is always owned by a BoxItem
+ */
+ void connectInterToGroup(InterfaceItem* item);
+ /*!
+ * \brief removeFunctionalInterface
+ * \param item item is always owned by a BoxItem
+ *
+ * This method is called only when the user right clicks on an InterfaceItem (that belongs
+ * to a BoxItem that represents a functional block and has a multiplicity > 1) and chooses remove in the contextual menu.
+ * Thus, parameter item is always owned by a BoxItem
+ */
+ void removeFunctionalInterface(InterfaceItem* item);
+ /*!
+ * \brief removeGroupInterface
+ * \param item item is always owned by a GroupItem
+ *
+ * This method is called only when the user right clicks on an InterfaceItem (that belongs
+ * to a GroupItem and if it is connected only to an inner interface) and chooses remove in the contextual menu.
+ * Thus, parameter item is always owned by a GroupItem
+ */
+ void removeGroupInterface(InterfaceItem* item);
+ void duplicateInterfaceItem(InterfaceItem* item);
+ void showProperties(InterfaceItem *inter);
+ void renameInterface(InterfaceItem* item);
+ void showPatterns(InterfaceItem* item);