aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules
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
parent240fc978fb3327ff7e5bc0c7a06e1b8cc8de4aca (diff)
downloadTango-160ec4042539e69a7494bcde5c893c6dffcbf1b6.tar.gz
Tango-160ec4042539e69a7494bcde5c893c6dffcbf1b6.zip
Working on developer module..
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/DbTableViewModel.cs8
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/DeveloperModule.cs2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Navigation/DeveloperNavigationManager.cs2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Tango.MachineStudio.Developer.csproj6
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModelLocator.cs2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs76
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/MachineJobSelectionView.xaml30
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/MainView.xaml (renamed from Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/DeveloperView.xaml)2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/MainView.xaml.cs (renamed from Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/DeveloperView.xaml.cs)19
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs12
11 files changed, 105 insertions, 56 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/DbTableViewModel.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/DbTableViewModel.cs
index a05df573c..62f768b9d 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/DbTableViewModel.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/DbTableViewModel.cs
@@ -158,7 +158,7 @@ namespace Tango.MachineStudio.DB.ViewModels
{
try
{
- await SelectedEntity.DeleteAsync();
+ await SelectedEntity.DeleteAsync(Adapter.Context);
}
catch (Exception ex)
{
@@ -220,18 +220,18 @@ namespace Tango.MachineStudio.DB.ViewModels
{
if (mode == DialogOpenMode.Adding)
{
- entity.Attach();
+ entity.Attach(Adapter.Context);
}
try
{
- await entity.SaveAsync();
+ await entity.SaveAsync(Adapter.Context);
}
catch (DbUpdateException ex)
{
if (mode == DialogOpenMode.Adding)
{
- entity.Detach();
+ entity.Detach(Adapter.Context);
}
Adapter.Invalidate();
_notification.ShowError("Could not save entity." + Environment.NewLine + ex.InnerException.InnerException != null ? ex.InnerException.InnerException.Message : ex.InnerException.Message);
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/DeveloperModule.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/DeveloperModule.cs
index 17c08adc4..6cdda4bc8 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/DeveloperModule.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/DeveloperModule.cs
@@ -36,7 +36,7 @@ namespace Tango.MachineStudio.Developer
/// <summary>
/// Gets the module entry point view.
/// </summary>
- public override FrameworkElement MainView => new DeveloperView();
+ public override FrameworkElement MainView => new MainView();
/// <summary>
/// Gets the permission required to see and load this module.
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Navigation/DeveloperNavigationManager.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Navigation/DeveloperNavigationManager.cs
index 297caf2dc..5be50231d 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Navigation/DeveloperNavigationManager.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Navigation/DeveloperNavigationManager.cs
@@ -12,7 +12,7 @@ namespace Tango.MachineStudio.Developer.Navigation
{
public void NavigateTo(DeveloperNavigationView view)
{
- DeveloperView.Instance.TransitionControl.AutoNavigate(view.ToString());
+ MainView.Instance.TransitionControl.AutoNavigate(view.ToString());
}
}
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Tango.MachineStudio.Developer.csproj b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Tango.MachineStudio.Developer.csproj
index 3253fc551..91a9602be 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Tango.MachineStudio.Developer.csproj
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Tango.MachineStudio.Developer.csproj
@@ -124,8 +124,8 @@
<Compile Include="ViewModelLocator.cs" />
<Compile Include="ViewModels\IOVM.cs" />
<Compile Include="ViewModels\MainViewVM.cs" />
- <Compile Include="Views\DeveloperView.xaml.cs">
- <DependentUpon>DeveloperView.xaml</DependentUpon>
+ <Compile Include="Views\MainView.xaml.cs">
+ <DependentUpon>MainView.xaml</DependentUpon>
</Compile>
<Compile Include="Views\IMainView.cs" />
<Compile Include="Views\JobView.xaml.cs">
@@ -148,7 +148,7 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
- <Page Include="Views\DeveloperView.xaml">
+ <Page Include="Views\MainView.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModelLocator.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModelLocator.cs
index b397f1912..c5ed7d385 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModelLocator.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModelLocator.cs
@@ -20,7 +20,7 @@ namespace Tango.MachineStudio.Developer
{
ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default);
- //SimpleIoc.Default.Register<IMainView>(() => MainView.Self);
+ SimpleIoc.Default.Register<IMainView>(() => MainView.Instance);
SimpleIoc.Default.Register<MainViewVM>();
SimpleIoc.Default.Register<DeveloperNavigationManager, DeveloperNavigationManager>();
}
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
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml
index 580e2438b..4467b1f28 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml
@@ -852,7 +852,7 @@
<DataTrigger Binding="{Binding ElementName=toggleExpand,Path=IsChecked}" Value="True">
<Setter Property="Content">
<Setter.Value>
- <DataGrid ItemsSource="{Binding LiquidVolumes}" AutoGenerateColumns="False" Background="Transparent" SelectionUnit="FullRow">
+ <DataGrid ItemsSource="{Binding LiquidVolumes}" AutoGenerateColumns="False" IsSynchronizedWithCurrentItem="True" CanUserAddRows="False" CanUserDeleteRows="False" CanUserReorderColumns="False" CanUserResizeColumns="False" CanUserResizeRows="False" CanUserSortColumns="False" Background="Transparent" SelectionUnit="FullRow">
<DataGrid.CellStyle>
<Style TargetType="DataGridCell" BasedOn="{StaticResource {x:Type DataGridCell}}">
<Setter Property="BorderThickness" Value="0"/>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/MachineJobSelectionView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/MachineJobSelectionView.xaml
index c07ddb95b..fcb730de7 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/MachineJobSelectionView.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/MachineJobSelectionView.xaml
@@ -80,7 +80,7 @@
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0 0 10 0">
<materialDesign:PackIcon Kind="Magnify" Width="26" Height="26"/>
- <TextBox Width="300" materialDesign:HintAssist.Hint="Search"></TextBox>
+ <TextBox Width="300" materialDesign:HintAssist.Hint="Search" Text="{Binding JobFilter,UpdateSourceTrigger=PropertyChanged}"></TextBox>
</StackPanel>
</Grid>
@@ -135,28 +135,42 @@
<DataGridTemplateColumn Header="NAME" CanUserSort="True" SortMemberPath="Name">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
- <TextBlock Text="{Binding Name}" VerticalAlignment="Center" FontSize="16"></TextBlock>
+ <TextBlock Text="{Binding Name}" VerticalAlignment="Center" FontSize="14"></TextBlock>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
- <DataGridTemplateColumn Header="CREATION DATE" Width="185" CanUserSort="True" SortMemberPath="CreationDate">
+ <DataGridTemplateColumn Header="CREATION DATE" Width="170" CanUserSort="True" SortMemberPath="CreationDate">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
- <TextBlock Text="{Binding CreationDate,Converter={StaticResource DateTimeUTCToShortDateTimeConverter}}" VerticalAlignment="Center" FontSize="16"></TextBlock>
+ <TextBlock Text="{Binding CreationDate,Converter={StaticResource DateTimeUTCToShortDateTimeConverter}}" VerticalAlignment="Center" FontSize="14"></TextBlock>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
- <DataGridTemplateColumn Header="LAST MODIFIED" Width="185" CanUserSort="True" SortMemberPath="LastUpdated">
+ <DataGridTemplateColumn Header="LAST MODIFIED" Width="170" CanUserSort="True" SortMemberPath="LastUpdated">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
- <TextBlock Text="{Binding LastUpdated,Converter={StaticResource DateTimeUTCToShortDateTimeConverter}}" VerticalAlignment="Center" FontSize="16"></TextBlock>
+ <TextBlock Text="{Binding LastUpdated,Converter={StaticResource DateTimeUTCToShortDateTimeConverter}}" VerticalAlignment="Center" FontSize="14"></TextBlock>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
- <DataGridTemplateColumn Header="LENGTH" Width="185" CanUserSort="True" SortMemberPath="Length">
+ <DataGridTemplateColumn Header="LAST RUN" Width="170" CanUserSort="True" SortMemberPath="LastRun">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
- <TextBlock VerticalAlignment="Center" FontSize="16">
+ <TextBlock Text="{Binding LastRun,Converter={StaticResource DateTimeUTCToShortDateTimeConverter},FallbackValue='Never',TargetNullValue='Never'}" VerticalAlignment="Center" FontSize="14"></TextBlock>
+ </DataTemplate>
+ </DataGridTemplateColumn.CellTemplate>
+ </DataGridTemplateColumn>
+ <DataGridTemplateColumn Header="USER" Width="100" CanUserSort="True" SortMemberPath="User">
+ <DataGridTemplateColumn.CellTemplate>
+ <DataTemplate>
+ <TextBlock Text="{Binding User.Contact.FirstName}" VerticalAlignment="Center" FontSize="14"></TextBlock>
+ </DataTemplate>
+ </DataGridTemplateColumn.CellTemplate>
+ </DataGridTemplateColumn>
+ <DataGridTemplateColumn Header="LENGTH" Width="100" CanUserSort="True" SortMemberPath="Length">
+ <DataGridTemplateColumn.CellTemplate>
+ <DataTemplate>
+ <TextBlock VerticalAlignment="Center" FontSize="14">
<Run Text="{Binding Length,Mode=OneWay}"></Run>
<Run Text="m" Foreground="Gray"></Run>
</TextBlock>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/DeveloperView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/MainView.xaml
index 276f6c99a..7a50a499e 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/DeveloperView.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/MainView.xaml
@@ -1,4 +1,4 @@
-<UserControl x:Class="Tango.MachineStudio.Developer.Views.DeveloperView"
+<UserControl x:Class="Tango.MachineStudio.Developer.Views.MainView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/DeveloperView.xaml.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/MainView.xaml.cs
index dfa7a2441..ab181e8dc 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/DeveloperView.xaml.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/MainView.xaml.cs
@@ -12,20 +12,33 @@ using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
+using Tango.SharedUI;
namespace Tango.MachineStudio.Developer.Views
{
/// <summary>
/// Interaction logic for DeveloperView.xaml
/// </summary>
- public partial class DeveloperView : UserControl
+ public partial class MainView : UserControl, IMainView
{
- public static DeveloperView Instance { get; set; }
+ private bool _loaded;
+ public static MainView Instance { get; set; }
- public DeveloperView()
+ public MainView()
{
InitializeComponent();
Instance = this;
+
+ Loaded += (x, y) =>
+ {
+ if (!_loaded)
+ {
+ _loaded = true;
+ ViewAttached?.Invoke(this, this);
+ }
+ };
}
+
+ public event EventHandler<IView> ViewAttached;
}
}
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 cedbcf9a6..6fbd5852d 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
@@ -529,7 +529,7 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
Configuration = Configuration,
Machine = Machine,
});
- await Machine.SaveAsync();
+ await Machine.SaveAsync(Adapter.Context);
Machine = Adapter.Machines.SingleOrDefault(x => x.Guid == Machine.Guid);
Configuration = Machine.Configuration.CloneConfiguration();
@@ -558,12 +558,12 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
}
else
{
- machine.Configuration.DefferedDelete();
+ machine.Configuration.DefferedDelete(Adapter.Context);
}
machine.Configuration = Configuration;
- await machine.SaveAsync();
+ await machine.SaveAsync(Adapter.Context);
Machine = Adapter.Machines.SingleOrDefault(x => x.Guid == machine.Guid);
Configuration = Machine.Configuration.CloneConfiguration();
@@ -624,7 +624,7 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
{
vm.SelectedVersion.DefaultConfiguration = Configuration.CloneConfiguration();
vm.SelectedVersion.DefaultConfigurationGuid = vm.SelectedVersion.DefaultConfiguration.Guid;
- await vm.SelectedVersion.SaveAsync();
+ await vm.SelectedVersion.SaveAsync(Adapter.Context);
}
else
{
@@ -634,7 +634,7 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
newVersion.DefaultConfiguration = Configuration.CloneConfiguration();
newVersion.DefaultConfigurationGuid = newVersion.DefaultConfiguration.Guid;
- await newVersion.SaveAsync();
+ await newVersion.SaveAsync(Adapter.Context);
}
}
}
@@ -662,7 +662,7 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
{
if (module is MachineDesignerModule)
{
- SelectedMachine = args as Machine;
+ SelectedMachine = Adapter.Machines.SingleOrDefault(x => x.Guid == (args as Machine).Guid);
}
}