aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs
diff options
context:
space:
mode:
authorMirta <mirta@twine-s.com>2019-05-12 13:34:12 +0300
committerMirta <mirta@twine-s.com>2019-05-12 13:34:12 +0300
commit843774b4d84769783cf0100ad5a91ce3871c83b1 (patch)
tree3323ea585fd8475d3720bb4912b62c86c4a7b0f9 /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs
parent3043e65ad539455ad2510e402e1c8f2d168577d2 (diff)
parent524bc43f07339979eda1c812354a9a2e8e0f7e09 (diff)
downloadTango-843774b4d84769783cf0100ad5a91ce3871c83b1.tar.gz
Tango-843774b4d84769783cf0100ad5a91ce3871c83b1.zip
MERGE
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs79
1 files changed, 60 insertions, 19 deletions
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 db9d9dbae..3f28c2cff 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
@@ -552,6 +552,12 @@ namespace Tango.MachineStudio.Developer.ViewModels
public IAuthenticationProvider AuthenticationProvider { get; set; }
+ public DeveloperModuleSettings Settings
+ {
+ get { return _settings; }
+ set { _settings = value; RaisePropertyChangedAuto(); }
+ }
+
#endregion
#region Commands
@@ -783,7 +789,7 @@ namespace Tango.MachineStudio.Developer.ViewModels
public override void OnApplicationReady()
{
- _settings = SettingsManager.Default.GetOrCreate<DeveloperModuleSettings>();
+ Settings = SettingsManager.Default.GetOrCreate<DeveloperModuleSettings>();
SelectedJobs = new ObservableCollection<Job>();
JobEvents = new ObservableCollection<MachinesEvent>();
@@ -966,9 +972,23 @@ namespace Tango.MachineStudio.Developer.ViewModels
private void MachineOperator_PreparingJobProgress(object sender, PreparingJobProgressEventArgs e)
{
- if (_preparingTaskItem != null)
+ var percent = (e.Progress / e.Total * 100d);
+
+ if (_preparingTaskItem == null && percent == 0)
{
- _preparingTaskItem.Message = $"Preparing job for printing {(e.Progress / e.Total * 100d).ToString("0.0")}%...";
+ _preparingTaskItem = _notification.PushTaskItem("Preparing job for printing...");
+ }
+ else if (percent == 100 && _preparingTaskItem != null)
+ {
+ _preparingTaskItem.Pop();
+ _preparingTaskItem = null;
+ }
+ else
+ {
+ if (_preparingTaskItem != null)
+ {
+ _preparingTaskItem.Message = $"Preparing job for printing {(e.Progress / e.Total * 100d).ToString("0.0")}%...";
+ }
}
}
@@ -1067,13 +1087,13 @@ namespace Tango.MachineStudio.Developer.ViewModels
{
_speech.SpeakError(events.Last().EventType.Name);
- if (events.ToList().Exists(x => x.Actions.Contains(BL.Enumerations.EventTypeActions.StopJob)))
- {
- if (JobHandler != null)
- {
- InvokeUI(StopJob);
- }
- }
+ //if (events.ToList().Exists(x => x.Actions.Contains(BL.Enumerations.EventTypeActions.StopJob)))
+ //{
+ // if (JobHandler != null)
+ // {
+ // InvokeUI(StopJob);
+ // }
+ //}
}
}
@@ -1293,6 +1313,8 @@ namespace Tango.MachineStudio.Developer.ViewModels
/// </summary>
private async void StartJob(Func<Job, JobHandler> resumeFunc = null)
{
+ SettingsManager.Default.Save();
+
LogManager.Log(String.Format("Starting job {0}...", ActiveJob.Name));
if (MachineOperator == null || MachineOperator.State != TransportComponentState.Connected)
{
@@ -1325,13 +1347,12 @@ namespace Tango.MachineStudio.Developer.ViewModels
IsFree = false;
LogManager.Log("Sending job to machine operator...");
+ MachineOperator.GradientGenerationConfiguration.IsEnabled = Settings.EnableGradientGeneration;
+ MachineOperator.GradientGenerationConfiguration.ResolutionCM = Settings.GradientResolutionCM;
+
if (resumeFunc == null)
{
- using (var item = _notification.PushTaskItem("Preparing job for printing..."))
- {
- _preparingTaskItem = item;
- JobHandler = await MachineOperator.Print(ActiveJob, SelectedProcessParametersTable);
- }
+ JobHandler = await MachineOperator.Print(ActiveJob, SelectedProcessParametersTable);
}
else
{
@@ -1386,7 +1407,7 @@ namespace Tango.MachineStudio.Developer.ViewModels
InvokeUI(() =>
{
- _notification.ShowError("Job failed. " + ex.Message);
+ _notification.ShowError("Job failed. " + ex.FlattenMessage());
StopRecordingIfInProgress();
});
};
@@ -1408,6 +1429,12 @@ namespace Tango.MachineStudio.Developer.ViewModels
JobHandler.Canceled += (x, y) =>
{
+ if (_preparingTaskItem != null)
+ {
+ _preparingTaskItem.Pop();
+ _preparingTaskItem = null;
+ }
+
LogManager.Log(String.Format("Job {0} has been canceled.", RunningJob.Name));
_eventLogger.Log(String.Format("Job {0} has been canceled.", RunningJob.Name));
StopRecordingIfInProgress();
@@ -1750,6 +1777,11 @@ namespace Tango.MachineStudio.Developer.ViewModels
InvalidateRelayCommands();
_disable_gamut_check = false;
+
+ _settings.LastSelectedMachineGuid = SelectedMachine != null ? SelectedMachine.Guid : null;
+ _settings.LastSelectedJobGuid = SelectedMachineJob != null ? SelectedMachineJob.Guid : null;
+
+ _settings.Save();
});
SegmentsCollectionView = CollectionViewSource.GetDefaultView(ActiveJob.Segments);
@@ -1987,6 +2019,11 @@ namespace Tango.MachineStudio.Developer.ViewModels
SelectedSegments.ToList().ForEach(x =>
{
+ if (ActiveJob.Segments.Count == 1)
+ {
+ _notification.ShowInfo("A job must contain at least one segment.");
+ return;
+ }
ActiveJob.Segments.Remove(x);
x.DefferedDelete(_activeJobDbContext);
});
@@ -2114,12 +2151,17 @@ namespace Tango.MachineStudio.Developer.ViewModels
{
if (SelectedBrushStop != null && SelectedSegment != null)
{
- if (_notification.ShowQuestion("Are you sure you want to delete the selected colors?"))
+ if (_notification.ShowQuestion("Are you sure you want to delete the selected brush stops?"))
{
LogManager.Log(String.Format("Removing {0} brush stops...", SelectedBrushStops.Count));
SelectedBrushStops.ToList().ForEach(x =>
{
+ if (SelectedSegment.BrushStops.Count == 1)
+ {
+ _notification.ShowInfo("A job segment must contain at least one brush stop.");
+ return;
+ }
SelectedSegment.BrushStops.Remove(x);
x.DefferedDelete(_activeJobDbContext);
});
@@ -2406,8 +2448,7 @@ namespace Tango.MachineStudio.Developer.ViewModels
public override void OnShuttingDown()
{
- _settings.LastSelectedMachineGuid = SelectedMachine != null ? SelectedMachine.Guid : null;
- _settings.LastSelectedJobGuid = SelectedMachineJob != null ? SelectedMachineJob.Guid : null;
+
}
#endregion