aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Models
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Models')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Models/HardwareCollection.cs2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Models/HardwareComponent.cs6
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Models/HardwareParameter.cs90
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Models/IHasDifference.cs13
4 files changed, 78 insertions, 33 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Models/HardwareCollection.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Models/HardwareCollection.cs
index 765bc9dfd..7c774e65f 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Models/HardwareCollection.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Models/HardwareCollection.cs
@@ -7,7 +7,7 @@ using Tango.Core;
namespace Tango.MachineStudio.MachineDesigner.Models
{
- public class HardwareCollection : ExtendedObject
+ public class HardwareCollection : ExtendedObject, IHasDifference
{
public String CollectionName { get; set; }
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Models/HardwareComponent.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Models/HardwareComponent.cs
index d03428ce5..c0610dd5f 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Models/HardwareComponent.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Models/HardwareComponent.cs
@@ -7,7 +7,7 @@ using Tango.Core;
namespace Tango.MachineStudio.MachineDesigner.Models
{
- public class HardwareComponent : ExtendedObject
+ public class HardwareComponent : ExtendedObject, IHasDifference
{
public String ComponentName { get; set; }
public String Description { get; set; }
@@ -16,12 +16,14 @@ namespace Tango.MachineStudio.MachineDesigner.Models
{
get
{
- return Properties.Any(item => item.IsDifferent);
+ return Properties.Any(item => item.HasDifferences);
}
}
+
public HardwareComponent()
{
Properties = new SynchronizedObservableCollection<HardwareParameter>();
}
+
}
}
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..9e30874e9 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,16 +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>
+ /// <remarks>
+ /// This class provides data state changes.
+ /// </remarks>
+ 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; }
+ /// <summary>
+ /// The default value contains data from database
+ /// </summary>
private Object _defaultValue;
public Object DefaultValue
{
@@ -27,12 +34,18 @@ namespace Tango.MachineStudio.MachineDesigner.Models
_defaultValue = value;
}
}
-
+ /// <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
+
+ /// <summary>
+ /// The value contains modified data, saved in database or immediately after editing in this session
+ /// </summary>
private Object _actualValue = null;
public Object ActualValue
{
@@ -41,12 +54,15 @@ namespace Tango.MachineStudio.MachineDesigner.Models
{
_actualValue = value;
RaisePropertyChangedAuto();
- RaisePropertyChanged(nameof(IsDifferent));
+ RaisePropertyChanged(nameof(HasDifferences));
RaisePropertyChanged(nameof(IsValuesMatched));
}
}
- // displayed during editing
+ /// <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>
private Object _editableValue = null;
public Object EditableValue
{
@@ -75,8 +91,34 @@ 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 properties
-
+ #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()
{
if (IsSelected)
@@ -91,32 +133,20 @@ namespace Tango.MachineStudio.MachineDesigner.Models
}
}
}
-
- public bool IsDifferent
- {
- get
- {
- return (ActualValue != null);
- }
- }
-
- public bool IsValuesMatched
+ #endregion
+ #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
}
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Models/IHasDifference.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Models/IHasDifference.cs
new file mode 100644
index 000000000..bd4851867
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Models/IHasDifference.cs
@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tango.MachineStudio.MachineDesigner.Models
+{
+ interface IHasDifference
+ {
+ bool HasDifferences { get;}
+ }
+}