Skip to content

Commit

Permalink
fix the instant error when animation editor opens
Browse files Browse the repository at this point in the history
  • Loading branch information
Aytackydln committed Jan 8, 2024
1 parent 2eb0c2a commit 24a9ff7
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -67,31 +67,29 @@ private void UserControl_Loaded(object? sender, RoutedEventArgs e)

private async void UpdateVirtualKeyboard()
{
Grid virtial_kb = await Global.kbLayout.AbstractVirtualKeyboard;
var virtualKb = await Global.kbLayout.AbstractVirtualKeyboard;

keyboard_grid.Children.Clear();
keyboard_grid.Children.Add(virtial_kb);
keyboard_grid.Children.Add(virtualKb);
keyboard_grid.Children.Add(new LayerEditor());

keyboard_grid.Width = virtial_kb.Width;
keyboard_grid.Height = virtial_kb.Height;
keyboard_grid.Width = virtualKb.Width;
keyboard_grid.Height = virtualKb.Height;

keyboard_grid.UpdateLayout();

viewbxAnimationView.MaxWidth = virtial_kb.Width + 50;
viewbxAnimationView.MaxHeight = virtial_kb.Height + 50;
viewbxAnimationView.MaxWidth = virtualKb.Width + 50;
viewbxAnimationView.MaxHeight = virtualKb.Height + 50;
viewbxAnimationView.UpdateLayout();

this.UpdateLayout();

//Generate a new mapping
foreach (FrameworkElement Child in virtial_kb.Children)
foreach (FrameworkElement child in virtualKb.Children)
{
if (Child is Keycap && (Child as Keycap).GetKey() != DeviceKeys.NONE)
{
Child.PreviewMouseLeftButtonDown += KeyboardKey_PreviewMouseLeftButtonDown;
Child.PreviewMouseRightButtonDown += KeyboardKey_PreviewMouseRightButtonDown;
}
if (child is not Keycap keycap || keycap.GetKey() == DeviceKeys.NONE) continue;
keycap.PreviewMouseLeftButtonDown += KeyboardKey_PreviewMouseLeftButtonDown;
keycap.PreviewMouseRightButtonDown += KeyboardKey_PreviewMouseRightButtonDown;
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ internal class KeyboardControlGenerator(
VirtualGroup virtualKeyboardGroup,
IDictionary<DeviceKeys, Keycap> virtualKeyboardMap,
string layoutsPath,
Grid virtualKeyboard)
Panel virtualKeyboard)
{
private double _layoutHeight;
private double _layoutWidth;
Expand All @@ -29,7 +29,7 @@ internal class KeyboardControlGenerator(
public double BaselineX { get; private set; }
public double BaselineY { get; private set; }

internal async Task<Grid> Generate()
internal async Task<Panel> Generate()
{
var imagesPath = Path.Combine(layoutsPath, "Extra Features", "images");

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ public class KeyboardLayoutManager

public Task<Grid> VirtualKeyboard { get; }

public Task<Grid> AbstractVirtualKeyboard => CreateUserControl(true);
public Task<Panel> AbstractVirtualKeyboard => CreateUserControl(true);

private bool _bitmapMapInvalid = true;

Expand Down Expand Up @@ -491,12 +491,13 @@ private void CalculateBitmap()
Global.effengine.SetBitmapping(bitmapMap);
}

private async Task<Grid> CreateUserControl(bool abstractKeycaps = false)
private async Task<Panel> CreateUserControl(bool abstractKeycaps = false)
{
if (_virtualKbInvalid && !abstractKeycaps)
_virtualKeyboardMap.Clear();

var kcg = new KeyboardControlGenerator(abstractKeycaps, _virtualKeyboardGroup, _virtualKeyboardMap, _layoutsPath, await VirtualKeyboard);
var virtualKb = abstractKeycaps ? new Grid() : await VirtualKeyboard;
var kcg = new KeyboardControlGenerator(abstractKeycaps, _virtualKeyboardGroup, _virtualKeyboardMap, _layoutsPath, virtualKb);

if (!_virtualKbInvalid || abstractKeycaps) return await kcg.Generate();

Expand Down

0 comments on commit 24a9ff7

Please sign in to comment.