diff options
| author | Shlomo Hecht <shlomo@twine-s.com> | 2019-10-07 16:41:45 +0300 |
|---|---|---|
| committer | Shlomo Hecht <shlomo@twine-s.com> | 2019-10-07 16:41:45 +0300 |
| commit | eae70d7ebcb1007b407bac2ba27da5a5fef337db (patch) | |
| tree | 67febce63cc498102a86eb69263508c6c70f0b1f /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Models/HardwareParameter.cs | |
| parent | e131de20ac8e179abc42a2dc173cf860d64a3bcd (diff) | |
| parent | 583d3716e37a9be80c8bb248215f343ed4fcd2d1 (diff) | |
| download | Tango-eae70d7ebcb1007b407bac2ba27da5a5fef337db.tar.gz Tango-eae70d7ebcb1007b407bac2ba27da5a5fef337db.zip | |
Merge branch 'master' of https://twinetfs.visualstudio.com/Tango/_git/Tango
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Models/HardwareParameter.cs')
| -rw-r--r-- | Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Models/HardwareParameter.cs | 91 |
1 files changed, 68 insertions, 23 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Models/HardwareParameter.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Models/HardwareParameter.cs index 33dbcad71..5bddfb02e 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Models/HardwareParameter.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Models/HardwareParameter.cs @@ -8,17 +8,23 @@ using Tango.Core.Commands; namespace Tango.MachineStudio.MachineDesigner.Models { - public class HardwareParameter : ExtendedObject + /// <summary> + /// The HardwareParameter class. + /// Contains default/editable/actual value and data type of each hardware parameter reflected in . + /// </summary> + public class HardwareParameter : ExtendedObject, IHasDifference { - public event EventHandler Selected; + #region Properties public HardwareComponent Component { get; set; } - public RelayCommand DeleteCommand { get; set; } - public String PropertyName { get; set; } + private Object _defaultValue; + /// <summary> + /// The default value contains data from database + /// </summary> public Object DefaultValue { get { return _defaultValue; } @@ -28,12 +34,20 @@ namespace Tango.MachineStudio.MachineDesigner.Models } } + /// <summary> + /// The type of hardware parameter is used for display correct ui element. + /// Can be boolean, int32, or Double + /// </summary> public Type Type { get { return DefaultValue.GetType(); } } - // updated after editing + + private Object _actualValue = null; + /// <summary> + /// The value contains modified data, saved in database or immediately after editing in this session. + /// </summary> public Object ActualValue { get { return _actualValue; } @@ -41,13 +55,17 @@ namespace Tango.MachineStudio.MachineDesigner.Models { _actualValue = value; RaisePropertyChangedAuto(); - RaisePropertyChanged(nameof(IsDifferent)); + RaisePropertyChanged(nameof(HasDifferences)); RaisePropertyChanged(nameof(IsValuesMatched)); } } - // displayed during editing + private Object _editableValue = null; + /// <summary> + /// The editable value contains value displayed in edit box in UI. + /// Initialization the value occurs by clicking in UI and the value will be equal actual value if it exists or default value. + /// </summary> public Object EditableValue { get { return _editableValue; } @@ -76,6 +94,37 @@ namespace Tango.MachineStudio.MachineDesigner.Models } } + /// <summary> + /// Used in UI to display modified value + /// </summary> + public bool HasDifferences + { + get + { + return (ActualValue != null); + } + } + + /// <summary> + /// Used to display warning explanation icon in case actual value equals default value + /// </summary> + public bool IsValuesMatched + { + get + { + return ActualValue != null && ActualValue.ToString() == DefaultValue.ToString(); + } + } + + #endregion + + #region events + + /// <summary> + /// Occurs when start select mode. + /// Used to set in all others Parameter IsSelected to false except this. + /// </summary> + public event EventHandler Selected; private void OnIsSelectedChanged() { @@ -92,31 +141,27 @@ namespace Tango.MachineStudio.MachineDesigner.Models } } - public bool IsDifferent - { - get - { - return (ActualValue != null); - } - } + #endregion - public bool IsValuesMatched + #region Constructors + + public HardwareParameter() { - get - { - return ActualValue != null && ActualValue.ToString() == DefaultValue.ToString(); - } + DeleteCommand = new RelayCommand(DeleteValue); } + #endregion + + #region Commands + + public RelayCommand DeleteCommand { get; set; } + public void DeleteValue() { ActualValue = null; EditableValue = null; } - public HardwareParameter() - { - DeleteCommand = new RelayCommand(DeleteValue); - } + #endregion } } |
