def register(cls):
"""
Called from the top-level :func:`robot_designer_plugin.register` function in the ``__init__.py`` of the plugin.
Registers all data collected during import.
"""
report = ['\n']
try:
for class_, dependencies in cls._classes_to_register:
bpy.utils.register_class(class_)
report.append('\t+ class {0:35} in {1:40}'.format(class_.__name__,
"/".join(class_.__module__.split('.')[1:])))
cls._registered_classes.append(class_)
core_logger.info('Done')
core_logger.debug("Properties: %s", cls._property_groups_to_register)
for prop, extends in cls._property_groups_to_register:
report.append("\t+ propery {0:33} {1:8} in {2:40}".format(prop.__name__,
"(%s)" % extends.__name__ if extends else '',
"/".join(prop.__module__.split('.')[1:])))
bpy.utils.register_class(prop)
if extends in (bpy.types.Object, bpy.types.Scene, bpy.types.Bone):
setattr(extends, 'RobotEditor', bpy.props.PointerProperty(type=getattr(bpy.types, prop.__name__)))
cls._registered_properties.append((prop, extends))
for i in cls._property_fields.items():
print(i)
for prop in cls._bools_to_register:
setattr(bpy.types.Scene, prop, bpy.props.BoolProperty())
cls._registered_bools.append(prop)
if cls._icons_to_register:
cls._bl_icons_dict = bpy.utils.previews.new()
for icon in cls._icons_to_register:
report.append("\t+ icon {0:36} from {1:40}".format(icon[0], icon[1]))
cls._bl_icons_dict.load(*icon)
core_logger.info("\n".join(report))
except Exception as e:
report.append("Error occured")
core_logger.info("\n".join(report))
core_logger.error(EXCEPTION_MESSAGE,
type(e).__name__, e, log_callstack(), log_callstack(back_trace=True))
cls.clear()
pluginmanager.py 文件源码
python
阅读 25
收藏 0
点赞 0
评论 0
评论列表
文章目录