diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-01-14 07:24:41 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-01-14 07:24:41 +0400 |
commit | fc0ad3c42a6490cf4553c25ca6fc52adcb688192 (patch) | |
tree | fd3a00491043ba489f7a0fc11181ebea456708f1 /release/scripts | |
parent | c5023e4bb9e10dea2a543e07b465df464752baa1 (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.py | 42 |
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): |