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

TSE3::Cmd Namespace Reference

TSE3 library undo/redoable commands More...


Compounds

class  Command
 Base command class. More...

class  VariableSetCommand
 Variable setting command template class. More...

class  CommandGroup
 Group of commands Command. More...

class  CommandHistory
 History of which Command objects have been executed. More...

class  FlagTrack_Add
 Add TSE3::Flag Command. More...

class  Part_SetInfo
 Set TSE3::Part info Command. More...

class  Part_SetPhrase
 Set TSE3::Part TSE3::Phrase Command. More...

class  Part_Move
 Move TSE3::Part Command. More...

class  Phrase_SetInfo
 Set TSE3::Phrase info Command. More...

class  Phrase_Create
 Insert TSE3::Phrase Command. More...

class  Phrase_Erase
 Erase TSE3::Phrase Command. More...

class  Phrase_Replace
class  Song_SetInfo
 Set Song info strings Command. More...

class  Song_SetTitle
 Set Song title Command. More...

class  Song_SetAuthor
 Set Song author Command. More...

class  Song_SetCopyright
 Set Song copyright Command. More...

class  Song_SetDate
 Set Song date Command. More...

class  Song_InsertTrack
 Insert Track Command. More...

class  Song_RemoveTrack
 Remove Track Command. More...

class  Song_SoloTrack
 Solo Track Command. More...

class  Track_SetInfo
 Set TSE3::Track info Command. More...

class  Track_Snip
 Snip TSE3::Part command. More...

class  Track_Glue
 Snip TSE3::Part command. More...

class  Track_RemovePart
 Remove Part Command. More...

class  Track_Sort
 Sort Tracks Command. More...

class  CommandHistoryListener


Detailed Description

TSE3 library undo/redoable commands

The Cmd namespace contains classes that implement the Command pattern (GoF book). They use the TSE3 API to provide undo/redoable commands objects for all commonly performed operations.

There are a large number of commands that can be used for different purposes. The base class for all TSE3 commands is the Command. There exists one command class for every useful operation on the TSE3::Song data structure and it's subcomponents.

There is one proviso with using commands: if you manipulate some of a TSE3::Song with commands, for the undo/redo to work you must (logically) manipulate the TSE3::Song entirely through Command objects. Otherwise the undo/redo system will be faced with complicated inconsistencies which cannot be resolved.

You can store executed Command objects on the CommandHistory buffer to automate the undo/redo process.

Command subclasses are easy to write, so it's not difficult to add your own commands and use them with the CommandHistory. See the notes in the main TSE3 library documentation for more information.

Author:
Pete Goodliffe
Version:
3.00
See also:
TSE3


Generated on Wed May 25 14:47:30 2005 for TSE3 by doxygen 1.3.2