Mercurial > hg > easaier-soundaccess
comparison base/Command.h @ 0:fc9323a41f5a
start base : Sonic Visualiser sv1-1.0rc1
| author | lbajardsilogic |
|---|---|
| date | Fri, 11 May 2007 09:08:14 +0000 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:fc9323a41f5a |
|---|---|
| 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ | |
| 2 | |
| 3 /* | |
| 4 Sonic Visualiser | |
| 5 An audio file viewer and annotation editor. | |
| 6 Centre for Digital Music, Queen Mary, University of London. | |
| 7 This file copyright 2006 Chris Cannam. | |
| 8 | |
| 9 This program is free software; you can redistribute it and/or | |
| 10 modify it under the terms of the GNU General Public License as | |
| 11 published by the Free Software Foundation; either version 2 of the | |
| 12 License, or (at your option) any later version. See the file | |
| 13 COPYING included with this distribution for more information. | |
| 14 */ | |
| 15 | |
| 16 #ifndef _COMMAND_H_ | |
| 17 #define _COMMAND_H_ | |
| 18 | |
| 19 #include <QString> | |
| 20 #include <vector> | |
| 21 | |
| 22 class Command | |
| 23 { | |
| 24 public: | |
| 25 virtual ~Command() { } | |
| 26 | |
| 27 virtual void execute() = 0; | |
| 28 virtual void unexecute() = 0; | |
| 29 virtual QString getName() const = 0; | |
| 30 }; | |
| 31 | |
| 32 class MacroCommand : public Command | |
| 33 { | |
| 34 public: | |
| 35 MacroCommand(QString name); | |
| 36 virtual ~MacroCommand(); | |
| 37 | |
| 38 virtual void addCommand(Command *command); | |
| 39 virtual void deleteCommand(Command *command); | |
| 40 virtual bool haveCommands() const; | |
| 41 | |
| 42 virtual void execute(); | |
| 43 virtual void unexecute(); | |
| 44 | |
| 45 virtual QString getName() const; | |
| 46 virtual void setName(QString name); | |
| 47 | |
| 48 protected: | |
| 49 QString m_name; | |
| 50 std::vector<Command *> m_commands; | |
| 51 }; | |
| 52 | |
| 53 #endif | |
| 54 |
