using System; using System.Collections.Generic; using System.ComponentModel; using InABox.Core; namespace InABox.DynamicGrid { public abstract class DynamicColumnBase : BaseObject { } public enum DynamicGridOption { AddRows, EditRows, DeleteRows, FilterRows, SelectColumns, ExportData, ImportData, MultiSelect, DragSource, DragTarget, DirectEdit, ShowHelp, Print, RecordCount } public delegate bool OnFilterRecord(CoreRow row); public delegate void OnCreateItem(object sender, object item); public delegate T OnCreateItem(); public delegate void OnDefineLookup(ILookupEditorControl editor); public delegate void OnGridCustomiseEditor(DynamicEditorGrid sender, DynamicGridColumn column, BaseEditor editor); public delegate void OnFormCustomiseEditor(IDynamicEditorForm sender, object[] items, DynamicGridColumn column, BaseEditor editor); /// /// /// /// /// /// The array of items being edited; is synonymous with an empty array. /// /// public delegate void OnCustomiseEditor(IDynamicEditorForm sender, T[]? items, DynamicGridColumn column, BaseEditor editor); public delegate void OnReconfigureEditors(DynamicEditorGrid sender); public delegate Dictionary? OnAfterEditorValueChanged(DynamicEditorGrid sender, String columnname); public delegate void OnGridChanged(IDynamicGrid sender); public delegate void OnLoadPage(IDynamicEditorPage page); public delegate void OnSelectPage(DynamicEditorGrid sender, BaseObject[]? items); public delegate void OnUnloadPage(IDynamicEditorPage page, bool saved); public delegate void OnCustomiseColumns(object sender, DynamicGridColumns columns); public delegate BaseEditor? OnGetEditor(DynamicGridColumn column); public delegate decimal OnGetEditorSequence(DynamicGridColumn column); public delegate IFilter? OnDefineFilter(Type type); public delegate IList? OnValidateData(object sender, BaseObject[] items); public delegate void OnPrintData(object sender); public delegate void EntitySaveEvent(IDynamicEditorForm editor, BaseObject[] items); public class DynamicGridSelectionEventArgs : EventArgs { public DynamicGridSelectionEventArgs(CoreRow[]? rows) { Rows = rows; } public CoreRow[]? Rows { get; } } public delegate void SelectItemHandler(object sender, DynamicGridSelectionEventArgs e); public delegate void OnDoubleClick(object sender, HandledEventArgs args); public class DynamicGridCellClickEventArgs : HandledEventArgs { public CoreRow Row { get; set; } public DynamicGridColumn Column { get; set; } public DynamicGridCellClickEventArgs(CoreRow row, DynamicGridColumn column) { Row = row; Column = column; } } public delegate void OnCellDoubleClick(object sender, DynamicGridCellClickEventArgs args); public class BeforeRefreshEventArgs : CancelEventArgs { } public delegate void BeforeRefreshEventHandler(object sender, BeforeRefreshEventArgs args); public class AfterRefreshEventArgs : EventArgs { } public delegate void AfterRefreshEventHandler(object sender, AfterRefreshEventArgs args); }