blob: e4ebe24249265faded8f3ea2698a327d4a723707 (
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
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
{
/// <summary>
/// Interaction logic for MachineTechView.xaml
/// </summary>
public partial class MachineTechView : UserControl
{
private MachineTechViewVM _vm;
private Dictionary<Border, UIElement> _tabs_content;
public MachineTechView()
{
InitializeComponent();
_tabs_content = new Dictionary<Border, UIElement>();
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];
}
}
}
}
}
|