]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
mpv & nds stabilization hotfixes
authordbv <dbv@opencascade.com>
Thu, 28 May 2015 17:02:09 +0000 (20:02 +0300)
committerdbv <dbv@opencascade.com>
Thu, 28 May 2015 18:08:13 +0000 (21:08 +0300)
src/Model/Model_Objects.cpp
src/ModuleBase/ModuleBase_ModelWidget.h
src/ModuleBase/ModuleBase_Operation.cpp
src/ModuleBase/ModuleBase_Operation.h
src/ModuleBase/ModuleBase_WidgetMultiSelector.cpp
src/ModuleBase/ModuleBase_WidgetMultiSelector.h

index deadfd2a3c8b686c80147f0f0517e5de4135251f..54033a49b0e8c519d48f41d548692550fe8c5934 100644 (file)
@@ -340,6 +340,9 @@ ObjectPtr Model_Objects::object(TDF_Label theLabel)
 ObjectPtr Model_Objects::object(const std::string& theGroupID, const int theIndex)
 {
   createHistory(theGroupID);
+  //TODO: mpv stabilization hotfix
+  if (myHistory[theGroupID].size() <= theIndex)
+    return ObjectPtr();
   return myHistory[theGroupID][theIndex];
 }
 
index 81196b2cc027b6bb2d7d446a6bf0611654c4407c..615fdb152a3bb2432bc665072668da6b6b97c346 100644 (file)
@@ -43,6 +43,9 @@ Q_OBJECT
   {
   }
 
+  //TODO: nds stabilization hotfix
+  virtual void disconnectSignals() {};
+
   /// Fills the widget with default values
   virtual void reset() {};
 
index fea325f68222c0418ea7e2d9b377d802e37a7387..e34df2950fba4f7d285c061db17a5ff03d1eed34 100644 (file)
@@ -242,6 +242,17 @@ void ModuleBase_Operation::setRunning(bool theState)
   emit triggered(theState);
 }
 
+//TODO: nds stabilization hotfix
+void ModuleBase_Operation::commitOperation()
+{
+  if(!myPropertyPanel) {
+    return;
+  }
+  ModuleBase_ModelWidget* aWidget = myPropertyPanel->activeWidget();
+  if (aWidget)
+    aWidget->disconnectSignals();
+}
+
 void ModuleBase_Operation::activateByPreselection()
 {
   if (!myPropertyPanel || myPreSelection.empty()) {
index 97e742eae9d3e346154ac63feb2c6043ab196486..c20391185f3ca203baf9b33025696a415dcabcef 100644 (file)
@@ -206,7 +206,7 @@ signals:
   virtual void abortOperation() {}
 
   /// Virtual method called when operation committed (see commit() method for more description)
-  virtual void commitOperation() {}
+  virtual void commitOperation();
 
   /// Virtual method called after operation committed (see commit() method for more description)
   virtual void afterCommitOperation() {}
index ff8d200a09b138a54c8f0701a963fe927faade28..45b7a205369407e674ac229c9a2fcbc3e5a3667c 100644 (file)
@@ -106,6 +106,12 @@ ModuleBase_WidgetMultiSelector::~ModuleBase_WidgetMultiSelector()
   delete myShapeValidator;
 }
 
+//TODO: nds stabilization hotfix
+void ModuleBase_WidgetMultiSelector::disconnectSignals()
+{
+  disconnect(myWorkshop, SIGNAL(selectionChanged()), this, SLOT(onSelectionChanged()));
+}
+
 //********************************************************************
 void ModuleBase_WidgetMultiSelector::activateCustom()
 {
index 1670af098406575f8cf8a34756c964f865fc40c8..42ca970a5214d7d473341a26a5c53193170b26ab 100644 (file)
@@ -63,6 +63,9 @@ class MODULEBASE_EXPORT ModuleBase_WidgetMultiSelector : public ModuleBase_Widge
                                  const std::string& theParentId);
   virtual ~ModuleBase_WidgetMultiSelector();
 
+  //TODO: nds stabilization hotfix
+  virtual void disconnectSignals();
+
   virtual bool restoreValue();
 
   /// Returns list of widget controls