File indexing completed on 2024-05-12 16:34:02

0001 /* This file is part of the KDE project
0002    Copyright (C) 2009 Jeremias Epperlein
0003 
0004    This library is free software; you can redistribute it and/or
0005    modify it under the terms of the GNU Library General Public
0006    License as published by the Free Software Foundation; either
0007    version 2 of the License, or (at your option) any later version.
0008 
0009    This library is distributed in the hope that it will be useful,
0010    but WITHOUT ANY WARRANTY; without even the implied warranty of
0011    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0012    Library General Public License for more details.
0013 
0014    You should have received a copy of the GNU Library General Public License
0015    along with this library; see the file COPYING.LIB.  If not, write to
0016    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
0017    Boston, MA 02110-1301, USA.
0018 */
0019 
0020 #ifndef FORMULACOMMANDUPDATE_H
0021 #define FORMULACOMMANDUPDATE_H
0022 #include <kundo2command.h>
0023 
0024 class FormulaCommand;
0025 class KoFormulaShape;
0026 
0027 /**
0028  *
0029  * This class is used to wrap FormulaCommands, which are part of KFormulaLib
0030  * and therefore can't notify the tool and shape of changes (as they don't know
0031  * about them). This notification it done by this classes undo / redo methods
0032  * after calling the respective methods from the wrapped class
0033  *
0034  **/
0035 
0036 class FormulaCommandUpdate : public KUndo2Command {
0037 public:
0038     FormulaCommandUpdate(KoFormulaShape* shape, FormulaCommand* command);
0039 
0040     /// Execute the command
0041     void redo() override;
0042 
0043     /// Revert the actions done in redo()
0044     void undo() override;
0045     
0046 private:
0047     /// The BasicElement that owns the newly added Text
0048     FormulaCommand* m_command;
0049     KoFormulaShape* m_shape;
0050 };
0051 
0052 
0053 #endif // FORMULACOMMANDUPDATE_H