Salome HOME
Merge branch 'Dev_0.7.1' of newgeom:newgeom into Dev_0.7.1
[modules/shaper.git] / src / XGUI / XGUI_PropertyPanel.cpp
index 864dad1feb4893b05392f00c754c50b7ef9a6a29..fc337bc6305a1a2e9cd2753613db5b6a427ef3f4 100644 (file)
@@ -140,6 +140,8 @@ QWidget* XGUI_PropertyPanel::contentWidget()
 void XGUI_PropertyPanel::updateContentWidget(FeaturePtr theFeature)
 {
   // Invalid feature case on abort of the operation
+  if (theFeature.get() == NULL)
+    return;
   if(!theFeature->data())
     return;
   foreach(ModuleBase_ModelWidget* eachWidget, myWidgets)
@@ -199,7 +201,7 @@ void XGUI_PropertyPanel::activateNextWidget()
 void XGUI_PropertyPanel::setAcceptEnabled(bool isEnabled)
 {
   QPushButton* anOkBtn = findChild<QPushButton*>(PROP_PANEL_OK);
-  anOkBtn->setEnabled(true);//isEnabled);
+  anOkBtn->setEnabled(isEnabled);
 }
 
 void XGUI_PropertyPanel::activateWidget(ModuleBase_ModelWidget* theWidget)
@@ -212,6 +214,8 @@ void XGUI_PropertyPanel::activateWidget(ModuleBase_ModelWidget* theWidget)
     myActiveWidget->setHighlighted(false);
   }
   if(theWidget) {
+    if (theWidget)
+      emit beforeWidgetActivated(theWidget);
     theWidget->activate();
     theWidget->setHighlighted(true);
   }
@@ -225,7 +229,7 @@ void XGUI_PropertyPanel::activateWidget(ModuleBase_ModelWidget* theWidget)
 void XGUI_PropertyPanel::setOkEnabled(bool theEnabled)
 {
   QPushButton* anOkBtn = findChild<QPushButton*>(PROP_PANEL_OK);
-  anOkBtn->setEnabled(true);//theEnabled);
+  anOkBtn->setEnabled(theEnabled);
 }
 
 bool XGUI_PropertyPanel::isOkEnabled() const
@@ -246,4 +250,10 @@ bool XGUI_PropertyPanel::isCancelEnabled() const
   return anCancelBtn->isEnabled();
 }
 
-
+void XGUI_PropertyPanel::setEditingMode(bool isEditing)
+{
+  ModuleBase_IPropertyPanel::setEditingMode(isEditing);
+  foreach(ModuleBase_ModelWidget* aWgt, myWidgets) {
+    aWgt->setEditingMode(isEditing);
+  }
+}