Macro ExpandTreeItem/it: Difference between revisions

From FreeCAD Documentation
mNo edit summary
(Updating to match new version of source page)
(3 intermediate revisions by 2 users not shown)
Line 7: Line 7:
|Version=00.00
|Version=00.00
|Date=2018-07-11
|Date=2018-07-11
|FCVersion=All
|Download=[https://www.freecadweb.org/wiki/images/9/94/Macro_ExpandTreeItem.svg ToolBar Icon]
}}
}}


Line 15: Line 17:
se l'albero selezionato è già espanso, questo albero e tutti gli alberi secondari vengono compressi
se l'albero selezionato è già espanso, questo albero e tutti gli alberi secondari vengono compressi


se non ci sono selezioni vengono espansi tutti i rami (se sono già espansi vengono compressi)
se non ci sono selezioni vengono compressi


[[File:Collapsed00.gif]]
[[File:Collapsed00.gif]]


<div class="mw-translate-fuzzy">
==Uso==
==Uso==
</div>


Copiare la macro nella directory macro, creare la barra degli strumenti e avviare la macro.
Copiare la macro nella directory macro, creare la barra degli strumenti e avviare la macro.
Line 25: Line 29:
==Script==
==Script==


L'icona .png [[File:Macro ExpandTreeItem.png]] e la .SVG [[File:Macro ExpandTreeItem.svg]] per la barra degli strumenti
ToolBar Icon .PNG [[File:Macro ExpandTreeItem.png]] and the .SVG [[File:Macro ExpandTreeItem.svg]]


'''Macro_ExpandTreeItem.FCMacro
'''Macro_ExpandTreeItem.FCMacro'''

'''
{{Code|code=
{{MacroCode|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 68: Line 72:
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 78: Line 84:
toggleAll(tree, item, False)
toggleAll(tree, item, False)
# print ("expanding")
# print ("expanding")

}}
}}

==Link==
==Link==



Revision as of 10:18, 23 May 2020

Other languages:

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
Versione FreeCAD: All
Download: ToolBar Icon
Autore: wmayer, UR_
Autore
wmayer, UR_
Download
ToolBar Icon
Link
Versione macro
00.00
Data ultima modifica
2018-07-11
Versioni di FreeCAD
All
Scorciatoia
Nessuna
Vedere anche
Nessuno

Descrizione

Espande l'albero selezionato e tutti i sottoalberi nella vista ad albero.

se l'albero selezionato è già espanso, questo albero e tutti gli alberi secondari vengono compressi

se non ci sono selezioni vengono compressi

Uso

Copiare la macro nella directory macro, creare la barra degli strumenti e avviare 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")

Link

Objektbaum mit einem Klick komplett aufklappen?