aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/ViewModels
diff options
context:
space:
mode:
authorRoy Ben Shabat <Roy.mail.net@gmail.com>2020-12-28 04:00:29 +0200
committerRoy Ben Shabat <Roy.mail.net@gmail.com>2020-12-28 04:00:29 +0200
commit29241b674e6e747ce64e521446e87596eb66dedd (patch)
tree5169b73b62cff50146ca3f110818787b48bcd387 /Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/ViewModels
parent1cb99b7e98491a9064eb4c87b89991b5301528c1 (diff)
downloadTango-29241b674e6e747ce64e521446e87596eb66dedd.tar.gz
Tango-29241b674e6e747ce64e521446e87596eb66dedd.zip
Implemented lubrication level control per RML for PPC user.
Diffstat (limited to 'Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/ViewModels')
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/ViewModels/MainViewVM.cs64
1 files changed, 63 insertions, 1 deletions
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/ViewModels/MainViewVM.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/ViewModels/MainViewVM.cs
index 20cfd6bf4..f4bbf6da3 100644
--- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/ViewModels/MainViewVM.cs
@@ -18,6 +18,7 @@ using Tango.Core.ExtensionMethods;
using Tango.PPC.Common;
using Tango.PPC.Common.Connection;
using Tango.PPC.Common.ExternalBridge;
+using Tango.PPC.Common.Lubrication;
using Tango.PPC.Common.Messages;
using Tango.PPC.Common.OS;
using Tango.PPC.Common.UWF;
@@ -35,6 +36,36 @@ namespace Tango.PPC.MachineSettings.ViewModels
private TimeZoneInfo _previousTimeZone;
private bool _previousEnableUWF;
+ #region Classes
+
+ public class RmlLubricationLevelSettings : RmlLubricationLevel
+ {
+ public String Name { get; set; }
+
+ public RmlLubricationLevelSettings()
+ {
+
+ }
+
+ public RmlLubricationLevelSettings(RmlLubricationLevel rmlLevel, String name)
+ {
+ RmlGuid = rmlLevel.RmlGuid;
+ LubricationLevel = rmlLevel.LubricationLevel;
+ Name = name;
+ }
+
+ public RmlLubricationLevel ToRmlLubricationLevel()
+ {
+ return new RmlLubricationLevel()
+ {
+ RmlGuid = RmlGuid,
+ LubricationLevel = LubricationLevel,
+ };
+ }
+ }
+
+ #endregion
+
#region Properties
[TangoInject]
@@ -189,6 +220,12 @@ namespace Tango.PPC.MachineSettings.ViewModels
set { _enableUWF = value; RaisePropertyChangedAuto(); }
}
+ private List<RmlLubricationLevelSettings> _lubricationLevels;
+ public List<RmlLubricationLevelSettings> LubricationLevels
+ {
+ get { return _lubricationLevels; }
+ set { _lubricationLevels = value; RaisePropertyChangedAuto(); }
+ }
#endregion
@@ -213,6 +250,7 @@ namespace Tango.PPC.MachineSettings.ViewModels
public MainViewVM()
{
+ LubricationLevels = new List<RmlLubricationLevelSettings>();
SaveCommand = new RelayCommand(Save);
DiscardCommand = new RelayCommand(Discard);
SynchronizeCommand = new RelayCommand(Synchronize, () => !MachineDataSynchronizer.IsSynchronizing && IsFree);
@@ -243,6 +281,7 @@ namespace Tango.PPC.MachineSettings.ViewModels
Settings.SynchronizeJobs = SynchronizeJobs;
Settings.SynchronizeDiagnostics = SynchronizeDiagnostics;
Settings.AutoCheckForUpdates = AutoCheckForUpdates;
+ Settings.LubricationLevels = LubricationLevels.Where(x => x.LubricationLevel != LubricationLevel.Standard).Select(x => x.ToRmlLubricationLevel()).ToList();
MachineDataSynchronizer.IsEnabled = SynchronizeJobs || SynchronizeDiagnostics;
@@ -368,7 +407,7 @@ namespace Tango.PPC.MachineSettings.ViewModels
SelectedJobTypes = new SelectedObjectCollection<JobTypes>(Enum.GetValues(typeof(JobTypes)).Cast<JobTypes>().ToObservableCollection(), Settings.SupportedJobTypes.ToObservableCollection());
SelectedColorSpaces = new SelectedObjectCollection<ColorSpaces>(Enum.GetValues(typeof(ColorSpaces)).Cast<ColorSpaces>().Where(x => x.IsUserSpace()).ToObservableCollection(), Settings.SupportedColorSpaces.ToObservableCollection());
- DefaultRML = Adapter.Rmls.SingleOrDefault(x => x.Guid == Settings.DefaultRmlGuid);
+ DefaultRML = Rmls.SingleOrDefault(x => x.Guid == Settings.DefaultRmlGuid);
DefaultSpoolType = Adapter.SpoolTypes.SingleOrDefault(x => x.Guid == Settings.DefaultSpoolTypeGuid);
SynchronizeJobs = Settings.SynchronizeJobs;
@@ -388,6 +427,29 @@ namespace Tango.PPC.MachineSettings.ViewModels
{
LogManager.Log(ex, "Error getting UWF status.");
}
+
+ try
+ {
+ List<RmlLubricationLevelSettings> levels = new List<RmlLubricationLevelSettings>();
+
+ foreach (var rml in Rmls)
+ {
+ RmlLubricationLevel userLevel = Settings.LubricationLevels.FirstOrDefault(x => x.RmlGuid == rml.Guid);
+
+ RmlLubricationLevelSettings rmlLevel = new RmlLubricationLevelSettings();
+ rmlLevel.RmlGuid = rml.Guid;
+ rmlLevel.Name = rml.Name;
+ rmlLevel.LubricationLevel = userLevel != null ? userLevel.LubricationLevel : LubricationLevel.Standard;
+
+ levels.Add(rmlLevel);
+ }
+
+ LubricationLevels = levels;
+ }
+ catch (Exception ex)
+ {
+ LogManager.Log(ex, "Error loading lubrication levels.");
+ }
}
private async void OnEnableRemoteAssistanceChanged()