]> SALOME platform Git repositories - modules/gui.git/blob - src/Qtx/QtxMainWindow.h
Salome HOME
e31ab5d7384f59327fdad2c50dbe05cde79b0cc2
[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      show();
40   virtual void      setAppropriate( QDockWindow*, bool );
41
42 protected:
43   virtual void      setUpLayout();
44
45 private slots:
46   void              onDestroyed( QObject* );
47
48 private:
49   int               windowState( const QString& ) const;
50   int               windowPosition( const QString& ) const;
51   int               relativeCoordinate( const int, const int, const int ) const;
52
53 private:
54   int               myMode;
55   QDockWindow*      myMenuBar;
56   QDockWindow*      myStatusBar;
57 };
58
59 #endif