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-01-21 15:56:57 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-01-21 15:56:57 +0200
commit3234e33cc4ba354f0395bb514b8b2fa102cf38ec (patch)
tree064121c6d1b2d7ea428e705d8457f86ca95e4a4b /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels
parent68dca419117f9336d0fe21f9f04903906eeeef02 (diff)
downloadTango-3234e33cc4ba354f0395bb514b8b2fa102cf38ec.tar.gz
Tango-3234e33cc4ba354f0395bb514b8b2fa102cf38ec.zip
Started 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/DBViewContextWrapper.cs36
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs49
2 files changed, 85 insertions, 0 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/DBViewContextWrapper.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/DBViewContextWrapper.cs
new file mode 100644
index 000000000..231c27bf2
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/DBViewContextWrapper.cs
@@ -0,0 +1,36 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.DAL.Observables;
+
+namespace Tango.MachineStudio.Developer.ViewModels
+{
+ public class DBViewContextWrapper<T> where T : class, IObservableEntity
+ {
+ public T EditEntity { get; set; }
+
+ public ObservablesEntitiesAdapter Adapter { get; set; }
+
+ public DBViewContextWrapper()
+ {
+ Adapter = ObservablesEntitiesAdapter.Instance;
+ }
+
+ public DBViewContextWrapper(T entity) : this()
+ {
+ EditEntity = entity;
+ }
+
+ public static implicit operator DBViewContextWrapper<T>(T entity)
+ {
+ return new DBViewContextWrapper<T>(entity);
+ }
+
+ public static implicit operator T(DBViewContextWrapper<T> instance)
+ {
+ return instance.EditEntity;
+ }
+ }
+}
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
new file mode 100644
index 000000000..e7e97097b
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs
@@ -0,0 +1,49 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.Core.Commands;
+using Tango.DAL.Observables;
+using Tango.MachineStudio.Common.StudioApplication;
+using Tango.SharedUI;
+
+namespace Tango.MachineStudio.Developer.ViewModels
+{
+ public class MainViewVM : ViewModel
+ {
+ public IStudioApplicationManager ApplicationManager { get; set; }
+
+ public ObservablesEntitiesAdapter Adapter { get; set; }
+
+ private Machine _selectedMachine;
+
+ public Machine SelectedMachine
+ {
+ get { return _selectedMachine; }
+ set { _selectedMachine = value; RaisePropertyChangedAuto(); InvalidateRelayCommands(); }
+ }
+
+ private DBViewContextWrapper<Rml> _selectedRML;
+
+ public DBViewContextWrapper<Rml> SelectedRML
+ {
+ get { return _selectedRML; }
+ set { _selectedRML = value; RaisePropertyChangedAuto(); }
+ }
+
+ public RelayCommand EditMachineCommand { get; set; }
+
+ public MainViewVM(IStudioApplicationManager applicationManager)
+ {
+ Adapter = ObservablesEntitiesAdapter.Instance;
+ EditMachineCommand = new RelayCommand(EditMachine, (x) => SelectedMachine != null);
+ ApplicationManager = applicationManager;
+ }
+
+ private void EditMachine()
+ {
+ ApplicationManager.RequestModule("Machine Designer", SelectedMachine);
+ }
+ }
+}