IDynamicEditorForm.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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. bool ReadOnly { get; set; }
  24. BaseObject[] Items { get; set; }
  25. void Setup(Type type, DynamicEditorPages? pages = null, DynamicEditorButtons? buttons = null,
  26. Func<Type, CoreTable?>? pageDataHandler = null, bool preloadPages = false);
  27. IDynamicEditorControl FindEditor(string columnName);
  28. object? GetEditorValue(string columnName);
  29. void SetEditorValue(string columnName, object? value);
  30. void SetLayoutType<T>() where T : DynamicEditorGridLayout;
  31. void UnloadEditorPages(bool saved);
  32. }
  33. }