using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Drawing; namespace InABox.Core { public class DFLayoutLabel : DFLayoutControl, IDFLayoutTextControl { [EditorSequence(0)] [MemoEditor] public string Caption { get; set; } [EditorSequence("Style", 0)] public DFLayoutTextStyle Style { get; set; } protected override void Init() { base.Init(); Caption = ""; Style = new DFLayoutTextStyle(); } protected override string GetDescription() { return Caption; } protected override void LoadProperties() { base.LoadProperties(); Caption = GetProperty("Caption", ""); Style.LoadProperties(this); } protected override void SaveProperties() { base.SaveProperties(); SetProperty("Caption", Caption); Style.SaveProperties(this); } public T GetStyleProperty(string name, T defaultValue) { return GetProperty($"Style.{name}", defaultValue); } public void SetStyleProperty(string name, object? value) { SetProperty($"Style.{name}", value); } } }