X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModuleBase%2FModuleBase_Operation.cpp;h=b4f4a38b05296e9a20a94d30cabc41198ee4a188;hb=c4eab94a20a0d93100549a210582d46409fec1cc;hp=8b19dcd8270b9c0a57a0f5f1826ba605c911b774;hpb=868158fe6d39b25e60ac528295b1c908821e4af5;p=modules%2Fshaper.git diff --git a/src/ModuleBase/ModuleBase_Operation.cpp b/src/ModuleBase/ModuleBase_Operation.cpp index 8b19dcd82..b4f4a38b0 100644 --- a/src/ModuleBase/ModuleBase_Operation.cpp +++ b/src/ModuleBase/ModuleBase_Operation.cpp @@ -1,11 +1,21 @@ -// Copyright (C) 2014-20xx CEA/DEN, EDF R&D - -/* - * ModuleBase_Operation.cpp - * - * Created on: Apr 2, 2014 - * Author: sbh - */ +// 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 +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// 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 +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// #include "ModuleBase_Operation.h" @@ -122,6 +132,10 @@ void ModuleBase_Operation::abort() bool ModuleBase_Operation::commit() { if (canBeCommitted()) { + ModuleBase_IPropertyPanel* aPanel = propertyPanel(); + if (aPanel) + aPanel->onAcceptData(); + SessionPtr aMgr = ModelAPI_Session::get(); commitOperation(); @@ -142,9 +156,20 @@ void ModuleBase_Operation::onValuesChanged() myIsModified = true; } -void ModuleBase_Operation::setPropertyPanel(ModuleBase_IPropertyPanel* theProp) -{ - myPropertyPanel = theProp; +void ModuleBase_Operation::onValueStateChanged(int thePreviousState) +{ + if (propertyPanel()) { + ModuleBase_ModelWidget* aWidget = propertyPanel()->activeWidget(); + if (aWidget) { + if (aWidget->getValueState() == ModuleBase_ModelWidget::ModifiedInPP) + myIsModified = true; + } + } +} + +void ModuleBase_Operation::setPropertyPanel(ModuleBase_IPropertyPanel* theProp) +{ + myPropertyPanel = theProp; } bool ModuleBase_Operation::isGranted(QString theId) const