-
Notifications
You must be signed in to change notification settings - Fork 0
/
Settings.xaml.cs
110 lines (91 loc) · 3.39 KB
/
Settings.xaml.cs
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
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.Shapes;
namespace AP_HA
{
/// <summary>
/// Interaktionslogik für Settings.xaml
/// </summary>
public partial class Settings : Window
{
private ShortCutEngine scEngine;
private Grid grid;
public Settings(ShortCutEngine sce)
{
scEngine = sce;
InitializeComponent();
InitializePresentation();
}
private void InitializePresentation()
{
mainGrid.Children.Remove(grid);
grid = new Grid();
RowDefinition row0 = new RowDefinition();
ColumnDefinition col0 = new ColumnDefinition();
ColumnDefinition col1 = new ColumnDefinition();
ColumnDefinition col2 = new ColumnDefinition();
grid.RowDefinitions.Add(row0);
grid.ColumnDefinitions.Add(col0);
grid.ColumnDefinitions.Add(col1);
grid.ColumnDefinitions.Add(col2);
TextBlock funcHead = new TextBlock();
funcHead.FontWeight = FontWeights.Bold;
funcHead.Text = "Funktion";
TextBlock ScHead = new TextBlock();
ScHead.FontWeight = FontWeights.Bold;
ScHead.Text = "Shortcut";
Grid.SetColumn(funcHead, 0);
Grid.SetRow(funcHead, 0);
Grid.SetColumn(ScHead, 1);
Grid.SetRow(ScHead, 0);
grid.Children.Add(funcHead);
grid.Children.Add(ScHead);
if (scEngine != null)
{
foreach (ShortCut sc in scEngine.ShortCuts)
{
RowDefinition tempRow = new RowDefinition();
grid.RowDefinitions.Add(tempRow);
TextBlock funcName = new TextBlock();
funcName.Text = sc.Name;
Grid.SetColumn(funcName, 0);
Grid.SetRow(funcName, scEngine.ShortCuts.IndexOf(sc) + 1);
TextBlock shortcutText = new TextBlock();
shortcutText.Text = sc.ToString();
Grid.SetColumn(shortcutText, 1);
Grid.SetRow(shortcutText, scEngine.ShortCuts.IndexOf(sc) + 1);
Button setShortcut = new Button();
setShortcut.Tag = sc;
setShortcut.Content = "Neu";
setShortcut.Click += setShortcut_Click;
Grid.SetColumn(setShortcut, 2);
Grid.SetRow(setShortcut, scEngine.ShortCuts.IndexOf(sc) + 1);
grid.Children.Add(funcName);
grid.Children.Add(shortcutText);
grid.Children.Add(setShortcut);
}
}
mainGrid.Children.Add(grid);
}
private void setShortcut_Click(object sender, RoutedEventArgs e)
{
ShortCut sc = (ShortCut)((Button)sender).Tag;
ShortCutSetter scs = new ShortCutSetter(sc);
scs.ShowDialog();
updateShortcuts();
}
private void updateShortcuts()
{
InitializePresentation();
}
}
}