Difference between revisions of "Macro ExpandTreeItem/fr"

From FreeCAD Documentation
Jump to navigation Jump to search
(Created page with "Déroule/enroule les items sélectionnés")
(Created page with "si l'arbre sélectionné est déjà déroulé, cet arbre et tous les sous-arbres sont enroulés")
Line 5: Line 5:
 
Déroule/enroule les items sélectionnés
 
Déroule/enroule les items sélectionnés
  
if selected tree is already expanded this tree and all sub trees are collapsed
+
si l'arbre sélectionné est déjà déroulé, cet arbre et tous les sous-arbres sont enroulés
  
 
if there is no selection all trees are collapse True/False
 
if there is no selection all trees are collapse True/False

Revision as of 18:27, 13 July 2018

32px 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_
Téléchargement
None
Liens
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

if there is no selection all trees are collapse True/False

Collapsed00.gif

Use

Copy the macro in your macro directory, create your tool bar and launch.

Script

The icon for the tool bar the .png Macro ExpandTreeItem.png and the .SVG Macro ExpandTreeItem.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")

Link

Objektbaum mit einem Klick komplett aufklappen?

Other languages:
English • ‎français • ‎italiano