# wxCommandProcessor Class Reference
[Document/View Framework]

`#include <wx/cmdproc.h>`

Inheritance diagram for wxCommandProcessor:
[legend]

## Detailed Description

wxCommandProcessor is a class that maintains a history of wxCommands, with undo/redo functionality built-in.

Derive a new class from this if you want different behaviour.

##

Library: wxCore

Category: Document/View Framework

See also:
  wxCommandProcessor overview, wxCommand

## Public Member Functions
| wxCommandProcessor (int maxCommands=-1)
| Constructor.
virtual | ~wxCommandProcessor ()
| Destructor.
virtual bool | CanUndo () const
| Returns true if the currently-active command can be undone, false otherwise.
virtual void | ClearCommands ()
| Deletes all commands in the list and sets the current command pointer to NULL.
wxList & | GetCommands ()
| Returns the list of commands.
wxMenu * | GetEditMenu () const
| Returns the edit menu associated with the command processor.
int | GetMaxCommands () const
| Returns the maximum number of commands that the command processor stores.
const wxString & | GetRedoAccelerator () const
| Returns the string that will be appended to the Redo menu item.
wxString | GetRedoMenuLabel () const
| Returns the string that will be shown for the redo menu item.
const wxString & | GetUndoAccelerator () const
| Returns the string that will be appended to the Undo menu item.
wxString | GetUndoMenuLabel () const
| Returns the string that will be shown for the undo menu item.
virtual void | Initialize ()
| Initializes the command processor, setting the current command to the last in the list (if any), and updating the edit menu (if one has been specified).
virtual bool | IsDirty () const
| Returns a boolean value that indicates if changes have been made since the last save operation.
void | MarkAsSaved ()
| You must call this method whenever the project is saved if you plan to use IsDirty().
virtual bool | Redo ()
| Executes (redoes) the current command (the command that has just been undone if any).
void | SetEditMenu (wxMenu *menu)
| Tells the command processor to update the Undo and Redo items on this menu as appropriate.
virtual void | SetMenuStrings ()
| Sets the menu labels according to the currently set menu and the current command state.
void | SetRedoAccelerator (const wxString &accel)
| Sets the string that will be appended to the Redo menu item.
void | SetUndoAccelerator (const wxString &accel)
| Sets the string that will be appended to the Undo menu item.
virtual bool | Submit (wxCommand *command, bool storeIt=true)
| Submits a new command to the command processor.
virtual bool | Undo ()
| Undoes the last command executed.

List of all members.

## Constructor & Destructor Documentation

wxCommandProcessor::wxCommandProcessor | ( | int | maxCommands = `-1` | ) |

Constructor.

Parameters:

  | maxCommands | May be set to a positive integer to limit the number of commands stored to it, otherwise (and by default) the list of commands can grow arbitrarily.

virtual wxCommandProcessor::~wxCommandProcessor | ( |  | ) | `[virtual]`

Destructor.

## Member Function Documentation

virtual bool wxCommandProcessor::CanUndo | ( |  | ) | const`[virtual]`

Returns true if the currently-active command can be undone, false otherwise.

virtual void wxCommandProcessor::ClearCommands | ( |  | ) | `[virtual]`

Deletes all commands in the list and sets the current command pointer to NULL.

wxList& wxCommandProcessor::GetCommands | ( |  | ) |

Returns the list of commands.

wxMenu* wxCommandProcessor::GetEditMenu | ( |  | ) | const

Returns the edit menu associated with the command processor.

int wxCommandProcessor::GetMaxCommands | ( |  | ) | const

Returns the maximum number of commands that the command processor stores.

const wxString& wxCommandProcessor::GetRedoAccelerator | ( |  | ) | const

Returns the string that will be appended to the Redo menu item.

wxString wxCommandProcessor::GetRedoMenuLabel | ( |  | ) | const

Returns the string that will be shown for the redo menu item.

const wxString& wxCommandProcessor::GetUndoAccelerator | ( |  | ) | const

Returns the string that will be appended to the Undo menu item.

wxString wxCommandProcessor::GetUndoMenuLabel | ( |  | ) | const

Returns the string that will be shown for the undo menu item.

virtual void wxCommandProcessor::Initialize | ( |  | ) | `[virtual]`

Initializes the command processor, setting the current command to the last in the list (if any), and updating the edit menu (if one has been specified).

virtual bool wxCommandProcessor::IsDirty | ( |  | ) | const`[virtual]`

Returns a boolean value that indicates if changes have been made since the last save operation.

This only works if MarkAsSaved() is called whenever the project is saved.

void wxCommandProcessor::MarkAsSaved | ( |  | ) |

You must call this method whenever the project is saved if you plan to use IsDirty().

virtual bool wxCommandProcessor::Redo | ( |  | ) | `[virtual]`

Executes (redoes) the current command (the command that has just been undone if any).

void wxCommandProcessor::SetEditMenu | ( | wxMenu * | menu | ) |

Tells the command processor to update the Undo and Redo items on this menu as appropriate.

Set this to NULL if the menu is about to be destroyed and command operations may still be performed, or the command processor may try to access an invalid pointer.

virtual void wxCommandProcessor::SetMenuStrings | ( |  | ) | `[virtual]`

Sets the menu labels according to the currently set menu and the current command state.

void wxCommandProcessor::SetRedoAccelerator | ( | const wxString & | accel | ) |

Sets the string that will be appended to the Redo menu item.

void wxCommandProcessor::SetUndoAccelerator | ( | const wxString & | accel | ) |

Sets the string that will be appended to the Undo menu item.

virtual bool wxCommandProcessor::Submit | ( | wxCommand * | command,
|  | bool | storeIt = `true` |
| ) |  |  | `[virtual]`

Submits a new command to the command processor.

The command processor calls wxCommand::Do() to execute the command; if it succeeds, the command is stored in the history list, and the associated edit menu (if any) updated appropriately. If it fails, the command is deleted immediately. Once Submit() has been called, the passed command should not be deleted directly by the application.

Parameters:

  | command | The command to submit
  | storeIt | Indicates whether the successful command should be stored in the history list.

virtual bool wxCommandProcessor::Undo | ( |  | ) | `[virtual]`

Undoes the last command executed.

|  | [ top ]