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

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2012-01-14 07:24:41 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-01-14 07:24:41 +0400
commitfc0ad3c42a6490cf4553c25ca6fc52adcb688192 (patch)
treefd3a00491043ba489f7a0fc11181ebea456708f1 /release/scripts
parentc5023e4bb9e10dea2a543e07b465df464752baa1 (diff)
theme settings - split space and space list into their own RNA members, display with own heading in userprefs.
Diffstat (limited to 'release/scripts')
-rw-r--r--release/scripts/startup/bl_ui/space_userpref.py42
1 files changed, 25 insertions, 17 deletions
diff --git a/release/scripts/startup/bl_ui/space_userpref.py b/release/scripts/startup/bl_ui/space_userpref.py
index 92419a2b609..98dd7802f71 100644
--- a/release/scripts/startup/bl_ui/space_userpref.py
+++ b/release/scripts/startup/bl_ui/space_userpref.py
@@ -507,32 +507,40 @@ class USERPREF_PT_theme(Panel):
@staticmethod
def _theme_generic(split, themedata):
- row = split.row()
+ col = split.column()
+
+ def theme_generic_recurse(data):
+ col.label(data.rna_type.name)
+ row = col.row()
+ subsplit = row.split(percentage=0.95)
- subsplit = row.split(percentage=0.95)
+ padding1 = subsplit.split(percentage=0.15)
+ padding1.column()
- padding1 = subsplit.split(percentage=0.15)
- padding1.column()
+ subsplit = row.split(percentage=0.85)
- subsplit = row.split(percentage=0.85)
+ padding2 = subsplit.split(percentage=0.15)
+ padding2.column()
- padding2 = subsplit.split(percentage=0.15)
- padding2.column()
+ colsub_pair = padding1.column(), padding2.column()
- colsub_pair = padding1.column(), padding2.column()
+ props_type = {}
- props_type = {}
+ for i, prop in enumerate(data.rna_type.properties):
+ if prop.identifier == "rna_type":
+ continue
- for i, prop in enumerate(themedata.rna_type.properties):
- attr = prop.identifier
- if attr == "rna_type":
- continue
+ props_type.setdefault((prop.type, prop.subtype), []).append(prop)
- props_type.setdefault((prop.type, prop.subtype), []).append(prop.identifier)
+ for props_type, props_ls in sorted(props_type.items()):
+ if props_type[0] == 'POINTER':
+ for i, prop in enumerate(props_ls):
+ theme_generic_recurse(getattr(data, prop.identifier))
+ else:
+ for i, prop in enumerate(props_ls):
+ colsub_pair[i % 2].row().prop(data, prop.identifier)
- for props_type, props_ls in sorted(props_type.items()):
- for i, attr in enumerate(props_ls):
- colsub_pair[i % 2].row().prop(themedata, attr)
+ theme_generic_recurse(themedata)
@classmethod
def poll(cls, context):