using System; using InABox.Core; using Xamarin.Forms; namespace PRS.Mobile { public class DigitalFormViewChangedArgs { public DFLayoutField? Definition { get; private set; } public object? Value { get; private set; } public DigitalFormViewChangedArgs(DFLayoutField? definition, object? value) { Definition = definition; Value = value; } } public delegate void DigitalFormViewChangedHandler(IDigitalFormField sender, DigitalFormViewChangedArgs args); public interface IDigitalFormField { object Value { get; set; } event DigitalFormViewChangedHandler? ValueChanged; void Deserialize(DFLoadStorageEntry entry); void Serialize(DFSaveStorageEntry entry); bool IsEmpty { get; } bool ReadOnly { get; set; } Color BackgroundColor { get; set; } } public interface IDigitalFormField : IDigitalFormControl, IDigitalFormField where TDefinition : DFLayoutField where TProperties : DFLayoutFieldProperties, new() { TValue Value { get; set; } object IDigitalFormField.Value { get => Value; set => Value = (TValue)value; } } }