| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | using Comal.Classes;using InABox.Core;using InABox.DynamicGrid;using InABox.Wpf;using InABox.WPF;using javax.xml.crypto;using System;using System.Collections.Generic;using System.Linq;using System.Reflection;using System.Text;using System.Threading.Tasks;using System.Windows;using System.Windows.Controls;using System.Windows.Data;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Imaging;using System.Windows.Shapes;namespace PRSDesktop{    public delegate void ConfigureColumnsHandler(DynamicGridColumns columns);    /// <summary>    /// Interaction logic for EntitySelectionWindow.xaml    /// </summary>    public partial class EntitySelectionWindow : ThemableWindow    {        public event ConfigureColumnsHandler? DoConfigureColumns;        private IEntitySelectionGrid grid;        public HashSet<Guid> Entities => grid.Entities;        public EntitySelectionWindow(Type entityType, HashSet<Guid> entities, Type? gridType = null)        {            InitializeComponent();            grid = typeof(EntitySelectionWindow).GetMethod(nameof(MakeGrid), BindingFlags.Instance | BindingFlags.NonPublic)                .MakeGenericMethod(gridType ?? typeof(EntitySelectionGrid<>).MakeGenericType(entityType), entityType)                .Invoke(this, new object?[] { entities }) as IEntitySelectionGrid;            LayoutGrid.Children.Add(grid as UIElement);        }        private IEntitySelectionGrid MakeGrid<TGrid, T>(HashSet<Guid> entities)            where TGrid : EntitySelectionGrid<T>, new()            where T : Entity, IRemotable, IPersistent, new()        {            var grid = new TGrid();            grid.Entities = entities;            grid.Refresh(true, true);            return grid;        }    }}
 |