123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- using System;
- namespace InABox.Core
- {
- public interface IBaseEditor
- {
- Visible Visible { get; set; }
- Editable Editable { get; set; }
- string ToolTip { get; set; }
- Alignment Alignment { get; set; }
- int Width { get; set; }
- string Format { get; set; }
- int ColumnSequence { get; set; }
- int EditorSequence { get; set; }
- string Caption { get; set; }
- string? Page { get; set; }
- Summary Summary { get; set; }
- BaseEditor CloneEditor();
- public object Clone();
- }
- public abstract class BaseEditor : Attribute, IEnclosedEntity, ICloneable, IBaseEditor
- {
- protected BaseEditor()
- {
- Editable = Editable.Enabled;
- Visible = Visible.Optional;
- Alignment = Alignment.MiddleLeft;
- Width = 0;
- Format = "";
- ColumnSequence = 0;
- EditorSequence = 0;
- Caption = "";
- Summary = Summary.None;
- ToolTip = "";
- }
- [EnumLookupEditor(typeof(Visible))]
- public Visible Visible { get; set; }
- [EnumLookupEditor(typeof(Editable))]
- public Editable Editable { get; set; }
- [NullEditor]
- public string ToolTip { get; set; }
- [NullEditor]
- public Alignment Alignment { get; set; }
- [NullEditor]
- public int Width { get; set; }
- [NullEditor]
- public string Format { get; set; }
- [NullEditor]
- public int ColumnSequence { get; set; }
- [NullEditor]
- public int EditorSequence { get; set; }
- [NullEditor]
- public string Caption { get; set; }
- [NullEditor]
- public string? Page { get; set; }
- [NullEditor]
- public Summary Summary { get; set; }
- public BaseEditor CloneEditor()
- {
- var result = DoClone();
- result.Visible = Visible;
- result.Editable = Editable;
- result.Alignment = Alignment;
- result.Width = Width;
- result.Format = Format;
- result.ColumnSequence = ColumnSequence;
- result.EditorSequence = EditorSequence;
- result.Caption = Caption;
- result.Page = Page;
- result.Summary = Summary;
- result.ToolTip = ToolTip;
- return result;
- }
- public object Clone() => CloneEditor();
- protected abstract BaseEditor DoClone();
- }
- }
|