File indexing completed on 2024-05-05 12:22:45
0001 /* 0002 SPDX-FileCopyrightText: 2011 Dominik Haumann <dhaumann@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #ifndef KATE_MODIFIED_UNDO_H 0008 #define KATE_MODIFIED_UNDO_H 0009 0010 #include "kateundo.h" 0011 0012 class KateModifiedInsertText : public KateEditInsertTextUndo 0013 { 0014 public: 0015 KateModifiedInsertText(KTextEditor::DocumentPrivate *document, int line, int col, const QString &text); 0016 0017 /** 0018 * @copydoc KateUndo::undo() 0019 */ 0020 void undo() override; 0021 0022 /** 0023 * @copydoc KateUndo::redo() 0024 */ 0025 void redo() override; 0026 0027 void updateUndoSavedOnDiskFlag(QBitArray &lines) override; 0028 void updateRedoSavedOnDiskFlag(QBitArray &lines) override; 0029 }; 0030 0031 class KateModifiedRemoveText : public KateEditRemoveTextUndo 0032 { 0033 public: 0034 KateModifiedRemoveText(KTextEditor::DocumentPrivate *document, int line, int col, const QString &text); 0035 0036 /** 0037 * @copydoc KateUndo::undo() 0038 */ 0039 void undo() override; 0040 0041 /** 0042 * @copydoc KateUndo::redo() 0043 */ 0044 void redo() override; 0045 0046 void updateUndoSavedOnDiskFlag(QBitArray &lines) override; 0047 void updateRedoSavedOnDiskFlag(QBitArray &lines) override; 0048 }; 0049 0050 class KateModifiedWrapLine : public KateEditWrapLineUndo 0051 { 0052 public: 0053 KateModifiedWrapLine(KTextEditor::DocumentPrivate *document, int line, int col, int len, bool newLine); 0054 0055 /** 0056 * @copydoc KateUndo::undo() 0057 */ 0058 void undo() override; 0059 0060 /** 0061 * @copydoc KateUndo::redo() 0062 */ 0063 void redo() override; 0064 0065 void updateUndoSavedOnDiskFlag(QBitArray &lines) override; 0066 void updateRedoSavedOnDiskFlag(QBitArray &lines) override; 0067 }; 0068 0069 class KateModifiedUnWrapLine : public KateEditUnWrapLineUndo 0070 { 0071 public: 0072 KateModifiedUnWrapLine(KTextEditor::DocumentPrivate *document, int line, int col, int len, bool removeLine); 0073 0074 /** 0075 * @copydoc KateUndo::undo() 0076 */ 0077 void undo() override; 0078 0079 /** 0080 * @copydoc KateUndo::redo() 0081 */ 0082 void redo() override; 0083 0084 void updateUndoSavedOnDiskFlag(QBitArray &lines) override; 0085 void updateRedoSavedOnDiskFlag(QBitArray &lines) override; 0086 }; 0087 0088 class KateModifiedInsertLine : public KateEditInsertLineUndo 0089 { 0090 public: 0091 KateModifiedInsertLine(KTextEditor::DocumentPrivate *document, int line, const QString &text); 0092 0093 /** 0094 * @copydoc KateUndo::undo() 0095 */ 0096 void undo() override; 0097 0098 /** 0099 * @copydoc KateUndo::redo() 0100 */ 0101 void redo() override; 0102 0103 void updateRedoSavedOnDiskFlag(QBitArray &lines) override; 0104 }; 0105 0106 class KateModifiedRemoveLine : public KateEditRemoveLineUndo 0107 { 0108 public: 0109 KateModifiedRemoveLine(KTextEditor::DocumentPrivate *document, int line, const QString &text); 0110 0111 /** 0112 * @copydoc KateUndo::undo() 0113 */ 0114 void undo() override; 0115 0116 /** 0117 * @copydoc KateUndo::redo() 0118 */ 0119 void redo() override; 0120 0121 void updateUndoSavedOnDiskFlag(QBitArray &lines) override; 0122 }; 0123 0124 #endif // KATE_MODIFIED_UNDO_H