This add an option for a popup dialog that gives more freedom to the user than the current alternative.
Things that do not work yet:
- row() and split() mess with layout
- redraw not working
- exit_on_execute not working (the idea is to exit when an operator is called, but not when a property is chagned)
- I get a asan crash if I use the delete object operator from within the popup dialog
Test script:
import bpy
def draw(self, context):
layout = self.layout
col = layout.column()
row = col.row()
row.label("Hello")
row.label("World")
row = col.row()
row.label("Blender")
row.label("Hi There", icon='INFO')
col.operator("object.add")
ob = context.object
if ob:
col.prop(ob, "name")
col.prop(ob, "location")
col.row().prop(ob, "dupli_type", expand=True)
if ob.dupli_type == 'VERTS':
col.label(text="VERT")
else:
col.label(text="Something else")
col.operator("object.delete")
bpy.context.window_manager.popup_dialog(draw, title="Greeting", icon='INFO', keep_open=True, exit_on_execute=True)