aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml.cs
diff options
context:
space:
mode:
authorAvi Levkovich <avi@twine-s.com>2018-07-09 13:32:33 +0300
committerAvi Levkovich <avi@twine-s.com>2018-07-09 13:32:33 +0300
commit6b755271ed4ef5f1b1d09d96e54fe081920f4f41 (patch)
tree51f6bb96aefb3666c827d1dd06ef6d76cf81a44a /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml.cs
parent042a453f826da5c8a600ab4ae8b3d611044168de (diff)
parent47396728e782e433a11768904cda94c47dc02933 (diff)
downloadTango-6b755271ed4ef5f1b1d09d96e54fe081920f4f41.tar.gz
Tango-6b755271ed4ef5f1b1d09d96e54fe081920f4f41.zip
Merge branch 'master' of https://twinetfs.visualstudio.com/_git/Tango
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml.cs')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml.cs89
1 files changed, 89 insertions, 0 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml.cs
index 044046450..b48e91f31 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml.cs
@@ -19,6 +19,10 @@ using Tango.BL.Entities;
using Tango.MachineStudio.Developer.Converters;
using Tango.MachineStudio.Developer.ViewModels;
using Tango.BL;
+using Tango.Settings;
+using Tango.Core;
+using Tango.SharedUI.Editors;
+using static Tango.MachineStudio.Developer.DeveloperModuleSettings;
namespace Tango.MachineStudio.Developer.Views
{
@@ -153,5 +157,90 @@ namespace Tango.MachineStudio.Developer.Views
{
e.Handled = true;
}
+
+ private void ParameterizedEditor_GeneratingItems(object sender, SharedUI.Editors.ParameterizedEditor.GeneratingItemsEventArgs e)
+ {
+ var settings = SettingsManager.Default.GetOrCreate<DeveloperModuleSettings>();
+
+ List<ParameterItem> items = e.Result.ToList();
+
+ if (settings.ProcessParametersIndices.Count > 0)
+ {
+ items.Clear();
+
+ foreach (var item in settings.ProcessParametersIndices.OrderBy(x => x.Index))
+ {
+ var p = e.Source.SingleOrDefault(x => x.Name == item.Name);
+
+ if (p != null)
+ {
+ items.Add(p);
+ }
+ }
+ }
+ else
+ {
+ ProcessParametersTable p = new ProcessParametersTable();
+ var pp = p.CreateParametersCollection(Core.ParameterItemMode.Binding);
+
+ foreach (var item in pp)
+ {
+ settings.ProcessParametersIndices.Add(new ParameterIndex()
+ {
+ Index = pp.IndexOf(item),
+ Name = item.Name
+ });
+ }
+
+ settings.Save();
+ }
+
+ e.Result = items;
+ }
+
+ private void OnProcessParameterDropped(object sender, DropEventArgs e)
+ {
+ ParameterItem draggedItem = e.Draggable.DataContext as ParameterItem;
+ ParameterItem droppedItem = e.Droppable.DataContext as ParameterItem;
+
+ if (draggedItem != null && droppedItem != null && draggedItem.ParameterizedObject == droppedItem.ParameterizedObject)
+ {
+ var settings = SettingsManager.Default.GetOrCreate<DeveloperModuleSettings>();
+
+ var parameters = draggedItem.ParameterizedObject.Parameters;
+
+ var draggedSettingItem = settings.ProcessParametersIndices.FirstOrDefault(x => x.Name == draggedItem.Name);
+ var droppedSettingItem = settings.ProcessParametersIndices.FirstOrDefault(x => x.Name == droppedItem.Name);
+
+ if (draggedSettingItem != null && droppedSettingItem != null)
+ {
+ if (draggedSettingItem.Index > droppedSettingItem.Index)
+ {
+ draggedSettingItem.Index = droppedSettingItem.Index - 1;
+ }
+ else
+ {
+ draggedSettingItem.Index = droppedSettingItem.Index + 1;
+ }
+
+ int index = 1;
+
+ foreach (var settingItem in settings.ProcessParametersIndices.OrderBy(x => x.Index))
+ {
+ settingItem.Index = index++;
+ }
+ }
+
+ settings.Save();
+ }
+
+ var editor = e.Draggable.FindAncestor<ParameterizedEditor>();
+
+ if (editor != null)
+ {
+ editor.ParameterizedObject = null;
+ editor.ParameterizedObject = draggedItem.ParameterizedObject;
+ }
+ }
}
}