Disable commands when no active document.

This commit is contained in:
Ian Rees 2016-03-25 23:49:46 +13:00 committed by wmayer
parent a01e774405
commit 1b52a517bf
3 changed files with 94 additions and 21 deletions

View File

@ -84,7 +84,7 @@ bool isDrawingPageActive(Gui::Document *doc)
// TechDraw_NewPageDef (default template)
//===========================================================================
DEF_STD_CMD(CmdTechDrawNewPageDef);
DEF_STD_CMD_A(CmdTechDrawNewPageDef);
CmdTechDrawNewPageDef::CmdTechDrawNewPageDef()
: Command("TechDraw_NewPageDef")
@ -143,11 +143,16 @@ void CmdTechDrawNewPageDef::activated(int iMsg)
}
}
bool CmdTechDrawNewPageDef::isActive(void)
{
return hasActiveDocument();
}
//===========================================================================
// TechDraw_NewPage (with template choice)
//===========================================================================
DEF_STD_CMD(CmdTechDrawNewPage);
DEF_STD_CMD_A(CmdTechDrawNewPage);
CmdTechDrawNewPage::CmdTechDrawNewPage()
: Command("TechDraw_NewPage")
@ -219,11 +224,16 @@ void CmdTechDrawNewPage::activated(int iMsg)
}
}
bool CmdTechDrawNewPage::isActive(void)
{
return hasActiveDocument();
}
//===========================================================================
// TechDraw_NewView
//===========================================================================
DEF_STD_CMD(CmdTechDrawNewView);
DEF_STD_CMD_A(CmdTechDrawNewView);
CmdTechDrawNewView::CmdTechDrawNewView()
: Command("TechDraw_NewView")
@ -301,11 +311,18 @@ void CmdTechDrawNewView::activated(int iMsg)
updateActive();
commitCommand();
}
bool CmdTechDrawNewView::isActive(void)
{
// TODO: Also ensure that there's a part selected?
return hasActiveDocument();
}
//===========================================================================
// TechDraw_NewViewSection
//===========================================================================
DEF_STD_CMD(CmdTechDrawNewViewSection);
DEF_STD_CMD_A(CmdTechDrawNewViewSection);
CmdTechDrawNewViewSection::CmdTechDrawNewViewSection()
: Command("TechDraw_NewViewSection")
@ -354,6 +371,11 @@ void CmdTechDrawNewViewSection::activated(int iMsg)
commitCommand();
}
bool CmdTechDrawNewViewSection::isActive(void)
{
// TODO: Also ensure that there's a part selected?
return hasActiveDocument();
}
//===========================================================================
// TechDraw_ProjGroup
@ -433,7 +455,7 @@ void CmdTechDrawProjGroup::activated(int iMsg)
bool CmdTechDrawProjGroup::isActive(void)
{
if (Gui::Control().activeDialog())
if ( !hasActiveDocument() || Gui::Control().activeDialog())
return false;
return true;
}
@ -479,7 +501,7 @@ void CmdTechDrawAnnotation::activated(int iMsg)
bool CmdTechDrawAnnotation::isActive(void)
{
return (getActiveGuiDocument() ? true : false);
return hasActiveDocument();
}
@ -527,7 +549,7 @@ void CmdTechDrawClip::activated(int iMsg)
bool CmdTechDrawClip::isActive(void)
{
return (getActiveGuiDocument() ? true : false);
return hasActiveDocument();
}
//===========================================================================
@ -597,7 +619,7 @@ void CmdTechDrawClipPlus::activated(int iMsg)
bool CmdTechDrawClipPlus::isActive(void)
{
return (getActiveGuiDocument() ? true : false);
return hasActiveDocument();
}
//===========================================================================
@ -666,7 +688,7 @@ void CmdTechDrawClipMinus::activated(int iMsg)
bool CmdTechDrawClipMinus::isActive(void)
{
return (getActiveGuiDocument() ? true : false);
return hasActiveDocument();
}
@ -721,7 +743,7 @@ void CmdTechDrawSymbol::activated(int iMsg)
bool CmdTechDrawSymbol::isActive(void)
{
return (getActiveGuiDocument() ? true : false);
return hasActiveDocument();
}
//===========================================================================
@ -779,7 +801,7 @@ void CmdTechDrawDraftView::activated(int iMsg)
bool CmdTechDrawDraftView::isActive(void)
{
return (getActiveGuiDocument() ? true : false);
return hasActiveDocument();
}
@ -838,7 +860,7 @@ void CmdTechDrawExportPage::activated(int iMsg)
bool CmdTechDrawExportPage::isActive(void)
{
return (getActiveGuiDocument() ? true : false);
return hasActiveDocument();
}

View File

