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.
87 lines
2.6 KiB
C#
87 lines
2.6 KiB
C#
using GeoSigma.SigmaDrawerElement;
|
|
using SigmaDrawerElement;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Drawing.Design;
|
|
using System.Drawing.Drawing2D;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms.Design;
|
|
using System.Xml.Serialization;
|
|
using GeoSigmaDrawLib;
|
|
|
|
//using static GeoSigmaDrawLib.GeoSigmaWellPoleXY;
|
|
|
|
namespace GeoSigma.SigmaDrawerStyle
|
|
{
|
|
|
|
public class PropertyEditorInTrackCommonData : UITypeEditor
|
|
{
|
|
|
|
public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context)
|
|
{
|
|
return UITypeEditorEditStyle.Modal;
|
|
}
|
|
|
|
public override bool GetPaintValueSupported(ITypeDescriptorContext context)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
public override void PaintValue(PaintValueEventArgs e)
|
|
{
|
|
if (e.Value is DataItems style)
|
|
{
|
|
var g = e.Graphics;
|
|
var rect = e.Bounds;
|
|
}
|
|
}
|
|
|
|
public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
|
|
{
|
|
// if (!(value is List<DataItemInTrack> dataItems))
|
|
if (!(value is CDataItemInTrackList dataItems))
|
|
{
|
|
return value;
|
|
}
|
|
|
|
IWindowsFormsEditorService edSvc = provider?.GetService(typeof(IWindowsFormsEditorService)) as IWindowsFormsEditorService;
|
|
if (edSvc == null)
|
|
{
|
|
return value;
|
|
}
|
|
|
|
if (context.Instance is WellInTrackCommonData inTrack)
|
|
{
|
|
//TrackGetDataSourceID
|
|
|
|
}
|
|
else
|
|
return value;
|
|
|
|
using (var editorForm = new FrmInTrackCommonData(dataItems,inTrack.wellPoleContext.ParentObj) { StartPosition = FormStartPosition.CenterScreen })
|
|
{
|
|
if (edSvc.ShowDialog(editorForm) == DialogResult.OK)
|
|
{
|
|
CDataItemInTrackList datas = new CDataItemInTrackList();
|
|
// List<DataItemInTrack> datas = new List<DataItemInTrack>();
|
|
foreach(var item in editorForm.m_ListValues)
|
|
{
|
|
DataItemInTrack tdata = new DataItemInTrack();
|
|
tdata.Value = item.Value;
|
|
tdata.RefColId = item.RefColId;
|
|
datas.Add(tdata);
|
|
}
|
|
|
|
return datas;
|
|
}
|
|
}
|
|
|
|
return value;
|
|
}
|
|
}
|
|
|
|
}
|