aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2018-11-13 10:46:15 +0200
committerShlomo Hecht <shlomo@twine-s.com>2018-11-13 10:46:15 +0200
commit00525cc261ec117e2eb78ac2a4525fa3da92d399 (patch)
tree9f4c311d915b0305f31925bab4d87a97cf82d790 /Software/Visual_Studio/MachineStudio/Modules
parent8d4920307ed4bbb6760245728934b91e249fe6c4 (diff)
parent996422d12e0a40aa408757989232f0225dc29a28 (diff)
downloadTango-00525cc261ec117e2eb78ac2a4525fa3da92d399.tar.gz
Tango-00525cc261ec117e2eb78ac2a4525fa3da92d399.zip
Merge branch 'master' of https://twinetfs.visualstudio.com/Tango/_git/Tango
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/DeveloperModuleSettings.cs2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs27
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs14
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/MonitorRecorderItem.cs23
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs20
5 files changed, 83 insertions, 3 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/DeveloperModuleSettings.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/DeveloperModuleSettings.cs
index 5e0e6d838..e6d5674e1 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/DeveloperModuleSettings.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/DeveloperModuleSettings.cs
@@ -22,6 +22,8 @@ namespace Tango.MachineStudio.Developer
public List<ParameterIndex> ProcessParametersIndices { get; set; }
+ public String DefaultJobRmlGuid { get; set; }
+
public DeveloperModuleSettings()
{
ProcessParametersIndices = new List<ParameterIndex>();
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs
index 79b1f1c17..f15ffb2c7 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs
@@ -1773,6 +1773,10 @@ namespace Tango.MachineStudio.Developer.ViewModels
SelectedMachineJob.Segments = SelectedMachineJob.Segments;
});
+ var settings = SettingsManager.Default.GetOrCreate<DeveloperModuleSettings>();
+ settings.DefaultJobRmlGuid = ActiveJob.RmlGuid;
+ settings.Save();
+
});
}
@@ -2015,16 +2019,37 @@ namespace Tango.MachineStudio.Developer.ViewModels
{
LogManager.Log(String.Format("Adding new job {0}...", jobName));
+ var settings = SettingsManager.Default.GetOrCreate<DeveloperModuleSettings>();
+
Job newJob = new Job();
newJob.Name = jobName;
newJob.CreationDate = DateTime.UtcNow;
newJob.UserGuid = _authentication.CurrentUser.Guid;
- newJob.Rml = _machineDbContext.Rmls.FirstOrDefault();
+
+ if (String.IsNullOrWhiteSpace(settings.DefaultJobRmlGuid))
+ {
+ newJob.Rml = _machineDbContext.Rmls.FirstOrDefault();
+ }
+ else
+ {
+ var rml = _machineDbContext.Rmls.SingleOrDefault(x => x.Guid == settings.DefaultJobRmlGuid);
+ if (rml != null)
+ {
+ newJob.Rml = rml;
+ }
+ else
+ {
+ newJob.Rml = _machineDbContext.Rmls.FirstOrDefault();
+ }
+ }
+
newJob.WindingMethod = _machineDbContext.WindingMethods.FirstOrDefault();
newJob.SpoolType = _machineDbContext.SpoolTypes.FirstOrDefault();
newJob.ColorSpace = _machineDbContext.ColorSpaces.FirstOrDefault();
newJob.Machine = SelectedMachine;
+
+
SelectedMachine.Jobs.Add(newJob);
var segment = newJob.AddSolidSegment();
segment.BrushStops[0].SetAllDispensingStepDivisions(BL.Dispensing.DispenserStepDivisions.D8);
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs
index de9a8de4a..5ae5c531c 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs
@@ -349,6 +349,20 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
#endregion
+ #region Public Methods
+
+ /// <summary>
+ /// Sets the selected machine without any further processing.
+ /// </summary>
+ /// <param name="machine">The machine.</param>
+ public void SetSelectedMachine(Machine machine)
+ {
+ _machine = machine;
+ RaisePropertyChanged(nameof(Machine));
+ }
+
+ #endregion
+
#region Drag Drop Handlers
/// <summary>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/MonitorRecorderItem.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/MonitorRecorderItem.cs
index e2b62092d..321d87632 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/MonitorRecorderItem.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/MonitorRecorderItem.cs
@@ -29,6 +29,8 @@ namespace Tango.MachineStudio.Technician.TechItems
[XmlIgnore]
public SelectedObjectCollection<TechMonitor> Monitors { get; set; }
+ public List<String> SelectedMonitorsGuids { get; set; }
+
private bool _isRecording;
/// <summary>
/// Gets or sets a value indicating whether this instance is recording.
@@ -75,7 +77,10 @@ namespace Tango.MachineStudio.Technician.TechItems
_timer.Tick += _timer_Tick;
_timer.Interval = TimeSpan.FromSeconds(1);
+ SelectedMonitorsGuids = new List<string>();
+
Monitors = new SelectedObjectCollection<TechMonitor>(Adapter.TechMonitors.ToObservableCollection(), new ObservableCollection<TechMonitor>());
+ Monitors.SelectionChanged += Monitors_SelectionChanged;
Name = "CSV Recorder";
Description = "Record multiple monitors to a CSV file";
Image = ResourceHelper.GetImageFromResources("Images/csv.png");
@@ -85,6 +90,11 @@ namespace Tango.MachineStudio.Technician.TechItems
TogglePauseCommand = new RelayCommand(() => { IsPaused = !IsPaused; });
}
+ private void Monitors_SelectionChanged(object sender, EventArgs e)
+ {
+ SelectedMonitorsGuids = GetSelectedMonitors().Select(x => x.Guid).ToList();
+ }
+
public MonitorRecorderItem(object dummy) : this()
{
@@ -127,5 +137,18 @@ namespace Tango.MachineStudio.Technician.TechItems
{
return Monitors.SynchedSource.ToList();
}
+
+ public void SetSelectedMonitors(IEnumerable<TechMonitor> monitors)
+ {
+ foreach (var monitor in monitors.ToList())
+ {
+ var item = Monitors.ToList().SingleOrDefault(x => x.Data == monitor);
+
+ if (item != null)
+ {
+ item.IsSelected = true;
+ }
+ }
+ }
}
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs
index a02e09e9a..85b32437b 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs
@@ -962,7 +962,8 @@ namespace Tango.MachineStudio.Technician.ViewModels
}
else if (item is MonitorRecorderItem)
{
- CreateElement<MonitorRecorderElementEditor>(item);
+ var editor = CreateElement<MonitorRecorderElementEditor>(item);
+ InitMonitorRecorderItem(editor.MonitorRecorderItem);
}
}
@@ -1276,10 +1277,15 @@ namespace Tango.MachineStudio.Technician.ViewModels
})
.Subscribe((response) =>
{
-
item.HomingMaximumProgress = response.MaxProgress;
item.HomingProgress = response.Progress;
+ },(ex) =>
+ {
+
+ item.IsHoming = false;
+ item.IsHomingCompleted = true;
+
}, () =>
{
@@ -1372,6 +1378,12 @@ namespace Tango.MachineStudio.Technician.ViewModels
item.HomingMaximumProgress = response.MaxProgress;
item.HomingProgress = response.Progress;
+ }, (ex) =>
+ {
+
+ item.IsHoming = false;
+ item.IsHomingCompleted = true;
+
}, () =>
{
@@ -1869,6 +1881,10 @@ namespace Tango.MachineStudio.Technician.ViewModels
{
(item as MotorGroupItem).TechMotors = ObservablesStaticCollections.Instance.HardwareMotorTypes.Where(x => (item as MotorGroupItem).ItemsGuids.Contains(x.Guid)).ToObservableCollection();
}
+ else if (item is MonitorRecorderItem)
+ {
+ (item as MonitorRecorderItem).SetSelectedMonitors(ObservablesStaticCollections.Instance.TechMonitors.Where(x => (item as MonitorRecorderItem).SelectedMonitorsGuids.Contains(x.Guid)).ToList());
+ }
AddTechItem(item);
}