]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Do not change history in ObjectBrowser if an operation is opened
authorvsv <vitaly.smetannikov@opencascade.com>
Tue, 25 Aug 2015 09:28:07 +0000 (12:28 +0300)
committervsv <vitaly.smetannikov@opencascade.com>
Tue, 25 Aug 2015 09:28:18 +0000 (12:28 +0300)
src/XGUI/XGUI_DataModel.cpp
src/XGUI/XGUI_ObjectsBrowser.cpp

index 2f0672cfed88af78786113cd44f436d56ca9dd69..344b4bfc3db37a3ae58d7686fc1c2129a6c68472 100644 (file)
@@ -644,6 +644,9 @@ Qt::ItemFlags XGUI_DataModel::flags(const QModelIndex& theIndex) const
       aObj = (ModelAPI_Object*) theIndex.internalPointer();
   }
   if (aObj) {
+    if (aObj->isDisabled())
+      return Qt::ItemFlags();
+
     bool isCompositeSub = false;
     if (theIndex.column() == 1) {
       ObjectPtr aObjPtr = aObj->data()->owner();
@@ -664,12 +667,9 @@ Qt::ItemFlags XGUI_DataModel::flags(const QModelIndex& theIndex) const
     // An object which is sub-object of a composite object can not be accessible in column 1
     if (isCompositeSub)
       return Qt::ItemFlags();
+  }
 
-    aFlags |= Qt::ItemIsEditable;
-    if (!aObj->isDisabled())
-      aFlags |= Qt::ItemIsEnabled;
-  } else
-    aFlags |= Qt::ItemIsEnabled;
+  aFlags |= Qt::ItemIsEnabled;
   return aFlags;
 }
 
index 4846e2237b2d4d5b6aa31f011880f9dc28bcda5a..9a28b329208c5d66bc7ec04585e7a938791c164a 100644 (file)
@@ -130,12 +130,15 @@ void XGUI_DataTree::onDoubleClick(const QModelIndex& theIndex)
 {
   if (theIndex.column() != 1)
     return;
+  SessionPtr aMgr = ModelAPI_Session::get();
+  // When operation is opened then we can not change history
+  if (aMgr->isOperation())
+    return;
   ModuleBase_IDocumentDataModel* aModel = dataModel();
   if (aModel->flags(theIndex) == 0)
     return;
   ObjectPtr aObj = aModel->object(theIndex);
 
-  SessionPtr aMgr = ModelAPI_Session::get();
   DocumentPtr aDoc = aMgr->activeDocument();
   
   QModelIndex aOldIndex = aModel->lastHistoryIndex();