Macro ExpandTreeItem/de

Baumobjekte ausklappen

Beschreibung
Dieses Makro erweitert den ausgewählten Baum und alle Unterbäume in der Baumansicht.
Wenn keine Auswahl vorhanden ist, werden alle Bäume erweitert.

Versionsmakro : 00.02
Datum der letzten Änderung : 2019-07-25
FreeCAD version : Alle
Herunterladen : Werkzeugleisten-Symbol
Autor: wmayer, UR_
Autor
wmayer, UR_
Herunterladen
Werkzeugleisten-Symbol
Links
Macro-Version
00.02
Datum der letzten Änderung
2019-07-25
FreeCAD-Version(s)
Alle
Standardverknüpfung
None
Siehe auch
None

Beschreibung

Erweitert den ausgewählten Baum und alle Unterbäume in der Baumansicht.

Wenn der ausgewählte Baum bereits erweitert ist, werden dieser Baum und alle Unterbäume reduziert.

Wenn keine Auswahl getroffen wurde, werden alle Bäume erweitert.

Anwendung

Das Makro ins Makro-Verzeichnis kopieren, Sie die Symbolleiste erstellen und das Programm starten.

Skript

Werkzeugleisten-Symbol .PNG und die .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 expanded
#
__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")

Verweis

Objektbaum mit einem Klick komplett aufklappen?