Creates a new command instance.
Initializes the command with empty names. Subclasses should set appropriate global and local names in their constructors.
Readonly
eventsEvents fired during command execution lifecycle
Fired after the command finishes executing
Fired just before the command starts executing
Gets the global (untranslated) name of the command.
The global name is typically used for programmatic access and should remain consistent across different language localizations.
The global command name
Sets the global (untranslated) name of the command.
The global command name (e.g., 'LINE', 'CIRCLE', 'ZOOM')
Gets the local (translated) name of the command.
The local name is displayed to users and should be localized to the current language/region.
The localized command name
Sets the local (translated) name of the command.
The localized command name (e.g., 'Draw Line', 'Zoom In')
Executes the open file command.
Emits an 'open-file' event on the global event bus to trigger the file opening workflow. UI components typically listen for this event to display file selection dialogs.
The current application context (not used in this command)
Triggers the command execution with proper event handling.
This method should not be overridden by subclasses as it handles
the event notification workflow. Subclasses should implement the
execute()
method instead.
The execution flow:
commandWillStart
eventexecute()
methodcommandEnded
eventThe current application context containing view and document
Command to open a CAD file.
This command triggers the file opening workflow by emitting an 'open-file' event on the global event bus. The actual file opening logic is handled by other components listening for this event (typically the UI layer).
The command follows the standard CAD pattern where the command itself is lightweight and delegates the actual work to specialized handlers.
Example