Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Picard <pioverfour>2019-10-15 13:31:12 +0300
committerAlexander Gavrilov <angavrilov@gmail.com>2019-10-15 14:01:34 +0300
commit71565f82b24c27dbb45eadd8ca6c494996267039 (patch)
tree5b4907b7d3736859d33b9ca614163cbc767c10db /rigify/rig_ui_template.py
parent0260327cff34787394cf9aaa3e8cc5bd35cb0a25 (diff)
Rigify: store advanced options in armature instead of window manager.
By storing the Rigify advanced generation options (name, target rig, target ui script) in the armature data instead of the window manager as before, multiple rigs can have different options. Additionally, these options are stored in the blend file, and not lost when reloading. Also, the rig name is not automatically suffixed with `_rig`, which doesn't make sense as far as I can tell. Differential Revision: https://developer.blender.org/D5675
Diffstat (limited to 'rigify/rig_ui_template.py')
-rw-r--r--rigify/rig_ui_template.py29
1 files changed, 16 insertions, 13 deletions
diff --git a/rigify/rig_ui_template.py b/rigify/rig_ui_template.py
index d7c2e870..888f6871 100644
--- a/rigify/rig_ui_template.py
+++ b/rigify/rig_ui_template.py
@@ -1147,7 +1147,6 @@ class ScriptGenerator(base_generate.GeneratorPlugin):
def finalize(self):
metarig = self.generator.metarig
- id_store = self.generator.id_store
rig_id = self.generator.rig_id
vis_layers = self.obj.data.layers
@@ -1162,23 +1161,27 @@ class ScriptGenerator(base_generate.GeneratorPlugin):
layer_layout += [(l.name, l.row)]
# Generate the UI script
- if id_store.rigify_generate_mode == 'overwrite':
- rig_ui_name = id_store.rigify_rig_ui or 'rig_ui.py'
+ if metarig.data.rigify_rig_basename:
+ rig_ui_name = metarig.data.rigify_rig_basename + '_rig_ui.py'
else:
rig_ui_name = 'rig_ui.py'
- if id_store.rigify_generate_mode == 'overwrite' and rig_ui_name in bpy.data.texts.keys():
- script = bpy.data.texts[rig_ui_name]
- script.clear()
- else:
- script = bpy.data.texts.new("rig_ui.py")
+ script = None
+
+ if metarig.data.rigify_generate_mode == 'overwrite':
+ script = metarig.data.rigify_rig_ui
+
+ if not script and rig_ui_name in bpy.data.texts:
+ script = bpy.data.texts[rig_ui_name]
+
+ if script:
+ script.clear()
+ script.name = rig_ui_name
- rig_ui_old_name = ""
- if id_store.rigify_rig_basename:
- rig_ui_old_name = script.name
- script.name = id_store.rigify_rig_basename + "_rig_ui.py"
+ if script is None:
+ script = bpy.data.texts.new(rig_ui_name)
- id_store.rigify_rig_ui = script.name
+ metarig.data.rigify_rig_ui = script
for s in OrderedDict.fromkeys(self.ui_imports):
script.write(s + "\n")