Revision: 24251 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=24251 Author: billrey Date: 2009-11-02 18:18:17 +0100 (Mon, 02 Nov 2009)
Log Message: ----------- Enabled theme editing in user preferences. There's still no way to Load/Save/Add/Delete though. Code could be optimized greatly, but found it hard to get it to work nicely with auto-generated code. Modified Paths: -------------- trunk/blender/release/scripts/ui/space_userpref.py trunk/blender/source/blender/editors/include/UI_icons.h trunk/blender/source/blender/makesrna/intern/rna_userdef.c Modified: trunk/blender/release/scripts/ui/space_userpref.py =================================================================== --- trunk/blender/release/scripts/ui/space_userpref.py 2009-11-02 17:15:14 UTC (rev 24250) +++ trunk/blender/release/scripts/ui/space_userpref.py 2009-11-02 17:18:17 UTC (rev 24251) @@ -342,6 +342,722 @@ sub1.itemR(system, "memory_cache_limit") +class USERPREF_PT_theme(bpy.types.Panel): + bl_space_type = 'USER_PREFERENCES' + bl_label = "Themes" + bl_region_type = 'WINDOW' + bl_show_header = False + + def poll(self, context): + userpref = context.user_preferences + + return (userpref.active_section == 'THEMES') + + def draw(self, context): + layout = self.layout + + theme = context.user_preferences.themes[0] + + + split = layout.split(percentage=0.33) + split.itemR(theme, "active_theme", text="") + + layout.itemS() + + split = layout.split() + + if theme.active_theme == 'VIEW_3D': + v3d = theme.view_3d + + col = split.column() + col.itemR(v3d, "back") + col.itemR(v3d, "title") + col.itemR(v3d, "text") + col.itemR(v3d, "text_hi") + col.itemR(v3d, "header") + col.itemR(v3d, "header_text") + + col = split.column() + col.itemR(v3d, "header_text_hi") + col.itemR(v3d, "grid") + col.itemR(v3d, "panel", slider=True) + col.itemR(v3d, "wire") + col.itemR(v3d, "lamp", slider=True) + + col = split.column() + col.itemR(v3d, "current_frame") + col.itemR(v3d, "editmesh_active", slider=True) + col.itemR(v3d, "object_selected") + col.itemR(v3d, "object_active") + col.itemR(v3d, "object_grouped") + col.itemR(v3d, "object_grouped_active") + + col = split.column() + col.itemR(v3d, "transform") + col.itemR(v3d, "vertex") + col.itemR(v3d, "face", slider=True) + col.itemR(v3d, "normal") + col.itemR(v3d, "bone_solid") + col.itemR(v3d, "bone_pose") + +# col.itemR(v3d, "edge") Doesn't seem to work + elif theme.active_theme == 'USER_INTERFACE': + + ui = theme.user_interface.wcol_regular + + layout.itemL(text="Regular:") + + sub = layout.row() + sub1 = sub.column() + sub1.itemR(ui, "outline") + sub1.itemR(ui, "item", slider=True) + sub1 = sub.column() + sub1.itemR(ui, "inner", slider=True) + sub1.itemR(ui, "inner_sel", slider=True) + sub1 = sub.column() + sub1.itemR(ui, "text") + sub1.itemR(ui, "text_sel") + sub1 = sub.column() + sub1.itemR(ui, "shaded") + sub2 = sub1.column(align=True) + sub2.active = ui.shaded + sub2.itemR(ui, "shadetop") + sub2.itemR(ui, "shadedown") + layout.itemS() + + ui = theme.user_interface.wcol_tool + layout.itemL(text="Tool:") + + sub = layout.row() + sub1 = sub.column() + sub1.itemR(ui, "outline") + sub1.itemR(ui, "item", slider=True) + sub1 = sub.column() + sub1.itemR(ui, "inner", slider=True) + sub1.itemR(ui, "inner_sel", slider=True) + sub1 = sub.column() + sub1.itemR(ui, "text") + sub1.itemR(ui, "text_sel") + sub1 = sub.column() + sub1.itemR(ui, "shaded") + sub2 = sub1.column(align=True) + sub2.active = ui.shaded + sub2.itemR(ui, "shadetop") + sub2.itemR(ui, "shadedown") + + ui = theme.user_interface.wcol_radio + layout.itemL(text="Radio Buttons:") + + sub = layout.row() + sub1 = sub.column() + sub1.itemR(ui, "outline") + sub1.itemR(ui, "item", slider=True) + sub1 = sub.column() + sub1.itemR(ui, "inner", slider=True) + sub1.itemR(ui, "inner_sel", slider=True) + sub1 = sub.column() + sub1.itemR(ui, "text") + sub1.itemR(ui, "text_sel") + sub1 = sub.column() + sub1.itemR(ui, "shaded") + sub2 = sub1.column(align=True) + sub2.active = ui.shaded + sub2.itemR(ui, "shadetop") + sub2.itemR(ui, "shadedown") + + ui = theme.user_interface.wcol_text + layout.itemL(text="Text:") + + sub = layout.row() + sub1 = sub.column() + sub1.itemR(ui, "outline") + sub1.itemR(ui, "item", slider=True) + sub1 = sub.column() + sub1.itemR(ui, "inner", slider=True) + sub1.itemR(ui, "inner_sel", slider=True) + sub1 = sub.column() + sub1.itemR(ui, "text") + sub1.itemR(ui, "text_sel") + sub1 = sub.column() + sub1.itemR(ui, "shaded") + sub2 = sub1.column(align=True) + sub2.active = ui.shaded + sub2.itemR(ui, "shadetop") + sub2.itemR(ui, "shadedown") + + ui = theme.user_interface.wcol_option + layout.itemL(text="Option:") + + sub = layout.row() + sub1 = sub.column() + sub1.itemR(ui, "outline") + sub1.itemR(ui, "item", slider=True) + sub1 = sub.column() + sub1.itemR(ui, "inner", slider=True) + sub1.itemR(ui, "inner_sel", slider=True) + sub1 = sub.column() + sub1.itemR(ui, "text") + sub1.itemR(ui, "text_sel") + sub1 = sub.column() + sub1.itemR(ui, "shaded") + sub2 = sub1.column(align=True) + sub2.active = ui.shaded + sub2.itemR(ui, "shadetop") + sub2.itemR(ui, "shadedown") + + ui = theme.user_interface.wcol_toggle + layout.itemL(text="Toggle:") + + sub = layout.row() + sub1 = sub.column() + sub1.itemR(ui, "outline") + sub1.itemR(ui, "item", slider=True) + sub1 = sub.column() + sub1.itemR(ui, "inner", slider=True) + sub1.itemR(ui, "inner_sel", slider=True) + sub1 = sub.column() + sub1.itemR(ui, "text") + sub1.itemR(ui, "text_sel") + sub1 = sub.column() + sub1.itemR(ui, "shaded") + sub2 = sub1.column(align=True) + sub2.active = ui.shaded + sub2.itemR(ui, "shadetop") + sub2.itemR(ui, "shadedown") + + ui = theme.user_interface.wcol_num + layout.itemL(text="Number Field:") + + sub = layout.row() + sub1 = sub.column() + sub1.itemR(ui, "outline") + sub1.itemR(ui, "item", slider=True) + sub1 = sub.column() + sub1.itemR(ui, "inner", slider=True) + sub1.itemR(ui, "inner_sel", slider=True) + sub1 = sub.column() + sub1.itemR(ui, "text") + sub1.itemR(ui, "text_sel") + sub1 = sub.column() + sub1.itemR(ui, "shaded") + sub2 = sub1.column(align=True) + sub2.active = ui.shaded + sub2.itemR(ui, "shadetop") + sub2.itemR(ui, "shadedown") + + ui = theme.user_interface.wcol_numslider + layout.itemL(text="Value Slider:") + + sub = layout.row() + sub1 = sub.column() + sub1.itemR(ui, "outline") + sub1.itemR(ui, "item", slider=True) + sub1 = sub.column() + sub1.itemR(ui, "inner", slider=True) + sub1.itemR(ui, "inner_sel", slider=True) + sub1 = sub.column() + sub1.itemR(ui, "text") + sub1.itemR(ui, "text_sel") + sub1 = sub.column() + sub1.itemR(ui, "shaded") + sub2 = sub1.column(align=True) + sub2.active = ui.shaded + sub2.itemR(ui, "shadetop") + sub2.itemR(ui, "shadedown") + + ui = theme.user_interface.wcol_box + layout.itemL(text="Box:") + + sub = layout.row() + sub1 = sub.column() + sub1.itemR(ui, "outline") + sub1.itemR(ui, "item", slider=True) + sub1 = sub.column() + sub1.itemR(ui, "inner", slider=True) + sub1.itemR(ui, "inner_sel", slider=True) + sub1 = sub.column() + sub1.itemR(ui, "text") + sub1.itemR(ui, "text_sel") + sub1 = sub.column() + sub1.itemR(ui, "shaded") + sub2 = sub1.column(align=True) + sub2.active = ui.shaded + sub2.itemR(ui, "shadetop") + sub2.itemR(ui, "shadedown") + + ui = theme.user_interface.wcol_menu + layout.itemL(text="Menu:") + + sub = layout.row() + sub1 = sub.column() + sub1.itemR(ui, "outline") + sub1.itemR(ui, "item", slider=True) + sub1 = sub.column() + sub1.itemR(ui, "inner", slider=True) + sub1.itemR(ui, "inner_sel", slider=True) + sub1 = sub.column() + sub1.itemR(ui, "text") + sub1.itemR(ui, "text_sel") + sub1 = sub.column() + sub1.itemR(ui, "shaded") + sub2 = sub1.column(align=True) + sub2.active = ui.shaded + sub2.itemR(ui, "shadetop") + sub2.itemR(ui, "shadedown") + + ui = theme.user_interface.wcol_pulldown + layout.itemL(text="Pulldown:") + + sub = layout.row() + sub1 = sub.column() + sub1.itemR(ui, "outline") + sub1.itemR(ui, "item", slider=True) + sub1 = sub.column() + sub1.itemR(ui, "inner", slider=True) + sub1.itemR(ui, "inner_sel", slider=True) + sub1 = sub.column() + sub1.itemR(ui, "text") @@ Diff output truncated at 10240 characters. @@ _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs