Jelajahi Sumber

优化撤销事件返回值

gavin.chen 8 bulan lalu
induk
melakukan
3d4989d41e

+ 2 - 2
lib/interfaces/process/workspace/application.dart

@@ -177,8 +177,8 @@ abstract class IApplication {
   /// 切换幅
   void switchVisual(int indicator);
 
-  /// 撤回一次操作记录
-  void undoRecord();
+  /// 撤回一次操作记录(返回被撤销的 ID)
+  int undoRecord();
 
   /// 清除所有操作记录
   void clearRecords();

+ 4 - 1
lib/process/workspace/application.dart

@@ -460,9 +460,12 @@ class Application implements IApplication {
   }
 
   @override
-  void undoRecord() {
+  int undoRecord() {
     if (_recorder.undoOnce()) {
       _updateRender();
+      return _recorder.lastId;
+    } else {
+      return -1;
     }
   }
 

+ 3 - 0
lib/process/workspace/recorder.dart

@@ -54,6 +54,9 @@ class MeasureRecorder implements IMeasureRecorder {
     return true;
   }
 
+  // lastId
+  int get lastId => _lastId;
+
   /// 清除所有记录
   void clear() {
     if (_records.isEmpty) return;