aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-05-07 15:36:03 +0300
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-05-07 15:36:03 +0300
commitcdba3267d2a47b3bff8cf3ec0219223e36e234ff (patch)
tree2826e264827746eccbc1bef9d7f9bcfcb4cffb81 /Software/Visual_Studio/MachineStudio
parent453565753c012a087f402fc55eee528c132b7c8c (diff)
downloadTango-cdba3267d2a47b3bff8cf3ec0219223e36e234ff.tar.gz
Tango-cdba3267d2a47b3bff8cf3ec0219223e36e234ff.zip
Added machine studio modules order.
Implemented delayed GetInstance for TangoIOC.
Diffstat (limited to 'Software/Visual_Studio/MachineStudio')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/ColorLabModule.cs1
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/DBModule.cs1
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DataCapture/DataCaptureModule.cs1
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/DeveloperModule.cs3
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs9
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/HardwareDesignerModule.cs5
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/LoggingModule.cs1
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/MachineDesignerModule.cs1
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/StubsModule.cs1
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/SynchronizationModule.cs1
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechnicianModule.cs3
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/UsersAndRolesModule.cs1
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/StudioModuleAttribute.cs19
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Tango.MachineStudio.Common.csproj1
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Modules/DefaultStudioModuleLoader.cs2
15 files changed, 43 insertions, 7 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/ColorLabModule.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/ColorLabModule.cs
index bdb7b136f..2805e5d60 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/ColorLabModule.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/ColorLabModule.cs
@@ -12,6 +12,7 @@ using Tango.SharedUI.Helpers;
namespace Tango.MachineStudio.ColorLab
{
+ [StudioModule(7)]
public class ColorLabModule : StudioModuleBase
{
public override string Name
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/DBModule.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/DBModule.cs
index 4b2fe4074..7477c8d63 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/DBModule.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/DBModule.cs
@@ -16,6 +16,7 @@ namespace Tango.MachineStudio.DB
/// Represents a Machine Studio database module.
/// </summary>
/// <seealso cref="Tango.MachineStudio.Common.IStudioModule" />
+ [StudioModule(8)]
public class DBModule : StudioModuleBase
{
/// <summary>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DataCapture/DataCaptureModule.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DataCapture/DataCaptureModule.cs
index eb463e3c2..23d743aeb 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DataCapture/DataCaptureModule.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DataCapture/DataCaptureModule.cs
@@ -17,6 +17,7 @@ namespace Tango.MachineStudio.DataCapture
/// Represents the machine studio data capturing and playing module.
/// </summary>
/// <seealso cref="Tango.MachineStudio.Common.StudioModuleBase" />
+ [StudioModule(4)]
public class DataCaptureModule : StudioModuleBase
{
/// <summary>
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 166a3212a..be6b93726 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/DeveloperModule.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/DeveloperModule.cs
@@ -17,12 +17,13 @@ namespace Tango.MachineStudio.Developer
/// Represents the Machine Studio developer module.
/// </summary>
/// <seealso cref="Tango.MachineStudio.Common.StudioModuleBase" />
+ [StudioModule(0)]
public class DeveloperModule : StudioModuleBase
{
/// <summary>
/// Gets the module name.
/// </summary>
- public override string Name => "Developer";
+ public override string Name => "Research";
/// <summary>
/// Gets the module description.
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 f557e2923..ab0df302e 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
@@ -652,8 +652,11 @@ namespace Tango.MachineStudio.Developer.ViewModels
LogManager.Log("Initializing relay commands...");
- _dataCaptureVM = TangoIOC.Default.GetInstance<DataCapture.ViewModels.MainViewVM>();
- _dataCaptureVM.RelayCommandsInvalidated += (_, __) => StartJobAndRecordCommand.RaiseCanExecuteChanged();
+ TangoIOC.Default.GetInstanceWhenAvailable<DataCapture.ViewModels.MainViewVM>((vm) =>
+ {
+ _dataCaptureVM = vm;
+ _dataCaptureVM.RelayCommandsInvalidated += (_, __) => StartJobAndRecordCommand.RaiseCanExecuteChanged();
+ });
//Initialize Commands...
EditMachineCommand = new RelayCommand(EditMachine, () => SelectedMachine != null);
@@ -669,7 +672,7 @@ namespace Tango.MachineStudio.Developer.ViewModels
SaveJobCommand = new RelayCommand(SaveActiveJob, () => SelectedMachine != null);
DiscardJobCommand = new RelayCommand(BackToJobs, () => SelectedMachine != null);
StartJobCommand = new RelayCommand(StartJob, () => ActiveJob != null && !IsJobRunning && MachineOperator != null && !MachineOperator.MachineEventsStateProvider.Events.ToList().Exists(x => x.ActionTypes.Contains(BL.Enumerations.ActionTypes.PreventJobExecution)));
- StartJobAndRecordCommand = new RelayCommand(StartJobAndRecord, () => !_dataCaptureVM.Recorder.IsRecording && !_dataCaptureVM.Player.IsPlaying && ActiveJob != null && !IsJobRunning && MachineOperator != null && !MachineOperator.MachineEventsStateProvider.Events.ToList().Exists(x => x.ActionTypes.Contains(BL.Enumerations.ActionTypes.PreventJobExecution)));
+ StartJobAndRecordCommand = new RelayCommand(StartJobAndRecord, () => _dataCaptureVM != null && !_dataCaptureVM.Recorder.IsRecording && !_dataCaptureVM.Player.IsPlaying && ActiveJob != null && !IsJobRunning && MachineOperator != null && !MachineOperator.MachineEventsStateProvider.Events.ToList().Exists(x => x.ActionTypes.Contains(BL.Enumerations.ActionTypes.PreventJobExecution)));
StopJobCommand = new RelayCommand(StopJob, () => IsJobRunning);
CloseJobCompletionStatusCommand = new RelayCommand(CloseJobCompletionStatusBar);
LoadJobCommand = new RelayCommand(LoadSelectedJob, () => SelectedMachineJob != null);
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/HardwareDesignerModule.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/HardwareDesignerModule.cs
index 4bd266f4c..4b67e6a72 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/HardwareDesignerModule.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/HardwareDesignerModule.cs
@@ -13,13 +13,14 @@ using Tango.SharedUI.Helpers;
namespace Tango.MachineStudio.HardwareDesigner
{
+ [StudioModule(3)]
public class HardwareDesignerModule : StudioModuleBase
{
public override string Name
{
get
{
- return "Hardware Designer";
+ return "Hardware Versions";
}
}
@@ -27,7 +28,7 @@ namespace Tango.MachineStudio.HardwareDesigner
{
get
{
- return "Design a specific hardware version using a drag & drop interface. Hardware versions can be assigned to a machine configuration using the Machine Designer module.";
+ return "Select and configure hardware versions using the available hardware components. Hardware versions can be assigned to a machine configuration using the Machine Designer module.";
}
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/LoggingModule.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/LoggingModule.cs
index b389c121e..ea3e01c39 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/LoggingModule.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/LoggingModule.cs
@@ -12,6 +12,7 @@ using Tango.SharedUI.Helpers;
namespace Tango.MachineStudio.Logging
{
+ [StudioModule(5)]
public class LoggingModule : StudioModuleBase
{
public override string Name
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/MachineDesignerModule.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/MachineDesignerModule.cs
index 9b37303c7..35aea14a4 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/MachineDesignerModule.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/MachineDesignerModule.cs
@@ -17,6 +17,7 @@ namespace Tango.MachineStudio.MachineDesigner
/// Represents a machine designer Machine Studio module providing an interactive GUI for managing machine configurations.
/// </summary>
/// <seealso cref="Tango.MachineStudio.Common.IStudioModule" />
+ [StudioModule(2)]
public class MachineDesignerModule : StudioModuleBase
{
/// <summary>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/StubsModule.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/StubsModule.cs
index aa8041669..b0c5d643a 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/StubsModule.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/StubsModule.cs
@@ -17,6 +17,7 @@ namespace Tango.MachineStudio.Stubs
/// Represents a stubs execution Machine Studio module capable of executing stubs against the current connected machine using a C# script engine.
/// </summary>
/// <seealso cref="Tango.MachineStudio.Common.IStudioModule" />
+ [StudioModule(10)]
public class StubsModule : StudioModuleBase
{
/// <summary>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/SynchronizationModule.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/SynchronizationModule.cs
index 29fc95aec..862ee9a6a 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/SynchronizationModule.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/SynchronizationModule.cs
@@ -17,6 +17,7 @@ namespace Tango.MachineStudio.Synchronization
/// Represents a Machine Studio module capable of comparing and synchronizing machines data against Twine remote database.
/// </summary>
/// <seealso cref="Tango.MachineStudio.Common.IStudioModule" />
+ [StudioModule(6)]
public class SynchronizationModule : StudioModuleBase
{
/// <summary>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechnicianModule.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechnicianModule.cs
index 4ced0fb30..ae423c938 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechnicianModule.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechnicianModule.cs
@@ -17,12 +17,13 @@ namespace Tango.MachineStudio.Technician
/// Represents a machine studio technician module.
/// </summary>
/// <seealso cref="Tango.MachineStudio.Common.IStudioModule" />
+ [StudioModule(1)]
public class TechnicianModule : StudioModuleBase
{
/// <summary>
/// Gets the module name.
/// </summary>
- public override string Name => "Technician";
+ public override string Name => "Tech Board";
/// <summary>
/// Gets the module description.
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/UsersAndRolesModule.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/UsersAndRolesModule.cs
index ac471db06..21b41137d 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/UsersAndRolesModule.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/UsersAndRolesModule.cs
@@ -12,6 +12,7 @@ using Tango.SharedUI.Helpers;
namespace Tango.MachineStudio.UsersAndRoles
{
+ [StudioModule(9)]
public class UsersAndRolesModule : StudioModuleBase
{
public override string Name
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/StudioModuleAttribute.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/StudioModuleAttribute.cs
new file mode 100644
index 000000000..b9212a9e3
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/StudioModuleAttribute.cs
@@ -0,0 +1,19 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tango.MachineStudio.Common
+{
+ [AttributeUsage(AttributeTargets.Class)]
+ public class StudioModuleAttribute : Attribute
+ {
+ public int Index { get; set; }
+
+ public StudioModuleAttribute(int index)
+ {
+ Index = index;
+ }
+ }
+}
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Tango.MachineStudio.Common.csproj b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Tango.MachineStudio.Common.csproj
index ac6f84618..df1ee23dc 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Tango.MachineStudio.Common.csproj
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Tango.MachineStudio.Common.csproj
@@ -109,6 +109,7 @@
<Compile Include="StudioApplication\IStudioApplicationManager.cs" />
<Compile Include="Messages\IStudioMessage.cs" />
<Compile Include="Notifications\TaskItem.cs" />
+ <Compile Include="StudioModuleAttribute.cs" />
<Compile Include="StudioModuleBase.cs" />
<Compile Include="StudioViewModel.cs" />
<Compile Include="Update\CheckForUpdatesResponse.cs" />
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Modules/DefaultStudioModuleLoader.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Modules/DefaultStudioModuleLoader.cs
index 4afddae69..26a789d0f 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Modules/DefaultStudioModuleLoader.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Modules/DefaultStudioModuleLoader.cs
@@ -125,6 +125,8 @@ namespace Tango.MachineStudio.UI.Modules
_loaded = true;
}
+ AllModules = AllModules.OrderBy(x => x.GetType().GetCustomAttribute<StudioModuleAttribute>().Index).ToObservableCollection();
+
UserModules.Clear();
if (_authenticationProvider.CurrentUser != null)