CMvcCommand Class
class CMvcCommand: public IMessage
A CMvcCommand is an abstract base class that defines the interface for all command objects. A command object is essentially a persistent form of a verb. Graphical User Interfaces typically adhere to what is known as the "Object-Verb" paradigm, which simply means you select an object and then apply a verb to that object. Fundamentally, each command object represents a verb and classes which you derive from MvcCommand define specific verbs as appropriate for your application. Basically, you are expected to derive multiple command classes from this class and implement the Execute function such that it performs whatever function the derived command class encapsulates. In MVC, the model defines a set of verbs, or command objects, that make sense within the triad.The CMvcCommand class is central to the undo/redo architecture defined by MVC. Typically, a controller will respond to user input by calling some operation defined by the model it observes. That model operation should create a command object of the required type, log the command and execute it. Logging the commands prior to executing them creates a history buffer so that a record exist for undo/redo purposes. This history buffer is maintained internal to the transaction model.
Defined in: MvcCommand.h
Class Members
Construct an MVC command object
virtual ~CMvcCommand()
Destroy an MVC command object
BOOL m_bUndoable
Flag to indicate if command supports Unexecute
virtual BOOL IsUndoable() const
Determines if this command can be undone
BOOL CMvcCommandSetUndoable
Sets if this command can be undone
virtual BOOL Execute()
Execute this command
virtual BOOL Unexecute()
Reverse the effects of this command