From b6797e77d55376e6da000a60214b2f5a08de2b08 Mon Sep 17 00:00:00 2001 From: Krisjanis Rijnieks Date: Fri, 7 Oct 2016 20:24:34 +0200 Subject: [PATCH] Add SetActivePresetCmd --- src/Commands/SetActivePresetCmd.cpp | 24 ++++++++++++++++++++++ src/Commands/SetActivePresetCmd.h | 32 +++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 src/Commands/SetActivePresetCmd.cpp create mode 100644 src/Commands/SetActivePresetCmd.h diff --git a/src/Commands/SetActivePresetCmd.cpp b/src/Commands/SetActivePresetCmd.cpp new file mode 100644 index 0000000..d8239cc --- /dev/null +++ b/src/Commands/SetActivePresetCmd.cpp @@ -0,0 +1,24 @@ +#include "SetActivePresetCmd.h" + +namespace ofx { +namespace piMapper { + +SetActivePresetCmd::SetActivePresetCmd(Application * app, unsigned int pi){ + _app = app; + _newPresetIndex = pi; +} + +void SetActivePresetCmd::exec(){ + ofLogNotice("SetActivePresetCmd", "exec"); + _prevPresetIndex = _app->getSurfaceManager()->getActivePresetIndex(); + _app->getSurfaceManager()->setActivePreset(_newPresetIndex); +} + +void SetActivePresetCmd::undo(){ + ofLogNotice("SetActivePresetCmd", "undo"); + _app->getSurfaceManager()->setActivePreset(_prevPresetIndex); +} + +} // namespace piMapper +} // namespace ofx + diff --git a/src/Commands/SetActivePresetCmd.h b/src/Commands/SetActivePresetCmd.h new file mode 100644 index 0000000..cab6988 --- /dev/null +++ b/src/Commands/SetActivePresetCmd.h @@ -0,0 +1,32 @@ +// SetActivePresetCmd +// Sets active preset, stores previous preset index and restores it on undo. +// Created by Krisjanis Rijnieks 2016-10-07 +// At the ORA bar in Berlin. Waiting for Park to celebrate his birthday. + +#pragma once + +#include "BaseCmd.h" +#include "BaseSurface.h" +#include "Application.h" + +namespace ofx { +namespace piMapper { + +class Application; + +class SetActivePresetCmd : public BaseUndoCmd { + + public: + SetActivePresetCmd(Application * app, unsigned int pi); + void exec(); + void undo(); + + private: + Application * _app; + unsigned int _newPresetIndex; + unsigned int _prevPresetIndex; +}; + +} // namespace piMapper +} // namespace ofx +