From cdf437445c6533061ac5423c9e02c405704d2b9d Mon Sep 17 00:00:00 2001 From: Sergo Date: Tue, 4 Oct 2016 23:45:42 -0400 Subject: [PATCH] PD: fix #0002582 --- .../PartDesign/Gui/TaskMirroredParameters.cpp | 3 +++ .../Gui/TaskPolarPatternParameters.cpp | 26 +++++++++---------- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/src/Mod/PartDesign/Gui/TaskMirroredParameters.cpp b/src/Mod/PartDesign/Gui/TaskMirroredParameters.cpp index 9eb464b2f5ac..43e3c72ed64c 100644 --- a/src/Mod/PartDesign/Gui/TaskMirroredParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskMirroredParameters.cpp @@ -136,6 +136,9 @@ void TaskMirroredParameters::setupUI() if (sketch && sketch->isDerivedFrom(Part::Part2DObject::getClassTypeId())) { this->fillPlanesCombo(planeLinks,static_cast(sketch)); } + else { + this->fillPlanesCombo(planeLinks, NULL); + } //show the parts coordinate system planes for selection PartDesign::Body * body = PartDesign::Body::findBodyOf ( getObject() ); diff --git a/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp b/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp index 3982963cd86e..19f7d68ba3ba 100644 --- a/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp @@ -156,6 +156,9 @@ void TaskPolarPatternParameters::setupUI() if (sketch && sketch->isDerivedFrom(Part::Part2DObject::getClassTypeId())) { this->fillAxisCombo(axesLinks, static_cast(sketch)); } + else { + this->fillAxisCombo(axesLinks, NULL); + } //show the parts coordinate system axis for selection PartDesign::Body * body = PartDesign::Body::findBodyOf ( getObject() ); @@ -214,7 +217,7 @@ void TaskPolarPatternParameters::kickUpdateViewTimer() const void TaskPolarPatternParameters::onSelectionChanged(const Gui::SelectionChanges& msg) { if (msg.Type == Gui::SelectionChanges::AddSelection) { - + if (originalSelected(msg)) { if (selectionMode == addFeature) ui->listWidgetFeatures->addItem(QString::fromLatin1(msg.pObjectName)); @@ -222,23 +225,18 @@ void TaskPolarPatternParameters::onSelectionChanged(const Gui::SelectionChanges& removeItemFromListWidget(ui->listWidgetFeatures, msg.pObjectName); exitSelectionMode(); } else { - // TODO checkme (2015-09-01, Fat-Zer) - exitSelectionMode(); - std::vector axes; - App::DocumentObject* selObj; - PartDesign::PolarPattern* pcPolarPattern = static_cast(getObject()); - getReferencedSelection(pcPolarPattern, msg, selObj, axes); - if(!selObj) - return; - // Note: ReferenceSelection has already checked the selection for validity - if ( selectionMode == reference || - selObj->isDerivedFrom ( App::Line::getClassTypeId () ) || - selObj->isDerivedFrom(PartDesign::Line::getClassTypeId()) ) { + if (selectionMode == reference) { + std::vector axes; + App::DocumentObject* selObj; + PartDesign::PolarPattern* pcPolarPattern = static_cast(getObject()); + getReferencedSelection(pcPolarPattern, msg, selObj, axes); + if(!selObj) + return; pcPolarPattern->Axis.setValue(selObj, axes); - recomputeFeature(); updateUI(); } + exitSelectionMode(); } } }