Macro ExpandTreeItem
File:Macro ExpandTreeItem Macro ExpandTreeItem |
Description |
---|
Cette macro déroule les item sélectionnés. Version macro : 00.00 Date dernière modification : 2018-07-11 Auteur: wmayer, UR_ |
Auteur |
wmayer, UR_ |
Téléchargement |
None |
Liens |
Page des macros Comment installer une macro Comment créer une barre d'outils |
Version Macro |
00.00 |
Dernière modification |
2018-07-11 |
Version(s) FreeCAD |
None |
Raccourci clavier |
None |
Voir aussi |
None |
Description
Déroule/enroule les items sélectionnés
si l'arbre sélectionné est déjà déroulé, cet arbre et tous les sous-arbres sont enroulés
s'il n'y a pas de sélection tous les items sont déroulés (s'il sont déjà déroulés, ils sont enroulés)
Utilisation
Copier la macro dans votre répertoire de macros, créez votre barre d'outils avec le bouton et lancez la macro
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")