IDigitalFormField.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using System;
  2. using InABox.Core;
  3. using Xamarin.Forms;
  4. namespace PRS.Mobile
  5. {
  6. public class DigitalFormViewChangedArgs
  7. {
  8. public DFLayoutField Definition { get; private set; }
  9. public object Value { get; private set; }
  10. public DigitalFormViewChangedArgs(DFLayoutField definition, object value)
  11. {
  12. Definition = definition;
  13. Value = value;
  14. }
  15. }
  16. public delegate void DigitalFormViewChangedHandler(IDigitalFormField sender, DigitalFormViewChangedArgs args);
  17. public interface IDigitalFormField
  18. {
  19. event DigitalFormViewChangedHandler ValueChanged;
  20. void Deserialize(string serialized);
  21. String Serialize();
  22. bool IsEmpty { get; }
  23. bool ReadOnly { get; set; }
  24. Color BackgroundColor { get; set; }
  25. }
  26. public interface IDigitalFormField<TDefinition,TProperties,TValue> : IDigitalFormControl<TDefinition>, IDigitalFormField
  27. where TDefinition : DFLayoutField<TProperties>
  28. where TProperties : DFLayoutFieldProperties<TValue>, new()
  29. {
  30. TValue Value { get; set; }
  31. }
  32. }