X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_OperationMgr.h;h=ab282335eedd992c6dd2278b3f5654d12a7a8e3c;hb=1e1b7ad082844bc8bdbbd002ae8ca1c0c7e5010f;hp=c8ccf9d08a7b2d1380db13cfe2f550e6f21ca277;hpb=42394362cfec9b39f7def70c83e99c77a48fdfe5;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_OperationMgr.h b/src/XGUI/XGUI_OperationMgr.h index c8ccf9d08..ab282335e 100755 --- a/src/XGUI/XGUI_OperationMgr.h +++ b/src/XGUI/XGUI_OperationMgr.h @@ -1,8 +1,22 @@ -// Copyright (C) 2014-20xx CEA/DEN, EDF R&D --> - -// File: XGUI_OperationMgr.h -// Created: 20 Apr 2014 -// Author: Natalia ERMOLAEVA +// Copyright (C) 2014-2017 CEA/DEN, EDF R&D +// +// 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 +// #ifndef XGUI_OperationMgr_H #define XGUI_OperationMgr_H @@ -17,6 +31,7 @@ #include class QKeyEvent; +class QMessageBox; class ModuleBase_IWorkshop; class XGUI_Workshop; @@ -88,11 +103,6 @@ Q_OBJECT /// else, or if there is no parent - returns NULL ModuleBase_Operation* previousOperation(ModuleBase_Operation* theOperation) const; - /// Redefinition of virtual function - /// \param theObject a sender of the event - /// \param theEvent the event - virtual bool eventFilter(QObject *theObject, QEvent *theEvent); - /// Start the operation and append it to the stack of operations /// \param theOperation the started operation /// \return the state whether the current operation is started @@ -118,6 +128,14 @@ Q_OBJECT /// Slot that commits the current operation. bool onCommitOperation(); + /// Returns true if SHIFT is pressed + /// \param thePressed new boolean state + void setSHIFTPressed(const bool thePressed) { mySHIFTPressed = thePressed; } + + /// Returns true if SHIFT is pressed + /// \return boolean value + bool hasSHIFTPressed() const { return mySHIFTPressed; } + public slots: /// Slot that aborts the current operation. void onAbortOperation(); @@ -175,6 +193,11 @@ protected: // TEMPORARY /// \param theEvent the mouse event bool onKeyReleased(QObject *theObject, QKeyEvent* theEvent); + /// SLOT, that is called by the key in the property panel is clicked. + /// \param theObject a sender of the event + /// \param theEvent the mouse event + bool onKeyPressed(QObject *theObject, QKeyEvent* theEvent); + /// The functionaly, that should be done by delete click /// Fistly the active widget processes it, then workshop. If no one does not /// process it, do nothing @@ -221,6 +244,12 @@ private: /// \param theParent a candidate to be a parent static bool isChildObject(const QObject* theObject, const QObject* theParent); + /// Creates question message box with OK/Cancel buttons, where Cancel is default button, + /// Escape is Null button + /// \param theMessage text of the message + /// \return message box + static QMessageBox* createMessageBox(const QString& theMessage); + private: typedef QList Operations; ///< definition for a list of operations Operations myOperations; ///< a stack of started operations. The active operation is on top, @@ -228,8 +257,9 @@ private: /// Current workshop ModuleBase_IWorkshop* myWorkshop; - + QMessageBox* myActiveMessageBox; XGUI_ShortCutListener* myShortCutListener; + bool mySHIFTPressed; }; #endif