DFLayoutStringFieldProperties.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. namespace InABox.Core
  2. {
  3. public class DFLayoutStringFieldProperties : DFLayoutFieldProperties<string>
  4. {
  5. [EditorSequence(3)]
  6. [CheckBoxEditor(Caption = "Allow Wrap?")]
  7. public bool TextWrapping { get; set; }
  8. [EditorSequence(4)]
  9. [CheckBoxEditor(Caption = "Popup Editor?")]
  10. public bool PopupEditor { get; set; }
  11. protected override void Init()
  12. {
  13. base.Init();
  14. PopupEditor = false;
  15. TextWrapping = false;
  16. }
  17. public override object? ParseValue(object? value)
  18. {
  19. return value?.ToString();
  20. }
  21. public override string FormatValue(object? value)
  22. {
  23. return value?.ToString() ?? "";
  24. }
  25. protected override void LoadProperties()
  26. {
  27. base.LoadProperties();
  28. PopupEditor = GetProperty(nameof(PopupEditor), false);
  29. TextWrapping = GetProperty(nameof(TextWrapping), false);
  30. }
  31. protected override void SaveProperties()
  32. {
  33. base.SaveProperties();
  34. SetProperty(nameof(PopupEditor), PopupEditor);
  35. SetProperty(nameof(TextWrapping), TextWrapping);
  36. }
  37. }
  38. }