diff options
| author | Shlomo Hecht <shlomo@twine-s.com> | 2018-11-13 10:46:15 +0200 |
|---|---|---|
| committer | Shlomo Hecht <shlomo@twine-s.com> | 2018-11-13 10:46:15 +0200 |
| commit | 00525cc261ec117e2eb78ac2a4525fa3da92d399 (patch) | |
| tree | 9f4c311d915b0305f31925bab4d87a97cf82d790 /Software/Visual_Studio/MachineStudio/Modules | |
| parent | 8d4920307ed4bbb6760245728934b91e249fe6c4 (diff) | |
| parent | 996422d12e0a40aa408757989232f0225dc29a28 (diff) | |
| download | Tango-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')
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); } |
