X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModuleBase%2FModuleBase_WidgetFeature.cpp;h=faf664fe53e9d48180ac7323988e5be4e256808f;hb=9585dccdd4d56657ced8ef9b25797979ea237f76;hp=dd8fb94939dd3f49750f586aafa3c0858f6ca224;hpb=cd9217d7e87997ec8bc150a6d8c389e742ca0f84;p=modules%2Fshaper.git diff --git a/src/ModuleBase/ModuleBase_WidgetFeature.cpp b/src/ModuleBase/ModuleBase_WidgetFeature.cpp index dd8fb9493..faf664fe5 100644 --- a/src/ModuleBase/ModuleBase_WidgetFeature.cpp +++ b/src/ModuleBase/ModuleBase_WidgetFeature.cpp @@ -6,6 +6,7 @@ #include #include +#include #include #include @@ -19,7 +20,8 @@ #include #include #include -#include +#include +#include #include #include @@ -33,7 +35,7 @@ ModuleBase_WidgetFeature::ModuleBase_WidgetFeature(QWidget* theParent, { myContainer = new QWidget(theParent); QHBoxLayout* aControlLay = new QHBoxLayout(myContainer); - aControlLay->setContentsMargins(0, 0, 0, 0); + ModuleBase_Tools::adjustMargins(aControlLay); QString aLabelText = QString::fromStdString(theData->widgetLabel()); myLabel = new QLabel(aLabelText, myContainer); @@ -47,7 +49,6 @@ ModuleBase_WidgetFeature::ModuleBase_WidgetFeature(QWidget* theParent, QString aTTip = QString::fromStdString(theData->widgetTooltip()); myEditor->setToolTip(aTTip); - aControlLay->addWidget(myEditor); aControlLay->setStretch(1, 1); } @@ -71,7 +72,7 @@ bool ModuleBase_WidgetFeature::setValue(ModuleBase_WidgetValue* theValue) bool ModuleBase_WidgetFeature::setObject(const ObjectPtr& theObject, bool theSendEvent) { - PluginManagerPtr aMgr = ModelAPI_PluginManager::get(); + SessionPtr aMgr = ModelAPI_Session::get(); ModelAPI_ValidatorsFactory* aFactory = aMgr->validators(); std::list aValidators; std::list > anArguments; @@ -98,8 +99,8 @@ bool ModuleBase_WidgetFeature::setObject(const ObjectPtr& theObject, bool theSen aValidator = aValidators.begin(); std::list >::iterator aArgs = anArguments.begin(); for (; aValidator != aValidators.end(); aValidator++, aArgs++) { - const ModelAPI_AttributeValidator* aAttrValidator = - dynamic_cast(*aValidator); + const ModelAPI_RefAttrValidator* aAttrValidator = + dynamic_cast(*aValidator); if (aAttrValidator) { if (!aAttrValidator->isValid(myFeature, *aArgs, theObject)) { return false; @@ -117,8 +118,9 @@ bool ModuleBase_WidgetFeature::setObject(const ObjectPtr& theObject, bool theSen bool ModuleBase_WidgetFeature::storeValue() const { //FeaturePtr aFeature = boost::dynamic_pointer_cast(theObject); - //if (!aFeature) - // return false; + if (!myObject) + return false; + boost::shared_ptr aData = myFeature->data(); boost::shared_ptr aRef = boost::dynamic_pointer_cast< ModelAPI_AttributeRefAttr>(aData->attribute(attributeID())); @@ -136,10 +138,9 @@ bool ModuleBase_WidgetFeature::restoreValue() boost::shared_ptr aRef = boost::dynamic_pointer_cast< ModelAPI_AttributeRefAttr>(aData->attribute(attributeID())); - ObjectPtr aObj = aRef->object(); - FeaturePtr aFeature = boost::dynamic_pointer_cast(aRef->object()); - if (aFeature) { - myObject = aFeature; + ObjectPtr anObjPtr = aRef->object(); + if (anObjPtr) { + myObject = anObjPtr; myEditor->setText(myObject ? myObject->data()->name().c_str() : ""); return true; }