aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-02-19 19:09:12 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-02-19 19:09:12 +0200
commit160ec4042539e69a7494bcde5c893c6dffcbf1b6 (patch)
treecce685e0b88ef922d5adec5af39e4bfb59e158fb /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels
parent240fc978fb3327ff7e5bc0c7a06e1b8cc8de4aca (diff)
downloadTango-160ec4042539e69a7494bcde5c893c6dffcbf1b6.tar.gz
Tango-160ec4042539e69a7494bcde5c893c6dffcbf1b6.zip
Working on developer module..
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs76
1 files changed, 49 insertions, 27 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 199183c12..62b742390 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
@@ -45,7 +45,7 @@ namespace Tango.MachineStudio.Developer.ViewModels
/// Represents the developer module main view, view model.
/// </summary>
/// <seealso cref="Tango.SharedUI.ViewModel" />
- public class MainViewVM : ViewModel, IShutdownRequestBlocker
+ public class MainViewVM : ViewModel<IMainView>, IShutdownRequestBlocker, IShutdownListener
{
private static object _syncLock = new object();
@@ -464,6 +464,14 @@ namespace Tango.MachineStudio.Developer.ViewModels
}
}
+ private String _jobFilter;
+
+ public String JobFilter
+ {
+ get { return _jobFilter; }
+ set { _jobFilter = value; RaisePropertyChangedAuto(); OnJobFilterChanged(); }
+ }
+
#endregion
#region Commands
@@ -575,7 +583,7 @@ namespace Tango.MachineStudio.Developer.ViewModels
/// <summary>
/// Initializes a new instance of the <see cref="MainViewVM"/> class.
/// </summary>
- public MainViewVM() : base()
+ public MainViewVM(IMainView view) : base(view, true)
{
}
@@ -586,16 +594,22 @@ namespace Tango.MachineStudio.Developer.ViewModels
/// <param name="applicationManager">The application manager.</param>
/// <param name="notificationProvider">The notification provider.</param>
[PreferredConstructor]
- public MainViewVM(IStudioApplicationManager applicationManager, INotificationProvider notificationProvider, IDiagnosticsFrameProvider diagnosticsFrameProvider, IVideoCaptureProvider videoCaptureProvider, DeveloperNavigationManager navigation, IAuthenticationProvider authentication) : this()
+ public MainViewVM(IMainView view, IStudioApplicationManager applicationManager, INotificationProvider notificationProvider, IDiagnosticsFrameProvider diagnosticsFrameProvider, IVideoCaptureProvider videoCaptureProvider, DeveloperNavigationManager navigation, IAuthenticationProvider authentication) : this(view)
{
- using (var db = ObservablesContext.CreateDefault())
+ SelectedJobs = new ObservableCollection<Job>();
+
+ _machineDBContext = ObservablesContext.CreateDefault();
+
+ if (SettingsManager.Default.MachineStudio.DeveloperModule.LastSelectedMachineGuid != null)
{
- Machines = db.Machines.ToObservableCollection();
+ SelectedMachine = _machineDBContext.Machines.SingleOrDefault(x => x.Guid == SettingsManager.Default.MachineStudio.DeveloperModule.LastSelectedMachineGuid);
}
- _machineDBContext = ObservablesContext.CreateDefault();
+ if (SettingsManager.Default.MachineStudio.DeveloperModule.LastSelectedJobGuid != null && SelectedMachine != null)
+ {
+ SelectedMachineJob = SelectedMachine.Jobs.SingleOrDefault(x => x.Guid == SettingsManager.Default.MachineStudio.DeveloperModule.LastSelectedJobGuid);
+ }
- SelectedJobs = new ObservableCollection<Job>();
_authentication = authentication;
@@ -748,7 +762,6 @@ namespace Tango.MachineStudio.Developer.ViewModels
ReloadMachine();
JobsCollectionView = CollectionViewSource.GetDefaultView(SelectedMachine.Jobs);
JobsCollectionView.SortDescriptions.Add(new SortDescription(nameof(Job.LastUpdated), ListSortDirection.Descending));
- InvalidateLiquidFactorsAndProcessTables();
}
}
@@ -757,7 +770,8 @@ namespace Tango.MachineStudio.Developer.ViewModels
_machineDBContext.Dispose();
_machineDBContext = ObservablesContext.CreateDefault();
_machineDBContext.Configuration.LazyLoadingEnabled = true;
- _selectedMachine = _machineDBContext.Machines.SingleOrDefault(x => x.Guid == _selectedMachine.Guid);
+ Machines = _machineDBContext.Machines.ToObservableCollection();
+ _selectedMachine = Machines.SingleOrDefault(x => x.Guid == _selectedMachine.Guid);
RaisePropertyChanged(nameof(SelectedMachine));
JobsCollectionView = CollectionViewSource.GetDefaultView(SelectedMachine.Jobs);
@@ -768,6 +782,17 @@ namespace Tango.MachineStudio.Developer.ViewModels
#region Private Methods
+ private void OnJobFilterChanged()
+ {
+ JobsCollectionView.Filter = (job) =>
+ {
+ Job j = job as Job;
+ return String.IsNullOrWhiteSpace(JobFilter)
+ ||
+ j.Name.ToLower().Contains(JobFilter.ToLower());
+ };
+ }
+
private void OnActiveJobChanged()
{
if (ActiveJob != null)
@@ -998,7 +1023,7 @@ namespace Tango.MachineStudio.Developer.ViewModels
{
using (_notification.PushTaskItem("Saving Liquid Factors..."))
{
- await SelectedRML.SaveAsync();
+ await SelectedRML.SaveAsync(_dbJobContext);
InvalidateLiquidFactorsAndProcessTables();
}
}
@@ -1053,7 +1078,7 @@ namespace Tango.MachineStudio.Developer.ViewModels
}
SelectedRML.ProcessParametersTablesGroups.Add(group);
- await SelectedRML.SaveAsync();
+ await SelectedRML.SaveAsync(_dbJobContext);
InvalidateLiquidFactorsAndProcessTables();
}
@@ -1398,30 +1423,27 @@ namespace Tango.MachineStudio.Developer.ViewModels
return Task.FromResult(false);
}
- SettingsManager.Default.MachineStudio.DeveloperModule.LastSelectedMachineGuid = SelectedMachine != null ? SelectedMachine.Guid : null;
- SettingsManager.Default.MachineStudio.DeveloperModule.LastSelectedJobGuid = ActiveJob != null ? ActiveJob.Guid : null;
-
return Task.FromResult(true);
}
#endregion
- #region IMainView
+ #region IShutdownListener
+
+ public void OnShuttingDown()
+ {
+ SettingsManager.Default.MachineStudio.DeveloperModule.LastSelectedMachineGuid = SelectedMachine != null ? SelectedMachine.Guid : null;
+ SettingsManager.Default.MachineStudio.DeveloperModule.LastSelectedJobGuid = SelectedMachineJob != null ? SelectedMachineJob.Guid : null;
+ }
- //protected override void OnViewAttached()
- //{
- // base.OnViewAttached();
+ #endregion
- // //if (SettingsManager.Default.MachineStudio.DeveloperModule.LastSelectedMachineGuid != null)
- // //{
- // // SelectedMachine = Adapter.Machines.SingleOrDefault(x => x.Guid == SettingsManager.Default.MachineStudio.DeveloperModule.LastSelectedMachineGuid);
- // //}
+ #region IMainView
- // //if (SettingsManager.Default.MachineStudio.DeveloperModule.LastSelectedJobGuid != null && SelectedMachine != null)
- // //{
- // // ActiveJob = SelectedMachine.Jobs.SingleOrDefault(x => x.Guid == SettingsManager.Default.MachineStudio.DeveloperModule.LastSelectedJobGuid);
- // //}
- //}
+ protected override void OnViewAttached()
+ {
+ base.OnViewAttached();
+ }
#endregion
}