// Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
 // ----------------------------------------------------------------------------
 // Command processor
 // ----------------------------------------------------------------------------
 // ----------------------------------------------------------------------------
 // Command processor
 // ----------------------------------------------------------------------------
 
 // Pass a command to the processor. The processor calls Do();
 // if successful, is appended to the command history unless
 
 // Pass a command to the processor. The processor calls Do();
 // if successful, is appended to the command history unless
         m_commandEditMenu->SetLabel(wxID_UNDO, undoLabel);
         m_commandEditMenu->Enable(wxID_UNDO, CanUndo());
 
         m_commandEditMenu->SetLabel(wxID_UNDO, undoLabel);
         m_commandEditMenu->Enable(wxID_UNDO, CanUndo());
 
     {
         wxCommand *command = (wxCommand *)m_currentCommand->GetData();
         wxString commandName(command->GetName());
     {
         wxCommand *command = (wxCommand *)m_currentCommand->GetData();
         wxString commandName(command->GetName());
         {
             wxCommand *redoCommand = (wxCommand *)m_currentCommand->GetNext()->GetData();
             wxString redoCommandName(redoCommand->GetName());
         {
             wxCommand *redoCommand = (wxCommand *)m_currentCommand->GetNext()->GetData();
             wxString redoCommandName(redoCommand->GetName());
             // we've undone to the start of the list, but can redo the first.
             wxCommand *redoCommand = (wxCommand *)m_commands.GetFirst()->GetData();
             wxString redoCommandName(redoCommand->GetName());
             // we've undone to the start of the list, but can redo the first.
             wxCommand *redoCommand = (wxCommand *)m_commands.GetFirst()->GetData();
             wxString redoCommandName(redoCommand->GetName());