Salome HOME
Update comments
[modules/gui.git] / src / SUIT / SUIT_Desktop.cxx
1 #include "SUIT_Desktop.h"
2
3 #include "SUIT_Tools.h"
4 #include "SUIT_ViewWindow.h"
5
6 #include <QtxActionMenuMgr.h>
7 #include <QtxActionToolMgr.h>
8
9 #include <qtoolbar.h>
10 #include <qmenubar.h>
11 #include <qdockarea.h>
12 #include <qstatusbar.h>
13 #include <qapplication.h>
14
15 /*!\class SUIT_Desktop
16  * Provide desktop management:\n
17  * \li menu manager
18  * \li tool manager
19  * \li windows
20  */
21
22 /*!
23   Constructor.
24 */
25 SUIT_Desktop::SUIT_Desktop()
26 : QtxMainWindow()
27 {
28   myMenuMgr = new QtxActionMenuMgr( this );
29   myToolMgr = new QtxActionToolMgr( this );
30 }
31
32 /*!
33   Destructor.
34 */
35 SUIT_Desktop::~SUIT_Desktop()
36 {
37 }
38
39 /*!
40   Emit on event \a e.
41 */
42 bool SUIT_Desktop::event( QEvent* e )
43 {
44   if ( !e )
45     return false;
46
47   switch ( e->type() )
48   {
49   case QEvent::WindowActivate:
50     emit activated();
51     break;
52   case QEvent::WindowDeactivate:
53     emit deactivated();
54     break;
55   }
56
57   return QMainWindow::event( e );
58 }
59
60 /*!
61   Close event \a e.
62 */
63 void SUIT_Desktop::closeEvent( QCloseEvent* e )
64 {
65   emit closing( this, e );
66   e->ignore();
67 }
68
69 /*!
70   Child event.
71 */
72 void SUIT_Desktop::childEvent( QChildEvent* e )
73 {
74   if ( e->type() == QEvent::ChildInserted && parentArea() &&
75        e->child()->isWidgetType() && e->child()->inherits( "SUIT_ViewWindow" ) )
76     ((QWidget*)e->child())->reparent( parentArea(), QPoint( 0, 0 ), true );
77   else
78     QtxMainWindow::childEvent( e );
79 }
80
81 /*!
82   Gets menu manager.
83 */
84 QtxActionMenuMgr* SUIT_Desktop::menuMgr() const
85 {
86   return myMenuMgr;
87 }
88
89 /*!
90   Gets tool manager.
91 */
92 QtxActionToolMgr* SUIT_Desktop::toolMgr() const
93 {
94   return myToolMgr;
95 }