From c751eefc00b9bd091f68c27e8613cf09d14bc72a Mon Sep 17 00:00:00 2001 From: jrheinlaender Date: Thu, 16 May 2013 18:09:42 +0430 Subject: [PATCH] Miscellaneous fixes --- src/Mod/PartDesign/Gui/Command.cpp | 8 +++++++- src/Mod/PartDesign/Gui/TaskLinearPatternParameters.cpp | 1 + src/Mod/PartDesign/Gui/TaskMirroredParameters.cpp | 3 ++- src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp | 1 + 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/Mod/PartDesign/Gui/Command.cpp b/src/Mod/PartDesign/Gui/Command.cpp index bc8d339ea..2ec6fb6b3 100644 --- a/src/Mod/PartDesign/Gui/Command.cpp +++ b/src/Mod/PartDesign/Gui/Command.cpp @@ -1049,6 +1049,12 @@ void makeChamferOrFillet(Gui::Command* cmd, const std::string& which) Part::Feature *base = static_cast(selection[0].getObject()); + if (base != pcActiveBody->getPrevSolidFeature(NULL, true)) { + QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Wrong base feature"), + QObject::tr("Only the current Tip of the active Body can be selected as the base feature")); + return; + } + const Part::TopoShape& TopShape = base->Shape.getShape(); if (TopShape._Shape.IsNull()){ QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Wrong selection"), @@ -1244,7 +1250,7 @@ void CmdPartDesignDraft::activated(int iMsg) Part::Feature *base = static_cast(selection[0].getObject()); - if (base != pcActiveBody->Tip.getValue()) { + if (base != pcActiveBody->getPrevSolidFeature(NULL, true)) { QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Wrong base feature"), QObject::tr("Only the current Tip of the active Body can be selected as the base feature")); return; diff --git a/src/Mod/PartDesign/Gui/TaskLinearPatternParameters.cpp b/src/Mod/PartDesign/Gui/TaskLinearPatternParameters.cpp index c84f86559..6c1bcffaf 100644 --- a/src/Mod/PartDesign/Gui/TaskLinearPatternParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskLinearPatternParameters.cpp @@ -32,6 +32,7 @@ #include "TaskLinearPatternParameters.h" #include "TaskMultiTransformParameters.h" #include "Workbench.h" +#include "ReferenceSelection.h" #include #include #include diff --git a/src/Mod/PartDesign/Gui/TaskMirroredParameters.cpp b/src/Mod/PartDesign/Gui/TaskMirroredParameters.cpp index a1da16396..1c761560f 100644 --- a/src/Mod/PartDesign/Gui/TaskMirroredParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskMirroredParameters.cpp @@ -31,6 +31,7 @@ #include "TaskMirroredParameters.h" #include "TaskMultiTransformParameters.h" #include "Workbench.h" +#include "ReferenceSelection.h" #include #include #include @@ -366,7 +367,7 @@ bool TaskDlgMirroredParameters::accept() std::vector mirrorPlanes; App::DocumentObject* obj; mirrorParameter->getMirrorPlane(obj, mirrorPlanes); - std::string mirrorPlane = mirrorParameter->getPythonStr(obj, mirrorPlanes); + std::string mirrorPlane = getPythonStr(obj, mirrorPlanes); if (!mirrorPlane.empty()) { Gui::Command::doCommand(Gui::Command::Doc,"App.ActiveDocument.%s.MirrorPlane = %s", name.c_str(), mirrorPlane.c_str()); } else diff --git a/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp b/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp index 967fb4567..eb3014a9a 100644 --- a/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp @@ -32,6 +32,7 @@ #include "TaskPolarPatternParameters.h" #include "TaskMultiTransformParameters.h" #include "Workbench.h" +#include "ReferenceSelection.h" #include #include #include