1 #ifndef SUIT_VIEWMANAGER_H
2 #define SUIT_VIEWMANAGER_H
5 #include "SUIT_ViewWindow.h"
6 #include "SUIT_PopupClient.h"
9 #include <qptrvector.h>
18 #pragma warning( disable:4251 )
21 class SUIT_EXPORT SUIT_ViewManager : public QObject, public SUIT_PopupClient
25 SUIT_ViewManager( SUIT_Study*,
27 SUIT_ViewModel* = 0 );
28 virtual ~SUIT_ViewManager();
30 virtual QString popupClientType() const { return getType(); }
31 virtual void contextMenuPopup( QPopupMenu* );
33 void setViewModel(SUIT_ViewModel* theViewModel);
34 SUIT_ViewModel* getViewModel() { return myViewModel; }
36 SUIT_Study* study() const;
38 QString getType() const;
39 SUIT_ViewWindow* getActiveView() { return myActiveView; }
41 int getViewsCount() { return myViews.count(); }
42 QPtrVector<SUIT_ViewWindow> getViews() { return myViews; }
44 QString getTitle() const { return myTitle;}
45 void setTitle(QString theTitle) { myTitle = theTitle; }
47 //! Creates View, adds it into list of views and returns just created view window
48 SUIT_ViewWindow* createViewWindow();
55 void lastViewClosed(SUIT_ViewManager*);
56 void deleteView(SUIT_ViewWindow*);
57 void viewCreated(SUIT_ViewWindow*);
58 void mousePress(SUIT_ViewWindow*, QMouseEvent*);
59 void mouseRelease(SUIT_ViewWindow*, QMouseEvent*);
60 void mouseDoubleClick(SUIT_ViewWindow*, QMouseEvent*);
61 void mouseMove(SUIT_ViewWindow*, QMouseEvent*);
62 void wheel(SUIT_ViewWindow*, QWheelEvent*);
63 void keyPress(SUIT_ViewWindow*, QKeyEvent*);
64 void keyRelease(SUIT_ViewWindow*, QKeyEvent*);
65 void activated(SUIT_ViewManager*);
68 void onWindowActivated(SUIT_ViewWindow*);
69 void onDeleteView(SUIT_ViewWindow* theView);
70 void onMousePressed(SUIT_ViewWindow* theView, QMouseEvent* theEvent);
74 void onContextMenuRequested( QContextMenuEvent* e );
78 Inserts the View into internal Views Vector.
79 Returns true if view has been added successfully
81 virtual bool insertView(SUIT_ViewWindow* theView);
84 Removes the View from internal Views Vector.
86 virtual void removeView(SUIT_ViewWindow* theView);
89 Used to set unique name for the view
91 virtual void setViewName(SUIT_ViewWindow* theView);
94 SUIT_Desktop* myDesktop;
95 SUIT_ViewModel* myViewModel;
96 QPtrVector<SUIT_ViewWindow> myViews;
97 SUIT_ViewWindow* myActiveView;
104 #pragma warning( default:4251 )