X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModuleBase%2FModuleBase_OperationFeature.h;h=7fba6c45a58383c0fd959e344543b63efed36c62;hb=06e7f5859095193fc7f498bd89a7d28009794f53;hp=cdb3675fc39ed878044a875878a244b6b54e63bd;hpb=87b6a30a3afb8fb32e7e43ade8d9c947d9eb1684;p=modules%2Fshaper.git diff --git a/src/ModuleBase/ModuleBase_OperationFeature.h b/src/ModuleBase/ModuleBase_OperationFeature.h old mode 100755 new mode 100644 index cdb3675fc..7fba6c45a --- a/src/ModuleBase/ModuleBase_OperationFeature.h +++ b/src/ModuleBase/ModuleBase_OperationFeature.h @@ -1,4 +1,4 @@ -// Copyright (C) 2014-2017 CEA/DEN, EDF R&D +// Copyright (C) 2014-2023 CEA, EDF // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public @@ -12,10 +12,9 @@ // // 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 +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // -// See http://www.salome-platform.org/ or -// email : webmaster.salome@opencascade.com +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // #ifndef ModuleBase_OperationFeature_H @@ -140,6 +139,19 @@ Q_OBJECT /// \return theFeature a feature FeaturePtr previousCurrentFeature(); + /// Set whether the operation should be aborted. By default the state is false in operation + /// \param theState abort state + void setNeedToBeAborted(const bool theState) { myNeedToBeAborted = theState; } + + /// Returns valid state of the operation + /// \return custom validity state (it is almost always true) + bool isNeedToBeAborted() const { return myNeedToBeAborted; } + + /// Call this function on launch of a nested operation + /// when transaction has to be reopened on resume of main operation + /// By default transaction is not reopened on resuming + void openTransactionOnResume() { myRestartTransactionOnResume = true; } + public slots: /// Starts operation /// Public slot. Verifies whether operation can be started and starts operation. @@ -167,6 +179,9 @@ Q_OBJECT /// Hide feature/results if they were hided on start virtual void stopOperation(); + /// Virtual method called after operation resume (see resume() method for more description) + virtual void resumeOperation(); + /// Creates an operation new feature /// \param theFlushMessage the flag whether the create message should be flushed /// \returns the created feature @@ -186,6 +201,9 @@ Q_OBJECT /// Editing feature flag bool myIsEditing; + /// State used only if the operation should not be commited + bool myNeedToBeAborted; + /// List of pre-selected object QList> myPreSelection; @@ -197,6 +215,8 @@ Q_OBJECT /// Last current feature before editing operation. It is cashed when Edit operation is started /// in order to restore the document current feature on commit/abort this operation. FeaturePtr myPreviousCurrentFeature; + + bool myRestartTransactionOnResume; }; #endif