diff options
Diffstat (limited to 'release/scripts/ui/properties_data_armature_rigify.py')
-rw-r--r-- | release/scripts/ui/properties_data_armature_rigify.py | 63 |
1 files changed, 20 insertions, 43 deletions
diff --git a/release/scripts/ui/properties_data_armature_rigify.py b/release/scripts/ui/properties_data_armature_rigify.py index 43021858f9f..1c2370cbb28 100644 --- a/release/scripts/ui/properties_data_armature_rigify.py +++ b/release/scripts/ui/properties_data_armature_rigify.py @@ -19,8 +19,6 @@ # <pep8 compliant> import bpy -narrowui = bpy.context.user_preferences.view.properties_width_check - class PoseTemplateSettings(bpy.types.IDPropertyGroup): pass @@ -44,7 +42,8 @@ class DATA_PT_template(bpy.types.Panel): templates = [] - def poll(self, context): + @classmethod + def poll(cls, context): if not context.armature: return False obj = context.object @@ -85,7 +84,7 @@ class DATA_PT_template(bpy.types.Panel): row.operator("pose.metarig_validate", text="Check") row.operator("pose.metarig_graph", text="Graph") row = layout.row() - row.prop(pose_templates, "generate_def_rig") + row.prop(pose_templates, "use_generate_deform_rig") row = layout.row() col = row.column() @@ -96,12 +95,13 @@ class DATA_PT_template(bpy.types.Panel): subsubrow.operator("pose.metarig_assign", text="Assign") subsubrow.operator("pose.metarig_clear", text="Clear") - subsubrow = subrow.split(percentage=0.8) - subsubrow.operator("pose.metarig_sample_add", text="Sample").metarig_type = self.templates[pose_templates.active_template_index] - subsubrow.operator("pose.metarig_sample_add", text="All").metarig_type = "" # self.templates[pose_templates.active_template_index] + if self.templates: + subsubrow = subrow.split(percentage=0.8) + subsubrow.operator("pose.metarig_sample_add", text="Sample").metarig_type = self.templates[pose_templates.active_template_index] + subsubrow.operator("pose.metarig_sample_add", text="All").metarig_type = "" # self.templates[pose_templates.active_template_index] - sub = row.column(align=True) - sub.operator("pose.metarig_reload", icon="FILE_REFRESH", text="") + sub = row.column(align=True) + sub.operator("pose.metarig_reload", icon="FILE_REFRESH", text="") # operators @@ -151,7 +151,7 @@ class Generate(bpy.types.Operator): import rigify reload(rigify) - meta_def = context.scene.pose_templates.generate_def_rig + meta_def = context.scene.pose_templates.use_generate_deform_rig try: rigify.generate_rig(context, context.object, META_DEF=meta_def) @@ -212,7 +212,7 @@ class Graph(bpy.types.Operator): import bpy reload(graphviz_export) obj = bpy.context.object - path = os.path.splitext(bpy.data.filepath)[0] + "-" + bpy.utils.clean_name(obj.name) + path = os.path.splitext(bpy.data.filepath)[0] + "-" + bpy.path.clean_name(obj.name) path_dot = path + ".dot" path_png = path + ".png" saved = graphviz_export.graph_armature(bpy.context.object, path_dot, CONSTRAINTS=False, DRIVERS=False) @@ -249,7 +249,7 @@ class AsScript(bpy.types.Operator): def invoke(self, context, event): import os obj = context.object - self.properties.filepath = os.path.splitext(bpy.data.filepath)[0] + "-" + bpy.utils.clean_name(obj.name) + ".py" + self.properties.filepath = os.path.splitext(bpy.data.filepath)[0] + "-" + bpy.path.clean_name(obj.name) + ".py" wm = context.manager wm.add_fileselect(self) return {'RUNNING_MODAL'} @@ -262,7 +262,8 @@ class ActiveAssign(bpy.types.Operator): bl_idname = "pose.metarig_assign" bl_label = "Assign to the active posebone" - def poll(self, context): + @classmethod + def poll(cls, context): bone = context.active_pose_bone return bool(bone and bone.id_data.mode == 'POSE') @@ -280,7 +281,8 @@ class ActiveClear(bpy.types.Operator): bl_idname = "pose.metarig_clear" bl_label = "Metarig Clear Type" - def poll(self, context): + @classmethod + def poll(cls, context): bone = context.active_pose_bone return bool(bone and bone.id_data.mode == 'POSE') @@ -304,36 +306,14 @@ class INFO_MT_armature_metarig_add(bpy.types.Menu): layout.operator_context = 'INVOKE_REGION_WIN' for submodule_type in rigify.get_submodule_types(): - text = bpy.utils.display_name(submodule_type) + text = bpy.path.display_name(submodule_type) layout.operator("pose.metarig_sample_add", text=text, icon='OUTLINER_OB_ARMATURE').metarig_type = submodule_type -classes = [ - DATA_PT_template, - - PoseTemplateSettings, - PoseTemplate, - - Reload, - Generate, - Validate, - Sample, - Graph, - AsScript, - - ActiveAssign, - ActiveClear, - - INFO_MT_armature_metarig_add] - menu_func = (lambda self, context: self.layout.menu("INFO_MT_armature_metarig_add", icon='OUTLINER_OB_ARMATURE')) import space_info # ensure the menu is loaded first def register(): - register = bpy.types.register - for cls in classes: - register(cls) - PoseTemplate.StringProperty(attr="name", name="Name of the slave", description="", @@ -349,7 +329,7 @@ def register(): min=-1, max=65535) - PoseTemplateSettings.BoolProperty(attr="generate_def_rig", + PoseTemplateSettings.BoolProperty(attr="use_generate_deform_rig", name="Create Deform Rig", description="Create a copy of the metarig, constrainted by the generated rig", default=False) @@ -360,11 +340,8 @@ def register(): def unregister(): - unregister = bpy.types.unregister - for cls in classes: - unregister(cls) - - bpy.types.INFO_MT_armature_add.remove(menu_func) + bpy.types.Scene.RemoveProperty("pose_templates") + space_info.INFO_MT_armature_add.remove(menu_func) if __name__ == "__main__": register() |