Salome HOME
Initial version
[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 SUIT_Desktop::SUIT_Desktop()
16 : QtxMainWindow()
17 {
18   myMenuMgr = new QtxActionMenuMgr( this );
19   myToolMgr = new QtxActionToolMgr( this );
20 }
21
22 SUIT_Desktop::~SUIT_Desktop()
23 {
24 }
25
26 bool SUIT_Desktop::event( QEvent* e )
27 {
28   if ( !e )
29     return false;
30
31   switch ( e->type() )
32   {
33   case QEvent::WindowActivate:
34     emit activated();
35     break;
36   case QEvent::WindowDeactivate:
37     emit deactivated();
38     break;
39   }
40
41   return QMainWindow::event( e );
42 }
43
44 void SUIT_Desktop::closeEvent( QCloseEvent* e )
45 {
46   emit closing( this, e );
47   e->ignore();
48 }
49
50 void SUIT_Desktop::childEvent( QChildEvent* e )
51 {
52   if ( e->type() == QEvent::ChildInserted && parentArea() &&
53        e->child()->isWidgetType() && e->child()->inherits( "SUIT_ViewWindow" ) )
54     ((QWidget*)e->child())->reparent( parentArea(), QPoint( 0, 0 ), true );
55   else
56     QtxMainWindow::childEvent( e );
57 }
58
59 QtxActionMenuMgr* SUIT_Desktop::menuMgr() const
60 {
61   return myMenuMgr;
62 }
63
64 QtxActionToolMgr* SUIT_Desktop::toolMgr() const
65 {
66   return myToolMgr;
67 }