-// Copyright (C) 2014-2017 CEA/DEN, EDF R&D
+// Copyright (C) 2014-2019 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
-// See http://www.salome-platform.org/ or
-// email : webmaster.salome@opencascade.com<mailto:webmaster.salome@opencascade.com>
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
#include <XGUI_ActionsMgr.h>
myPanelPage->clearPage();
myActiveWidget = NULL;
emit propertyPanelDeactivated();
- myOperationMgr->workshop()->selectionActivate()->updateSelectionModes();
- myOperationMgr->workshop()->selectionActivate()->updateSelectionFilters();
+ // VSV: It seems that this code is not necessary:
+ // it is called on propertyPanelDeactivated() event
+ //myOperationMgr->workshop()->selectionActivate()->updateSelectionModes();
+ //myOperationMgr->workshop()->selectionActivate()->updateSelectionFilters();
#ifdef DEBUG_ACTIVE_WIDGET
std::cout << "myActiveWidget = NULL" << std::endl;
#endif
eachWidget->restoreValue();
}
// the repaint is used here to immediately react in GUI to the values change.
- repaint();
+ update();
}
void XGUI_PropertyPanel::createContentPanel(FeaturePtr theFeature)
/// Apply button should be update if the feature was modified by the panel
myOperationMgr->onValidateOperation();
}
- std::shared_ptr<Config_FeatureMessage> aFeatureInfo =
- myOperationMgr->workshop()->featureInfo(theFeature->getKind().c_str());
- if (aFeatureInfo.get())
- findButton(PROP_PANEL_OK_PLUS)->setVisible(aFeatureInfo->isApplyContinue());
+ updateApplyPlusButton(theFeature);
+}
+
+void XGUI_PropertyPanel::updateApplyPlusButton(FeaturePtr theFeature)
+{
+ if (theFeature.get()) {
+ std::shared_ptr<Config_FeatureMessage> aFeatureInfo =
+ myOperationMgr->workshop()->featureInfo(theFeature->getKind().c_str());
+ if (aFeatureInfo.get()) {
+ findButton(PROP_PANEL_OK_PLUS)->setVisible(aFeatureInfo->isApplyContinue());
+ return;
+ }
+ }
+ findButton(PROP_PANEL_OK_PLUS)->setVisible(false);
}
ModuleBase_ModelWidget* XGUI_PropertyPanel::activeWidget(const bool isUseCustomWidget) const
QList<ModuleBase_ModelWidget*>::const_iterator anIt = myWidgets.begin(), aLast = myWidgets.end();
bool isFoundWidget = false;
- ModuleBase_Tools::activateWindow(this, "XGUI_PropertyPanel::activateNextWidget()");
for (; anIt != aLast; anIt++) {
ModuleBase_ModelWidget* aCurrentWidget = *anIt;
if (isFoundWidget || !theWidget) {
#endif
ModuleBase_ModelWidget* aFocusMWidget = ModuleBase_ModelWidget::findModelWidget(this,
aFocusWidget);
- if (aFocusMWidget)
- aFocusMWidget->setHighlighted(false);
+ //if (aFocusMWidget)
+ // aFocusMWidget->setHighlighted(false);
QWidget* aNewFocusWidget = 0;
if (aFocusWidget) {
ModuleBase_ModelWidget* aNewFocusMWidget = ModuleBase_ModelWidget::findModelWidget(this,
aNewFocusWidget);
- if (aNewFocusMWidget)
+ if (aNewFocusMWidget) {
+ if (aFocusMWidget) {
+ aFocusMWidget->setHighlighted(false);
+ }
aNewFocusMWidget->emitFocusInWidget();
- isChangedFocus = true;
+ isChangedFocus = true;
+ }
}
return isChangedFocus;
}