Эх сурвалжийг харах

fix(ai_modifier): 修正AI结果病灶大小 #0012251

gavin.chen 1 жил өмнө
parent
commit
a677e2ec34

+ 3 - 1
lib/view/ai_result_modifier/view.dart

@@ -84,7 +84,9 @@ class AiResultModifierDialog extends FisView<AiResultModifierController>
                 if (_.aiDetectedObjectList.isNotEmpty) {
                   return const AiConclusionResult();
                 }
-                return const FSizedBox();
+                return const Center(
+                  child: CircularProgressIndicator(),
+                );
               },
             ),
           ),

+ 1 - 1
lib/view/ai_result_modifier/widgets/ai_result_canvas.dart

@@ -229,7 +229,7 @@ class AIResultCanvas extends CustomPainter {
 
   @override
   void paint(Canvas canvas, Size size) {
-    print("绘制一次 $currMode");
+    // print("绘制一次 $currMode");
     switch (currMode) {
       case AiResultModifierMode.pen:
         handleBase(canvas);

+ 16 - 0
lib/view/paint/parts/ai_resul_info.dart

@@ -1,6 +1,7 @@
 import 'dart:convert';
 
 import 'package:fis_i18n/i18n.dart';
+import 'package:fis_measure/interfaces/process/standard_line/calibration.dart';
 import 'package:fis_measure/interfaces/process/workspace/application.dart';
 import 'package:fis_measure/process/visual/visual.dart';
 import 'package:fis_measure/process/workspace/visual_loader.dart';
@@ -22,6 +23,8 @@ class ResultInfo extends StatefulWidget {
 
 class _ResultInfoState extends State<ResultInfo> {
   late final aiPatintController = Get.find<AiPatintController>();
+  final IStandardLineCalibrationController standardLineCalibrationController =
+      Get.find<IStandardLineCalibrationController>();
 
   late AIDetectedObject aiDetectedObjectItem;
   late double _unitsPhysicalPixels;
@@ -31,9 +34,22 @@ class _ResultInfoState extends State<ResultInfo> {
   @override
   void initState() {
     _updateImagePhysicalSize();
+    standardLineCalibrationController.editStateChanged
+        .addListener(onStandardLineUpdated);
     super.initState();
   }
 
+  @override
+  void dispose() {
+    standardLineCalibrationController.editStateChanged
+        .removeListener(onStandardLineUpdated);
+    super.dispose();
+  }
+
+  void onStandardLineUpdated(_, e) {
+    _updateImagePhysicalSize();
+  }
+
   @override
   Widget build(BuildContext context) {
     final description = widget