Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members

FX::FXCommand Class Reference

Base class for undoable commands. More...

#include <FXUndoList.h>

Inheritance diagram for FX::FXCommand:

FX::FXObject FX::FXCommandGroup FX::FXUndoList

List of all members.

Public Member Functions

virtual void undo ()=0
virtual void redo ()=0
virtual FXuint size () const
virtual FXString undoName () const
virtual FXString redoName () const
virtual bool canMerge () const
virtual bool mergeWith (FXCommand *command)
virtual ~FXCommand ()

Friends

class FXUndoList
class FXCommandGroup


Detailed Description

Base class for undoable commands.

Each undo records all the information necessary to undo as well as redo a given operation. Since commands are derived from FXObject, subclassed commands can both send and receive messages (like ID_GETINTVALUE, for example).


Constructor & Destructor Documentation

virtual FX::FXCommand::~FXCommand (  )  [inline, virtual]

Delete undo command.


Member Function Documentation

virtual void FX::FXCommand::undo (  )  [pure virtual]

Undo this command; this should save the information for a subsequent redo.

Implemented in FX::FXCommandGroup, and FX::FXUndoList.

virtual void FX::FXCommand::redo (  )  [pure virtual]

Redo this command; this should save the information for a subsequent undo.

Implemented in FX::FXCommandGroup, and FX::FXUndoList.

virtual FXuint FX::FXCommand::size (  )  const [virtual]

Return the size of the information in the undo record.

The undo list may be trimmed to limit memory usage to a certain limit. The value returned should include the size of the command record itself as well as any data linked from it.

Reimplemented in FX::FXCommandGroup, and FX::FXUndoList.

virtual FXString FX::FXCommand::undoName (  )  const [virtual]

Name of the undo command to be shown on a button; for example, "Undo Delete".

Reimplemented in FX::FXUndoList.

virtual FXString FX::FXCommand::redoName (  )  const [virtual]

Name of the redo command to be shown on a button; for example, "Redo Delete".

Reimplemented in FX::FXUndoList.

virtual bool FX::FXCommand::canMerge (  )  const [virtual]

Return TRUE if this command can be merged with previous undo commands.

This is useful to combine e.g. multiple consecutive single-character text changes into a single block change. The default implementation returns FALSE.

virtual bool FX::FXCommand::mergeWith ( FXCommand command  )  [virtual]

Called by the undo system to try and merge the new incoming command with this command; should return TRUE if merging was possible.

The default implementation returns FALSE.


Friends And Related Function Documentation

friend class FXUndoList [friend]

Reimplemented in FX::FXCommandGroup.

friend class FXCommandGroup [friend]

Copyright © 1997-2005 Jeroen van der Zijp