|
@@ -1,7 +1,7 @@
|
|
|
import 'package:fis_i18n/i18n.dart';
|
|
|
+import 'package:fis_measure/interfaces/enums/operate.dart';
|
|
|
+import 'package:fis_measure/process/workspace/measure_handler.dart';
|
|
|
import 'package:fis_measure/view/measure/measure_config/measure_configuation_page.dart';
|
|
|
-import 'package:fis_measure/view/measure/measure_config/widgets/measure_configuration_style.dart';
|
|
|
-import 'package:fis_measure/view/measure/operate_type_change_button.dart';
|
|
|
import 'package:fis_theme/theme.dart';
|
|
|
import 'package:fis_ui/index.dart';
|
|
|
import 'package:fis_ui/interface/interactive_container.dart';
|
|
@@ -9,9 +9,42 @@ import 'package:flutter/material.dart';
|
|
|
import 'package:get/get.dart';
|
|
|
|
|
|
/// 工具箱 样式配置之类
|
|
|
-class LeftSiderHold extends StatelessWidget implements FWidget {
|
|
|
+class LeftSiderHold extends StatefulWidget implements FWidget {
|
|
|
const LeftSiderHold({Key? key, this.ifHideConfig = false}) : super(key: key);
|
|
|
- final bool ifHideConfig; // 是否隐藏测量项配置入口
|
|
|
+ // 是否隐藏测量项配置入口
|
|
|
+ final bool ifHideConfig;
|
|
|
+ @override
|
|
|
+ State<LeftSiderHold> createState() => _LeftSiderHoldState();
|
|
|
+}
|
|
|
+
|
|
|
+class _LeftSiderHoldState extends State<LeftSiderHold> {
|
|
|
+ // 是否显示设置按钮
|
|
|
+ bool isShowSetting = true;
|
|
|
+ final measureHandler = Get.find<MeasureHandler>();
|
|
|
+
|
|
|
+ @override
|
|
|
+ void initState() {
|
|
|
+ measureHandler.onOperateTypeChanged.addListener(_onOperateTypeChanged);
|
|
|
+ super.initState();
|
|
|
+ }
|
|
|
+
|
|
|
+ @override
|
|
|
+ void dispose() {
|
|
|
+ measureHandler.onOperateTypeChanged.removeListener(_onOperateTypeChanged);
|
|
|
+ super.dispose();
|
|
|
+ }
|
|
|
+
|
|
|
+ void _onOperateTypeChanged(_, MeasureOperateType e) {
|
|
|
+ if (e == MeasureOperateType.measure) {
|
|
|
+ setState(() {
|
|
|
+ isShowSetting = true;
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ setState(() {
|
|
|
+ isShowSetting = false;
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
@override
|
|
|
FWidget build(BuildContext context) {
|
|
@@ -36,7 +69,8 @@ class LeftSiderHold extends StatelessWidget implements FWidget {
|
|
|
color: Colors.white,
|
|
|
),
|
|
|
),
|
|
|
- LeftSiderHoldAllStyleConfig(ifHideConfig: ifHideConfig),
|
|
|
+ if (isShowSetting)
|
|
|
+ SettingButton(ifHideConfig: widget.ifHideConfig),
|
|
|
],
|
|
|
),
|
|
|
// const _LeftSiderTabBar(),
|
|
@@ -48,34 +82,28 @@ class LeftSiderHold extends StatelessWidget implements FWidget {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-/// 测量样式 和配置
|
|
|
-class LeftSiderHoldAllStyleConfig extends StatelessWidget
|
|
|
- implements FInteractiveContainer {
|
|
|
- const LeftSiderHoldAllStyleConfig({Key? key, this.ifHideConfig = false})
|
|
|
- : super(key: key);
|
|
|
+/// 测量样式 和 测量项配置 入口
|
|
|
+class SettingButton extends StatelessWidget implements FInteractiveContainer {
|
|
|
+ const SettingButton({Key? key, this.ifHideConfig = false}) : super(key: key);
|
|
|
final bool ifHideConfig; // 是否隐藏测量项配置入口
|
|
|
@override
|
|
|
- final String pageName = 'LeftSiderHoldAllStyleConfig';
|
|
|
+ final String pageName = 'SettingButton';
|
|
|
@override
|
|
|
FWidget build(BuildContext context) {
|
|
|
- return FRow(
|
|
|
- children: [
|
|
|
- FTextButton(
|
|
|
- businessParent: this,
|
|
|
- name: "toMeasureConfigurationPage",
|
|
|
- onPressed: () {
|
|
|
- Get.dialog(
|
|
|
- MeasureConfigurationPage(ifHideConfig: ifHideConfig),
|
|
|
- );
|
|
|
- },
|
|
|
- child: FText(
|
|
|
- i18nBook.user.setting.t,
|
|
|
- style: TextStyle(
|
|
|
- color: FTheme.ins.colorScheme.primary,
|
|
|
- ),
|
|
|
- ),
|
|
|
- )
|
|
|
- ],
|
|
|
+ return FTextButton(
|
|
|
+ businessParent: this,
|
|
|
+ name: "toMeasureConfigurationPage",
|
|
|
+ onPressed: () {
|
|
|
+ Get.dialog(
|
|
|
+ MeasureConfigurationPage(ifHideConfig: ifHideConfig),
|
|
|
+ );
|
|
|
+ },
|
|
|
+ child: FText(
|
|
|
+ i18nBook.user.setting.t,
|
|
|
+ style: TextStyle(
|
|
|
+ color: FTheme.ins.colorScheme.primary,
|
|
|
+ ),
|
|
|
+ ),
|
|
|
);
|
|
|
}
|
|
|
}
|