PD: add SelectionFilterGate to filter dependents, fix mirror taskview

This commit is contained in:
Sergo
2016-10-11 20:58:27 -04:00
committed by wmayer
parent f880202fe6
commit e1a50ca414
5 changed files with 35 additions and 22 deletions

View File

@@ -184,23 +184,18 @@ void TaskMirroredParameters::onSelectionChanged(const Gui::SelectionChanges& msg
removeItemFromListWidget(ui->listWidgetFeatures, msg.pObjectName);
exitSelectionMode();
} else {
// TODO checkme (2015-09-01, Fat-Zer)
exitSelectionMode();
std::vector<std::string> mirrorPlanes;
App::DocumentObject* selObj;
PartDesign::Mirrored* pcMirrored = static_cast<PartDesign::Mirrored*>(getObject());
getReferencedSelection(pcMirrored, msg, selObj, mirrorPlanes);
if(!selObj)
return;
// Note: ReferenceSelection has already checked the selection for validity
if ( selectionMode == reference ||
selObj->isDerivedFrom ( App::Plane::getClassTypeId () ) ||
selObj->isDerivedFrom(PartDesign::Plane::getClassTypeId())) {
if ( selectionMode == reference) {
std::vector<std::string> mirrorPlanes;
App::DocumentObject* selObj;
PartDesign::Mirrored* pcMirrored = static_cast<PartDesign::Mirrored*>(getObject());
getReferencedSelection(pcMirrored, msg, selObj, mirrorPlanes);
if (!selObj)
return;
pcMirrored->MirrorPlane.setValue(selObj, mirrorPlanes);
recomputeFeature();
updateUI();
}
exitSelectionMode();
}
}
}