void CommandHandler::OnReceiveCommand(AppCommandEvent &event) { // First retrieve the actual command from the event 'envelope'. Command *cmd = event.GetCommand(); // Then apply it to current application & project. Note that the // command may change the context - for example, switching to a // different project. cmd->Apply(*mCurrentContext); // Done with the command so delete it. delete cmd; // Redraw the project mCurrentContext->proj->RedrawProject(); }
void CommandHandler::OnReceiveCommand(AppCommandEvent &event) { // First retrieve the actual command from the event 'envelope'. CommandHolder cmd = event.GetCommand(); // JKC: In case the user changed the project, let us track that. // This saves us the embarrassment (crash) of a NEW project // being opened, the old one closed and still trying to act // on the old one. SetProject( GetActiveProject() ); // Then apply it to current application & project. Note that the // command may change the context - for example, switching to a // different project. cmd->Apply(*mCurrentContext); // Redraw the project mCurrentContext->GetProject()->RedrawProject(); }