aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-01-31 13:30:15 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-01-31 13:30:15 +0200
commit80c023fa734d7788e155d4f311ab16220aa80650 (patch)
treedc79c0689e00419c7f447d1b32716df99df8f278 /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs
parent2fa92ca3654ebb274482f9bad86231028d357e5a (diff)
downloadTango-80c023fa734d7788e155d4f311ab16220aa80650.tar.gz
Tango-80c023fa734d7788e155d4f311ab16220aa80650.zip
Job Brush working nicely.
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.cs67
1 files changed, 66 insertions, 1 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 f6ddc9d19..7afb099db 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
@@ -76,7 +76,8 @@ namespace Tango.MachineStudio.Developer.ViewModels
public ProcessParametersTablesGroup RmlProcessParametersTableGroup
{
get { return _rmlProcessParametersTablesGroup; }
- set { _rmlProcessParametersTablesGroup = value; RaisePropertyChangedAuto(); }
+ set
+ { _rmlProcessParametersTablesGroup = value; RaisePropertyChangedAuto(); OnProcessParametersTableGroupChanged(); }
}
private ObservableCollection<ProcessParametersTablesGroup> _groupsHistory;
@@ -100,6 +101,16 @@ namespace Tango.MachineStudio.Developer.ViewModels
set { _selectedGroupHistory = value; RaisePropertyChangedAuto(); OnSelectedGroupHistoryChanged(); }
}
+ private ProcessParametersTable _selectedProcessParametersTable;
+ /// <summary>
+ /// Gets or sets the selected process parameters table.
+ /// </summary>
+ public ProcessParametersTable SelectedProcessParametersTable
+ {
+ get { return _selectedProcessParametersTable; }
+ set { _selectedProcessParametersTable = value; RaisePropertyChangedAuto(); }
+ }
+
private Job _selectedJob;
/// <summary>
/// Gets or sets the selected machine job.
@@ -181,6 +192,16 @@ namespace Tango.MachineStudio.Developer.ViewModels
set { _graphs = value; RaisePropertyChangedAuto(); }
}
+ private TimeSpan _estimatedDuration;
+ /// <summary>
+ /// Gets or sets the estimated duration for the selected job.
+ /// </summary>
+ public TimeSpan EstimatedDuration
+ {
+ get { return _estimatedDuration; }
+ set { _estimatedDuration = value; RaisePropertyChangedAuto(); }
+ }
+
#endregion
#region Commands
@@ -297,11 +318,38 @@ namespace Tango.MachineStudio.Developer.ViewModels
InvalidateLiquidFactorsAndProcessTables();
}
+ private void SelectedJob_LengthChanged(object sender, EventArgs e)
+ {
+ UpdateEstimatedDuration();
+ }
+
+ private void SelectedProcessParametersTable_DyeingSpeedChanged(object sender, EventArgs e)
+ {
+ UpdateEstimatedDuration();
+ }
+
#endregion
#region Virtual Methods
/// <summary>
+ /// Called when the process parameters table group has been changed
+ /// </summary>
+ /// <exception cref="NotImplementedException"></exception>
+ private void OnProcessParametersTableGroupChanged()
+ {
+ if (RmlProcessParametersTableGroup != null && RmlProcessParametersTableGroup.ProcessParametersTables.Count > 0)
+ {
+ SelectedProcessParametersTable = RmlProcessParametersTableGroup.ProcessParametersTables.First();
+
+ SelectedProcessParametersTable.DyeingSpeedChanged -= SelectedProcessParametersTable_DyeingSpeedChanged;
+ SelectedProcessParametersTable.DyeingSpeedChanged += SelectedProcessParametersTable_DyeingSpeedChanged;
+ }
+
+ UpdateEstimatedDuration();
+ }
+
+ /// <summary>
/// Called when the selected segment has been changed
/// </summary>
protected virtual void OnSelectedSegmentChanged()
@@ -321,6 +369,11 @@ namespace Tango.MachineStudio.Developer.ViewModels
if (SelectedJob != null)
{
SelectedSegment = SelectedJob.Segments.FirstOrDefault();
+
+ SelectedJob.LengthChanged -= SelectedJob_LengthChanged;
+ SelectedJob.LengthChanged += SelectedJob_LengthChanged;
+
+ UpdateEstimatedDuration();
}
}
@@ -347,6 +400,14 @@ namespace Tango.MachineStudio.Developer.ViewModels
#region Private Methods
+ private void UpdateEstimatedDuration()
+ {
+ if (SelectedJob != null && SelectedProcessParametersTable != null)
+ {
+ EstimatedDuration = TimeSpan.FromSeconds(SelectedJob.Length / (SelectedProcessParametersTable.DyeingSpeed / 100d));
+ }
+ }
+
private void SetSegmentBrushStopsLiquidVolumes(Segment segment)
{
if (!DesignMode)
@@ -475,7 +536,10 @@ namespace Tango.MachineStudio.Developer.ViewModels
{
Segment seg = new Segment();
seg.Name = "Untitled Segment";
+ seg.Length = 1;
SelectedJob.Segments.Add(seg);
+ SelectedSegment = seg;
+ AddBrushStop();
}
}
@@ -526,6 +590,7 @@ namespace Tango.MachineStudio.Developer.ViewModels
{
var stop = new BrushStop();
stop.ColorSpace = Adapter.ColorSpaces.FirstOrDefault();
+ stop.Color = Colors.Black;
stop.SetLiquidVolumes(SelectedMachine.Configuration, SelectedRML);
SelectedSegment.BrushStops.Add(stop);
}