diff options
| author | Avi Levkovich <avi@twine-s.com> | 2018-07-09 13:32:33 +0300 |
|---|---|---|
| committer | Avi Levkovich <avi@twine-s.com> | 2018-07-09 13:32:33 +0300 |
| commit | 6b755271ed4ef5f1b1d09d96e54fe081920f4f41 (patch) | |
| tree | 51f6bb96aefb3666c827d1dd06ef6d76cf81a44a /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml.cs | |
| parent | 042a453f826da5c8a600ab4ae8b3d611044168de (diff) | |
| parent | 47396728e782e433a11768904cda94c47dc02933 (diff) | |
| download | Tango-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.cs | 89 |
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; + } + } } } |
