[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [1795] contrib/py/scripts/addons/ texpaint_ui.py: more add layer types and feedback when no material or layers

michael williamson michaelw at cowtoolsmedia.co.uk
Thu Apr 7 17:22:15 CEST 2011


Revision: 1795
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=1795
Author:   michaelw
Date:     2011-04-07 15:22:15 +0000 (Thu, 07 Apr 2011)
Log Message:
-----------
more add layer types and feedback when no material or layers

Modified Paths:
--------------
    contrib/py/scripts/addons/texpaint_ui.py

Modified: contrib/py/scripts/addons/texpaint_ui.py
===================================================================
--- contrib/py/scripts/addons/texpaint_ui.py	2011-04-07 04:06:04 UTC (rev 1794)
+++ contrib/py/scripts/addons/texpaint_ui.py	2011-04-07 15:22:15 UTC (rev 1795)
@@ -8,8 +8,8 @@
     "description": "adds a layer manager for image based texture slots in paint and quick add layer tools",
     "warning": "",
     "wiki_url": "http://wiki.blender.org/index.php/Extensions:2.5/Py/Scripts/3D_interaction/Texture_paint_layers",
-    "tracker_url": "http://projects.blender.org/tracker/?func=add&group_id=153&atid=467",
-    "category": "Add Mesh"}
+    "tracker_url": "http://projects.blender.org/tracker/index.php?func=detail&aid=26789&group_id=153&atid=467",
+    "category": "Texture"}
         
         
 import bpy
@@ -153,40 +153,42 @@
         if ob:
             me = ob.data
             mat = ob.active_material
-    
+            if not mat:
+                row = layout.row() 
+                row.label(' Add a Material first!', icon = 'ERROR')
+            else:
+                row = layout.row()        
+                row.template_list(ob, "material_slots", ob, 
+                    "active_material_index", rows=2 )
+                
+        
+                
+                #list Paintable textures
+                #TODO add filter for channel type
+                i = -1
+                for t in mat.texture_slots:
+                    i+=1
+                    try:
+                        if t.texture.type =='IMAGE':                
+                            row = layout.row(align= True)                
+                            if t.texture == mat.active_texture:
+                                ai =  'BRUSH_DATA'
+                            else:
+                                ai = 'BLANK1'
+                            row.operator('object.set_active_paint_layer', 
+                                text = "", icon = ai).tex_index =i   
+                            row.prop(t.texture,'name', text = "")
             
-            row = layout.row()        
-            row.template_list(ob, "material_slots", ob, 
-                "active_material_index", rows=2 )
-            
-    
-            
-            #list Paintable textures
-            #TODO add filter for channel type
-            i = -1
-            for t in mat.texture_slots:
-                i+=1
-                try:
-                    if t.texture.type =='IMAGE':                
-                        row = layout.row(align= True)                
-                        if t.texture == mat.active_texture:
-                            ai =  'BRUSH_DATA'
-                        else:
-                            ai = 'BLANK1'
-                        row.operator('object.set_active_paint_layer', 
-                            text = "", icon = ai).tex_index =i   
-                        row.prop(t.texture,'name', text = "")
         
+                            #Visibility
+                            if t.use:
+                                ic = 'RESTRICT_VIEW_OFF'
+                            else:
+                                ic = 'RESTRICT_VIEW_ON'
+                            row.prop(t,'use', text = "",icon = ic)
+                    except:
+                         continue
     
-                        #Visibility
-                        if t.use:
-                            ic = 'RESTRICT_VIEW_OFF'
-                        else:
-                            ic = 'RESTRICT_VIEW_ON'
-                        row.prop(t,'use', text = "",icon = ic)
-                except:
-                     continue
-    
             
     
 
@@ -196,62 +198,51 @@
     
             if ts:
                 row = layout.row()
-                row = layout.row()
-                row.label('Active Properties:', icon = 'BRUSH_DATA')
+
     
-                #use if rather than elif... can be mapped to multiple things                
+                
+                
+                col = layout.column(align =True)
+                col.label('Active Properties:', icon = 'BRUSH_DATA') 
+                    
+                #use if rather than elif... can be mapped to multiple things                                   
                 if ts.use_map_diffuse:
-                    row = layout.row()
-    
-                    row.prop(ts,'diffuse_factor', slider = True)
+                    col.prop(ts,'diffuse_factor', slider = True)
                 if ts.use_map_color_diffuse:
-                    row = layout.row()
-                    row.prop(ts,'diffuse_color_factor', slider = True)
+                    col.prop(ts,'diffuse_color_factor', slider = True)
                 if ts.use_map_alpha:
-                    row = layout.row()
-                    row.prop(ts,'alpha_factor', slider = True)
+                    col.prop(ts,'alpha_factor', slider = True)
                 if ts.use_map_translucency:
