-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathButtonGenerator.cs
More file actions
56 lines (48 loc) · 2.66 KB
/
Copy pathButtonGenerator.cs
File metadata and controls
56 lines (48 loc) · 2.66 KB
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
using System.Collections.Generic;
using System.Windows.Controls;
using System.Windows;
namespace On_Screen_Keyboard
{
public class ButtonGenerator
{
public static List<KeyboardButtonData> buttonData = ButtonDataManager.buttonData;
public void Generate()
{
for (int i = 0; i < 14; i++)
OnScreenKeyboard.userControl.row1.Children.Add(GetSingleButton(buttonData[i], Visibility.Visible));
for (int i = 15; i < 28; i++)
OnScreenKeyboard.userControl.row2.Children.Add(GetSingleButton(buttonData[i], Visibility.Visible));
for (int i = 28; i < 41; i++)
OnScreenKeyboard.userControl.row3.Children.Add(GetSingleButton(buttonData[i], Visibility.Visible));
for (int i = 41; i < 56; i++)
OnScreenKeyboard.userControl.row4.Children.Add(GetSingleButton(buttonData[i], Visibility.Visible));
for (int i = 56; i < 66; i++)
OnScreenKeyboard.userControl.row5.Children.Add(GetSingleButton(buttonData[i], Visibility.Visible));
for (int i = 66; i < 78; i++)
OnScreenKeyboard.userControl.row1.Children.Add(GetSingleButton(buttonData[i], Visibility.Collapsed));
OnScreenKeyboard.userControl.row1.Children.Add(GetSingleButton(buttonData[14], Visibility.Visible)); //Back Button
}
private Button GetSingleButton(KeyboardButtonData buttonData, Visibility visibility)
{
Button keyboardButton = new Button();
keyboardButton.Name = buttonData.name;
keyboardButton.Content = buttonData.normalMode;
keyboardButton.Style = OnScreenKeyboard.userControl.FindResource("KeyboardButtonStyle") as Style;
keyboardButton.Visibility = visibility;
keyboardButton.Background = DataFetcher.GetBrushByName("KeyboardButtonColor");
if (buttonData.specialWidth != 0)
{
keyboardButton.Width = buttonData.specialWidth;
}
ButtonClickHandler buttonClickHandler = new ButtonClickHandler(buttonData);
if (buttonData.isToggable)
keyboardButton.Click += buttonClickHandler.ToggableButton_Click;
else
keyboardButton.Click += buttonClickHandler.NonToggableButton_Click;
AnimationHandler animationHandler = new AnimationHandler(keyboardButton);
keyboardButton.PreviewMouseDown += animationHandler.ButtonMouseDownAnimation;
keyboardButton.PreviewMouseUp += animationHandler.ButtonMouseUpAnimation;
return keyboardButton;
}
}
}