do not hide any drawing elements when entering edit mode of a sketch
This commit is contained in:
@@ -87,9 +87,13 @@ class TempoVis(FrozenClass):
|
||||
'''hide(doc_obj_or_list): hides objects (sets their Visibility to False). doc_obj_or_list can be a document object, or a list of document objects'''
|
||||
self.modifyVPProperty(doc_obj_or_list, "Visibility", False)
|
||||
|
||||
def get_all_dependent(self, doc_obj):
|
||||
'''get_all_dependent(doc_obj): gets all objects that depend on doc_obj. Groups, Parts and Bodies are not hidden by this.'''
|
||||
return [o for o in getAllDependent(doc_obj) if not isContainer(o)]
|
||||
|
||||
def hide_all_dependent(self, doc_obj):
|
||||
'''hide_all_dependent(doc_obj): hides all objects that depend on doc_obj. Groups, Parts and Bodies are not hidden by this.'''
|
||||
self.hide( [o for o in getAllDependent(doc_obj) if not isContainer(o)])
|
||||
self.hide( self.get_all_dependent(doc_obj) )
|
||||
|
||||
def show_all_dependent(self, doc_obj):
|
||||
'''show_all_dependent(doc_obj): shows all objects that depend on doc_obj. This method is probably useless.'''
|
||||
|
||||
@@ -5081,7 +5081,10 @@ bool ViewProviderSketch::setEdit(int ModNum)
|
||||
"ActiveSketch = App.ActiveDocument.getObject('{sketch_name}')\n"
|
||||
"tv = Show.TempoVis(App.ActiveDocument)\n"
|
||||
"if ActiveSketch.ViewObject.HideDependent:\n"
|
||||
" tv.hide_all_dependent(ActiveSketch)\n"
|
||||
" objs = tv.get_all_dependent(ActiveSketch)\n"
|
||||
" objs = filter(lambda x: not x.TypeId.startswith(\"TechDraw::\"), objs)\n"
|
||||
" objs = filter(lambda x: not x.TypeId.startswith(\"Drawing::\"), objs)\n"
|
||||
" tv.hide(objs)\n"
|
||||
"if ActiveSketch.ViewObject.ShowSupport:\n"
|
||||
" tv.show([ref[0] for ref in ActiveSketch.Support])\n"
|
||||
"if ActiveSketch.ViewObject.ShowLinks:\n"
|
||||
|
||||
@@ -117,7 +117,8 @@ void ViewProviderPage::show(void)
|
||||
void ViewProviderPage::hide(void)
|
||||
{
|
||||
if (!m_mdiView.isNull()) { //m_mdiView is a QPointer
|
||||
Gui::getMainWindow()->activatePreviousWindow();
|
||||
// https://forum.freecadweb.org/viewtopic.php?f=3&t=22797&p=182614#p182614
|
||||
//Gui::getMainWindow()->activatePreviousWindow();
|
||||
Gui::getMainWindow()->removeWindow(m_mdiView);
|
||||
}
|
||||
ViewProviderDocumentObject::hide();
|
||||
|
||||
Reference in New Issue
Block a user