Salome HOME
Cross cursor processing in the 'internal' edit operation.
authornds <nds@opencascade.com>
Tue, 3 Nov 2015 13:54:26 +0000 (16:54 +0300)
committernds <nds@opencascade.com>
Tue, 3 Nov 2015 13:54:26 +0000 (16:54 +0300)
src/PartSet/PartSet_SketcherMgr.cpp
src/PartSet/PartSet_SketcherReetntrantMgr.cpp
src/PartSet/PartSet_SketcherReetntrantMgr.h

index fb0d9bb39c85a34bd4fe89e0668a2c0ddffb8967..601ca33370086a0415703f9ce82b3efdcae1d98f 100755 (executable)
@@ -924,7 +924,7 @@ void PartSet_SketcherMgr::stopNestedSketch(ModuleBase_Operation* theOp)
 {
   myIsMouseOverViewProcessed = true;
   operationMgr()->onValidateOperation();
-  if (isNestedCreateOperation(theOp))
+  if (isNestedCreateOperation(theOp) || myModule->sketchReentranceMgr()->isInternalEditActive())
     QApplication::restoreOverrideCursor();
 }
 
index 61284fd7bae77ad7a9ce427af361fc9f78bc53d7..0bb3ce4de22e07e6fe1f020a7444a7d004e82029 100755 (executable)
@@ -53,6 +53,11 @@ ModuleBase_ModelWidget* PartSet_SketcherReetntrantMgr::internalActiveWidget() co
   return aWidget;
 }
 
+bool PartSet_SketcherReetntrantMgr::isInternalEditActive() const
+{
+  return myIsInternalEditOperation;
+}
+
 bool PartSet_SketcherReetntrantMgr::operationCommitted(ModuleBase_Operation* theOperation)
 {
   bool aProcessed = false;
index 156de40d9c85cc14e1a2185c2ca3e70d5af8a369..c43796693b075b6322e3bbe44ff1c8963127cd8d 100755 (executable)
@@ -51,6 +51,9 @@ public:
   /// or return null. If the current widget of the operation is a viewer selector, it returns null.
   ModuleBase_ModelWidget* internalActiveWidget() const;
 
+  /// Return true if the current edit operation is an internal
+  bool isInternalEditActive() const;
+
   /// if the internal flags allow it and the manager is active, it starts an internal edit operation
   /// for the created operation.
   /// \param thePreviousAttributeID an index of the previous active attribute