-                    row = layout.row()
-                    row.prop(ts,'translucency_factor', slider = True)
-                
+                    col.prop(ts,'translucency_factor', slider = True)
                 if ts.use_map_specular:
-                    row = layout.row()
-                    row.prop(ts,'specular_factor', slider = True)
+                    col.prop(ts,'specular_factor', slider = True)
                 if ts.use_map_color_spec:
-                    row = layout.row()
-                    row.prop(ts,'specular_color_factor', slider = True)
+                    col.prop(ts,'specular_color_factor', slider = True)
                 if ts.use_map_hardness:
-                    row = layout.row()
-                    row.prop(ts,'hardness_factor', slider = True)
+                    col.prop(ts,'hardness_factor', slider = True)
                     
                 if ts.use_map_normal:
-                    row = layout.row()
-                    row.prop(ts,'normal_factor', slider = True)
+                    col.prop(ts,'normal_factor', slider = True)
                 if ts.use_map_warp:
-                    row = layout.row()
-                    row.prop(ts,'warp_factor', slider = True)
+                    col.prop(ts,'warp_factor', slider = True)
                 if ts.use_map_displacement:
-                    row = layout.row()
-                    row.prop(ts,'displacement_factor', slider = True)  
+                    col.prop(ts,'displacement_factor', slider = True)  
                     
                 if ts.use_map_ambient:
-                    row = layout.row()
-                    row.prop(ts,'ambient_factor', slider = True)               
+                    col.prop(ts,'ambient_factor', slider = True)               
                 if ts.use_map_emit:
-                    row = layout.row()
-                    row.prop(ts,'emit_factor', slider = True)                  
+                    col.prop(ts,'emit_factor', slider = True)                  
                 if ts.use_map_mirror:
-                    row = layout.row()
-                    row.prop(ts,'mirror_factor', slider = True)    
+                    col.prop(ts,'mirror_factor', slider = True)    
                 if ts.use_map_raymir:
-                    row = layout.row()
-                    row.prop(ts,'raymir_factor', slider = True)    
+                    col.prop(ts,'raymir_factor', slider = True)    
                  
                                     
-                row = layout.row()
-                row.prop(ts,'blend_type',text='')   
+                col.prop(ts,'blend_type',text='')   
         
-        
+            else:
+                row=layout.row()
+                row.label('No paint layers in material', icon = 'ERROR')        
 
 #            
 #        row = layout.row()
@@ -279,23 +270,51 @@
         if ob:
             me = ob.data
             mat = ob.active_material
-    
             
-            #row = layout.row()   
-            col = layout.column(align =True)
-    
-    
-            col.operator('object.add_paint_layer',
-                text = "Add Color").ttype = 'COLOR' 
-            col.operator('object.add_paint_layer',
-                text = "Add Bump").ttype = 'NORMAL'
-            col.operator('object.add_paint_layer',
-                text = "Add Specular").ttype = 'SPECULAR'
-            col.operator('object.add_paint_layer',
-                text = "Add Emit").ttype = 'EMIT'      
-            
+            if mat:
+                
+                #row = layout.row()   
+                col = layout.column(align =True)
         
         
+                col.operator('object.add_paint_layer',
+                    text = "Add Color").ttype = 'COLOR' 
+                col.operator('object.add_paint_layer',
+                    text = "Add Bump").ttype = 'NORMAL'
+                    
+                col = layout.column(align =True)
+                col.operator('object.add_paint_layer',
+                    text = "Add Specular").ttype = 'SPECULAR'
+                col.operator('object.add_paint_layer',
+                    text = "Add Spec Col").ttype = 'SPEC_COL'
+                col.operator('object.add_paint_layer',
+                    text = "Add Hardness").ttype = 'HARDNESS' 
+                    
+                col = layout.column(align =True)    
+                col.operator('object.add_paint_layer',
+                    text = "Add Alpha").ttype = 'ALPHA' 
+                col.operator('object.add_paint_layer',
+                    text = "Add Translucency").ttype = 'TRANSLUCENCY'
+                    
+                col = layout.column(align =True)                      
+                col.operator('object.add_paint_layer',
+                    text = "Add Mirror").ttype = 'MIRROR' 
+                col.operator('object.add_paint_layer',
+                    text = "Add Ray Mirror").ttype = 'RAY_MIRROR'   
+                    
+                col = layout.column(align =True)                      
+                col.operator('object.add_paint_layer',
+                    text = "Add Emit").ttype = 'EMIT' 
+                col.operator('object.add_paint_layer',
+                    text = "Add Diffuse").ttype = 'DIFFUSE'   
+                col.operator('object.add_paint_layer',
+                    text = "Add Ambient").ttype = 'AMBIENT' 
+                                        

@@ Diff output truncated at 10240 characters. @@


More information about the Bf-extensions-cvs mailing list