@ -79,7 +79,7 @@ enum EdgeType{
// TechDraw_NewDimension
//===========================================================================
DEF_STD_CMD(CmdTechDrawNewDimension);
DEF_STD_CMD_A(CmdTechDrawNewDimension);
CmdTechDrawNewDimension::CmdTechDrawNewDimension()
: Command("TechDraw_NewDimension")
@ -199,11 +199,17 @@ void CmdTechDrawNewDimension::activated(int iMsg)
objFeat->X.setValue(x);
}
bool CmdTechDrawNewDimension::isActive(void)
{
// TODO: Also ensure that there's a part selected?
return hasActiveDocument();
}
//===========================================================================
// TechDraw_NewRadiusDimension
//===========================================================================
DEF_STD_CMD(CmdTechDrawNewRadiusDimension);
DEF_STD_CMD_A(CmdTechDrawNewRadiusDimension);
CmdTechDrawNewRadiusDimension::CmdTechDrawNewRadiusDimension()
: Command("TechDraw_NewRadiusDimension")
@ -279,11 +285,17 @@ void CmdTechDrawNewRadiusDimension::activated(int iMsg)
objFeat->X.setValue(x);
}
bool CmdTechDrawNewRadiusDimension::isActive(void)
{
// TODO: Also ensure that there's a part selected?
return hasActiveDocument();
}
//===========================================================================
// TechDraw_NewDiameterDimension
//===========================================================================
DEF_STD_CMD(CmdTechDrawNewDiameterDimension);
DEF_STD_CMD_A(CmdTechDrawNewDiameterDimension);
CmdTechDrawNewDiameterDimension::CmdTechDrawNewDiameterDimension()
: Command("TechDraw_NewDiameterDimension")
@ -360,12 +372,17 @@ void CmdTechDrawNewDiameterDimension::activated(int iMsg)
objFeat->X.setValue(x);
}
bool CmdTechDrawNewDiameterDimension::isActive(void)
{
// TODO: Also ensure that there's a part selected?
return hasActiveDocument();
}
//===========================================================================
// TechDraw_NewLengthDimension
//===========================================================================
DEF_STD_CMD(CmdTechDrawNewLengthDimension);
DEF_STD_CMD_A(CmdTechDrawNewLengthDimension);
CmdTechDrawNewLengthDimension::CmdTechDrawNewLengthDimension()
: Command("TechDraw_NewLengthDimension")
@ -448,11 +465,17 @@ void CmdTechDrawNewLengthDimension::activated(int iMsg)
objFeat->X.setValue(x);
}
bool CmdTechDrawNewLengthDimension::isActive(void)
{
// TODO: Also ensure that there's a part selected?
return hasActiveDocument();
}
//===========================================================================
// TechDraw_NewDistanceXDimension
//===========================================================================
DEF_STD_CMD(CmdTechDrawNewDistanceXDimension);
DEF_STD_CMD_A(CmdTechDrawNewDistanceXDimension);
CmdTechDrawNewDistanceXDimension::CmdTechDrawNewDistanceXDimension()
: Command("TechDraw_NewDistanceXDimension")
@ -533,12 +556,17 @@ void CmdTechDrawNewDistanceXDimension::activated(int iMsg)
objFeat->X.setValue(x);
}
bool CmdTechDrawNewDistanceXDimension::isActive(void)
{
// TODO: Also ensure that there's a part selected?
return hasActiveDocument();
}
//===========================================================================
// TechDraw_NewDistanceYDimension
//===========================================================================
DEF_STD_CMD(CmdTechDrawNewDistanceYDimension);
DEF_STD_CMD_A(CmdTechDrawNewDistanceYDimension);
CmdTechDrawNewDistanceYDimension::CmdTechDrawNewDistanceYDimension()
: Command("TechDraw_NewDistanceYDimension")
@ -618,12 +646,17 @@ void CmdTechDrawNewDistanceYDimension::activated(int iMsg)
objFeat->X.setValue(x);
}
bool CmdTechDrawNewDistanceYDimension::isActive(void)
{
// TODO: Also ensure that there's a part selected?
return hasActiveDocument();
}
//===========================================================================
// TechDraw_NewAngleDimension
//===========================================================================
DEF_STD_CMD(CmdTechDrawNewAngleDimension);
DEF_STD_CMD_A(CmdTechDrawNewAngleDimension);
CmdTechDrawNewAngleDimension::CmdTechDrawNewAngleDimension()
: Command("TechDraw_NewAngleDimension")
@ -693,6 +726,12 @@ void CmdTechDrawNewAngleDimension::activated(int iMsg)
objFeat->X.setValue(x);
}
bool CmdTechDrawNewAngleDimension::isActive(void)
{
// TODO: Also ensure that there's a part selected?
return hasActiveDocument();
}
void CreateTechDrawCommandsDims(void)
{
Gui::CommandManager &rcCmdMgr = Gui::Application::Instance->commandManager();

View File

@ -62,7 +62,7 @@ bool _checkSelectionHatch(Gui::Command* cmd);
// TechDraw_NewHatch
//===========================================================================
DEF_STD_CMD(CmdTechDrawNewHatch);
DEF_STD_CMD_A(CmdTechDrawNewHatch);
CmdTechDrawNewHatch::CmdTechDrawNewHatch()
: Command("TechDraw_NewHatch")
@ -120,11 +120,17 @@ void CmdTechDrawNewHatch::activated(int iMsg)
objFeat->X.setValue(x);
}
bool CmdTechDrawNewHatch::isActive(void)
{
// TODO: Also ensure that there's a part selected?
return hasActiveDocument();
}
//===========================================================================
// TechDraw_ToggleFrame
//===========================================================================
DEF_STD_CMD(CmdTechDrawToggleFrame);
DEF_STD_CMD_A(CmdTechDrawToggleFrame);
CmdTechDrawToggleFrame::CmdTechDrawToggleFrame()
: Command("TechDraw_ToggleFrame")
@ -173,6 +179,12 @@ void CmdTechDrawToggleFrame::activated(int iMsg)
}
}
bool CmdTechDrawToggleFrame::isActive(void)
{
// TODO: Also ensure that there's a page displayed?
return hasActiveDocument();
}
void CreateTechDrawCommandsDecorate(void)
{
Gui::CommandManager &rcCmdMgr = Gui::Application::Instance->commandManager();