|
@@ -6,14 +6,19 @@ import 'package:fis_measure/interfaces/process/workspace/application.dart';
|
|
import 'package:fis_measure/process/language/measure_language.dart';
|
|
import 'package:fis_measure/process/language/measure_language.dart';
|
|
import 'package:fis_measure/process/workspace/measure_data_controller.dart';
|
|
import 'package:fis_measure/process/workspace/measure_data_controller.dart';
|
|
import 'package:fis_measure/process/workspace/measure_handler.dart';
|
|
import 'package:fis_measure/process/workspace/measure_handler.dart';
|
|
|
|
+import 'package:fis_measure/view/measure/measure_config/widgets/measure_configuration_style.dart';
|
|
import 'package:fis_measure/view/measure/measure_config/widgets/measurement_tool_selection.dart';
|
|
import 'package:fis_measure/view/measure/measure_config/widgets/measurement_tool_selection.dart';
|
|
import 'package:fis_measure/view/measure/measure_view_controller.dart';
|
|
import 'package:fis_measure/view/measure/measure_view_controller.dart';
|
|
import 'package:fis_measure/view/player/controller.dart';
|
|
import 'package:fis_measure/view/player/controller.dart';
|
|
import 'package:fis_theme/theme.dart';
|
|
import 'package:fis_theme/theme.dart';
|
|
import 'package:fis_ui/index.dart';
|
|
import 'package:fis_ui/index.dart';
|
|
|
|
+import 'package:fis_ui/interface/interactive_container.dart';
|
|
|
|
+import 'package:fis_ui/widgets/layout/offstage.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:get/get.dart';
|
|
import 'package:get/get.dart';
|
|
|
|
|
|
|
|
+import '../../gesture/positioned_cursor.dart';
|
|
|
|
+
|
|
///条目元数据组
|
|
///条目元数据组
|
|
class ItemMetaGroup {
|
|
class ItemMetaGroup {
|
|
ItemMetaGroup(
|
|
ItemMetaGroup(
|
|
@@ -33,28 +38,22 @@ class ItemMetaGroup {
|
|
}
|
|
}
|
|
|
|
|
|
/// 测量工具配置
|
|
/// 测量工具配置
|
|
-class MeasureConfigurationPage extends StatelessWidget {
|
|
|
|
- const MeasureConfigurationPage({Key? key}) : super(key: key);
|
|
|
|
-
|
|
|
|
|
|
+class MeasureConfigurationPage extends StatefulWidget
|
|
|
|
+ implements FWidget, FInteractiveContainer {
|
|
@override
|
|
@override
|
|
- FWidget build(BuildContext context) {
|
|
|
|
- return const _MeasureConfigurationDialog();
|
|
|
|
- }
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-///测量配置对话框
|
|
|
|
-class _MeasureConfigurationDialog extends StatefulWidget implements FWidget {
|
|
|
|
- const _MeasureConfigurationDialog({
|
|
|
|
|
|
+ final String pageName = 'MeasureConfigurationDialog';
|
|
|
|
+ const MeasureConfigurationPage({
|
|
Key? key,
|
|
Key? key,
|
|
|
|
+ required this.ifHideConfig,
|
|
}) : super(key: key);
|
|
}) : super(key: key);
|
|
|
|
|
|
|
|
+ final bool ifHideConfig;
|
|
@override
|
|
@override
|
|
- State<_MeasureConfigurationDialog> createState() =>
|
|
|
|
- _MeasureConfigurationDialogState();
|
|
|
|
|
|
+ State<MeasureConfigurationPage> createState() =>
|
|
|
|
+ MeasureConfigurationPageState();
|
|
}
|
|
}
|
|
|
|
|
|
-class _MeasureConfigurationDialogState
|
|
|
|
- extends State<_MeasureConfigurationDialog> {
|
|
|
|
|
|
+class MeasureConfigurationPageState extends State<MeasureConfigurationPage> {
|
|
int measureToolsTab = 0;
|
|
int measureToolsTab = 0;
|
|
|
|
|
|
/// 切换标签栏
|
|
/// 切换标签栏
|
|
@@ -69,6 +68,7 @@ class _MeasureConfigurationDialogState
|
|
|
|
|
|
/// 数据
|
|
/// 数据
|
|
final measureData = Get.find<MeasureDataController>();
|
|
final measureData = Get.find<MeasureDataController>();
|
|
|
|
+ final mouseState = Get.find<IMouseState>();
|
|
|
|
|
|
/// 测量项控制器
|
|
/// 测量项控制器
|
|
final measureMetaController = Get.find<MeasureMetaController>();
|
|
final measureMetaController = Get.find<MeasureMetaController>();
|
|
@@ -136,6 +136,19 @@ class _MeasureConfigurationDialogState
|
|
.call(measureModeSubmitChanged);
|
|
.call(measureModeSubmitChanged);
|
|
getName();
|
|
getName();
|
|
measureMetaController.setAvailableModes(measureData.currentMode);
|
|
measureMetaController.setAvailableModes(measureData.currentMode);
|
|
|
|
+ saveMeasureSystemSettingAsync();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 保存修改结果
|
|
|
|
+ Future<void> saveMeasureSystemSettingAsync() async {
|
|
|
|
+ measureData.measureSystemSettingChanged
|
|
|
|
+ .emit(this, measureData.measureSystemSetting);
|
|
|
|
+ await measureData
|
|
|
|
+ .saveMeasureSystemSettingAsync(measureData.measureSystemSetting);
|
|
|
|
+ mouseState.cursorType = getMeasureSystemSettingCursorType(
|
|
|
|
+ measureData.measureSystemSetting.cursorType);
|
|
|
|
+ mouseState.cursorSize =
|
|
|
|
+ measureData.measureSystemSetting.cursorSize as double;
|
|
}
|
|
}
|
|
|
|
|
|
@override
|
|
@override
|
|
@@ -208,34 +221,59 @@ class _MeasureConfigurationDialogState
|
|
const FSizedBox(
|
|
const FSizedBox(
|
|
height: 10,
|
|
height: 10,
|
|
),
|
|
),
|
|
- FContainer(
|
|
|
|
- width: 160,
|
|
|
|
- child: FInkWell(
|
|
|
|
- onTap: () {
|
|
|
|
- changeTab(0);
|
|
|
|
- },
|
|
|
|
- child: FContainer(
|
|
|
|
- padding: const EdgeInsets.symmetric(
|
|
|
|
- vertical: 10,
|
|
|
|
- horizontal: 5,
|
|
|
|
|
|
+ if (!widget.ifHideConfig)
|
|
|
|
+ FContainer(
|
|
|
|
+ width: 160,
|
|
|
|
+ child: FInkWell(
|
|
|
|
+ onTap: () {
|
|
|
|
+ changeTab(0);
|
|
|
|
+ },
|
|
|
|
+ child: FContainer(
|
|
|
|
+ padding: const EdgeInsets.symmetric(
|
|
|
|
+ vertical: 10,
|
|
|
|
+ horizontal: 5,
|
|
|
|
+ ),
|
|
|
|
+ child: FText(
|
|
|
|
+ i18nBook.measure.measureToolSelect.t,
|
|
|
|
+ style: measureToolsTab == 0
|
|
|
|
+ ? TextStyle(
|
|
|
|
+ color: FTheme.ins.colorScheme.primary,
|
|
|
|
+ )
|
|
|
|
+ : const TextStyle(),
|
|
|
|
+ textAlign: TextAlign.end,
|
|
|
|
+ ),
|
|
),
|
|
),
|
|
- child: FText(
|
|
|
|
- i18nBook.measure.measureToolSelect.t,
|
|
|
|
- style: measureToolsTab == 0
|
|
|
|
- ? TextStyle(
|
|
|
|
- color: FTheme.ins.colorScheme.primary,
|
|
|
|
- )
|
|
|
|
- : const TextStyle(),
|
|
|
|
- textAlign: TextAlign.end,
|
|
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ if (!widget.ifHideConfig)
|
|
|
|
+ FContainer(
|
|
|
|
+ width: 160,
|
|
|
|
+ child: FInkWell(
|
|
|
|
+ onTap: () {
|
|
|
|
+ changeTab(1);
|
|
|
|
+ },
|
|
|
|
+ child: FContainer(
|
|
|
|
+ padding: const EdgeInsets.symmetric(
|
|
|
|
+ vertical: 10,
|
|
|
|
+ horizontal: 5,
|
|
|
|
+ ),
|
|
|
|
+ child: FText(
|
|
|
|
+ i18nBook.measure.selectedMeasureTool.t,
|
|
|
|
+ style: measureToolsTab == 1
|
|
|
|
+ ? TextStyle(
|
|
|
|
+ color: FTheme.ins.colorScheme.primary,
|
|
|
|
+ )
|
|
|
|
+ : const TextStyle(),
|
|
|
|
+ textAlign: TextAlign.end,
|
|
|
|
+ ),
|
|
),
|
|
),
|
|
),
|
|
),
|
|
),
|
|
),
|
|
- ),
|
|
|
|
FContainer(
|
|
FContainer(
|
|
width: 160,
|
|
width: 160,
|
|
child: FInkWell(
|
|
child: FInkWell(
|
|
onTap: () {
|
|
onTap: () {
|
|
- changeTab(1);
|
|
|
|
|
|
+ changeTab(2);
|
|
},
|
|
},
|
|
child: FContainer(
|
|
child: FContainer(
|
|
padding: const EdgeInsets.symmetric(
|
|
padding: const EdgeInsets.symmetric(
|
|
@@ -243,8 +281,8 @@ class _MeasureConfigurationDialogState
|
|
horizontal: 5,
|
|
horizontal: 5,
|
|
),
|
|
),
|
|
child: FText(
|
|
child: FText(
|
|
- i18nBook.measure.selectedMeasureTool.t,
|
|
|
|
- style: measureToolsTab == 1
|
|
|
|
|
|
+ "测量样式设置", //TODO:[Gavin] i18n
|
|
|
|
+ style: measureToolsTab == 2
|
|
? TextStyle(
|
|
? TextStyle(
|
|
color: FTheme.ins.colorScheme.primary,
|
|
color: FTheme.ins.colorScheme.primary,
|
|
)
|
|
)
|
|
@@ -257,20 +295,33 @@ class _MeasureConfigurationDialogState
|
|
],
|
|
],
|
|
),
|
|
),
|
|
),
|
|
),
|
|
- measureToolsTab == 0
|
|
|
|
- ? FExpanded(
|
|
|
|
- child: FSingleChildScrollView(
|
|
|
|
- child: SelectModulePage(
|
|
|
|
- itemMetaListGroup: itemMetaListGroup,
|
|
|
|
- chooseMeasureList: chooseMeasureList,
|
|
|
|
- ),
|
|
|
|
- ),
|
|
|
|
- )
|
|
|
|
- : FExpanded(
|
|
|
|
- child: _HasSelectedModulePage(
|
|
|
|
|
|
+ FExpanded(
|
|
|
|
+ child: FStack(
|
|
|
|
+ fit: StackFit.passthrough,
|
|
|
|
+ children: [
|
|
|
|
+ FOffstage(
|
|
|
|
+ offstage: measureToolsTab != 0,
|
|
|
|
+ child: FSingleChildScrollView(
|
|
|
|
+ child: SelectModulePage(
|
|
|
|
+ itemMetaListGroup: itemMetaListGroup,
|
|
chooseMeasureList: chooseMeasureList,
|
|
chooseMeasureList: chooseMeasureList,
|
|
),
|
|
),
|
|
),
|
|
),
|
|
|
|
+ ),
|
|
|
|
+ FOffstage(
|
|
|
|
+ offstage: measureToolsTab != 1,
|
|
|
|
+ child: _HasSelectedModulePage(
|
|
|
|
+ chooseMeasureList: chooseMeasureList,
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ FOffstage(
|
|
|
|
+ offstage: measureToolsTab != 2,
|
|
|
|
+ child: StyleConfigPage(
|
|
|
|
+ businessParent: widget,
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ ],
|
|
|
|
+ )),
|
|
],
|
|
],
|
|
),
|
|
),
|
|
);
|
|
);
|