|
@@ -311,6 +311,16 @@ class Application implements IApplication {
|
|
|
activeMeasureItem = MeasureItemFactory.createItem(meta);
|
|
|
}
|
|
|
|
|
|
+ @override
|
|
|
+ void autoStartAgain(ItemMeta meta) {
|
|
|
+ if (activeMeasureItem == null) return;
|
|
|
+ final item = activeMeasureItem!;
|
|
|
+ if (item.feature != null) {
|
|
|
+ item.finishOnce();
|
|
|
+ }
|
|
|
+ activeMeasureItem = MeasureItemFactory.createItem(meta);
|
|
|
+ }
|
|
|
+
|
|
|
@override
|
|
|
void switchAnnotation([AnnotationType? type, String? text]) {
|
|
|
_updateOperateType(MeasureOperateType.annotation);
|
|
@@ -387,10 +397,9 @@ class Application implements IApplication {
|
|
|
|
|
|
void _handleBeforeSwitchItem() {
|
|
|
if (activeMeasureItem == null) return;
|
|
|
-
|
|
|
final item = activeMeasureItem!;
|
|
|
if (item.feature != null) {
|
|
|
- if (item is ITopMeasureItem || item.finishAfterUnactive) {
|
|
|
+ if (item.finishAfterUnactive) {
|
|
|
item.finishOnce();
|
|
|
} else {
|
|
|
_recorder.undoOnce();
|