PartDesign: add/remove features to list view in linear pattern panel

This commit is contained in:
wmayer
2020-02-15 15:55:11 +01:00
parent 5dcf6e086e
commit fe103a482f
4 changed files with 42 additions and 6 deletions

View File

@@ -116,6 +116,14 @@ int TaskTransformedParameters::getUpdateViewTimeout() const
return 500;
}
void TaskTransformedParameters::addObject(App::DocumentObject*)
{
}
void TaskTransformedParameters::removeObject(App::DocumentObject*)
{
}
bool TaskTransformedParameters::originalSelected(const Gui::SelectionChanges& msg)
{
if (msg.Type == Gui::SelectionChanges::AddSelection && (
@@ -132,15 +140,21 @@ bool TaskTransformedParameters::originalSelected(const Gui::SelectionChanges& ms
std::vector<App::DocumentObject*> originals = pcTransformed->Originals.getValues();
std::vector<App::DocumentObject*>::iterator o = std::find(originals.begin(), originals.end(), selectedObject);
if (selectionMode == addFeature) {
if (o == originals.end())
if (o == originals.end()) {
originals.push_back(selectedObject);
else
addObject(selectedObject);
}
else {
return false; // duplicate selection
}
} else {
if (o != originals.end())
if (o != originals.end()) {
originals.erase(o);
else
removeObject(selectedObject);
}
else {
return false;
}
}
setupTransaction();
pcTransformed->Originals.setValues(originals);