Macro ExpandTreeItem
File:Macro ExpandTreeItem Macro ExpandTreeItem |
Descrizione |
---|
Nella vista della struttura espande l'albero selezionato e tutti gli alberi secondari. Versione macro: 00.00 Ultima modifica: 2018-07-11 Autore: wmayer, UR_ |
Autore |
wmayer, UR_ |
Download |
None |
Link |
Raccolta di macro Come installare le macro Personalizzare la toolbar |
Versione macro |
00.00 |
Data ultima modifica |
2018-07-11 |
Versioni di FreeCAD |
None |
Scorciatoia |
Nessuna |
Vedere anche |
Nessuno |
Descrizione
Expands selected tree and all sub trees in the tree view.
if selected tree is already expanded this tree and all sub trees are collapsed
if there is no selection all trees are collapse True/False
Use
Copy the macro in your macro directory, create your tool bar and launch.
Script
The icon for the tool bar the .png and the .SVG
# -*- coding: utf-8 -*-
#
# Expands selected tree and all sub trees in the tree view.
# if selected tree is already expanded this tree and all sub trees are collapsed
# if there is no selection all trees are collapse True / False
#
__Title__ = "Macro ExpandTreeItem"
__Author__ = "wmayer, UR_"
__Version__ = "00.00"
__Date__ = "2018-07-11"
import PySide
from PySide import QtGui ,QtCore
from PySide.QtGui import *
from PySide.QtCore import *
def toggleAll(tree, item, collapse):
if collapse == False:
tree.expandItem(item)
elif collapse == True:
tree.collapseItem(item)
for i in range(item.childCount()):
toggleAll(tree, item.child(i), collapse)
mw = Gui.getMainWindow()
trees = mw.findChildren(QtGui.QTreeWidget)
for tree in trees:
items = tree.selectedItems()
try:
if items == []:
#tree.selectAll() # select all object
for obj in FreeCAD.ActiveDocument.Objects: # select obj.OutList
if len(obj.OutList) != 0:
Gui.Selection.addSelection(obj)
items = tree.selectedItems()
except Exception:
None
for item in items:
if item.isExpanded() == True:
toggleAll(tree, item, True)
# print ("collapsing")
else:
toggleAll(tree, item, False)
# print ("expanding")