123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332 |
- import 'dart:core';
- import 'package:fis_common/event/event_type.dart';
- import 'package:fis_jsonrpc/rpc.dart';
- import 'package:fis_measure/interfaces/enums/annotation.dart';
- import 'package:fis_measure/interfaces/enums/operate.dart';
- import 'package:fis_measure/view/measure/operate_type_change_button.dart';
- import 'package:fis_measure/view/measure/measure_panel_head.dart';
- class CurrImageInfo {
-
- final String? imageUrl;
-
- final String? remedicalCode;
- CurrImageInfo(
- this.imageUrl,
- this.remedicalCode,
- );
- }
- class MeasureModeSelection {
-
- final String? applicationName;
-
- final String? categoryName;
-
- final List<String>? measureModes;
- MeasureModeSelection(
- this.applicationName,
- this.categoryName,
- this.measureModes,
- );
- }
- class MeasureModeSubmit {
-
- final String? version;
-
- final String? applicationName;
-
- final String? categoryName;
-
- final UserDefinedMeasureModeDTO? workingMode;
- MeasureModeSubmit(
- this.version,
- this.applicationName,
- this.categoryName,
- this.workingMode,
- );
- }
- abstract class IMeasureHandler {
-
- late FEventHandler<CurrImageInfo> onImageChanged;
-
- late FEventHandler<MeasureModeSelection> onMeasureModeSelectionChanged;
-
- late FEventHandler<MeasureModeSubmit> onMeasureModeSubmitChanged;
-
- late FEventHandler<MeasureOperateType> onOperateTypeChanged;
-
- late FEventHandler<AnnotationType> onChangedAnnotationType;
-
- late FEventHandler<bool> onDragStateChanged;
-
- late FEventHandler<bool> onRightClickFinishMeasure;
-
- late FEventHandler<bool> onChangeImageLoaded;
-
- late FEventHandler<String> changeImageByRemedicalCode;
-
- late FEventHandler<List<RemedicalInfoDTO>> changeImageList;
- late FEventHandler<RemedicalInfoDTO> changeImageByIndex =
- FEventHandler<RemedicalInfoDTO>();
- late FEventHandler<bool> onChangeFullScreenState;
- late FEventHandler<bool> onToolPanelStateChanged;
- late FEventHandler<void> annotationsLoaded;
- late final FEventHandler<bool> canMeasureDrawingChanged;
-
- CurrImageInfo get currSelectedImage;
- set currSelectedImage(CurrImageInfo value);
-
- MeasureModeSelection get measureModeChanged;
- set measureModeChanged(MeasureModeSelection value);
-
- MeasureModeSubmit get measureModeSubmitChanged;
- set measureModeSubmitChanged(MeasureModeSubmit value);
-
- MeasureOperateType get currOperateType;
- set currOperateType(MeasureOperateType value);
-
- AnnotationType get changedAnnotationType;
- set changedAnnotationType(AnnotationType value);
-
- bool get changeImageLoaded;
- set changeImageLoaded(bool value);
-
- bool get fullScreenState;
- set fullScreenState(bool value);
-
- bool get toolPanelState;
- set toolPanelState(bool value);
-
- bool get canMeasureDrawing;
- set canMeasureDrawing(bool value);
- }
- class MeasureHandler implements IMeasureHandler {
- CurrImageInfo _currSelectedImage = CurrImageInfo(null, null);
- MeasureModeSelection _measureModeChanged =
- MeasureModeSelection(null, null, null);
- MeasureModeSubmit _measureModeSubmitChanged =
- MeasureModeSubmit(null, null, null, null);
- MeasureOperateType _currOperateType = MeasureOperateType.measure;
- bool _changeImageLoaded = true;
- bool _fullScreenState = false;
- bool _toolPanelState = true;
- bool _canMeasureDrawing = true;
- AnnotationType _changedAnnotationType = AnnotationType.label;
- @override
- var onImageChanged = FEventHandler<CurrImageInfo>();
- @override
- var onMeasureModeSelectionChanged = FEventHandler<MeasureModeSelection>();
- @override
- var onMeasureModeSubmitChanged = FEventHandler<MeasureModeSubmit>();
- @override
- var onOperateTypeChanged = FEventHandler<MeasureOperateType>();
- @override
- var onChangedAnnotationType = FEventHandler<AnnotationType>();
- @override
- var onDragStateChanged = FEventHandler<bool>();
- @override
- var onRightClickFinishMeasure = FEventHandler<bool>();
- @override
- FEventHandler<bool> onChangeImageLoaded = FEventHandler<bool>();
- @override
- FEventHandler<String> changeImageByRemedicalCode = FEventHandler<String>();
- @override
- FEventHandler<RemedicalInfoDTO> changeImageByIndex =
- FEventHandler<RemedicalInfoDTO>();
- @override
- FEventHandler<List<RemedicalInfoDTO>> changeImageList =
- FEventHandler<List<RemedicalInfoDTO>>();
- @override
- FEventHandler<bool> onChangeFullScreenState = FEventHandler<bool>();
- @override
- FEventHandler<bool> onToolPanelStateChanged = FEventHandler<bool>();
- @override
- var annotationsLoaded = FEventHandler<void>();
- @override
- FEventHandler<bool> canMeasureDrawingChanged = FEventHandler<bool>();
- @override
- CurrImageInfo get currSelectedImage => _currSelectedImage;
- @override
- MeasureModeSelection get measureModeChanged => _measureModeChanged;
- @override
- MeasureModeSubmit get measureModeSubmitChanged => _measureModeSubmitChanged;
- @override
- MeasureOperateType get currOperateType => _currOperateType;
- @override
- AnnotationType get changedAnnotationType => _changedAnnotationType;
- @override
- bool get changeImageLoaded => _changeImageLoaded;
- @override
- bool get fullScreenState => _fullScreenState;
- @override
- set fullScreenState(bool value) {
- if (value != _fullScreenState) {
- _fullScreenState = value;
- _onChangeFullScreenState();
- }
- }
- @override
- bool get toolPanelState => _toolPanelState;
- @override
- set toolPanelState(bool value) {
- if (value != _toolPanelState) {
- _toolPanelState = value;
- _onToolPanelStateChanged();
- }
- }
- @override
- bool get canMeasureDrawing => _canMeasureDrawing;
- @override
- set canMeasureDrawing(bool value) {
- if (value != _canMeasureDrawing) {
- _canMeasureDrawing = value;
- canMeasureDrawingChanged.emit(this, _canMeasureDrawing);
- }
- }
- @override
- set changeImageLoaded(bool value) {
- if (value != _changeImageLoaded) {
- _changeImageLoaded = value;
- _onChangeImageLoaded();
- }
- }
- @override
- set currOperateType(MeasureOperateType value) {
- if (value != _currOperateType) {
- _currOperateType = value;
- _onOperateTypeChanged();
- }
- }
- @override
- set changedAnnotationType(AnnotationType value) {
- if (value != _changedAnnotationType) {
- _changedAnnotationType = value;
- _onChangedAnnotation();
- }
- }
- @override
- set currSelectedImage(CurrImageInfo value) {
- if (value != _currSelectedImage) {
- _currSelectedImage = value;
- _onImageChanged();
- }
- }
- @override
- set measureModeChanged(MeasureModeSelection value) {
- if (value != _measureModeChanged) {
- _measureModeChanged = value;
- _onMeasureModeSelectionChanged();
- }
- }
- @override
- set measureModeSubmitChanged(MeasureModeSubmit value) {
- if (value != _measureModeSubmitChanged) {
- _measureModeSubmitChanged = value;
- _onMeasureModeSubmitChanged();
- }
- }
- void _onImageChanged() {
- onImageChanged.emit(this, currSelectedImage);
- }
- void _onMeasureModeSelectionChanged() {
- onMeasureModeSelectionChanged.emit(this, measureModeChanged);
- }
- void _onMeasureModeSubmitChanged() {
- onMeasureModeSubmitChanged.emit(this, measureModeSubmitChanged);
- }
- void _onOperateTypeChanged() {
- onOperateTypeChanged.emit(this, currOperateType);
- }
- void _onChangeImageLoaded() {
- onChangeImageLoaded.emit(this, changeImageLoaded);
- }
- void _onChangeFullScreenState() {
- onChangeFullScreenState.emit(this, fullScreenState);
- }
- void _onToolPanelStateChanged() {
- onToolPanelStateChanged.emit(this, toolPanelState);
- }
- void _onChangedAnnotation() {
- onChangedAnnotationType.emit(this, changedAnnotationType);
- }
- void onAnnotationsLoaded() {
- annotationsLoaded.emit(this, null);
- }
- }
|