using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Drawing.Design; using System.Windows.Forms; using System.Windows.Forms.VisualStyles; using System.Xml.Serialization; using GeoSigma.SigmaDrawerStyle; using GeoSigma.SigmaDrawerStyle.Converter; using SigmaDrawerElement; using SigmaDrawerStyle; namespace GeoSigma.SigmaDrawerElement { #pragma warning disable SA1402 // File may only contain a single type #pragma warning disable SA1600 // Elements should be documented #pragma warning disable SA1649 // File name should match first type name /// /// 射孔道 /// [XmlRoot("Pcg")] [TypeConverter(typeof(PropertySorter))] public class WellInTrackOilTest :baseInTrackObj { private static Dictionary AlignMap = new Dictionary() { { HorizontalAlignment.Left, "Left" }, { HorizontalAlignment.Right, "Right" }, { HorizontalAlignment.Center, "Center" }, }; private const string ShotTrackCategory = "\t\t设置试油数据"; [XmlIgnore] [Category(ShotTrackCategory)] [DisplayName("顶深")] [PropertyOrder(0)] public double TopDepth { get => WellTestLayer.Top; set => WellTestLayer.Top = value; } [XmlIgnore] [Category(ShotTrackCategory)] [DisplayName("底深")] [PropertyOrder(1)] public double BottomDepth { get => WellTestLayer.Bottom; set => WellTestLayer.Bottom = value; } [XmlIgnore] [Category(ShotTrackCategory)] [DisplayName("背景颜色")] [PropertyOrder(2)] [Editor(typeof(PropertyEditorColor), typeof(UITypeEditor))] public Color BackgroundColor { get => ColorTranslator2.FromHtml(WellTestLayer.BackBrush.BackColor); set => WellTestLayer.BackBrush.BackColor = ColorTranslator2.ToHtml(value); } //[XmlIgnore] //[Category(ShotTrackCategory)] //[DisplayName("文本")] //[PropertyOrder(4)] //public string Text //{ // get => WellText.Font.Text; // set => WellText.Font.Text = value; //} [XmlIgnore] [Category(ShotTrackCategory)] [DisplayName("字体")] [PropertyOrder(3)] [Editor(typeof(PropertyEditorWellFontEx), typeof(UITypeEditor))] public WellFontEx HeaderFont { get => WellTestLayer.Font; set => WellTestLayer.Font = value; } //[XmlIgnore] //[Category(ShotTrackCategory)] //[DisplayName("水平位置")] //[PropertyOrder(7)] //public HorizontalAlignment HorizontalAlign //{ // get => DictionaryHelper.Reverse(AlignMap)[WellTestLayer.Align]; // set => WellText.Align = AlignMap[value]; //} [XmlIgnore] [Category(ShotTrackCategory)] [DisplayName("层号")] [PropertyOrder(4)] public string name { get => WellTestLayer.Name; set => WellTestLayer.Name = value; } [XmlIgnore] [Category(ShotTrackCategory)] [DisplayName("起始时间")] [PropertyOrder(4)] public string StartTime { get => WellTestLayer.Start; set => WellTestLayer.Start = value; } [XmlIgnore] [Category(ShotTrackCategory)] [DisplayName("结束时间")] [PropertyOrder(5)] public string EndTime { get => WellTestLayer.End; set => WellTestLayer.End = value; } [XmlIgnore] [Category(ShotTrackCategory)] [DisplayName("措施")] [PropertyOrder(6)] public string method { get => WellTestLayer.Method; set => WellTestLayer.Method = value; } [XmlIgnore] [Category(ShotTrackCategory)] [DisplayName("试油结论")] [PropertyOrder(7)] public string Verdict { get => WellTestLayer.Verdict; set => WellTestLayer.Verdict = value; } [XmlIgnore] [Category(ShotTrackCategory)] [DisplayName("日产油")] [PropertyOrder(8)] public double dailyOil { get => WellTestLayer.DailyOil; set => WellTestLayer.DailyOil = value; } [XmlIgnore] [Category(ShotTrackCategory)] [DisplayName("日产气")] [PropertyOrder(9)] public double DailyGas { get => WellTestLayer.DailyGas; set => WellTestLayer.DailyGas = value; } [XmlIgnore] [Category(ShotTrackCategory)] [DisplayName("日产水")] [PropertyOrder(10)] public double DailyWater { get => WellTestLayer.DailyWater; set => WellTestLayer.DailyWater = value; } [XmlIgnore] [Category(ShotTrackCategory)] [DisplayName("累计产油")] [PropertyOrder(11)] public double TotalOil { get => WellTestLayer.TotalOil; set => WellTestLayer.TotalOil = value; } [XmlIgnore] [Category(ShotTrackCategory)] [DisplayName("累计产气")] [PropertyOrder(12)] public double TotalGas { get => WellTestLayer.TotalGas; set => WellTestLayer.TotalGas = value; } [XmlIgnore] [Category(ShotTrackCategory)] [DisplayName("累计产水")] [PropertyOrder(13)] public double TotalWater { get => WellTestLayer.TotalWater; set => WellTestLayer.TotalWater = value; } [XmlIgnore] [Category(ShotTrackCategory)] [DisplayName("静压(MPa)")] [PropertyOrder(14)] public double StaticMPa { get => WellTestLayer.StaticMPa; set => WellTestLayer.StaticMPa = value; } [XmlIgnore] [Category(ShotTrackCategory)] [DisplayName("流压(MPa)")] [PropertyOrder(15)] public double FlowMpa { get => WellTestLayer.FlowMPa; set => WellTestLayer.FlowMPa = value; } [XmlIgnore] [Category(ShotTrackCategory)] [DisplayName("套压(MPa)")] [PropertyOrder(16)] public double CaseMPa { get => WellTestLayer.CaseMPa; set => WellTestLayer.CaseMPa = value; } [XmlIgnore] [Category(ShotTrackCategory)] [DisplayName("静温(度)")] [PropertyOrder(17)] public double Temperature { get => WellTestLayer.Temperature; set => WellTestLayer.Temperature = value; } [XmlIgnore] [Category(ShotTrackCategory)] [DisplayName("厚度")] [PropertyOrder(18)] public double Thickness { get => WellTestLayer.thickness; set => WellTestLayer.thickness = value; } [XmlIgnore] [Category(ShotTrackCategory)] [DisplayName("抽深或冲程")] [PropertyOrder(19)] public double Stroke { get => WellTestLayer.stroke; set => WellTestLayer.stroke = value; } [XmlAttribute] [Browsable(false)] public int Version { get; set; } [XmlElement("TestLayer")] [Browsable(false)] public TestLayer WellTestLayer { get; set; } } #pragma warning restore SA1649 // File name should match first type name #pragma warning restore SA1600 // Elements should be documented #pragma warning restore SA1402 // File may only contain a single type public class TestLayer { [XmlAttribute("Name")] public string Name { get; set; } = ""; [XmlAttribute("Top")] public double Top { get; set; } [XmlAttribute("Bottom")] public double Bottom { get; set; } [XmlAttribute("LayerCount")] public int LayerCount { get; set; } [XmlAttribute("Start")] // [XmlIgnore] public string Start { get; set; } //[XmlAttribute("Start")] //[Browsable(false)] //public string StartString //{ // get => Start.ToString("yyyy/MM/dd HH:mm:ss"); // set => Start = DateTime.ParseExact(value, "yyyy/MM/dd HH:mm:ss", null); //} [XmlAttribute("End")] // [XmlIgnore] public string End { get; set; } //[XmlAttribute("End")] //[Browsable(false)] //public string EndString //{ // get => End.ToString("yyyy/MM/dd HH:mm:ss"); // set => End = DateTime.ParseExact(value, "yyyy/MM/dd HH:mm:ss", null); //} [XmlAttribute("Method")] public string Method { get; set; } = ""; [XmlAttribute("Verdict")] public string Verdict { get; set; } = ""; [XmlAttribute("DailyOil")] public double DailyOil { get; set; } [XmlAttribute("DailyWater")] public double DailyWater { get; set; } [XmlAttribute("DailyGas")] public double DailyGas { get; set; } [XmlAttribute("TotalOil")] public double TotalOil {get; set; } [XmlAttribute("TotalWater")] public double TotalWater { get; set; } [XmlAttribute("TotalGas")] public double TotalGas { get; set; } [XmlAttribute("DailyOilUnit")] public string DailyOilUnit { get; set; } [XmlAttribute("DailyWaterUnit")] public string DailyWaterUnit { get; set; } [XmlAttribute("DailyGasUnit")] public string DailyGasUnit { get; set; } [XmlAttribute("TotalOilUnit")] public string TotalOilUnit { get; set; } [XmlAttribute("TotalWaterUnit")] public string TotalWaterUnit { get; set; } [XmlAttribute("TotalGasUnit")] public string TotalGasUnit { get; set; } [XmlAttribute("PiezometerDepth")] public double PiezometerDepth { get; set; } [XmlAttribute("Static")] public double StaticMPa { get; set; } [XmlAttribute("Case")] public double CaseMPa { get; set; } [XmlAttribute("Flow")] public double FlowMPa { get; set; } [XmlAttribute("Temperature")] public double Temperature { get; set; } [XmlAttribute("Thickness")] public double thickness { get; set; } [XmlAttribute("Stroke")] public double stroke { get; set; } [XmlElement("Font")] public WellFontEx Font { get; set; } [XmlElement("HunkContent")] public WellHunkContent HunkContent { get; set; } [XmlElement("BackBrush")] public BackBrushInOilTest BackBrush { get; set; } [XmlElement("RenderStyle")] public RenderStyleInOilTest RenderStyle { get; set; } } public class BackBrushInOilTest { [XmlAttribute("Style")] public int Style { get; set; } [XmlAttribute("BackColor")] public string BackColor { get; set; } = ""; [XmlAttribute("ForeColor")] public string ForeColor { get; set; } = ""; [XmlAttribute("BlendStyle")] public int BlendStyle { get; set; } [XmlAttribute("Visible")] public bool Visible { get; set; } } public class RenderStyleInOilTest { [XmlAttribute("Type")] public string Type { get; set; } = ""; [XmlAttribute("FrameVertLinePos")] public double FrameVertLinePos { get; set; } [XmlAttribute("RightText")] public bool RightText { get; set; } [XmlAttribute("ShowDepthText")] public bool ShowDepthText { get; set; } [XmlAttribute("ShowHistgramText")] public bool ShowHistgramText { get; set; } [XmlAttribute("TextLineAlign")] public string TextLineAlign { get; set; } = ""; [XmlAttribute("Style")] public string Style { get; set; } = ""; [XmlAttribute("TextPadding")] public int TextPadding { get; set; } [XmlElement("GasBrush")] public BrushStyleInOilTest GasBrush { get; set; } [XmlElement("OilBrush")] public BrushStyleInOilTest OilBrush { get; set; } [XmlElement("WaterBrush")] public BrushStyleInOilTest WaterBrush { get; set; } } [Serializable] public class BrushStyleInOilTest { [XmlAttribute("Style")] public string Style { get; set; } = ""; } }