IDynamicEditorForm.cs 1.6 KB

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