X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FQtx%2FQtxMainWindow.h;h=cb4c36ddcf5106b07754f3da1616577ce2684ea4;hb=389efae83b99d654509671e60af3eecf11b8278e;hp=9829ea850d614ba8422ae6430446321b5e9caad2;hpb=2e750f9ded92337bc3c44e9d7388180974cc4a43;p=modules%2Fgui.git diff --git a/src/Qtx/QtxMainWindow.h b/src/Qtx/QtxMainWindow.h index 9829ea850..cb4c36ddc 100644 --- a/src/Qtx/QtxMainWindow.h +++ b/src/Qtx/QtxMainWindow.h @@ -1,14 +1,34 @@ -// File: QtxMainWindow.h -// Author: Sergey TELKOV +// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE +// +// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// +// File: QtxMainWindow.h +// Author: Sergey TELKOV #ifndef QTXMAINWINDOW_H #define QTXMAINWINDOW_H #include "Qtx.h" -#include +#include -class QDockWindow; class QtxResourceMgr; class QTX_EXPORT QtxMainWindow : public QMainWindow @@ -16,42 +36,49 @@ class QTX_EXPORT QtxMainWindow : public QMainWindow Q_OBJECT class Filter; - - enum { WS_Normal, WS_Minimized, WS_Maximized, WS_Hidden }; - enum { WP_Absolute, WP_Center, WP_Left, WP_Right, WP_Top = WP_Left, WP_Bottom = WP_Right }; + class Resizer; public: - QtxMainWindow( QWidget* = 0, const char* = 0, WFlags = WType_TopLevel ); + QtxMainWindow( QWidget* = 0, Qt::WindowFlags = 0 ); virtual ~QtxMainWindow(); + bool isOpaqueResize() const; + void setOpaqueResize( bool ); + bool isDockableMenuBar() const; void setDockableMenuBar( const bool ); bool isDockableStatusBar() const; void setDockableStatusBar( const bool ); - void loadGeometry( QtxResourceMgr*, const QString& ); - void saveGeometry( QtxResourceMgr*, const QString& ) const; + QString storeGeometry() const; + void retrieveGeometry( const QString& ); - virtual bool eventFilter( QObject*, QEvent* ); + bool isFullScreenAllowed() const; + void setFullScreenAllowed( const bool ); -public slots: - virtual void setAppropriate( QDockWindow*, bool ); + bool isMinimizeAllowed() const; + void setMinimizeAllowed( const bool ); protected: - virtual void setUpLayout(); + virtual bool event( QEvent* ); private slots: void onDestroyed( QObject* ); private: - int windowState( const QString& ) const; - int windowPosition( const QString& ) const; - int relativeCoordinate( const int, const int, const int ) const; + int geometryValue( const QString&, int&, bool& ) const; private: - QDockWindow* myMenuBar; - QDockWindow* myStatusBar; + QToolBar* myMenuBar; //!< dockable menu bar + QToolBar* myStatusBar; //!< dockable status bar + + bool myFullScreenAllowed; + bool myMinimizeAllowed; + + bool myOpaque; + Resizer* myResizer; + QMouseEvent* myMouseMove; }; -#endif +#endif // QTXMAINWINDOW_H