]> SALOME platform Git repositories - modules/gui.git/blob - src/SUIT/SUIT_Desktop.h
Salome HOME
9d79964c9aa463c973bbe3d3b7a49bef03e38cee
[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 <qmap.h>
7 #include <qpixmap.h>
8 #include <QtxMainWindow.h>
9
10 class QPopupMenu;
11 class QtxLogoMgr;
12 class SUIT_ViewWindow;
13 class QtxActionMenuMgr;
14 class QtxActionToolMgr;
15
16 class SUIT_EXPORT SUIT_Desktop : public QtxMainWindow
17 {
18   Q_OBJECT
19
20 public:
21   SUIT_Desktop();
22   virtual ~SUIT_Desktop();
23
24   QtxActionMenuMgr*        menuMgr() const;
25   QtxActionToolMgr*        toolMgr() const;
26
27   virtual SUIT_ViewWindow* activeWindow() const = 0;
28   virtual QPtrList<SUIT_ViewWindow> windows() const = 0;
29
30   void                     addLogo( const QString&, const QPixmap& ); // Not should be used. Will be removed.
31   void                     removeLogo( const QString& );              // Not should be used. Will be removed.
32
33   int                      logoCount() const;
34
35   void                     logoClear();
36   void                     logoRemove( const QString& );
37   void                     logoInsert( const QString&, const QPixmap&, const int = -1 );
38
39 signals:
40   void                     activated();
41   void                     deactivated();
42   void                     windowActivated( SUIT_ViewWindow* );
43   void                     closing( SUIT_Desktop*, QCloseEvent* );
44
45 protected:
46   virtual bool             event( QEvent* );
47   virtual void             closeEvent( QCloseEvent* );
48   virtual void             childEvent( QChildEvent* );
49
50   virtual QWidget*         parentArea() const = 0;
51
52 private:
53   QtxActionMenuMgr*        myMenuMgr;
54   QtxActionToolMgr*        myToolMgr;
55   QtxLogoMgr*              myLogoMgr;
56 };
57
58 #endif