|
|
|
|
|
using System.ComponentModel;
|
|
|
|
|
|
using System.Drawing;
|
|
|
|
|
|
using System.Drawing.Design;
|
|
|
|
|
|
using System.Xml.Serialization;
|
|
|
|
|
|
using GeoSigma.SigmaDrawerStyle;
|
|
|
|
|
|
using GeoSigma.SigmaDrawerStyle.Converter;
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 岩性道
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
[XmlRoot("Pcg")]
|
|
|
|
|
|
[TypeConverter(typeof(PropertySorter))]
|
|
|
|
|
|
public class WellLithologyTrack
|
|
|
|
|
|
{
|
|
|
|
|
|
private const string LithologyTrackCategory = "\t\t岩性道";
|
|
|
|
|
|
private const string TrackObjectSettingsCategory = "\t道内对象设置";
|
|
|
|
|
|
|
|
|
|
|
|
// --- 岩性道 ---
|
|
|
|
|
|
[XmlIgnore]
|
|
|
|
|
|
[Category(LithologyTrackCategory)]
|
|
|
|
|
|
[DisplayName("标题")]
|
|
|
|
|
|
[PropertyOrder(0)]
|
|
|
|
|
|
public string Title
|
|
|
|
|
|
{
|
|
|
|
|
|
get => LithologyTrack.Title.Font.Text;
|
|
|
|
|
|
set => LithologyTrack.Title.Font.Text = value;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[XmlIgnore]
|
|
|
|
|
|
[Category(LithologyTrackCategory)]
|
|
|
|
|
|
[DisplayName("宽度")]
|
|
|
|
|
|
[PropertyOrder(1)]
|
|
|
|
|
|
public double Width
|
|
|
|
|
|
{
|
|
|
|
|
|
get => LithologyTrack.Width;
|
|
|
|
|
|
set => LithologyTrack.Width = value;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[XmlIgnore]
|
|
|
|
|
|
[Category(LithologyTrackCategory)]
|
|
|
|
|
|
[DisplayName("填充")]
|
|
|
|
|
|
[PropertyOrder(2)]
|
|
|
|
|
|
[TypeConverter(typeof(YesNoConverter))]
|
|
|
|
|
|
public bool IsFill
|
|
|
|
|
|
{
|
|
|
|
|
|
get => LithologyTrack.BackFill != 0;
|
|
|
|
|
|
set => LithologyTrack.BackFill = (value ? 1 : 0);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[XmlIgnore]
|
|
|
|
|
|
[Category(LithologyTrackCategory)]
|
|
|
|
|
|
[DisplayName("背景颜色")]
|
|
|
|
|
|
[PropertyOrder(3)]
|
|
|
|
|
|
[Editor(typeof(PropertyEditorColor), typeof(UITypeEditor))]
|
|
|
|
|
|
public Color BackgroundColor
|
|
|
|
|
|
{
|
|
|
|
|
|
get => ColorTranslator2.FromHtml(LithologyTrack.BackColor);
|
|
|
|
|
|
set => LithologyTrack.BackColor = ColorTranslator2.ToHtml(value);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[XmlIgnore]
|
|
|
|
|
|
[Category(LithologyTrackCategory)]
|
|
|
|
|
|
[DisplayName("道头字体")]
|
|
|
|
|
|
[PropertyOrder(4)]
|
|
|
|
|
|
[Editor(typeof(PropertyEditorWellFontEx), typeof(UITypeEditor))]
|
|
|
|
|
|
public WellFontEx HeaderFont
|
|
|
|
|
|
{
|
|
|
|
|
|
get => LithologyTrack.Title.Font;
|
|
|
|
|
|
set => LithologyTrack.Title.Font = value;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// --- 道内对象设置 ---
|
|
|
|
|
|
[XmlIgnore]
|
|
|
|
|
|
[Category(TrackObjectSettingsCategory)]
|
|
|
|
|
|
[DisplayName("油气性宽度百分比")]
|
|
|
|
|
|
[PropertyOrder(5)]
|
|
|
|
|
|
public double OilGasWidthRatio
|
|
|
|
|
|
{
|
|
|
|
|
|
get => LithologyTrack.OilOccurenceColumnWidth;
|
|
|
|
|
|
set => LithologyTrack.OilOccurenceColumnWidth = value;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[XmlIgnore]
|
|
|
|
|
|
[Category(TrackObjectSettingsCategory)]
|
|
|
|
|
|
[DisplayName("单位符号厚度")]
|
|
|
|
|
|
[PropertyOrder(6)]
|
|
|
|
|
|
public double UnitSymbolThickness
|
|
|
|
|
|
{
|
|
|
|
|
|
get => LithologyTrack.BaseHeight;
|
|
|
|
|
|
set => LithologyTrack.BaseHeight = value;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[XmlIgnore]
|
|
|
|
|
|
[Category(TrackObjectSettingsCategory)]
|
|
|
|
|
|
[DisplayName("单个符号充填")]
|
|
|
|
|
|
[PropertyOrder(7)]
|
|
|
|
|
|
[TypeConverter(typeof(YesNoConverter))]
|
|
|
|
|
|
public bool IsSingleSymbolFill
|
|
|
|
|
|
{
|
|
|
|
|
|
get => LithologyTrack.SingleLitho;
|
|
|
|
|
|
set => LithologyTrack.SingleLitho = value;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[XmlIgnore]
|
|
|
|
|
|
[Category(TrackObjectSettingsCategory)]
|
|
|
|
|
|
[DisplayName("是否显示岩性")]
|
|
|
|
|
|
[PropertyOrder(8)]
|
|
|
|
|
|
[TypeConverter(typeof(YesNoConverter))]
|
|
|
|
|
|
public bool IsShowLithology
|
|
|
|
|
|
{
|
|
|
|
|
|
get => !LithologyTrack.NotShowLitho;
|
|
|
|
|
|
set => LithologyTrack.NotShowLitho = !value;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[XmlIgnore]
|
|
|
|
|
|
[Category(TrackObjectSettingsCategory)]
|
|
|
|
|
|
[DisplayName("显示岩性颜色")]
|
|
|
|
|
|
[PropertyOrder(9)]
|
|
|
|
|
|
[TypeConverter(typeof(YesNoConverter))]
|
|
|
|
|
|
public bool IsShowLithologyColor
|
|
|
|
|
|
{
|
|
|
|
|
|
get => !LithologyTrack.NoneColorLitho;
|
|
|
|
|
|
set => LithologyTrack.NoneColorLitho = !value;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[XmlIgnore]
|
|
|
|
|
|
[Category(TrackObjectSettingsCategory)]
|
|
|
|
|
|
[DisplayName("显示含油气性")]
|
|
|
|
|
|
[PropertyOrder(10)]
|
|
|
|
|
|
[TypeConverter(typeof(YesNoConverter))]
|
|
|
|
|
|
public bool IsShowOilGasProperty
|
|
|
|
|
|
{
|
|
|
|
|
|
get => LithologyTrack.IndependOilOccurenceColumn;
|
|
|
|
|
|
set => LithologyTrack.IndependOilOccurenceColumn = value;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[XmlIgnore]
|
|
|
|
|
|
[Category(TrackObjectSettingsCategory)]
|
|
|
|
|
|
[DisplayName("控制岩油性宽度")]
|
|
|
|
|
|
[PropertyOrder(11)]
|
|
|
|
|
|
[TypeConverter(typeof(YesNoConverter))]
|
|
|
|
|
|
public bool IsControlOilGasWidth
|
|
|
|
|
|
{
|
|
|
|
|
|
get => LithologyTrack.LithoDependWidth;
|
|
|
|
|
|
set => LithologyTrack.LithoDependWidth = value;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[XmlIgnore]
|
|
|
|
|
|
[Category(TrackObjectSettingsCategory)]
|
|
|
|
|
|
[DisplayName("合油气性在道右边")]
|
|
|
|
|
|
[PropertyOrder(12)]
|
|
|
|
|
|
[TypeConverter(typeof(YesNoConverter))]
|
|
|
|
|
|
public bool IsOilGasOnRight
|
|
|
|
|
|
{
|
|
|
|
|
|
get => !LithologyTrack.LeftLitho;
|
|
|
|
|
|
set => LithologyTrack.LeftLitho = !value;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[XmlAttribute("Version")]
|
|
|
|
|
|
[Browsable(false)]
|
|
|
|
|
|
public string Version { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[XmlElement("WellTrack")]
|
|
|
|
|
|
[Browsable(false)]
|
|
|
|
|
|
public WellTrackWellTrack LithologyTrack { 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
|
|
|
|
|
|
}
|