| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- #pragma once
- #include "command.h"
- #include "rcglobal.h"
- class CompareWin;
- class ReplaceOperRecords {
- public:
- RC_DIRECTION dir;
- int startPos; //开始位置
- int srcEndPos;//原始结束位置
- char* srcContents; //原始文字内容
- int replaceLens;//替换长度
- char* replaceContents;//替换内容
- ReplaceOperRecords() :startPos(0), srcEndPos(0), srcContents(nullptr), replaceLens(0), replaceContents(nullptr)
- {
- }
- ~ReplaceOperRecords()
- {
- if (srcContents != nullptr)
- {
- delete[]srcContents;
- srcContents = nullptr;
- }
- if (replaceContents != nullptr)
- {
- delete[]replaceContents;
- replaceContents = nullptr;
- }
- }
- ReplaceOperRecords(const ReplaceOperRecords& other) = delete;
- };
- class ReplaceCommand :public Command
- {
- public:
- ReplaceCommand(CompareWin* operWin);
- virtual ~ReplaceCommand();
- virtual int getOperIndex()override;
- virtual void undo()override;
- virtual QString desc()override;
- void setDesc(QString v);
- void addRecord(ReplaceOperRecords* v);
- void setOperIndex(int v);
- private:
- QList<ReplaceOperRecords*> m_record;
- CompareWin* m_operWin;
- int m_index;
- QString m_desc;
- ReplaceCommand(const ReplaceCommand& o) = delete;
- ReplaceCommand& operator=(const ReplaceCommand& o) = delete;
- };
|