using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; #if WEB_SERVICE #else using System.Drawing.Design; #endif using System.Linq; using System.Text; using System.Threading.Tasks; using System.Xml.Serialization; using GeoSigmaDrawLib; namespace GeoSigma.SigmaDrawerStyle { [XmlRoot("CenterName")] public class CurveCenterName : CurveView { /// /// 属性类别排序 /// private List categorys = new List() { "基础属性", "名字", "其他", "杂项" }; /// /// Initializes a new instance of the class. /// public CurveCenterName() { TypeName = "中心上名字"; } [XmlIgnore] [Category("其他"), DisplayName("小数位数"), Description("小数位数")] public int DecimalName { get { return Base.DecimalName; } set { Base.DecimalName = value; } } [XmlIgnore] [Category("\t名字"), DisplayName("\t\t\t\t高度"),Description("高度")] [TypeConverter(typeof(PropertyDoubleConverter))] public double TextHeight { get { return Base.Height; } set { Base.Height = value; } } [XmlIgnore] [Category("\t名字"), DisplayName("\t\t\t偏移"),Description("偏移")] //[TypeConverterAttribute(typeof(PropertyPointConvert))] public PropertyPoint Offset { get { PropertyPoint pt = new PropertyPoint(); pt.X = Base.OffsetX; pt.Y = Base.OffsetY; return pt; } set { Base.OffsetX = value.X; Base.OffsetY = value.Y; } } [XmlIgnore] [Category("\t名字"), DisplayName("\t\t角度"),Description("角度")] [TypeConverter(typeof(PropertyDoubleConverter))] public double Angle { get { return Base.Angle; } set { Base.Angle = value; } } [XmlIgnore] [Category("\t名字"), DisplayName("\t颜色"), Description("颜色")] #if WEB_SERVICE #else [Editor(typeof(PropertyEditorColor), typeof(UITypeEditor))] #endif //[TypeConverter(typeof(PropertyColorIndicatorConvert))] public Color CurveColor { get { return ColorTranslator.FromWin32(Base.ColorRef); } set { Base.ColorRef = ColorTranslator.ToWin32(value); } } private Font _TextFont; [XmlIgnore] [Category("\t名字"), DisplayName("字体")] public Font TextFont { get { _TextFont = Font.FromLogFont(NameFont); return _TextFont; } set { _TextFont = value; NameFont = LogFontConverter.convert(_TextFont); } } [Browsable(false)] [Category("基础属性"), DisplayName("基本")] public CurveCenterNameBase Base { get; set; } = new CurveCenterNameBase(); [Browsable(false)] [XmlElement("Font")] public LogFont NameFont { get; set; } = LogFont.Default; } public class CurveCenterNameBase { [XmlAttribute("Height")] public double Height { get; set; } = 60; [XmlAttribute("Width")] public double Width { get; set; } [XmlAttribute("OffsetX")] public double OffsetX { get; set; } [XmlAttribute("OffsetY")] public double OffsetY { get; set; } [XmlAttribute("Angle")] public double Angle { get; set; } [XmlAttribute("Style")] public int Style { get; set; } [XmlAttribute("Color")] public int ColorRef { get; set; } [XmlAttribute] public int DecimalName { get; set; } = -1; } }