X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModuleBase%2FModuleBase_Operation.h;h=5f8b722ac87998251470da26686cb3ee685626fd;hb=1fd15bed1c62f994a3438bc4a12f44d0361f98c9;hp=12e5ddb86a91ef2d4f581da500541337fb292c53;hpb=8c56aa1d9ce74e35df11472ab3542f6653a5ba51;p=modules%2Fshaper.git diff --git a/src/ModuleBase/ModuleBase_Operation.h b/src/ModuleBase/ModuleBase_Operation.h index 12e5ddb86..5f8b722ac 100644 --- a/src/ModuleBase/ModuleBase_Operation.h +++ b/src/ModuleBase/ModuleBase_Operation.h @@ -1,11 +1,21 @@ -// Copyright (C) 2014-20xx CEA/DEN, EDF R&D - -/* - * ModuleBase_Operation.h - * - * Created on: Apr 2, 2014 - * Author: sbh - */ +// Copyright (C) 2014-2021 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 ModuleBase_Operation_H #define ModuleBase_Operation_H @@ -64,16 +74,13 @@ Q_OBJECT void setGrantedOperationIds(const QStringList& theList); /// Must return true if this operation can be launched as nested for any current operation - /// and it is not necessary to check this operation on validity. By default + /// and it is not necessary to check this operation on validity. By default /// the operation is not granted. /// The method has to be redefined for granted operations. virtual bool isGranted(QString theId) const; /// Returns True if data of its feature was modified during operation - virtual bool isModified() const { return myIsModified; } - - /// Change the modified state of the operation - void setIsModified(const bool theIsModified) { myIsModified = theIsModified; } + virtual bool isModified() const; /// Returns operations Id from it's description QString id() const; @@ -89,17 +96,30 @@ Q_OBJECT /// \return Currently installed property panel ModuleBase_IPropertyPanel* propertyPanel() const { return myPropertyPanel; } + QString helpFileName() const { return myHelpFileName; } + + void setHelpFileName(QString theName) { + myHelpFileName = theName; + } + + void setHideFacesVisible(bool isVisible) { myHideFacesVisibilityState = isVisible; } + + bool isHideFacesVisible() const { return myHideFacesVisibilityState; } + signals: /// The operation is started void beforeStarted(); + /// The operation is started void started(); /// The operation is aborted void beforeAborted(); + /// The operation is aborted void aborted(); /// The operation is committed void beforeCommitted(); + /// The operation is committed void committed(); /// The operation is aborted or committed @@ -118,7 +138,8 @@ signals: /// to change behavior of operation. There is no point in using this method. It would /// be better to inherit own operator from base one and redefine startOperation method /// instead. - virtual void start(); + /// \return true if the start is successful + virtual bool start(); /// Deactivates current operation which can be resumed later. virtual void postpone(); @@ -144,6 +165,10 @@ signals: /// Changes the modified flag of the operation void onValuesChanged(); + /// Changes the modified flag of the operation if the current state of the widget is modified + /// \param thePreviousState the previous vlaue state of the widget + void onValueStateChanged(int thePreviousState); + protected: /// Virtual method called when operation started (see start() method for more description) /// Default impl calls corresponding slot and commits immediately. @@ -183,6 +208,11 @@ private: /// Access to property panel ModuleBase_IPropertyPanel* myPropertyPanel; + + QString myHelpFileName; + + /// Visibility state of HideFaces panel before the operation launch + bool myHideFacesVisibilityState; }; #endif