[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