X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4ed40684b46c71bcff8d11242c84043e2602ce58..c220a8ec4fcb4e7b620e88c76b0a84be4554b28b:/src/common/cmdproc.cpp diff --git a/src/common/cmdproc.cpp b/src/common/cmdproc.cpp index f85b076762..0bfe20d3f5 100644 --- a/src/common/cmdproc.cpp +++ b/src/common/cmdproc.cpp @@ -5,7 +5,7 @@ // Modified by: // Created: 05.11.00 // RCS-ID: $Id$ -// Copyright: (c) wxWindows team +// Copyright: (c) wxWidgets team // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// @@ -17,7 +17,7 @@ // headers // ---------------------------------------------------------------------------- -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "cmdproc.h" #endif @@ -53,10 +53,6 @@ wxCommand::wxCommand(bool canUndoIt, const wxString& name) m_commandName = name; } -wxCommand::~wxCommand() -{ -} - // ---------------------------------------------------------------------------- // Command processor // ---------------------------------------------------------------------------- @@ -69,6 +65,9 @@ wxCommandProcessor::wxCommandProcessor(int maxCommands) #endif // wxUSE_MENUS m_undoAccelerator = wxT("\tCtrl+Z"); m_redoAccelerator = wxT("\tCtrl+Y"); +#if !wxUSE_STL + m_currentCommand = NULL; +#endif } wxCommandProcessor::~wxCommandProcessor() @@ -88,23 +87,25 @@ bool wxCommandProcessor::UndoCommand(wxCommand& cmd) // Pass a command to the processor. The processor calls Do(); // if successful, is appended to the command history unless -// storeIt is FALSE. +// storeIt is false. bool wxCommandProcessor::Submit(wxCommand *command, bool storeIt) { - wxCHECK_MSG( command, FALSE, _T("no command in wxCommandProcessor::Submit") ); + wxCHECK_MSG( command, false, _T("no command in wxCommandProcessor::Submit") ); if ( !DoCommand(*command) ) { // the user code expects the command to be deleted anyhow delete command; - return FALSE; + return false; } if ( storeIt ) Store(command); + else + delete command; - return TRUE; + return true; } void wxCommandProcessor::Store(wxCommand *command) @@ -149,11 +150,11 @@ bool wxCommandProcessor::Undo() { m_currentCommand = m_currentCommand->GetPrevious(); SetMenuStrings(); - return TRUE; + return true; } } - return FALSE; + return false; } bool wxCommandProcessor::Redo() @@ -190,10 +191,10 @@ bool wxCommandProcessor::Redo() { m_currentCommand = redoNode; SetMenuStrings(); - return TRUE; + return true; } } - return FALSE; + return false; } bool wxCommandProcessor::CanUndo() const @@ -206,15 +207,15 @@ bool wxCommandProcessor::CanUndo() const bool wxCommandProcessor::CanRedo() const { if (m_currentCommand && !m_currentCommand->GetNext()) - return FALSE; + return false; if (m_currentCommand && m_currentCommand->GetNext()) - return TRUE; + return true; if (!m_currentCommand && (m_commands.GetCount() > 0)) - return TRUE; + return true; - return FALSE; + return false; } void wxCommandProcessor::Initialize() @@ -230,7 +231,7 @@ void wxCommandProcessor::SetMenuStrings() { wxString undoLabel = GetUndoMenuLabel(); wxString redoLabel = GetRedoMenuLabel(); - + m_commandEditMenu->SetLabel(wxID_UNDO, undoLabel); m_commandEditMenu->Enable(wxID_UNDO, CanUndo()); @@ -259,7 +260,7 @@ wxString wxCommandProcessor::GetUndoMenuLabel() const { buf = _("&Undo") + m_undoAccelerator; } - + return buf; }