12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- using System;
- namespace InABox.Core
- {
- public abstract class BaseEditor : Attribute, IEnclosedEntity, ICloneable
- {
- 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();
- }
- }
|