IDynamicEditorForm.cs 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using System;
  2. using InABox.Core;
  3. namespace InABox.DynamicGrid
  4. {
  5. public interface IDynamicEditorForm
  6. {
  7. public delegate Document? FindDocumentEvent(string FileName);
  8. public delegate Document? GetDocumentEvent(Guid id);
  9. public delegate void SaveDocumentEvent(Document document);
  10. event OnBeforeLoad OnBeforeLoad;
  11. void BeforeLoad();
  12. event OnAfterLoad OnAfterLoad;
  13. void AfterLoad();
  14. event OnValidateData? OnValidateData;
  15. OnCustomiseColumns? OnCustomiseColumns { set; }
  16. OnDefineFilter? OnDefineFilter { set; }
  17. OnDefineLookup? OnDefineLookups { set; }
  18. DefineEditorEventHandler? OnDefineEditor { set; }
  19. event OnFormCustomiseEditor? OnFormCustomiseEditor;
  20. OnReconfigureEditors? OnReconfigureEditors { set; }
  21. event OnAfterEditorValueChanged? OnAfterEditorValueChanged;
  22. event EditorValueChangedHandler? OnEditorValueChanged;
  23. GetDocumentEvent? OnGetDocument { set; }
  24. FindDocumentEvent? OnFindDocument { set; }
  25. SaveDocumentEvent? OnSaveDocument { set; }
  26. event OnSelectPage? OnSelectPage;
  27. DynamicGridSaveEvent? OnSaveItem { set; }
  28. DynamicEditorPages? Pages { get; }
  29. bool ReadOnly { get; set; }
  30. BaseObject[] Items { get; set; }
  31. void Setup(Type type, DynamicEditorPages? pages = null, DynamicEditorButtons? buttons = null,
  32. Func<Type, CoreTable>? pageDataHandler = null, bool preloadPages = false);
  33. IDynamicEditorControl FindEditor(string columnName);
  34. object? GetEditorValue(string columnName);
  35. void SetEditorValue(string columnName, object? value);
  36. void SetLayoutType<T>() where T : DynamicEditorGridLayout;
  37. void UnloadEditorPages(bool saved);
  38. }
  39. }