Command.destroy Event

Parent Object: Command
Defined in namespace "adsk::core" and the header file is <Core/UserInterface/Command.h>

Description

Gets an event that is fired when the command is destroyed. The command is destroyed and can be cleaned up.

Syntax

-------- Import ---------
# Import fusion360utils folder, which includes event_utils.py.
from ...lib import fusion360utils as futil

-------- Global variables ---------
# Global variable used to maintain a reference to all event handlers.
local_handlers = []

-------- Connect the handler to the event. ---------
# "command_var" is a variable referencing a Command object.
# "command_destroy" is the event handler function.
futil.add_handler(command_var.destroy, command_destroy, local_handlers=local_handlers)

-------- Event handler function definition ---------
# Event handler for the destroy event.
def command_destroy(args: adsk.core.CommandEventArgs):
# Code to react to the event.
app.log('In command_destroy event handler.')
-------- Global variables ---------
# Global variable used to maintain a reference to all event handlers.
handlers = []

-------- Connect the handler to the event. ---------
# "command_var" is a variable referencing a Command object.
# "MyDestroyHandler" is the name of the class that handles the event.
onDestroy = MyDestroyHandler()
command_var.destroy.add(onDestroy)
handlers.append(onDestroy)

-------- Event handler class definition ---------
# Event handler for the destroy event.
class MyDestroyHandler(adsk.core.CommandEventHandler):
def __init__(self):
super().__init__()
def notify(self, args: adsk.core.CommandEventArgs):
# Code to react to the event.
app.log('In MyDestroyHandler event handler.')
--------- Required include files. ---------
#include <Core/UserInterface/Command.h>
#include <Core/UserInterface/CommandEvent.h>
#include <Core/UserInterface/CommandEventHandler.h>
#include <Core/UserInterface/CommandEventArgs.h>


--------- Event handler class definition and global declaration. ---------
// Event handler for the destroy event.
class MyDestroyEventHandler : public adsk::core::CommandEventHandler
{
public:
void notify(const Ptr<CommandEventArgs>& eventArgs) override
{
// Code to react to the event.
ui->messageBox("In MyDestroyEventHandler event handler.");
}
} _destroy;

--------- Connect the handler to the event. ---------
// "command_var" is a variable referencing a Command object.
// Connect the handler function to the event.
Ptr<CommandEvent> destroyEvent = command_var->destroy();
if (!destroyEvent)
return;

bool isOk = destroyEvent->add(&_destroy);
if (!isOk)
return;

Property Value

This is an event property that returns a CommandEvent.

Return Value

Type Description
CommandEvent Returns a CommandEvent object that is used to connect and release from the event.

Samples

Name Description
Command Inputs API Sample

Creates a command dialog that demonstrates all of the available command inputs.

To use the sample, create a new Python or C++ script and copy and paste this code, replacing the default code. You also need to unpack this zip file which contains a resource folder into the same folder where the source code file (.py or .cpp) is.

Selection Events API Sample The sample demos how to use selection events of a command.

Version

Introduced in version August 2014