Salome HOME
Initial version
[modules/gui.git] / src / SUIT / SUIT_Desktop.h
1 #ifndef SUIT_DESKTOP_H
2 #define SUIT_DESKTOP_H
3
4 #include "SUIT.h"
5
6 #include <QtxMainWindow.h>
7
8 class QPopupMenu;
9 class SUIT_ViewWindow;
10 class QtxActionMenuMgr;
11 class QtxActionToolMgr;
12
13 class SUIT_EXPORT SUIT_Desktop : public QtxMainWindow
14 {
15   Q_OBJECT
16
17 public:
18   SUIT_Desktop();
19   virtual ~SUIT_Desktop();
20
21   QtxActionMenuMgr*        menuMgr() const;
22   QtxActionToolMgr*        toolMgr() const;
23
24   virtual SUIT_ViewWindow* activeWindow() const = 0;
25   virtual QPtrList<SUIT_ViewWindow> windows() const = 0;
26
27 signals:
28   void                     activated();
29   void                     deactivated();
30   void                     windowActivated( SUIT_ViewWindow* );
31   void                     closing( SUIT_Desktop*, QCloseEvent* );
32
33 protected:
34   virtual bool             event( QEvent* );
35   virtual void             closeEvent( QCloseEvent* );
36   virtual void             childEvent( QChildEvent* );
37
38   virtual QWidget*         parentArea() const = 0;
39
40 private:
41   QtxActionMenuMgr*        myMenuMgr;
42   QtxActionToolMgr*        myToolMgr;
43 };
44
45 #endif