DynamicGridCommon.cs 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. using System;
  2. using System.ComponentModel;
  3. using InABox.Core;
  4. namespace InABox.DynamicGrid
  5. {
  6. public abstract class DynamicColumnBase : BaseObject
  7. {
  8. }
  9. public enum DynamicGridOption
  10. {
  11. AddRows,
  12. EditRows,
  13. DeleteRows,
  14. FilterRows,
  15. SelectColumns,
  16. ExportData,
  17. ImportData,
  18. MultiSelect,
  19. DragSource,
  20. DragTarget,
  21. DirectEdit,
  22. ShowHelp,
  23. Print,
  24. RecordCount
  25. }
  26. public delegate bool OnFilterRecord(CoreRow row);
  27. public delegate void OnCreateItem(object sender, object item);
  28. public delegate T OnCreateItem<T>();
  29. public delegate void OnDefineLookup(ILookupEditorControl sender);
  30. public delegate void OnLookupsDefined(ILookupEditorControl sender);
  31. public delegate void OnGridCustomiseEditor(DynamicEditorGrid sender, DynamicGridColumn column, BaseEditor editor);
  32. public delegate void OnFormCustomiseEditor(IDynamicEditorForm sender, object[] items, DynamicGridColumn column, BaseEditor editor);
  33. /// <summary>
  34. ///
  35. /// </summary>
  36. /// <typeparam name="T"></typeparam>
  37. /// <param name="sender"></param>
  38. /// <param name="items">The array of items being edited; <see langword="null"/> is synonymous with an empty array.</param>
  39. /// <param name="column"></param>
  40. /// <param name="editor"></param>
  41. public delegate void OnCustomiseEditor<T>(IDynamicEditorForm sender, T[]? items, DynamicGridColumn column, BaseEditor editor);
  42. public delegate void OnReconfigureEditors(DynamicEditorGrid sender);
  43. public delegate void OnGridChanged(IDynamicGrid sender);
  44. public delegate void OnLoadPage(IDynamicEditorPage page);
  45. public delegate void OnSelectPage(object sender, BaseObject[] items);
  46. public delegate void OnUnloadPage(IDynamicEditorPage page, bool saved);
  47. public delegate DynamicGridColumns OnCustomiseColumns(object sender, DynamicGridColumns source);
  48. public delegate BaseEditor? OnGetEditor(DynamicGridColumn column);
  49. public delegate decimal OnGetEditorSequence(DynamicGridColumn column);
  50. public delegate object OnDefineFilter(object sender, Type type);
  51. public delegate string[]? OnValidateData(object sender, BaseObject[] items);
  52. public delegate void OnPrintData(object sender);
  53. public class DynamicGridSelectionEventArgs : EventArgs
  54. {
  55. public DynamicGridSelectionEventArgs(CoreRow[]? rows)
  56. {
  57. Rows = rows;
  58. }
  59. public CoreRow[]? Rows { get; }
  60. }
  61. public delegate void SelectItemHandler(object sender, DynamicGridSelectionEventArgs e);
  62. public delegate void OnDoubleClick(object sender, HandledEventArgs args);
  63. public delegate void OnAfterReloadEventHandler(object sender);
  64. }