Mercurial > hg > svcore
view base/Command.cpp @ 48:b1d51d0521c3
* update TODO, some tidying
author | Chris Cannam |
---|---|
date | Mon, 20 Mar 2006 11:37:45 +0000 |
parents | bac8b14ab355 |
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; }