]> SALOME platform Git repositories - modules/shaper.git/blobdiff - src/XGUI/XGUI_ModuleConnector.cpp
Salome HOME
Arc problems fixing: 1. reentrant of the tangent arc should not fill center point...
[modules/shaper.git] / src / XGUI / XGUI_ModuleConnector.cpp
index a01004ceb41005c4510a3e6e377d91de86a5a3dc..6312c827b50f478fd629da33c72f858007957e6e 100644 (file)
@@ -16,6 +16,7 @@
 
 #include <ModuleBase_IModule.h>
 #include <ModuleBase_ViewerPrs.h>
+#include <ModuleBase_OperationDescription.h>
 
 #include <AIS_Shape.hxx>
 
@@ -129,6 +130,26 @@ bool XGUI_ModuleConnector::canStartOperation(QString theId)
   return myWorkshop->operationMgr()->canStartOperation(theId);
 }
 
+void XGUI_ModuleConnector::processLaunchOperation(ModuleBase_Operation* theOperation,
+                                                  const bool isUpdatePropertyPanel)
+{
+  XGUI_OperationMgr* anOperationMgr = workshop()->operationMgr();
+
+  if (anOperationMgr->startOperation(theOperation)) {
+    if (isUpdatePropertyPanel) {
+      ModuleBase_OperationFeature* aFOperation = dynamic_cast<ModuleBase_OperationFeature*>(theOperation);
+      if (aFOperation) {
+        workshop()->propertyPanel()->updateContentWidget(aFOperation->feature());
+        workshop()->propertyPanel()->createContentPanel(aFOperation->feature());
+      }
+    }
+    if (!theOperation->getDescription()->hasXmlRepresentation()) {
+      if (theOperation->commit())
+        workshop()->updateCommandStatus();
+    }
+  }
+}
+
 ModuleBase_Operation* XGUI_ModuleConnector::findStartedOperation(const QString& theId)
 {
   return myWorkshop->operationMgr()->findOperation(theId);