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:
authorNathan Vegdahl <cessen@cessen.com>2011-06-19 23:53:01 +0400
committerNathan Vegdahl <cessen@cessen.com>2011-06-19 23:53:01 +0400
commit670bf72cb6978ff2f26a23bf2b5bb83b6e631e10 (patch)
tree59919e085327201bfb713be1c0451fd699790ff5 /rigify/rig_ui_template.py
parent1a3f4c4c6af16a3214c9dd3847590b87c580c11a (diff)
Rig layers can now be organized into rows by the user, for nicer layout.
Diffstat (limited to 'rigify/rig_ui_template.py')
-rw-r--r--rigify/rig_ui_template.py39
1 files changed, 29 insertions, 10 deletions
diff --git a/rigify/rig_ui_template.py b/rigify/rig_ui_template.py
index 35df1ec2..a54ab175 100644
--- a/rigify/rig_ui_template.py
+++ b/rigify/rig_ui_template.py
@@ -493,7 +493,7 @@ class RigUI(bpy.types.Panel):
'''
-def layers_ui(layers, names):
+def layers_ui(layers, layout):
""" Turn a list of booleans + a list of names into a layer UI.
"""
@@ -515,15 +515,34 @@ class RigLayers(bpy.types.Panel):
layout = self.layout
col = layout.column()
'''
- i = 0
- for layer in layers:
- if layer:
- code += "\n row = col.row()\n"
- if i == 28:
- code += " row.prop(context.active_object.data, 'layers', index=%s, toggle=True, text='Root')\n" % (str(i))
- else:
- code += " row.prop(context.active_object.data, 'layers', index=%s, toggle=True, text='%s')\n" % (str(i), names[i])
- i += 1
+ rows = {}
+ for i in range(28):
+ if layers[i]:
+ if layout[i][1] not in rows:
+ rows[layout[i][1]] = []
+ rows[layout[i][1]] += [(layout[i][0], i)]
+
+ keys = list(rows.keys())
+ keys.sort()
+
+ for key in keys:
+ code += "\n row = col.row()\n"
+ i = 0
+ for l in rows[key]:
+ if i > 3:
+ code += "\n row = col.row()\n"
+ i = 0
+ code += " row.prop(context.active_object.data, 'layers', index=%s, toggle=True, text='%s')\n" % (str(l[1]), l[0])
+ i += 1
+
+ # Root layer
+ code += "\n row = col.row()"
+ code += "\n row.separator()"
+ code += "\n row = col.row()"
+ code += "\n row.separator()\n"
+ code += "\n row = col.row()\n"
+ code += " row.prop(context.active_object.data, 'layers', index=28, toggle=True, text='Root')\n"
+
return code