Sketcher Improvement: Always enable geometry creation
============================================================================== Now you can switch from one tool to the next just by clicking on the next tool
This commit is contained in:
parent
ca356c308e
commit
3b1873f1dc
|
@ -103,9 +103,11 @@ void ActivateHandler(Gui::Document *doc,DrawSketchHandler *handler)
|
||||||
{
|
{
|
||||||
if (doc) {
|
if (doc) {
|
||||||
if (doc->getInEdit() && doc->getInEdit()->isDerivedFrom
|
if (doc->getInEdit() && doc->getInEdit()->isDerivedFrom
|
||||||
(SketcherGui::ViewProviderSketch::getClassTypeId()))
|
(SketcherGui::ViewProviderSketch::getClassTypeId())) {
|
||||||
dynamic_cast<SketcherGui::ViewProviderSketch*>
|
SketcherGui::ViewProviderSketch* vp = dynamic_cast<SketcherGui::ViewProviderSketch*> (doc->getInEdit());
|
||||||
(doc->getInEdit())->activateHandler(handler);
|
vp->purgeHandler();
|
||||||
|
vp->activateHandler(handler);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -115,8 +117,8 @@ bool isCreateGeoActive(Gui::Document *doc)
|
||||||
// checks if a Sketch Viewprovider is in Edit and is in no special mode
|
// checks if a Sketch Viewprovider is in Edit and is in no special mode
|
||||||
if (doc->getInEdit() && doc->getInEdit()->isDerivedFrom
|
if (doc->getInEdit() && doc->getInEdit()->isDerivedFrom
|
||||||
(SketcherGui::ViewProviderSketch::getClassTypeId())) {
|
(SketcherGui::ViewProviderSketch::getClassTypeId())) {
|
||||||
if (dynamic_cast<SketcherGui::ViewProviderSketch*>(doc->getInEdit())->
|
/*if (dynamic_cast<SketcherGui::ViewProviderSketch*>(doc->getInEdit())->
|
||||||
getSketchMode() == ViewProviderSketch::STATUS_NONE)
|
getSketchMode() == ViewProviderSketch::STATUS_NONE)*/
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -309,10 +309,14 @@ void ViewProviderSketch::activateHandler(DrawSketchHandler *newHandler)
|
||||||
void ViewProviderSketch::deactivateHandler()
|
void ViewProviderSketch::deactivateHandler()
|
||||||
{
|
{
|
||||||
assert(edit);
|
assert(edit);
|
||||||
assert(edit->sketchHandler != 0);
|
if(edit->sketchHandler != 0){
|
||||||
|
std::vector<Base::Vector2D> editCurve;
|
||||||
|
editCurve.clear();
|
||||||
|
drawEdit(editCurve); // erase any line
|
||||||
edit->sketchHandler->deactivated(this);
|
edit->sketchHandler->deactivated(this);
|
||||||
edit->sketchHandler->unsetCursor();
|
edit->sketchHandler->unsetCursor();
|
||||||
delete(edit->sketchHandler);
|
delete(edit->sketchHandler);
|
||||||
|
}
|
||||||
edit->sketchHandler = 0;
|
edit->sketchHandler = 0;
|
||||||
Mode = STATUS_NONE;
|
Mode = STATUS_NONE;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user