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 Tango.Editors; using Tango.MachineStudio.Technician.ViewModels; namespace Tango.MachineStudio.Technician.Views { /// /// Interaction logic for MachineTechView.xaml /// public partial class MachineTechView : UserControl { private MachineTechViewVM _vm; private Dictionary _tabs_content; public MachineTechView() { InitializeComponent(); _tabs_content = new Dictionary(); this.Loaded += (x, y) => { _vm = DataContext as MachineTechViewVM; }; } private void MachineTechView_StateExecuted(object sender, UndoRedoStateExecutedEventArgs e) { ElementsEditorUndoRedoState state = e.State as ElementsEditorUndoRedoState; } private void ElementsEditor_ElementCreation(object sender, ElementCreationEventArgs e) { _vm.CreateElement(e.Bounds); e.AppendUndoState = true; } private void ElementsEditor_ElementsRemoved(object sender, ElementsEventArgs e) { _vm.OnElementsRemoved(e.Elements); } private void ElementsEditor_AfterPaste(object sender, ElementsEventArgs e) { _vm.OnElementsPasted(e.Elements); } private void OnActionModeClicked(object sender, MouseButtonEventArgs e) { //editor.DeselectElements(); } private void Editor_Loaded(object sender, RoutedEventArgs e) { ElementsEditor editor = sender as ElementsEditor; (editor.DataContext as MachineTechTabVM).Editor = editor; (editor.UndoRedoStatesProvider as ElementsEditorUndoRedoStatesProvider).StateExecuted += MachineTechView_StateExecuted; } private void Border_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e) { Border border = sender as Border; if (border.Visibility != Visibility.Visible) { _tabs_content[border] = border.Child; border.Child = null; } else { if (_tabs_content.ContainsKey(border)) { border.Child = _tabs_content[border]; } } } } }