123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- import 'package:fis_measure/interfaces/process/player/play_controller.dart';
- import 'package:fis_measure/interfaces/process/workspace/mobile_measure_view_state_controller.dart';
- import 'package:fis_measure/view/measure/measure_left_annotation.dart';
- import 'package:fis_measure/view/mobile_view/controller/mobile_measure_view_state_controller.dart';
- import 'package:fis_measure/view/mobile_view/mobile_right_panel/mobile_measure_tool.dart';
- import 'package:fis_measure/view/paint/ai_patint_result.dart';
- import 'package:fis_measure/view/player/controller.dart';
- import 'package:flutter/material.dart';
- import 'package:get/get.dart';
- /// 手机端右侧面板
- class MobileRightPanel extends StatefulWidget {
- const MobileRightPanel({
- Key? key,
- }) : super(key: key);
- @override
- State<StatefulWidget> createState() => _MobileRightPanelState();
- }
- class _MobileRightPanelState extends State<MobileRightPanel> {
- late final playerController = Get.find<IPlayerController>();
- final mobileMeasureStateController =
- Get.find<MobileMeasureViewStateController>();
- @override
- void initState() {
- mobileMeasureStateController.onModeChanged.addListener(_onViewModeChanged);
- super.initState();
- }
- @override
- void dispose() {
- mobileMeasureStateController.onModeChanged
- .removeListener(_onViewModeChanged);
- super.dispose();
- }
- MobileMeasureMode curMode = MobileMeasureMode.playerMode;
- void _onViewModeChanged(Object s, MobileMeasureMode mode) {
- setState(() {
- curMode = mode;
- });
- }
- @override
- Widget build(BuildContext context) {
- return Column(
- mainAxisAlignment: MainAxisAlignment.start,
- children: [
- Row(
- mainAxisAlignment: MainAxisAlignment.end,
- children: [_rightPanel()],
- ),
- ],
- );
- }
- Widget _rightPanel() {
- switch (curMode) {
- case MobileMeasureMode.playerMode:
- return SizedBox(
- width: 150,
- height: 220,
- child: FittedBox(
- child: SizedBox(
- width: 200,
- child: AIPaintInfoReslut(
- playerController as VidPlayerController,
- ),
- ),
- ),
- );
- case MobileMeasureMode.measureMode:
- return const MobileMeasureSelector();
- case MobileMeasureMode.annotationMode:
- return Container(
- height: 100,
- width: 100,
- color: Color.fromARGB(10, 190, 190, 190),
- key: UniqueKey(),
- // child: const MeasureLeftAnnotation(),
- );
- default:
- return Container();
- }
- }
- }
|