Mercurial > hg > svcore
view base/Command.cpp @ 47:bac8b14ab355
* Add menu for re-adding existing layers
* Fix layer tree window so that it at least approximates correct
* Add bundled operations in command history, for use with things like
multiple consecutive changes to a parameter value
* Disambiguate plugins that happen to have identical descriptions
* Add spectral centroid plugin (could use some parameters!)
* Some other fixes
author | Chris Cannam |
---|---|
date | Fri, 17 Mar 2006 17:38:28 +0000 |
parents | a7ed14263fe4 |
children | 39ae3dee27b9 |
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. */ #include "Command.h" MacroCommand::MacroCommand(QString name) : m_name(name) { } MacroCommand::~MacroCommand() { for (size_t i = 0; i < m_commands.size(); ++i) { delete m_commands[i]; } } void MacroCommand::addCommand(Command *command) { m_commands.push_back(command); } void MacroCommand::deleteCommand(Command *command) { for (std::vector<Command *>::iterator i = m_commands.begin(); i != m_commands.end(); ++i) { if (*i == command) { m_commands.erase(i); delete command; return; } } } bool MacroCommand::haveCommands() const { return !m_commands.empty(); } void MacroCommand::execute() { for (size_t i = 0; i < m_commands.size(); ++i) { m_commands[i]->execute(); } } void MacroCommand::unexecute() { for (size_t i = 0; i < m_commands.size(); ++i) { m_commands[m_commands.size() - i - 1]->unexecute(); } } QString MacroCommand::getName() const { return m_name; } void MacroCommand::setName(QString name) { m_name = name; }