Sketcher: [skip ci] explicit command to stop current operation
Fore more details: https://forum.freecadweb.org/viewtopic.php?f=3&t=42207
This commit is contained in:
@@ -328,6 +328,45 @@ bool CmdSketcherLeaveSketch::isActive(void)
|
||||
return false;
|
||||
}
|
||||
|
||||
DEF_STD_CMD_A(CmdSketcherStopOperation)
|
||||
|
||||
CmdSketcherStopOperation::CmdSketcherStopOperation()
|
||||
: Command("Sketcher_StopOperation")
|
||||
{
|
||||
sAppModule = "Sketcher";
|
||||
sGroup = QT_TR_NOOP("Sketcher");
|
||||
sMenuText = QT_TR_NOOP("Stop operation");
|
||||
sToolTipText = QT_TR_NOOP("Stop current operation");
|
||||
sWhatsThis = "Sketcher_StopOperation";
|
||||
sStatusTip = sToolTipText;
|
||||
sPixmap = "process-stop";
|
||||
eType = 0;
|
||||
}
|
||||
|
||||
void CmdSketcherStopOperation::activated(int iMsg)
|
||||
{
|
||||
Q_UNUSED(iMsg);
|
||||
Gui::Document *doc = getActiveGuiDocument();
|
||||
|
||||
if (doc) {
|
||||
SketcherGui::ViewProviderSketch* vp = dynamic_cast<SketcherGui::ViewProviderSketch*>(doc->getInEdit());
|
||||
if (vp) {
|
||||
vp->purgeHandler();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool CmdSketcherStopOperation::isActive(void)
|
||||
{
|
||||
Gui::Document *doc = getActiveGuiDocument();
|
||||
if (doc) {
|
||||
SketcherGui::ViewProviderSketch* vp = dynamic_cast<SketcherGui::ViewProviderSketch*>(doc->getInEdit());
|
||||
if (vp)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
DEF_STD_CMD_A(CmdSketcherReorientSketch)
|
||||
|
||||
CmdSketcherReorientSketch::CmdSketcherReorientSketch()
|
||||
@@ -872,6 +911,7 @@ void CreateSketcherCommands(void)
|
||||
rcCmdMgr.addCommand(new CmdSketcherNewSketch());
|
||||
rcCmdMgr.addCommand(new CmdSketcherEditSketch());
|
||||
rcCmdMgr.addCommand(new CmdSketcherLeaveSketch());
|
||||
rcCmdMgr.addCommand(new CmdSketcherStopOperation());
|
||||
rcCmdMgr.addCommand(new CmdSketcherReorientSketch());
|
||||
rcCmdMgr.addCommand(new CmdSketcherMapSketch());
|
||||
rcCmdMgr.addCommand(new CmdSketcherViewSketch());
|
||||
|
||||
@@ -401,6 +401,7 @@ void ViewProviderSketch::deactivateHandler()
|
||||
std::vector<Base::Vector2d> editCurve;
|
||||
editCurve.clear();
|
||||
drawEdit(editCurve); // erase any line
|
||||
resetPositionText();
|
||||
edit->sketchHandler->deactivated(this);
|
||||
edit->sketchHandler->unsetCursor();
|
||||
delete(edit->sketchHandler);
|
||||
|
||||
@@ -90,6 +90,7 @@ Gui::MenuItem* Workbench::setupMenuBar() const
|
||||
addSketcherWorkbenchVirtualSpace(*virtualspace);
|
||||
|
||||
addSketcherWorkbenchSketchActions( *sketch );
|
||||
*sketch << "Sketcher_StopOperation";
|
||||
*sketch << geom
|
||||
<< cons
|
||||
<< consaccel
|
||||
|
||||
Reference in New Issue
Block a user