UI: Add Open Image button to Mask Stencil Image panel
In the future we should make these two buttons on one line However because we need `gen_context = 'PAINT_STENCIL'` this is a little hard and we need to find a proper solution. One might be using `context_pointer_set` Patch by @craig_jones with edits by @blendify Differential Revision: https://developer.blender.org/D2710
This commit is contained in:
@@ -916,16 +916,18 @@ class VIEW3D_PT_imapaint_tools_missing(Panel, View3DPaintPanel):
|
|||||||
col.separator()
|
col.separator()
|
||||||
col.label("Missing Canvas", icon='INFO')
|
col.label("Missing Canvas", icon='INFO')
|
||||||
col.label("Add or assign a canvas image below")
|
col.label("Add or assign a canvas image below")
|
||||||
col.label("Canvas Image")
|
col.label("Canvas Image:")
|
||||||
col.template_ID(toolsettings, "canvas")
|
# todo this should be combinded into a single row
|
||||||
|
col.template_ID(toolsettings, "canvas", open="image.open")
|
||||||
col.operator("image.new", text="New").gen_context = 'PAINT_CANVAS'
|
col.operator("image.new", text="New").gen_context = 'PAINT_CANVAS'
|
||||||
|
|
||||||
if toolsettings.missing_stencil:
|
if toolsettings.missing_stencil:
|
||||||
col.separator()
|
col.separator()
|
||||||
col.label("Missing Stencil", icon='INFO')
|
col.label("Missing Stencil", icon='INFO')
|
||||||
col.label("Add or assign a stencil image below")
|
col.label("Add or assign a stencil image below")
|
||||||
col.label("Stencil Image")
|
col.label("Stencil Image:")
|
||||||
col.template_ID(toolsettings, "stencil_image")
|
# todo this should be combinded into a single row
|
||||||
|
col.template_ID(toolsettings, "stencil_image", open="image.open")
|
||||||
col.operator("image.new", text="New").gen_context = 'PAINT_STENCIL'
|
col.operator("image.new", text="New").gen_context = 'PAINT_STENCIL'
|
||||||
|
|
||||||
|
|
||||||
@@ -1200,20 +1202,20 @@ class VIEW3D_PT_slots_projectpaint(View3DPanel, Panel):
|
|||||||
ob = context.active_object
|
ob = context.active_object
|
||||||
col = layout.column()
|
col = layout.column()
|
||||||
|
|
||||||
col.label("Painting Mode")
|
col.label("Painting Mode:")
|
||||||
col.prop(settings, "mode", text="")
|
col.prop(settings, "mode", text="")
|
||||||
col.separator()
|
col.separator()
|
||||||
|
|
||||||
if settings.mode == 'MATERIAL':
|
if settings.mode == 'MATERIAL':
|
||||||
if len(ob.material_slots) > 1:
|
if len(ob.material_slots) > 1:
|
||||||
col.label("Materials")
|
col.label("Materials:")
|
||||||
col.template_list("MATERIAL_UL_matslots", "layers",
|
col.template_list("MATERIAL_UL_matslots", "layers",
|
||||||
ob, "material_slots",
|
ob, "material_slots",
|
||||||
ob, "active_material_index", rows=2)
|
ob, "active_material_index", rows=2)
|
||||||
|
|
||||||
mat = ob.active_material
|
mat = ob.active_material
|
||||||
if mat:
|
if mat:
|
||||||
col.label("Available Paint Slots")
|
col.label("Available Paint Slots:")
|
||||||
col.template_list("TEXTURE_UL_texpaintslots", "",
|
col.template_list("TEXTURE_UL_texpaintslots", "",
|
||||||
mat, "texture_paint_images",
|
mat, "texture_paint_images",
|
||||||
mat, "paint_active_slot", rows=2)
|
mat, "paint_active_slot", rows=2)
|
||||||
@@ -1233,16 +1235,17 @@ class VIEW3D_PT_slots_projectpaint(View3DPanel, Panel):
|
|||||||
col.separator()
|
col.separator()
|
||||||
|
|
||||||
if slot and slot.index != -1:
|
if slot and slot.index != -1:
|
||||||
col.label("UV Map")
|
col.label("UV Map:")
|
||||||
col.prop_search(slot, "uv_layer", ob.data, "uv_textures", text="")
|
col.prop_search(slot, "uv_layer", ob.data, "uv_textures", text="")
|
||||||
|
|
||||||
elif settings.mode == 'IMAGE':
|
elif settings.mode == 'IMAGE':
|
||||||
mesh = ob.data
|
mesh = ob.data
|
||||||
uv_text = mesh.uv_textures.active.name if mesh.uv_textures.active else ""
|
uv_text = mesh.uv_textures.active.name if mesh.uv_textures.active else ""
|
||||||
col.label("Canvas Image")
|
col.label("Canvas Image:")
|
||||||
col.template_ID(settings, "canvas")
|
# todo this should be combinded into a single row
|
||||||
|
col.template_ID(settings, "canvas", col.template_ID)
|
||||||
col.operator("image.new", text="New").gen_context = 'PAINT_CANVAS'
|
col.operator("image.new", text="New").gen_context = 'PAINT_CANVAS'
|
||||||
col.label("UV Map")
|
col.label("UV Map:")
|
||||||
col.menu("VIEW3D_MT_tools_projectpaint_uvlayer", text=uv_text, translate=False)
|
col.menu("VIEW3D_MT_tools_projectpaint_uvlayer", text=uv_text, translate=False)
|
||||||
|
|
||||||
col.separator()
|
col.separator()
|
||||||
@@ -1276,14 +1279,15 @@ class VIEW3D_PT_stencil_projectpaint(View3DPanel, Panel):
|
|||||||
col.active = ipaint.use_stencil_layer
|
col.active = ipaint.use_stencil_layer
|
||||||
|
|
||||||
stencil_text = mesh.uv_texture_stencil.name if mesh.uv_texture_stencil else ""
|
stencil_text = mesh.uv_texture_stencil.name if mesh.uv_texture_stencil else ""
|
||||||
col.label("UV Map")
|
col.label("UV Map:")
|
||||||
col.menu("VIEW3D_MT_tools_projectpaint_stencil", text=stencil_text, translate=False)
|
col.menu("VIEW3D_MT_tools_projectpaint_stencil", text=stencil_text, translate=False)
|
||||||
|
|
||||||
col.label("Stencil Image")
|
col.label("Stencil Image:")
|
||||||
col.template_ID(ipaint, "stencil_image")
|
# todo this should be combinded into a single row
|
||||||
|
col.template_ID(ipaint, "stencil_image", open="image.open")
|
||||||
col.operator("image.new", text="New").gen_context = 'PAINT_STENCIL'
|
col.operator("image.new", text="New").gen_context = 'PAINT_STENCIL'
|
||||||
|
|
||||||
col.label("Visualization")
|
col.label("Visualization:")
|
||||||
row = col.row(align=True)
|
row = col.row(align=True)
|
||||||
row.prop(ipaint, "stencil_color", text="")
|
row.prop(ipaint, "stencil_color", text="")
|
||||||
row.prop(ipaint, "invert_stencil", text="", icon='IMAGE_ALPHA')
|
row.prop(ipaint, "invert_stencil", text="", icon='IMAGE_ALPHA')
|
||||||
|
Reference in New Issue
Block a user