Post #2766: ![](https://blenderartists.org/user_avatar/blenderartists.org/anphung/48/39426_2

๐Ÿ“‹ Metadata

  • Author: roaoao
  • Date: 2019-09-18 19:02:09
  • Type: answer
  • Quality Score: 9/10
  • Reply to: post_02762

๐Ÿท๏ธ Tags

custom-scripts advanced solved

  • Pie Menu Editor
  • Python Scripting
  • Custom menu statistics

๐Ÿ’ฌ Content

anphung:

Hereโ€™s a trivial feature request but would be cool if you could implement it: Show stats about menus, like how many in total, how many of each type, how many in each context (3d view, UV editor, etc)

I think itโ€™s better to use some custom script/menu for this. Here is an example:

pme_stats

Total number of menus (Custom tab):

L.row().label(text="Total: %d" % len(prefs().pie_menus))

Menu types (Custom tab):

menus = prefs().pie_menus; data = dict(); [data.__setitem__(menu.mode, data.setdefault(menu.mode, 0) + 1) for menu in menus]; uil = bpy.types.UILayout; col = L.column(align=True); sorted_data = sorted([(uil.enum_item_name(menus[0], "mode", mode), mode, number) for mode, number in data.items()]); [col.label(text="%s: %d" % (mode_name, number), icon_value=uil.enum_item_icon(menus[0], "mode", mode)) for mode_name, mode, number in sorted_data]

Context (Custom tab):

data = dict(); [data.__setitem__(keymap, data.setdefault(keymap, 0) + 1) for menu in prefs().pie_menus for keymap in menu.parse_keymap()]; col = L.column(align=True); [col.label(text="%s: %d" % (keymap, number)) for keymap, number in sorted(data.items())]

Hotkey (Custom tab):

menus = prefs().pie_menus; data = dict(); [data.__setitem__(menu.key, data.setdefault(menu.key, 0) + 1) for menu in menus if menu.key != 'NONE']; uil = bpy.types.UILayout; col = L.column(align=True); sorted_data = sorted([(uil.enum_item_name(menus[0], "key", key), number) for key, number in data.items()]); [col.label(text="%s: %d" % (key, number)) for key, number in sorted_data]

โค๏ธ 3 likes


๐Ÿ”— View on Blender Artists