|
|
|
|
|
using GeoSigma.SigmaDrawerStyle;
|
|
|
|
|
|
using GeoSigma.SigmaDrawerStyle.Converter;
|
|
|
|
|
|
using SigmaDrawerElement;
|
|
|
|
|
|
using SigmaDrawerStyle;
|
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
using System.ComponentModel;
|
|
|
|
|
|
using System.Drawing;
|
|
|
|
|
|
using System.Drawing.Design;
|
|
|
|
|
|
using System.Globalization;
|
|
|
|
|
|
using System.Windows.Forms;
|
|
|
|
|
|
using System.Windows.Forms.VisualStyles;
|
|
|
|
|
|
using System.Xml.Serialization;
|
|
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 射孔道
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
[XmlRoot("Pcg")]
|
|
|
|
|
|
[TypeConverter(typeof(PropertySorter))]
|
|
|
|
|
|
public class WellInTrackCommonData : WellObjectXmlBase
|
|
|
|
|
|
{
|
|
|
|
|
|
private const string ShotTrackCategory = "\t\t数据";
|
|
|
|
|
|
|
|
|
|
|
|
[XmlIgnore]
|
|
|
|
|
|
[Category(ShotTrackCategory)]
|
|
|
|
|
|
[DisplayName("顶深")]
|
|
|
|
|
|
[PropertyOrder(0)]
|
|
|
|
|
|
public double TopDepth
|
|
|
|
|
|
{
|
|
|
|
|
|
get => rowData.Top;
|
|
|
|
|
|
set => rowData.Top = value;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[XmlIgnore]
|
|
|
|
|
|
[Category(ShotTrackCategory)]
|
|
|
|
|
|
[DisplayName("底深")]
|
|
|
|
|
|
[PropertyOrder(1)]
|
|
|
|
|
|
public double BottomDepth
|
|
|
|
|
|
{
|
|
|
|
|
|
get => rowData.Bottom;
|
|
|
|
|
|
set => rowData.Bottom = value;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[XmlIgnore]
|
|
|
|
|
|
[Category("数据设置")]
|
|
|
|
|
|
[DisplayName("数据"), PropertyOrder(7)]
|
|
|
|
|
|
[Editor(typeof(PropertyEditorInTrackCommonData), typeof(UITypeEditor))]
|
|
|
|
|
|
|
|
|
|
|
|
public CDataItemInTrackList dataItems
|
|
|
|
|
|
{
|
|
|
|
|
|
get
|
|
|
|
|
|
{
|
|
|
|
|
|
return rowData.DataItems;
|
|
|
|
|
|
}
|
|
|
|
|
|
set
|
|
|
|
|
|
{
|
|
|
|
|
|
rowData.DataItems.Clear();
|
|
|
|
|
|
|
|
|
|
|
|
rowData.DataItems.AddRange(value);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[XmlAttribute]
|
|
|
|
|
|
[Browsable(false)]
|
|
|
|
|
|
public int Version { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[XmlElement("RowData")]
|
|
|
|
|
|
[Browsable(false)]
|
|
|
|
|
|
public RowData rowData { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
private const string vDepthCategory = "\t垂深";
|
|
|
|
|
|
[XmlIgnore]
|
|
|
|
|
|
[Category(vDepthCategory)]
|
|
|
|
|
|
[DisplayName("顶深")]
|
|
|
|
|
|
[ReadOnly(true)]
|
|
|
|
|
|
[PropertyOrder(1)]
|
|
|
|
|
|
public string topStr
|
|
|
|
|
|
{
|
|
|
|
|
|
get
|
|
|
|
|
|
{
|
|
|
|
|
|
if (vdpeth.vid == 0)
|
|
|
|
|
|
return "";
|
|
|
|
|
|
else
|
|
|
|
|
|
return vdpeth.top.ToString();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[XmlIgnore]
|
|
|
|
|
|
[Category(vDepthCategory)]
|
|
|
|
|
|
[DisplayName("底深")]
|
|
|
|
|
|
[ReadOnly(true)]
|
|
|
|
|
|
[PropertyOrder(2)]
|
|
|
|
|
|
public string bottomStr
|
|
|
|
|
|
{
|
|
|
|
|
|
get
|
|
|
|
|
|
{
|
|
|
|
|
|
if (vdpeth.vid == 0)
|
|
|
|
|
|
return "";
|
|
|
|
|
|
else
|
|
|
|
|
|
return vdpeth.bottom.ToString();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[XmlElement("VerticalDepth")]
|
|
|
|
|
|
[Browsable(false)]
|
|
|
|
|
|
public VerticalDepth vdpeth { get; set; }
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public class RowData
|
|
|
|
|
|
{
|
|
|
|
|
|
[XmlAttribute("Top")]
|
|
|
|
|
|
public double Top { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[XmlAttribute("Bottom")]
|
|
|
|
|
|
public double Bottom { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[XmlElement("RenderStyle")]
|
|
|
|
|
|
public RenderStyleInTrackCommonData RenderStyle { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[XmlElement("DataItem")]
|
|
|
|
|
|
// public List<DataItemInTrack> DataItems { get; set; } = new List<DataItemInTrack>();
|
|
|
|
|
|
public CDataItemInTrackList DataItems { get; set; }
|
|
|
|
|
|
}
|
|
|
|
|
|
[TypeConverter(typeof(CDataItemInTrackListConverter))]
|
|
|
|
|
|
public class CDataItemInTrackList : List<DataItemInTrack>
|
|
|
|
|
|
{
|
|
|
|
|
|
public CDataItemInTrackList() { }
|
|
|
|
|
|
public override string ToString()
|
|
|
|
|
|
{
|
|
|
|
|
|
//string rstr = RefTableId;
|
|
|
|
|
|
//rstr = tableInfoQuery.tableChsName(rstr);
|
|
|
|
|
|
string rstr = "";
|
|
|
|
|
|
|
|
|
|
|
|
foreach (DataItemInTrack item in this)
|
|
|
|
|
|
{
|
|
|
|
|
|
rstr = rstr + ' ' + item.Value;
|
|
|
|
|
|
}
|
|
|
|
|
|
rstr = rstr.TrimStart(' ');
|
|
|
|
|
|
return rstr;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
public class CDataItemInTrackListConverter : CollectionConverter
|
|
|
|
|
|
{
|
|
|
|
|
|
public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (destinationType == typeof(string) && value is CDataItemInTrackList list)
|
|
|
|
|
|
{
|
|
|
|
|
|
return list.ToString(); // 使用自定义 ToString
|
|
|
|
|
|
}
|
|
|
|
|
|
return base.ConvertTo(context, culture, value, destinationType);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public class RenderStyleInTrackCommonData
|
|
|
|
|
|
{
|
|
|
|
|
|
[XmlAttribute("Type")]
|
|
|
|
|
|
public string Type { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[XmlAttribute("LayerBorderColor")]
|
|
|
|
|
|
public string LayerBorderColor { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[XmlAttribute("LayerBorderWidth")]
|
|
|
|
|
|
public string LayerBorderWidth { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[XmlAttribute("BackColor")]
|
|
|
|
|
|
public string BackColor { get; set; }
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public class DataItemInTrack
|
|
|
|
|
|
{
|
|
|
|
|
|
[XmlAttribute("Value")]
|
|
|
|
|
|
public string Value { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[XmlAttribute("RefColId")]
|
|
|
|
|
|
|
|
|
|
|
|
public string RefColId { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public override string ToString()
|
|
|
|
|
|
{
|
|
|
|
|
|
string str = Value??"";
|
|
|
|
|
|
return str;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#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
|
|
|
|
|
|
|
|
|
|
|
|
}
|