Macro ExpandTreeItem/fr: Difference between revisions

From FreeCAD Documentation
mNo edit summary
(Updating to match new version of source page)
Line 1: Line 1:
<languages/>
<languages/>
<div class="mw-translate-fuzzy">
{{Macro/fr
{{Macro/fr
|Name=Macro ExpandTreeItem
|Name=Macro ExpandTreeItem
Line 7: Line 8:
|Date=2018-07-11
|Date=2018-07-11
}}
}}
</div>


==Description==
==Description==
Line 14: Line 16:
si l'arbre sélectionné est déjà déroulé, cet arbre et tous les sous-arbres sont enroulés
si l'arbre sélectionné est déjà déroulé, cet arbre et tous les sous-arbres sont enroulés


<div class="mw-translate-fuzzy">
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)
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)
</div>


[[File:Collapsed00.gif]]
[[File:Collapsed00.gif]]
Line 24: Line 28:
==Script==
==Script==


L'icone pour votre barre d'outils .png [[File:Macro ExpandTreeItem.png]] et .SVG [[File:Macro ExpandTreeItem.svg]]
ToolBar Icon .PNG [[File:Macro ExpandTreeItem.png]] and the .SVG [[File:Macro ExpandTreeItem.svg]]

'''Macro_ExpandTreeItem.FCMacro'''


'''Macro_ExpandTreeItem.FCMacro
'''
{{Code|code=
{{Code|code=
# -*- coding: utf-8 -*-
# -*- coding: utf-8 -*-
#
#
# Expands selected tree and all sub trees in the tree view.
# 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 selected tree is already expanded this tree and all sub trees are collapsed True/False
# if there is no selection all trees are collapse True / False
# if there is no selection all trees are collapse False
#
#
__Title__ = "Macro ExpandTreeItem"
__Title__ = "Macro ExpandTreeItem"
__Author__ = "wmayer, UR_"
__Author__ = "wmayer, UR_"
__Version__ = "00.00"
__Version__ = "00.02"
__Date__ = "2018-07-11"
__Date__ = "2019-07-25"


import PySide
import PySide
Line 67: Line 71:
Gui.Selection.addSelection(obj)
Gui.Selection.addSelection(obj)
items = tree.selectedItems()
items = tree.selectedItems()
for item in items:
toggleAll(tree, item, False)
except Exception:
except Exception:
None
None
Line 77: Line 83:
toggleAll(tree, item, False)
toggleAll(tree, item, False)
# print ("expanding")
# print ("expanding")

}}
}}
==Liens==
==Liens==

Revision as of 14:33, 25 July 2019

Other languages:

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
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

ToolBar Icon .PNG and the .SVG

Macro_ExpandTreeItem.FCMacro

# -*- 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 True/False
# if there is no selection all trees are collapse False
#
__Title__    = "Macro ExpandTreeItem"
__Author__   = "wmayer, UR_"
__Version__  = "00.02"
__Date__     = "2019-07-25"

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()
            for item in items:
                toggleAll(tree, item, False)
    except Exception:
        None

    for item in items:
            if item.isExpanded() == True:
                toggleAll(tree, item, True)
        #            print ("collapsing")
            else:
                toggleAll(tree, item, False)
        #            print ("expanding")

Liens

Objektbaum mit einem Klick komplett aufklappen?