X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModuleBase%2FModuleBase_Operation.h;h=393315a84bd9cefd3b88b743eb68313833dc7e38;hb=63d86e00e1e6a482fcad527ae0b883deccceed11;hp=01a351d1ddc19ed1ea0821057c22c2e242847b7c;hpb=f0f8fbdcadad2d5d42c443e70afc6251faea1469;p=modules%2Fshaper.git diff --git a/src/ModuleBase/ModuleBase_Operation.h b/src/ModuleBase/ModuleBase_Operation.h index 01a351d1d..393315a84 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-2020 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 @@ -63,25 +73,14 @@ Q_OBJECT /// \param theList an ids void setGrantedOperationIds(const QStringList& theList); - /// Appends an operation index to be granted - /// \param theId an index - void addGrantedOperationId(const QString& theId); - - /// Removes an operation index from the granted - /// \param theId an index - void removeGrantedOperationId(const QString& theId); - /// 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; @@ -97,13 +96,29 @@ 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(); @@ -123,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(); @@ -149,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. @@ -188,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