using InABox.Core; namespace Comal.Classes { public abstract class QuoteDiagramEntity : Entity, IRemotable, IPersistent, ISequenceable, ILicense { [TextBoxEditor] [EditorSequence(1)] public string Caption { get; set; } [CheckBoxEditor] [EditorSequence(2)] public bool ShowCaption { get; set; } [EditorSequence(3)] public bool Active { get; set; } = true; [EditorSequence(4)] public string Group { get; set; } = ""; [EditorSequence(5)] public int Width { get; set; } [EditorSequence(6)] public int Length { get; set; } [NullEditor] public long Sequence { get; set; } } public class QuoteDiagramSymbolPort : BaseObject { [TextBoxEditor] [EditorSequence(1)] public string Name { get; set; } [DoubleEditor] [EditorSequence(2)] public double X { get; set; } [DoubleEditor] [EditorSequence(3)] public double Y { get; set; } } public class QuoteDiagramSymbol : QuoteDiagramEntity { [VectorDocumentEditor] [EditorSequence(10)] public VectorDocumentLink Symbol { get; set; } [JsonEditor(typeof(QuoteDiagramSymbolPort))] public string Ports { get; set; } } public enum QuoteDiagramConnectorType { StraightLine, OrthogonalLine, CubicBezier, QuadraticBezier } public class QuoteDiagramConnector : QuoteDiagramEntity, ILicense { [EditorSequence(10)] [EnumLookupEditor(typeof(QuoteDiagramConnectorType))] public QuoteDiagramConnectorType Type { get; set; } [ColorEditor] [EditorSequence(12)] public string Color { get; set; } = "#AAAAAA"; } public class QuoteDiagramArea : QuoteDiagramEntity { [ColorEditor] [EditorSequence(10)] public string FillColor { get; set; } = "#AAAAAA"; [ColorEditor] [EditorSequence(11)] public string LineColor { get; set; } = "#000000"; } }