|
@@ -0,0 +1,66 @@
|
|
|
+enum ModeTypeEnum {
|
|
|
+ undefined,
|
|
|
+
|
|
|
+ /// Modes like 2D, TNonL, 3D4D
|
|
|
+ tissue,
|
|
|
+
|
|
|
+ /// Modes like CF, PDI, TVI
|
|
|
+ flow,
|
|
|
+
|
|
|
+ /// Modes like PW, CW, TD
|
|
|
+ doppler,
|
|
|
+
|
|
|
+ /// Modes like MM, AMM
|
|
|
+ tissueTM
|
|
|
+}
|
|
|
+
|
|
|
+abstract class IMode {
|
|
|
+ // Data Members
|
|
|
+
|
|
|
+ /// Gets or sets whether the mode is active.
|
|
|
+ ///
|
|
|
+ /// The active mode can be the current most interesting working mode
|
|
|
+ ///
|
|
|
+ /// from user's point of view.
|
|
|
+ ///
|
|
|
+ /// e.g., If in 2D mode, user presses CF button, then CF mode is enabled and is activated.
|
|
|
+ ///
|
|
|
+ /// When user switch to B panel, then B mode is active mode.
|
|
|
+ ///
|
|
|
+ /// When set, the Active property of previous mode will be set to false.
|
|
|
+ bool get active;
|
|
|
+ set active(bool value);
|
|
|
+
|
|
|
+ /// Show or hide the mode. When mode is shown, usually it will create related native models and start to work.
|
|
|
+ /// This shall be the only way to make the mode work
|
|
|
+ bool get visible;
|
|
|
+ set visible(bool value);
|
|
|
+
|
|
|
+ /// Indicate whether the mode can be played in current visual state. In another word, the corresponding
|
|
|
+ /// mode button can be clicked on hard keyboard.
|
|
|
+ ///
|
|
|
+ /// If the probe does not support one specific mode, then this flag is false
|
|
|
+ /// (Also the meta is not in the <see cref="IProbe.SupportedModes"/> list).
|
|
|
+ ///
|
|
|
+ /// Else this flag is false in Freezed state when the mode is invisible in live state.
|
|
|
+ ///
|
|
|
+ /// One sample: If CF + 2D is visible in live state, at this time, PW is Enabled but is not visible.
|
|
|
+ ///
|
|
|
+ /// When freezed, then PW is disabled, but 2D + CF are both Visible and Enabled.
|
|
|
+ ///
|
|
|
+ /// When user uncheck CF mode, then CF is invisible but is still Enabled.
|
|
|
+ ///
|
|
|
+ /// If user then unfreeze system, then both CF and PW are invisible and are enabled.
|
|
|
+ bool get enabled;
|
|
|
+ set enabled(bool value);
|
|
|
+
|
|
|
+ /// Gets the identifying name of the <see cref="IMode"/>.
|
|
|
+ /// B, CF, PDI, TVI, PW, CW, TD, M...
|
|
|
+ /// This name is hardcoded in every mode.
|
|
|
+ /// When doing compare, caller shall call like below:
|
|
|
+ /// if mode.Name == TwoDMode.ModeName
|
|
|
+
|
|
|
+ String get name;
|
|
|
+
|
|
|
+ ModeTypeEnum get modeType;
|
|
|
+}
|