def unregisterMenu(): # if this fails menus aren't loaded. this ensure that they can load try: nodeitems_builtins.unregister() except: pass # reload the code dumps all changes importlib.reload(nodeitems_builtins) nodeitems_builtins.register()
def registerMenu(): # remove, replace, add back the menu nodeitems_builtins.unregister() for index, nodeCat in enumerate(nodeitems_builtins.shader_node_categories): if nodeCat.identifier == "SH_NEW_INPUT": newMenu = myNewMenuCategory[nodeCat.identifier] nodeitems_builtins.shader_node_categories[index] = newMenu nodeitems_builtins.register()
def register_menus(): # remove, replace, add back the menus nodeitems_builtins.unregister() menus = [ nodeitems_builtins.shader_node_categories, nodeitems_builtins.compositor_node_categories, nodeitems_builtins.texture_node_categories, ] for menu in menus: for index, node_cat in enumerate(menu): if node_cat.identifier in menu_categories: new_menu = menu_categories[node_cat.identifier] menu[index] = new_menu nodeitems_builtins.register()
def register_menus(): # remove, replace, add back the menus nodeitems_builtins.unregister() menus = [ nodeitems_builtins.shader_node_categories, nodeitems_builtins.compositor_node_categories, nodeitems_builtins.texture_node_categories, ] for menu in menus: for index, node_cat in enumerate(menu): if node_cat.identifier in menu_categories: cls, c_type, text, items = menu_categories[node_cat.identifier] menu[index] = cls(c_type, text, items=items) nodeitems_builtins.register()