My question is really simple, by default the button of blender dialog boxes is the "OK" string what if I want to display something else? like "Execute" or "Play"? Something a bit more explanatory than "OK"...
Related : How to call a confirmation dialog box?
example of dialog box (nothing out of the usual)
import bpy
class SimplePropConfirmOperator(bpy.types.Operator):
"""Really?"""
bl_idname = "my_category.custom_confirm_dialog"
bl_label = "Do you really want to do that?"
bl_options = {'REGISTER', 'INTERNAL'}
prop1: bpy.props.BoolProperty()
prop2: bpy.props.BoolProperty()
@classmethod
def poll(cls, context):
return True
def execute(self, context):
self.report({'INFO'}, "YES!")
return {'FINISHED'}
def invoke(self, context, event):
return context.window_manager.invoke_props_dialog(self)
def draw(self, context):
row = self.layout
row.prop(self, "prop1", text="Property A")
row.prop(self, "prop2", text="Property B")
class OBJECT_PT_CustomPanel(bpy.types.Panel):
bl_label = "My Panel"
bl_idname = "OBJECT_PT_custom_panel"
bl_space_type = "VIEW_3D"
bl_region_type = "UI"
bl_category = "Tools"
bl_context = "objectmode"
def draw(self, context):
layout = self.layout
layout.operator(SimplePropConfirmOperator.bl_idname)
def register():
bpy.utils.register_class(OBJECT_PT_CustomPanel)
bpy.utils.register_class(SimplePropConfirmOperator)
def unregister():
bpy.utils.unregister_class(SimplePropConfirmOperator)
bpy.utils.unregister_class(OBJECT_PT_CustomPanel)
if __name__ == "__main__":
register()