def draw(self, context):
menu = utils_core.Menu(self)
datapath = "tool_settings.image_paint.brush.mask_texture"
has_brush = utils_core.get_brush_link(context, types="brush")
current_texture = eval("bpy.context.{}".format(datapath)) if \
has_brush else None
menu.add_item().label(text="Mask Texture")
menu.add_item().separator()
if has_brush:
# get the current texture's name
if current_texture:
current_texture = current_texture.name
# add an item to set the texture to None
utils_core.menuprop(
menu.add_item(), "None", "None",
datapath, icon='RADIOBUT_OFF', disable=True,
disable_icon='RADIOBUT_ON',
custom_disable_exp=[None, current_texture],
path=True
)
# add the menu items
for item in bpy.data.textures:
utils_core.menuprop(
menu.add_item(), item.name, 'bpy.data.textures["%s"]' % item.name,
datapath, icon='RADIOBUT_OFF', disable=True,
disable_icon='RADIOBUT_ON',
custom_disable_exp=[item.name, current_texture],
path=True
)
else:
menu.add_item().label("No brushes available", icon="INFO")
评论列表
文章目录