[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [25853] trunk/blender: Themes:

Thomas Dinges dingto at gmx.de
Sat Jan 9 19:17:42 CET 2010


Revision: 25853
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=25853
Author:   dingto
Date:     2010-01-09 19:17:40 +0100 (Sat, 09 Jan 2010)

Log Message:
-----------
Themes:
*Some more cleanup.
*Renamed active_theme to theme_area, active_theme will be useful, when we have multiple themes again. 
*New layout (Theme Area selection is now expanded).

ToDo:
* Nice wrapping of all options for the different spaces, either manual or via auto generation.
Some items are missing, some are in different positions, altough they are available in different areas. 

Modified Paths:
--------------
    trunk/blender/release/scripts/ui/space_userpref.py
    trunk/blender/source/blender/makesdna/DNA_userdef_types.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	2010-01-09 17:15:02 UTC (rev 25852)
+++ trunk/blender/release/scripts/ui/space_userpref.py	2010-01-09 18:17:40 UTC (rev 25853)
@@ -20,10 +20,8 @@
 import bpy
 
 # General UI Theme Settings (User Interface)
-def ui_items_general(self, context):
-    layout = self.layout
-    
-    row = layout.row()
+def ui_items_general(col, context):
+    row = col.row()
     sub = row.column()
     sub.prop(context, "outline")
     sub.prop(context, "item", slider=True)
@@ -40,6 +38,8 @@
     subsub.prop(context, "shadetop")
     subsub.prop(context, "shadedown")
     
+    col.separator()
+    
 def opengl_lamp_buttons(column, lamp):
     split = column.split(percentage=0.1)
 
@@ -511,139 +511,78 @@
 
         theme = context.user_preferences.themes[0]
 
-        split = layout.split(percentage=0.33)
-        split.prop(theme, "active_theme", text="")
+        split_themes = layout.split(percentage=0.2)
+        split_themes.prop(theme, "theme_area", expand=True)
 
-        layout.separator()
-
-        split = layout.split()
-
-        if theme.active_theme == 'VIEW_3D':
-            v3d = theme.view_3d
-
+        split = split_themes.split()
+        
+        if theme.theme_area == 'USER_INTERFACE':
             col = split.column()
-            col.prop(v3d, "back")
-            col.prop(v3d, "button")
-            col.prop(v3d, "button_title")
-            col.prop(v3d, "button_text")
-            col.prop(v3d, "header")
 
-            col = split.column()
-            col.prop(v3d, "grid")
-            col.prop(v3d, "wire")
-            col.prop(v3d, "lamp", slider=True)
-            col.prop(v3d, "editmesh_active", slider=True)
+            ui = theme.user_interface.wcol_regular
+            col.label(text="Regular:")
+            ui_items_general(col, ui)
 
-            col = split.column()
-            col.prop(v3d, "object_selected")
-            col.prop(v3d, "object_active")
-            col.prop(v3d, "object_grouped")
-            col.prop(v3d, "object_grouped_active")
-            col.prop(v3d, "transform")
+            ui = theme.user_interface.wcol_tool
+            col.label(text="Tool:")
+            ui_items_general(col, ui)
 
-            col = split.column()
-            col.prop(v3d, "vertex")
-            col.prop(v3d, "face", slider=True)
-            col.prop(v3d, "normal")
-            col.prop(v3d, "bone_solid")
-            col.prop(v3d, "bone_pose")
-            #col.prop(v3d, "edge") Doesn't seem to work
+            ui = theme.user_interface.wcol_radio
+            col.label(text="Radio Buttons:")
+            ui_items_general(col, ui)
 
-        elif theme.active_theme == 'USER_INTERFACE':
-            context = theme.user_interface.wcol_regular
-            layout.label(text="Regular:")
-            ui_items_general(self, context)
+            ui = theme.user_interface.wcol_text
+            col.label(text="Text:")
+            ui_items_general(col, ui)
 
-            layout.separator()
+            ui = theme.user_interface.wcol_option
+            col.label(text="Option:")
+            ui_items_general(col, ui)
 
-            context = theme.user_interface.wcol_tool
-            layout.label(text="Tool:")
-            ui_items_general(self, context)
-            
-            layout.separator()
+            ui = theme.user_interface.wcol_toggle
+            col.label(text="Toggle:")
+            ui_items_general(col, ui)
 
-            context = theme.user_interface.wcol_radio
-            layout.label(text="Radio Buttons:")
-            ui_items_general(self, context)
-            
-            layout.separator()
+            ui = theme.user_interface.wcol_num
+            col.label(text="Number Field:")
+            ui_items_general(col, ui)
 
-            context = theme.user_interface.wcol_text
-            layout.label(text="Text:")
-            ui_items_general(self, context)
+            ui = theme.user_interface.wcol_numslider
+            col.label(text="Value Slider:")
+            ui_items_general(col, ui)
 
-            layout.separator()
+            ui = theme.user_interface.wcol_box
+            col.label(text="Box:")
+            ui_items_general(col, ui)
 
-            context = theme.user_interface.wcol_option
-            layout.label(text="Option:")
-            ui_items_general(self, context)
-            
-            layout.separator()
+            ui = theme.user_interface.wcol_menu
+            col.label(text="Menu:")
+            ui_items_general(col, ui)
 
-            context = theme.user_interface.wcol_toggle
-            layout.label(text="Toggle:")
-            ui_items_general(self, context)
-            
-            layout.separator()
+            ui = theme.user_interface.wcol_pulldown
+            col.label(text="Pulldown:")
+            ui_items_general(col, ui)
 
-            context = theme.user_interface.wcol_num
-            layout.label(text="Number Field:")
-            ui_items_general(self, context)
-            
-            layout.separator()
+            ui = theme.user_interface.wcol_menu_back
+            col.label(text="Menu Back:")
+            ui_items_general(col, ui)
 
-            context = theme.user_interface.wcol_numslider
-            layout.label(text="Value Slider:")
-            ui_items_general(self, context)
-            
-            layout.separator()
+            ui = theme.user_interface.wcol_menu_item
+            col.label(text="Menu Item:")
+            ui_items_general(col, ui)
 
-            context = theme.user_interface.wcol_box
-            layout.label(text="Box:")
-            ui_items_general(self, context)
-            
-            layout.separator()
+            ui = theme.user_interface.wcol_scroll
+            col.label(text="Scroll Bar:")
+            ui_items_general(col, ui)
 
-            context = theme.user_interface.wcol_menu
-            layout.label(text="Menu:")
-            ui_items_general(self, context)
-            
-            layout.separator()
+            ui = theme.user_interface.wcol_list_item
+            col.label(text="List Item:")
+            ui_items_general(col, ui)
 
-            context = theme.user_interface.wcol_pulldown
-            layout.label(text="Pulldown:")
-            ui_items_general(self, context)
-            
-            layout.separator()
-
-            context = theme.user_interface.wcol_menu_back
-            layout.label(text="Menu Back:")
-            ui_items_general(self, context)
-            
-            layout.separator()
-
-            context = theme.user_interface.wcol_menu_item
-            layout.label(text="Menu Item:")
-            ui_items_general(self, context)
-            
-            layout.separator()
-
-            context = theme.user_interface.wcol_scroll
-            layout.label(text="Scroll Bar:")
-            ui_items_general(self, context)
-            
-            layout.separator()
-
-            context = theme.user_interface.wcol_list_item
-            layout.label(text="List Item:")
-            ui_items_general(self, context)
-            
-            layout.separator()
-
             ui = theme.user_interface.wcol_state
-            layout.label(text="State:")
+            col.label(text="State:")
 
-            row = layout.row()
+            row = col.row()
             sub = row.column()
             sub.prop(ui, "inner_anim")
             sub.prop(ui, "inner_anim_sel")
@@ -657,16 +596,46 @@
             sub.prop(ui, "blend")
 
             ui = theme.user_interface
-            layout.separator()
+            col.separator()
+            col.separator()
+            col.prop(ui, "icon_file")
 
-            sub = layout.row()
-            sub.prop(ui, "icon_file")
-
             layout.separator()
             layout.separator()
 
 
-        elif theme.active_theme == 'GRAPH_EDITOR':
+        elif theme.theme_area == 'VIEW_3D':
+            v3d = theme.view_3d
+
+            col = split.column()
+            col.prop(v3d, "back")
+            col.prop(v3d, "button")
+            col.prop(v3d, "button_title")
+            col.prop(v3d, "button_text")
+            col.prop(v3d, "header")
+
+            col = split.column()
+            col.prop(v3d, "grid")
+            col.prop(v3d, "wire")
+            col.prop(v3d, "lamp", slider=True)
+            col.prop(v3d, "editmesh_active", slider=True)
+
+            col = split.column()
+            col.prop(v3d, "object_selected")
+            col.prop(v3d, "object_active")
+            col.prop(v3d, "object_grouped")
+            col.prop(v3d, "object_grouped_active")
+            col.prop(v3d, "transform")
+
+            col = split.column()
+            col.prop(v3d, "vertex")
+            col.prop(v3d, "face", slider=True)
+            col.prop(v3d, "normal")
+            col.prop(v3d, "bone_solid")
+            col.prop(v3d, "bone_pose")
+            #col.prop(v3d, "edge") Doesn't seem to work
+
+        elif theme.theme_area == 'GRAPH_EDITOR':
             graph = theme.graph_editor
 
             col = split.column()
@@ -694,7 +663,7 @@
             col.separator()
             col.prop(graph, "handle_vertex_size")
 
-        elif theme.active_theme == 'FILE_BROWSER':
+        elif theme.theme_area == 'FILE_BROWSER':
             file_browse = theme.file_browser
 
             col = split.column()
@@ -714,7 +683,7 @@
             col.prop(file_browse, "active_file")
             col.prop(file_browse, "active_file_text")
 
-        elif theme.active_theme == 'NLA_EDITOR':
+        elif theme.theme_area == 'NLA_EDITOR':
             nla = theme.nla_editor
 
             col = split.column()
@@ -737,7 +706,7 @@
             col.prop(nla, "strips_selected")
             col.prop(nla, "current_frame")
 
-        elif theme.active_theme == 'DOPESHEET_EDITOR':
+        elif theme.theme_area == 'DOPESHEET_EDITOR':
             dope = theme.dopesheet_editor
 
             col = split.column()
@@ -762,7 +731,7 @@
             col.prop(dope, "dopesheet_channel")
             col.prop(dope, "dopesheet_subchannel")
 
-        elif theme.active_theme == 'IMAGE_EDITOR':
+        elif theme.theme_area == 'IMAGE_EDITOR':
             image = theme.image_editor
 
             col = split.column()
@@ -779,7 +748,7 @@
             col = split.column()
             col.prop(image, "editmesh_active", slider=True)
 

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list