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];
}
}
}
}
}