From 2c31b01ffeb1cabe4aa4d9debfbbbd7e330f746b Mon Sep 17 00:00:00 2001 From: WandererFan Date: Sun, 5 Feb 2017 20:26:22 -0500 Subject: [PATCH] Fix 2889 Toggle Frames for DrawViewSymbol --- src/Mod/TechDraw/Gui/CommandDecorate.cpp | 2 +- src/Mod/TechDraw/Gui/DrawGuiUtil.cpp | 18 +++++++++++++----- src/Mod/TechDraw/Gui/DrawGuiUtil.h | 2 +- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/src/Mod/TechDraw/Gui/CommandDecorate.cpp b/src/Mod/TechDraw/Gui/CommandDecorate.cpp index 2b38bdc87..072ec006d 100644 --- a/src/Mod/TechDraw/Gui/CommandDecorate.cpp +++ b/src/Mod/TechDraw/Gui/CommandDecorate.cpp @@ -291,7 +291,7 @@ void CmdTechDrawToggleFrame::activated(int iMsg) bool CmdTechDrawToggleFrame::isActive(void) { bool havePage = DrawGuiUtil::needPage(this); - bool haveView = DrawGuiUtil::needView(this); + bool haveView = DrawGuiUtil::needView(this,false); return (havePage && haveView); } diff --git a/src/Mod/TechDraw/Gui/DrawGuiUtil.cpp b/src/Mod/TechDraw/Gui/DrawGuiUtil.cpp index 0e42243b7..57b3e4fb3 100644 --- a/src/Mod/TechDraw/Gui/DrawGuiUtil.cpp +++ b/src/Mod/TechDraw/Gui/DrawGuiUtil.cpp @@ -121,14 +121,22 @@ bool DrawGuiUtil::needPage(Gui::Command* cmd) return active; } -bool DrawGuiUtil::needView(Gui::Command* cmd) +bool DrawGuiUtil::needView(Gui::Command* cmd, bool partOnly) { bool haveView = false; if (cmd->hasActiveDocument()) { - auto drawPartType (TechDraw::DrawViewPart::getClassTypeId()); - auto selParts = cmd->getDocument()->getObjectsOfType(drawPartType); - if (!selParts.empty()) { - haveView = true; + if (partOnly) { + auto drawPartType (TechDraw::DrawViewPart::getClassTypeId()); + auto selParts = cmd->getDocument()->getObjectsOfType(drawPartType); + if (!selParts.empty()) { + haveView = true; + } + } else { + auto drawViewType (TechDraw::DrawView::getClassTypeId()); + auto selParts = cmd->getDocument()->getObjectsOfType(drawViewType); + if (!selParts.empty()) { + haveView = true; + } } } return haveView; diff --git a/src/Mod/TechDraw/Gui/DrawGuiUtil.h b/src/Mod/TechDraw/Gui/DrawGuiUtil.h index 0f6df6553..d11bc4303 100644 --- a/src/Mod/TechDraw/Gui/DrawGuiUtil.h +++ b/src/Mod/TechDraw/Gui/DrawGuiUtil.h @@ -33,7 +33,7 @@ class TechDrawGuiExport DrawGuiUtil { public: static TechDraw::DrawPage* findPage(Gui::Command* cmd); static bool needPage(Gui::Command* cmd); - static bool needView(Gui::Command* cmd); + static bool needView(Gui::Command* cmd, bool partOnly = true); }; } //end namespace TechDrawGui