Mercurial > hg > svcore
view base/Command.h @ 34:aaf73f7309f2
* Add "Export Audio File" option
* Make note layer align in frequency with any spectrogram layer on the same
view (if it's set to frequency mode)
* Start to implement mouse editing for ranges of points by dragging the
selection
* First scrappy attempt at a vertical scale for time value layer
author | Chris Cannam |
---|---|
date | Mon, 27 Feb 2006 17:34:41 +0000 |
parents | 2fb933f88604 |
children | bac8b14ab355 |
line wrap: on
line source
/* -*- c-basic-offset: 4 -*- vi:set ts=8 sts=4 sw=4: */ /* A waveform viewer and audio annotation editor. Chris Cannam, Queen Mary University of London, 2005-2006 This is experimental software. Not for distribution. */ #ifndef _COMMAND_H_ #define _COMMAND_H_ #include <QString> #include <vector> class Command { public: virtual ~Command() { } virtual void execute() = 0; virtual void unexecute() = 0; virtual QString getName() const = 0; }; class MacroCommand : public Command { public: MacroCommand(QString name); virtual ~MacroCommand(); virtual void addCommand(Command *command); virtual void deleteCommand(Command *command); virtual bool haveCommands() const { return !m_commands.empty(); } virtual void execute(); virtual void unexecute(); virtual QString getName() const { return m_name; } virtual void setName(QString name) { m_name = name; } protected: QString m_name; std::vector<Command *> m_commands; }; #endif