Addon: run execute() only when button is clicked I'd like to create an addon, which has some properties and a button. The addon should only does the scene modification when the button is clicked.

Currently my addon is placed into the specials menu of the curve. When I select it, its properties are displayed on the side panel and its execute() method is executed immediately.

I'd like to have a button under the properties on the side panel and to do the scene modification only when the button is clicked.

Where can I find an example for this use case?
You can also add an invoke method and call WindowManager.invoke_props_dialog:

def invoke(self, context, event):
    return context.window_manager.invoke_props_dialog(self)