You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

179 lines
5.6 KiB
C#

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
}