public static Grid GetNewKeymapGrid(int numRows, int numCols, Keymap[,] keymaps) { var keymapGrid = new Grid(); keymapGrid.Children.Clear(); var rows = new RowDefinition[numRows]; var columns = new ColumnDefinition[numCols]; for (var i = 0; i < numRows; i++) { rows[i] = new RowDefinition(); keymapGrid.RowDefinitions.Add(rows[i]); } for (var i = 0; i < numCols; i++) { columns[i] = new ColumnDefinition(); keymapGrid.ColumnDefinitions.Add(columns[i]); } for (var i = 0; i < numRows; i++) { for (var j = 0; j < numCols; j++) { var button = new Button(); keymaps[i, j].Button = button; Grid.SetRow(button, i); Grid.SetColumn(button, j); keymapGrid.Children.Add(button); } } return keymapGrid; }
private static Keymap[,] GetNewKeymapsArray(int numRows, int numCols) { var keymaps = new Keymap[numRows, numCols]; for (var i = 0; i < numRows; i++) { for (var j = 0; j < numCols; j++) { keymaps[i, j] = new Keymap(i, j); } } return(keymaps); }
public KeymapLayer(int numRows, int numCols) { NumberRows = numRows; NumberCols = numCols; Keymaps = new Keymap[numRows, numCols]; }
private Action<object, RoutedEventArgs> KeymapButton_Click() { return (sender, e) => { var button = (Button) sender; var row = Grid.GetRow(button); var col = Grid.GetColumn(button); _selectedKeymap = _currentKeymapLayer.Keymaps[row, col]; // reset between key changes _selectedKeymapType = null; _selectedRefLayer = null; KeymapText = _selectedKeymap.Keypress; var selectType = _selectedKeymap.Action.Type.ToString(); SelectedKeymapType = selectType; SelectedRefLayer = _selectedKeymap.Action.ReferenceLayer; }; }
public void ResetKeymap() { _selectedKeymap = null; SelectedRefLayer = null; SelectedKeymapType = null; KeymapText = string.Empty; }