Salome HOME
Initial version
[modules/gui.git] / src / Qtx / QtxMainWindow.h
1 // File:      QtxMainWindow.h
2 // Author:    Sergey TELKOV
3
4 #ifndef QTXMAINWINDOW_H
5 #define QTXMAINWINDOW_H
6
7 #include "Qtx.h"
8
9 #include <qmainwindow.h>
10
11 class QDockWindow;
12 class QtxResourceMgr;
13
14 class QTX_EXPORT QtxMainWindow : public QMainWindow
15 {
16   Q_OBJECT
17
18   class Filter;
19
20   enum { WS_Normal, WS_Minimized, WS_Maximized, WS_Hidden };
21   enum { WP_Absolute, WP_Center, WP_Left, WP_Right, WP_Top = WP_Left, WP_Bottom = WP_Right };
22
23 public:
24   QtxMainWindow( QWidget* = 0, const char* = 0, WFlags = WType_TopLevel );
25   virtual ~QtxMainWindow();
26
27   bool              isDockableMenuBar() const;
28   void              setDockableMenuBar( const bool );
29
30   bool              isDockableStatusBar() const;
31   void              setDockableStatusBar( const bool );
32
33   void              loadGeometry( QtxResourceMgr*, const QString& );
34   void              saveGeometry( QtxResourceMgr*, const QString& ) const;
35
36   virtual bool      eventFilter( QObject*, QEvent* );
37
38 public slots:
39   virtual void      setAppropriate( QDockWindow*, bool );
40
41 protected:
42   virtual void      setUpLayout();
43
44 private slots:
45   void              onDestroyed( QObject* );
46
47 private:
48   int               windowState( const QString& ) const;
49   int               windowPosition( const QString& ) const;
50   int               relativeCoordinate( const int, const int, const int ) const;
51
52 private:
53   QDockWindow*      myMenuBar;
54   QDockWindow*      myStatusBar;
55 };
56
57 #endif