示例#1
0
        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);
        }
示例#2
0
        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;
        }