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;