return aSelected;
}
-//********************************************************************
-void ModuleBase_WidgetShapeSelector::clearAttribute()
-{
- // In order to make reselection possible, set empty object and shape should be done
- setObject(ObjectPtr(), std::shared_ptr<GeomAPI_Shape>(new GeomAPI_Shape()));
-}
-
//********************************************************************
bool ModuleBase_WidgetShapeSelector::restoreValueCustom()
{
if (aType == ModelAPI_AttributeReference::typeId()) {
} else if (aType == ModelAPI_AttributeRefAttr::typeId()) {
AttributeRefAttrPtr aRefAttr = aData->refattr(attributeID());
- aShape = myWorkshop->module()->findShape(aRefAttr);
+ if (aRefAttr.get() && !aRefAttr->isObject()) {
+ AttributePtr anAttribute = aRefAttr->attr();
+ aShape = myWorkshop->module()->findShape(anAttribute);
+ }
} else if (aType == ModelAPI_AttributeSelection::typeId()) {
AttributeSelectionPtr aSelectAttr = aData->selection(attributeID());
aShape = aSelectAttr->value();
AttributeRefAttrPtr aRefAttr = aData->refattr(attributeID());
if (aRefAttr && aRefAttr->attr().get() != NULL) {
//myIsObject = aRefAttr->isObject();
- std::string anAttrName = generateName(aRefAttr->attr());
+ std::string anAttrName = generateName(aRefAttr->attr(), myWorkshop);
myTextLine->setText(QString::fromStdString(anAttrName));
}
else {