command.h 578 B

12345678910111213141516171819202122232425262728293031
  1. #pragma once
  2. #include <QString>
  3. enum ChangeDire {
  4. NONE_CHANGE=-1,
  5. LEFT_CHANGE=0,
  6. RIGHT_CHANGE,
  7. BOTH_CHANGE,
  8. };
  9. class Command
  10. {
  11. public:
  12. virtual ~Command() = default;
  13. //获取当前命令的序号,同一个序号的,需要逐渐一起执行
  14. virtual int getOperIndex() = 0;
  15. virtual void undo() = 0;
  16. virtual QString desc() = 0;
  17. //获取左右是否变化的状态。
  18. ChangeDire getChangeStatus() {
  19. return m_changeStaus;
  20. }
  21. void setChangeStatus(ChangeDire c) {
  22. m_changeStaus = c;
  23. }
  24. protected:
  25. ChangeDire m_changeStaus;
  26. };