void MainWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e) { CommandGrid.CommitEdit(DataGridEditingUnit.Row, true); AliasGrid.CommitEdit(DataGridEditingUnit.Row, true); string json = serializer.Serialize(MapFromCollection(Commands)); File.WriteAllText(cmdJson, json); json = serializer.Serialize(MapFromCollection(Aliases)); File.WriteAllText(aliasJson, json); }
public override void Construct() { Padding = new Margin(2, 2, 2, 2); base.Construct(); var bar = AddChild(new Widget { MinimumSize = new Point(0, 24), Padding = new Margin(0, 0, 2, 2), AutoLayout = AutoLayout.DockTop }); bar.AddChild(new Widget { Text = "Filter:", AutoLayout = AutoLayout.DockLeft }); FilterBox = bar.AddChild(new Gui.Widgets.EditableTextField { AutoLayout = AutoLayout.DockFill, MinimumSize = new Point(0, 24), OnTextChange = (sender) => { Grid.ApplyFilter(FilterBox.Text); } }) as Gui.Widgets.EditableTextField; SelectedCommandDisplay = AddChild(new Widget { AutoLayout = AutoLayout.DockBottom, MinimumSize = new Point(0, 200) }); Grid = AddChild(new CommandGrid { AutoLayout = AutoLayout.DockFill, World = World, OnCommandClicked = (command) => { SelectedCommandDisplay.Children.Clear(); if (command.HoverWidget != null) { SelectedCommandDisplay.AddChild(command.HoverWidget); command.HoverWidget.AutoLayout = AutoLayout.DockFill; command.HoverWidget.Border = ""; } SelectedCommandDisplay.Layout(); command.OnClick?.Invoke(command, null); } }) as CommandGrid; }