using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.ComponentModel; using CaeGlobals; using DynamicTypeDescriptor; using System.Drawing.Design; namespace CPSO.Settings { [Serializable] public class ViewAnnotationSettings : IViewSettings, IReset { // Variables private AnnotationSettings _annotationSettings; private DynamicCustomTypeDescriptor _dctd = null; // Color spectrum values [Category("Design")] [OrderedDisplayName(0, 10, "Background type")] [Description("Select the background type.")] public AnnotationBackgroundType BackgroundType { get { return _annotationSettings.BackgroundType; } set { _annotationSettings.BackgroundType = value; } } // [Category("Design")] [OrderedDisplayName(1, 10, "Draw a border rectangle")] [Description("Draw a border rectangle around the legend.")] public bool DrawBorder { get { return _annotationSettings.DrawBorder; } set { _annotationSettings.DrawBorder = value; } } // [Category("Design")] [OrderedDisplayName(2, 10, "Number format")] [Description("Select the number format.")] public AnnotationNumberFormat LegendNumberFormat { get { return _annotationSettings.NumberFormat; } set { _annotationSettings.NumberFormat = value; } } // [Category("Design")] [OrderedDisplayName(3, 10, "Number of significant digits")] [Description("Set the number of significant digits (2 ... 8).")] public int NumberOfSignificantDigits { get { return _annotationSettings.NumberOfSignificantDigits; } set { _annotationSettings.NumberOfSignificantDigits = value; } } // [Category("Node annotation")] [OrderedDisplayName(0, 10, "Show node id")] [Description("Show node id in the annotation.")] public bool ShowNodeId { get { return _annotationSettings.ShowNodeId; } set { _annotationSettings.ShowNodeId = value; } } // [Category("Node annotation")] [OrderedDisplayName(1, 10, "Show coordinates")] [Description("Show coordintates in the annotation.")] public bool ShowCoordinates { get { return _annotationSettings.ShowCoordinates; } set { _annotationSettings.ShowCoordinates = value; } } // [Category("Edge/Surface annotation")] [OrderedDisplayName(0, 10, "Show edge/surface id")] [Description("Show edge/surface id in the annotation.")] public bool ShowEdgeSurId { get { return _annotationSettings.ShowEdgeSurId; } set { _annotationSettings.ShowEdgeSurId = value; } } // [Category("Edge/Surface annotation")] [OrderedDisplayName(1, 10, "Show edge/surface type")] [Description("Show edge/surface type in the annotation.")] public bool ShowEdgeSurType { get { return _annotationSettings.ShowEdgeSurType; } set { _annotationSettings.ShowEdgeSurType = value; } } // [Category("Edge/Surface annotation")] [OrderedDisplayName(2, 10, "Show edge/surface topology")] [Description("Show edge/surface topology in the annotation.")] public bool ShowEdgeSurTopology { get { return _annotationSettings.ShowEdgeSurTopology; } set { _annotationSettings.ShowEdgeSurTopology = value; } } // [Category("Edge/Surface annotation")] [OrderedDisplayName(3, 10, "Show edge/surface size")] [Description("Show edge/surface size in the annotation.")] public bool ShowEdgeLength { get { return _annotationSettings.ShowEdgeSurSize; } set { _annotationSettings.ShowEdgeSurSize = value; } } // [Category("Edge/Surface annotation")] [OrderedDisplayName(4, 10, "Show maximum value")] [Description("Show maximum value in the annotation.")] public bool ShowEdgeMax { get { return _annotationSettings.ShowEdgeSurMax; } set { _annotationSettings.ShowEdgeSurMax = value; } } // [Category("Edge/Surface annotation")] [OrderedDisplayName(5, 10, "Show minimum value")] [Description("Show minimum value in the annotation.")] public bool ShowEdgeMin { get { return _annotationSettings.ShowEdgeSurMin; } set { _annotationSettings.ShowEdgeSurMin = value; } } // [Category("Edge/Surface annotation")] [OrderedDisplayName(6, 10, "Show sum value")] [Description("Show summed value by nodes in the annotation.")] public bool ShowEdgeSum { get { return _annotationSettings.ShowEdgeSurSum; } set { _annotationSettings.ShowEdgeSurSum = value; } } // [Category("Edge/Surface annotation")] [OrderedDisplayName(7, 10, "Show average value")] [Description("Show average value by nodes in the annotation.")] public bool ShowEdgeAvg { get { return _annotationSettings.ShowEdgeSurAvg; } set { _annotationSettings.ShowEdgeSurAvg = value; } } // [Category("Part annotation")] [OrderedDisplayName(0, 10, "Show part name")] [Description("Show part name in the annotation.")] public bool ShowPartName { get { return _annotationSettings.ShowPartName; } set { _annotationSettings.ShowPartName = value; } } // [Category("Part annotation")] [OrderedDisplayName(1, 10, "Show part id")] [Description("Show part id in the annotation.")] public bool ShowPartId { get { return _annotationSettings.ShowPartId; } set { _annotationSettings.ShowPartId = value; } } // [Category("Part annotation")] [OrderedDisplayName(2, 10, "Show part type")] [Description("Show part type in the annotation.")] public bool ShowPartType { get { return _annotationSettings.ShowPartType; } set { _annotationSettings.ShowPartType = value; } } // [Category("Part annotation")] [OrderedDisplayName(3, 10, "Show number of elements")] [Description("Show part number of elements in the annotation.")] public bool ShowPartNumberOfElements { get { return _annotationSettings.ShowPartNumberOfElements; } set { _annotationSettings.ShowPartNumberOfElements = value; } } // [Category("Part annotation")] [OrderedDisplayName(4, 10, "Show number of nodes")] [Description("Show part number of nodes in the annotation.")] public bool ShowPartNumberOfNodes { get { return _annotationSettings.ShowPartNumberOfNodes; } set { _annotationSettings.ShowPartNumberOfNodes = value; } } // [Category("Part annotation")] [OrderedDisplayName(5, 10, "Show volume/area")] [Description("Show part volume/area in the annotation.")] public bool ShowPartVolumeArea { get { return _annotationSettings.ShowPartVolumeArea; } set { _annotationSettings.ShowPartVolumeArea = value; } } // Constructors public ViewAnnotationSettings(AnnotationSettings annotationSettings) { _annotationSettings = annotationSettings; _dctd = ProviderInstaller.Install(this); // _dctd.RenameBooleanPropertyToYesNo(nameof(DrawBorder)); // _dctd.RenameBooleanPropertyToYesNo(nameof(ShowNodeId)); _dctd.RenameBooleanPropertyToYesNo(nameof(ShowCoordinates)); // _dctd.RenameBooleanPropertyToYesNo(nameof(ShowEdgeSurId)); _dctd.RenameBooleanPropertyToYesNo(nameof(ShowEdgeSurType)); _dctd.RenameBooleanPropertyToYesNo(nameof(ShowEdgeSurTopology)); _dctd.RenameBooleanPropertyToYesNo(nameof(ShowEdgeLength)); _dctd.RenameBooleanPropertyToYesNo(nameof(ShowEdgeMax)); _dctd.RenameBooleanPropertyToYesNo(nameof(ShowEdgeMin)); _dctd.RenameBooleanPropertyToYesNo(nameof(ShowEdgeSum)); _dctd.RenameBooleanPropertyToYesNo(nameof(ShowEdgeAvg)); // _dctd.RenameBooleanPropertyToYesNo(nameof(ShowPartName)); _dctd.RenameBooleanPropertyToYesNo(nameof(ShowPartId)); _dctd.RenameBooleanPropertyToYesNo(nameof(ShowPartType)); _dctd.RenameBooleanPropertyToYesNo(nameof(ShowPartNumberOfElements)); _dctd.RenameBooleanPropertyToYesNo(nameof(ShowPartNumberOfNodes)); _dctd.RenameBooleanPropertyToYesNo(nameof(ShowPartVolumeArea)); } // Methods public ISettings GetBase() { return _annotationSettings; } public void Reset() { _annotationSettings.Reset(); } } }