Miscellaneous fixes
This commit is contained in:
parent
04e5d83366
commit
401c4d6dc0
Binary file not shown.
Binary file not shown.
|
@ -65,7 +65,8 @@ static PyObject * setActivePart(PyObject *self, PyObject *args)
|
|||
PartDesignGui::ActivePartObject = Item;
|
||||
PartDesignGui::ActiveAppDoc = Item->getDocument();
|
||||
PartDesignGui::ActiveGuiDoc = Gui::Application::Instance->getDocument(PartDesignGui::ActiveAppDoc);
|
||||
PartDesignGui::ActiveVp = dynamic_cast<Gui::ViewProviderDocumentObject*> (PartDesignGui::ActiveGuiDoc->getViewProvider(Item)) ;
|
||||
PartDesignGui::ActiveVp = dynamic_cast<Gui::ViewProviderDocumentObject*> (PartDesignGui::ActiveGuiDoc->getViewProvider(Item));
|
||||
PartDesignGui::ActiveVp->show();
|
||||
Item->IsActive.setValue(true);
|
||||
} else {
|
||||
// This handles the case of deactivating the workbench
|
||||
|
|
|
@ -176,20 +176,25 @@ void CmdPartDesignMoveTip::activated(int iMsg)
|
|||
if(!pcActiveBody) return;
|
||||
|
||||
std::vector<App::DocumentObject*> features = getSelection().getObjectsOfType(Part::Feature::getClassTypeId());
|
||||
if (features.empty()) return;
|
||||
App::DocumentObject* selFeature = features.front();
|
||||
App::DocumentObject* selFeature;
|
||||
|
||||
if (selFeature->getTypeId().isDerivedFrom(PartDesign::Body::getClassTypeId())) {
|
||||
if (features.empty()) {
|
||||
// Insert at the beginning of this body
|
||||
selFeature = NULL;
|
||||
} else if (!pcActiveBody->hasFeature(selFeature)) {
|
||||
// Switch to other body
|
||||
pcActiveBody = static_cast<PartDesign::Body*>(Part::BodyBase::findBodyOf(selFeature));
|
||||
if (pcActiveBody != NULL)
|
||||
Gui::Command::doCommand(Gui::Command::Gui,"PartDesignGui.setActivePart(App.activeDocument().%s)",
|
||||
pcActiveBody->getNameInDocument());
|
||||
else
|
||||
return;
|
||||
} else {
|
||||
selFeature = features.front();
|
||||
if (selFeature->getTypeId().isDerivedFrom(PartDesign::Body::getClassTypeId())) {
|
||||
// Insert at the beginning of this body
|
||||
selFeature = NULL;
|
||||
} else if (!pcActiveBody->hasFeature(selFeature)) {
|
||||
// Switch to other body
|
||||
pcActiveBody = static_cast<PartDesign::Body*>(Part::BodyBase::findBodyOf(selFeature));
|
||||
if (pcActiveBody != NULL)
|
||||
Gui::Command::doCommand(Gui::Command::Gui,"PartDesignGui.setActivePart(App.activeDocument().%s)",
|
||||
pcActiveBody->getNameInDocument());
|
||||
else
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
openCommand("Move insert point to selected feature");
|
||||
|
|
|
@ -174,12 +174,10 @@ void ViewProviderBody::updateData(const App::Property* prop)
|
|||
// PartDesign workbench not active
|
||||
return PartGui::ViewProviderPart::updateData(prop);
|
||||
|
||||
if (prop->getTypeId() == App::PropertyBool::getClassTypeId() && strcmp(prop->getName(),"IsActive") == 0) {
|
||||
if ((prop->getTypeId() == App::PropertyBool::getClassTypeId() && strcmp(prop->getName(),"IsActive") == 0) ||
|
||||
(prop->getTypeId() == App::PropertyLink::getClassTypeId() && strcmp(prop->getName(),"Tip") == 0) ||
|
||||
(prop->getTypeId() == App::PropertyLinkList::getClassTypeId() && strcmp(prop->getName(),"Model") == 0))
|
||||
updateTree();
|
||||
} else if (prop->getTypeId() == App::PropertyLink::getClassTypeId() && strcmp(prop->getName(),"Tip") == 0) {
|
||||
updateTree();
|
||||
}
|
||||
// Note: The Model property only changes by itself (without the Tip also changing) if a feature is deleted somewhere
|
||||
|
||||
// Update the visual size of datum lines and planes
|
||||
PartDesign::Body* body = static_cast<PartDesign::Body*>(getObject());
|
||||
|
|
Loading…
Reference in New Issue
Block a user