39 #ifndef VIEW_MAIN_WINDOW_H
40 #define VIEW_MAIN_WINDOW_H
42 #include <QMainWindow>
44 #include <tulip/Graph.h>
45 #include <tulip/Observable.h>
46 #include <tulip/View.h>
47 #include <tulip/GraphHierarchiesModel.h>
48 #include <tulip/Workspace.h>
49 #include <tulip/WorkspacePanel.h>
51 typedef std::set< tlp::Observable * >::iterator ObserverIterator;
53 class TulipViewsManager;
55 class ViewMainWindow :
public QMainWindow {
65 class TulipViewsManager :
public QObject {
73 std::vector<std::string> getTulipViews();
75 std::vector<tlp::View *> getOpenedViews();
77 std::vector<tlp::View *> getOpenedViewsWithName(
const std::string &viewName);
83 std::vector<tlp::View*> getViewsOfGraph(
tlp::Graph *graph);
87 void closeViewsRelatedToGraph(
tlp::Graph* graph);
89 void setViewVisible(
tlp::View *view,
const bool visible);
91 bool areViewsVisible();
93 void resizeView(
tlp::View *view,
int width,
int height);
95 void setViewPos(
tlp::View *view,
int x,
int y);
97 tlp::GraphHierarchiesModel *graphModel()
const {
101 tlp::Workspace *tlpWorkspace();
105 void viewDestroyed(QObject *view);
109 std::vector<tlp::View *> openedViews;
110 std::map<tlp::View *, tlp::WorkspacePanel *> viewToPanel;
111 std::map<tlp::View *, ViewMainWindow *> viewToWindow;
112 tlp::GraphHierarchiesModel *model;