#include "LayerManage.h" LayerManage::~LayerManage() { } LayerManage::LayerManage(std::string action, std::vector before, std::vector after, uint32_t selectedBefore, uint32_t selectedAfter) { this->action = action; this->before = before; this->after = after; this->selectedBefore = selectedBefore; this->selectedAfter = selectedAfter; } #include "../ManagementContext/LayerManagmentContext.h" void LayerManage::Undo() { LayerManagementContext::SyncFromIds(before); LayerManagementContext::SelectLayer(LayerManagementContext::FromId(selectedBefore)); } json LayerManage::SerializeArgs() { json j = json::object(); // this is the only stateful command, no need to complicate this when ibispaint also makes the equivalent chunk stateful j["before"] = before; j["after"] = after; j["selectedBefore"] = selectedBefore; j["selectedAfter"] = selectedAfter; return j; } void LayerManage::Execute() { LayerManagementContext::SyncFromIds(after); LayerManagementContext::SelectLayer(LayerManagementContext::FromId(selectedAfter)); timestamp = std::chrono::system_clock::now(); } std::string LayerManage::GetTitle() { return action; } const char* LayerManage::GetIdentity() const { return "layerManage"; }