aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Properties/Settings.Designer.cs
blob: e012f2211e2aaa3421d480aecf2bbb57c45dd21c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.42000
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

namespace Tango.MachineStudio.Developer.Properties
{
    
    
    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
    {
        
        private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
        
        public static Settings Default
        {
            get
            {
                return defaultInstance;
            }
        }
    }
}
hlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ .highlight .gr { color: #aa0000 } /* Generic.Error */ .highlight .gh { color: #333333 } /* Generic.Heading */ .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ .highlight .go { color: #888888 } /* Generic.Output */ .highlight .gp { color: #555555 } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #666666 } /* Generic.Subheading */ .highlight .gt { color: #aa0000 } /* Generic.Traceback */ .highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
using MahApps.Metro.Controls;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Threading;
using Tango.DragAndDrop;
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
{
    /// <summary>
    /// Interaction logic for JobView.xaml
    /// </summary>
    public partial class JobView : UserControl
    {
        private MainViewVM _vm;
        private DispatcherTimer _jobBrushTimer;

        public DraggingSurface DraggingSurface
        {
            get { return (DraggingSurface)GetValue(DraggingSurfaceProperty); }
            set { SetValue(DraggingSurfaceProperty, value); }
        }
        public static readonly DependencyProperty DraggingSurfaceProperty =
            DependencyProperty.Register("DraggingSurface", typeof(DraggingSurface), typeof(JobView), new PropertyMetadata(null));

        public JobView()
        {
            InitializeComponent();

            DraggingSurface = draggingSurface;

            this.Loaded += (x, y) =>
            {
                _vm = DataContext as MainViewVM;
            };

            _jobBrushTimer = new DispatcherTimer();
            _jobBrushTimer.Interval = TimeSpan.FromSeconds(1);
            _jobBrushTimer.Tick += _jobBrushTimer_Tick;
            _jobBrushTimer.Start();
        }

        private void _jobBrushTimer_Tick(object sender, EventArgs e)
        {
            if (_vm != null && _vm.ActiveJob != null)
            {
                List<Segment> segments = new List<Segment>();
                foreach (var s in _vm.ActiveJob.Segments.OrderBy(x => x.SegmentIndex))
                {
                    segments.Add(s);

                    if (_vm.ActiveJob.EnableInterSegment && _vm.ActiveJob.Segments.IndexOf(s) != _vm.ActiveJob.Segments.Count - 1)
                    {
                        segments.Add(new Segment()
                        {
                            Length = _vm.ActiveJob.InterSegmentLength,
                            BrushStops = new SynchronizedObservableCollection<BrushStop>()
                            {
                                new BrushStop()
                                {
                                     ColorSpace = new ColorSpace(),
                                     Color = Colors.White,
                                }
                            },
                        });
                    }
                }

                jobBrushList.ItemsSource = segments;
                UpdateGradientBrushDisplay();
            }
        }

        private void Offset_Slider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
        {
            UpdateGradientBrushDisplay();
        }

        private void UpdateGradientBrushDisplay()
        {
            if (_vm != null && _vm.SelectedSegment != null)
            {
                SegmentToGradientStopsConverter converter = new SegmentToGradientStopsConverter();
                GradientStopCollection stops = converter.Convert(_vm.SelectedSegment, null, null, null) as GradientStopCollection;
                gradientBrush.GradientStops = stops;
            }
            else
            {
                if (gradientBrush != null)
                {
                    gradientBrush.GradientStops = new GradientStopCollection();
                }
            }
        }

        private void OnBrushStopBorderDrop(object sender, DropEventArgs e)
        {
            if (e.Draggable.DataContext is BrushStop)
            {
                _vm.OnDropBrushStop(e.Draggable.DataContext as BrushStop, e.Droppable.DataContext as BrushStop);
            }
        }

        private void ListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            UpdateGradientBrushDisplay();
        }

        private void OnJobStartClick(object sender, RoutedEventArgs e)
        {

        }

        private void HiveColorPickerControl_SelectedColorChanged(object sender, Color color)
        {
            UpdateGradientBrushDisplay();
        }

        private void Popup_MouseDown(object sender, MouseButtonEventArgs e)
        {
            e.Handled = true;
        }

        private void OnSegmentDrop(object sender, DropEventArgs e)
        {
            _vm.OnDropSegment(e.Draggable.DataContext as Segment, e.Droppable.DataContext as Segment);
        }


        private async void TextBox_GotFocus(object sender, RoutedEventArgs e)
        {
            await Task.Delay(200);
            TextBox txtBox = sender as TextBox;
            txtBox.SelectAll();
        }

        private void TextBox_PreviewMouseUp(object sender, MouseButtonEventArgs e)
        {
            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;
            }
        }

        private void PopupButton_Checked(object sender, RoutedEventArgs e)
        {
            _vm.OnHivePopupOpened();
        }

        private void BrushPicker_ColorChanged(object sender, BrushPicker.ColorChangedEventArgs e)
        {
           
        }

        private void ColorCanvas_SelectedColorChanged(object sender, RoutedPropertyChangedEventArgs<Color?> e)
        {
            if (e.NewValue.HasValue)
            {
                _vm.OnSelectedBrushColorChanged((Color)e.NewValue);
            }
        }

        private void PopupButton_Unchecked(object sender, RoutedEventArgs e)
        {
            _vm.OnHivePopupClosed();
        }
    }
}