+// 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<mailto:webmaster.salome@opencascade.com>
+//
+
// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
#ifndef ModuleBase_IModule_H
/// Remove default selection filters of the module from the current viewer
virtual void deactivateSelectionFilters() {}
+ /// Update selection filters depending on the module active controls
+ virtual void updateActiveSelectionFilters() {}
+
/// Stores the current selection
virtual void storeSelection() {}
/// Creates an operation and send it to loop
/// \param theCmdId the operation name
- virtual void launchOperation(const QString& theCmdId);
+ /// \param isStartAfterCommitOnly operation is launched if there is no active operation or
+ /// it is committed
+ virtual void launchOperation(const QString& theCmdId,
+ const bool& isStartAfterCommitOnly);
/// Executes feature as a modal dialog box
/// \param theCmdId the operation name
/// \param theObject a model object
virtual bool canDisplayObject(const ObjectPtr& theObject) const;
+ /// Returns whether the started operation may use preselection of the previous one
+ /// Cases are: previous operation is null, edit operation, previuos and started operations
+ /// kinds are the same
+ /// \param thePreviousOperationKind a kind of previous operation
+ /// \param theStartedOperationKind a kind of a started operation
+ virtual bool canUsePreselection(const QString& thePreviousOperationKind,
+ const QString& theStartedOperationKind);
+
/// Make some functionality after the objects are hidden in viewer
/// \param theObjects a list of hidden objects
//virtual void processHiddenObject(const std::list<ObjectPtr>& theObjects) {};
std::string& theDescription);
signals:
- /// Signal which is emitted when operation is launched
- void operationLaunched();
-
/// Segnal emitted when an operation is resumed
/// \param theOp a resumed operation
void resumed(ModuleBase_Operation* theOp);