File indexing completed on 2024-06-09 04:21:53
0001 /* 0002 * SPDX-FileCopyrightText: 2011 Dmitry Kazakov <dimula73@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "kis_processing_command.h" 0008 #include "kis_node.h" 0009 #include "kis_processing_visitor.h" 0010 0011 0012 KisProcessingCommand::KisProcessingCommand(KisProcessingVisitorSP visitor, KisNodeSP node, KUndo2Command *parent) 0013 : KUndo2Command(kundo2_noi18n("processing_command"), parent), 0014 m_visitor(visitor), 0015 m_node(node), 0016 m_visitorExecuted(false) 0017 { 0018 } 0019 0020 void KisProcessingCommand::redo() 0021 { 0022 if(!m_visitorExecuted) { 0023 m_node->accept(*m_visitor, &m_undoAdapter); 0024 m_visitorExecuted = true; 0025 m_visitor = 0; 0026 } 0027 else { 0028 m_undoAdapter.redoAll(); 0029 } 0030 } 0031 0032 void KisProcessingCommand::undo() 0033 { 0034 m_undoAdapter.undoAll(); 0035 }