uv_texture_atlas/bake to vcols: moved to contrib: update class names: T63750
[blender-addons-contrib.git] / amaranth / node_editor / node_stats.py
1 #  This program is free software; you can redistribute it and/or
2 #  modify it under the terms of the GNU General Public License
3 #  as published by the Free Software Foundation; either version 2
4 #  of the License, or (at your option) any later version.
5 #
6 #  This program is distributed in the hope that it will be useful,
7 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
8 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
9 #  GNU General Public License for more details.
10 #
11 #  You should have received a copy of the GNU General Public License
12 #  along with this program; if not, write to the Free Software Foundation,
13 #  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
14 """
15 Nodes Stats
16
17 Display the number of selected and total nodes on the compositor. On the
18 Compositing Nodes Editor.
19 """
20
21 import bpy
22
23
24 def node_stats(self, context):
25     if context.scene.node_tree:
26         tree_type = context.space_data.tree_type
27         nodes = context.scene.node_tree.nodes
28         nodes_total = len(nodes.keys())
29         nodes_selected = 0
30         for n in nodes:
31             if n.select:
32                 nodes_selected = nodes_selected + 1
33
34         if tree_type == 'CompositorNodeTree':
35             layout = self.layout
36             row = layout.row(align=True)
37             row.label(text="Nodes: %s/%s" % (nodes_selected, str(nodes_total)))
38
39
40 def register():
41     bpy.types.NODE_HT_header.append(node_stats)
42
43
44 def unregister():
45     bpy.types.NODE_HT_header.remove(node_stats)