using System; using System.Collections.Generic; using System.Windows; using InABox.Core; namespace InABox.DynamicGrid { public class ColumnNameGenerator : LookupGenerator { public ColumnNameGenerator(object[] items) : base(items) { //DynamicGridColumns cols = new DynamicGridColumns(); //cols.ExtractColumns(type, ""); //foreach (DynamicGridColumn col in cols.Where(x => (x.Editor != null) && (x.Editor.Visible != Visible.Disabled))) // AddValue(col.ColumnName, col.ColumnName); } } public class DynamicGridColumn : DynamicColumnBase { public DynamicGridColumn() { Editor = new NullEditor(); } [ComboLookupEditor(typeof(ColumnNameGenerator), Visible = Visible.Default)] [EditorSequence(1)] public string ColumnName { get; set; } [EditorSequence(2)] [IntegerEditor(Visible = Visible.Default)] public int Width { get; set; } [EditorSequence(3)] [TextBoxEditor(Visible = Visible.Default)] public string Caption { get; set; } [EditorSequence(4)] [TextBoxEditor(Width = 60, Visible = Visible.Default)] public string Format { get; set; } [EnumLookupEditor(typeof(Alignment), Width = 100, Visible = Visible.Default)] [EditorSequence(5)] public Alignment Alignment { get; set; } public BaseEditor Editor { get; set; } public VerticalAlignment VerticalAlignment() => Alignment.VerticalAlignment(); public HorizontalAlignment HorizontalAlignment(Type datatype) => Alignment.HorizontalAlignment(datatype); public override string ToString() { return ColumnName; } } }