command_group.cpp 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. // Flexlay - A Generic 2D Game Editor
  2. // Copyright (C) 2002 Ingo Ruhnke <grumbel@gmx.de>
  3. //
  4. // This program is free software: you can redistribute it and/or modify
  5. // it under the terms of the GNU General Public License as published by
  6. // the Free Software Foundation, either version 3 of the License, or
  7. // (at your option) any later version.
  8. //
  9. // This program is distributed in the hope that it will be useful,
  10. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. // GNU General Public License for more details.
  13. //
  14. // You should have received a copy of the GNU General Public License
  15. // along with this program. If not, see <http://www.gnu.org/licenses/>.
  16. #include "command_group.hpp"
  17. class CommandGroupImpl : public CommandImpl
  18. {
  19. public:
  20. };
  21. CommandGroup::CommandGroup()
  22. {
  23. }
  24. CommandGroup::~CommandGroup()
  25. {
  26. }
  27. void
  28. CommandGroup::add_command(Command* c)
  29. {
  30. commands.push_back(c);
  31. }
  32. void
  33. CommandGroup::execute()
  34. {
  35. for(Commands::iterator i = commands.begin(); i != commands.end(); ++i)
  36. (*i)->execute();
  37. }
  38. void
  39. CommandGroup::undo()
  40. {
  41. for(Commands::iterator i = commands.begin(); i != commands.end(); ++i)
  42. (*i)->undo();
  43. }
  44. void
  45. CommandGroup::redo()
  46. {
  47. for(Commands::iterator i = commands.begin(); i != commands.end(); ++i)
  48. (*i)->redo();
  49. }
  50. /* EOF */