1 #ifndef __DISPATCHER_H__
2 #define __DISPATCHER_H__
15 class AbstractBoxItem;
29 Dispatcher(Parameters* _params,
32 GroupWidget* loadProject(const QString& filename);
34 inline int getNumberOfScenes() { return groupList.length(); }
35 bool connect(InterfaceItem *iface1, InterfaceItem *iface2);
36 void checkSelection();
37 void unselectAllItems(int direction=0);
38 void setCurrentGroupWidget(GroupWidget *win);
39 void changeConnectionMode(int mode = -1);
40 void rename(AbstractBoxItem* item);
41 void rename(InterfaceItem* item);
42 GroupWidget* createTopScene();
43 GroupWidget* createChildScene(GroupWidget* parentWidget, BoxItem* upperItemOfGroupItem = NULL);
44 void showRaiseWindow(AbstractBoxItem *item);
45 void showRstClkInter(AbstractBoxItem *item);
46 void addNewFullGroup();
48 inline GroupWidget* getCurrentGroup() { return currentGroup; }
50 bool isCurrentProject;
54 GroupScene* searchSceneById(int id);
55 BoxItem* searchBlockItemById(int id);
56 GroupItem* searchGroupItemById(int id);
57 InterfaceItem* searchInterfaceItemById(int id);
59 void removeBlock(AbstractBoxItem* item);
60 void duplicateBlock(BoxItem* item);
61 void duplicateInterface(InterfaceItem* item);
62 void addBlock(int idCategory, int idBlock);
63 ConnectionItem *addConnection(InterfaceItem *input, InterfaceItem *output);
64 void removeAllBlockConnections(AbstractBoxItem *block);
65 void removeConnection(ConnectionItem *conn);
66 void removeUselessGroupInterfaces();
67 void showBlocksLibrary();
68 void showProperties(InterfaceItem *inter);
69 void connectInterToGroup(InterfaceItem* item);
70 void disconnectInterFromGroup(InterfaceItem* item);
71 void removeGroupInterface(InterfaceItem* item);
75 void closeCurrentProject();
82 // attributes that corresponds to the views
83 MainWindow* mainWindow;
84 QList<GroupWidget*> groupList;
85 GroupWidget* currentGroup;
86 GroupWidget *topGroup;
89 #endif // __DISPATCHER_H__