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.

5633 lines
202 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

// <copyright file="UCDrawEdit.cs" company="PlaceholderCompany">
// Copyright (c) PlaceholderCompany. All rights reserved.
// </copyright>
using DevExpress.Utils.Extensions;
using GeoSigma.UCDraw.Tool;
namespace PcgDrawR
{
using DevExpress.Utils.Menu;
using DevExpress.Utils.Svg;
using DevExpress.XtraBars;
using DevExpress.XtraBars.Docking;
using DevExpress.XtraBars.Ribbon;
using DevExpress.XtraEditors;
using DevExpress.XtraGrid;
using DrawerInterface;
using GeoSigma.SigmaDrawerStyle;
using GeoSigma.SigmaDrawerUtil;
using GeoSigma.UCDraw;
using GeoSigma.UCDraw.UC;
using GeoSigma.UCDraw.WellAndSection;
using GeoSigmaDrawLib;
using InterfaceWorkAreaData;
using SigmaDrawerElement;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Configuration;
using System.Data.SqlTypes;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Windows.Forms;
using System.Xml.Linq;
using UCDraw;
using WellWorkDataUI;
using WorkData;
/// <summary>
/// The NewFileSavedHandler.
/// </summary>
/// <param name="fileFullName">The fileFullName<see cref="string"/>.</param>
public delegate void NewFileSavedHandler(string fileFullName);
/// <summary>
/// The FileClosedEventHandler.
/// </summary>
/// <param name="sender">The sender<see cref="object"/>.</param>
/// <param name="e">The e<see cref="EventArgs"/>.</param>
public delegate void FileClosedEventHandler(object sender, EventArgs e);
///// <summary>
///// 显示VTK窗口
///// </summary>
///// <param name="sender">The sender.</param>
///// <param name="e">The <see cref="ShowVtkEventArgs"/> instance containing the event data.</param>
//public delegate void ShowVtkEventHandler(object sender, ShowVtkEventArgs e);
///// <summary>
///// 关闭VTK窗口
///// </summary>
///// <param name="vtkEdit">The VTK edit.</param>
//public delegate void CloseVtkHandler(UCVtkEdit vtkEdit);
/// <summary>
/// 图层选择通知代理(带状态)
/// </summary>
/// <param name="layers">图层</param>
/// <param name="status">状态</param>
public delegate void LayerSelectedNotifyWithStatusHandler(string layers, LayerStatus status);
/// <summary>
/// 通知上层打开一个新文件
/// </summary>
/// <param name="filePath">文件路径</param>
public delegate void OpenNewFileHandler(string filePath);
/// <summary>
/// Ribbon风格图形编辑.
/// </summary>
public partial class WellPoleUCDrawEdit : XtraUserControl // DevExpress.XtraBars.Ribbon.RibbonForm
{
private BarButtonItem btnSectionAddWellMap;
private DevExpress.XtraBars.BarStaticItem info1;
public delegate void SaveFileToWorkArea(string fileName, WellPoleUCDrawEdit wellViewDoc); //定义保存到工区的委托类型
public event SaveFileToWorkArea OnSaveFileToWorkArea; //定义委托
/// <summary>
/// Defines the NewFileSavedEvent.
/// </summary>
public NewFileSavedHandler NewFileSavedEvent { get; set; }
/// <summary>
/// Defines the FileClosedEvent.
/// </summary>
public FileClosedEventHandler FileClosedEvent { get; set; }
public bool bMapLibDoc { get; set; }
/// <summary>
/// Defines the ShowStatisticResult.
/// </summary>
public event EventHandler<EventArgs> ShowStatisticResult;
/// <summary>
/// Defines the FileModifiedEvent.
/// </summary>
public event FileModifyEventHandle FileModifiedEvent;
/// <summary>
/// 打开新文件
/// </summary>
public event OpenNewFileHandler OpenNewFile;
/// <summary>
/// 2维图层选择通知(带状态)
/// </summary>
public LayerSelectedNotifyWithStatusHandler LayerSelectedNotify2dWithStatus { get; set; }
/// <summary>
/// Defines the layerPanel.
/// </summary>
private DockPanel layerPanel;
/// <summary>
/// Gets or sets the main mesh property.
/// </summary>
/// <value>
/// The main mesh property.
/// </value>
public SigmaDrawerElement.DrawerElementProperty MainMeshProperty { get; set; } = null;
/// <summary>
/// Gets or sets the LayerPanel
/// 图层面板.
/// </summary>
//public DockPanel LayerPanel
//{
// get
// {
// return layerPanel;
// }
// set
// {
// layerPanel = value;
// try
// {
// if (!object.ReferenceEquals(value, dcpLayer))
// {
// if (dcpLayer.Parent.Controls.Count == 1)
// {
// Controls.Remove(dcpLayer.Parent);
// }
// else
// {
// dockManager1.RemovePanel(dcpLayer);
// }
// }
// //else
// //{
// // this.dcpLayer.Visibility = DockVisibility.Visible;
// //}
// }
// finally
// {
// }
// }
//}
private DockPanel propertyPanel;
/// <summary>
/// Gets or sets the PropertyPanel
/// 属性面板.
/// </summary>
public DockPanel PropertyPanel
{
get
{
return propertyPanel;
}
set
{
propertyPanel = value;
if (!object.ReferenceEquals(value, dcpProperty))
{
if (dcpProperty.Parent.Controls.Count == 1)
{
Controls.Remove(dcpProperty.Parent);
}
else if (dcpProperty.Parent.Controls.Count == 2
&& dcpProperty.Parent.Controls.Contains(dcpCreate))
{
dockManager1.RemovePanel((DockPanel)dcpProperty.Parent);
//Controls.Remove(dcpProperty.Parent);
}
else
{
dockManager1.RemovePanel(dcpProperty);
}
}
}
}
private DockPanel elePropertyPanel;
public DockPanel ElePropertyPanel
{
get
{
return elePropertyPanel;
}
set
{
elePropertyPanel = value;
if (!object.ReferenceEquals(value, elePropertyPanel))
{
if (elePropertyPanel.Parent.Controls.Count == 1)
{
Controls.Remove(dcpCreate.Parent);
}
else if (dcpCreate.Parent.Controls.Count == 2
&& dcpCreate.Parent.Controls.Contains(dcpCreate))
{
dockManager1.RemovePanel((DockPanel)dcpCreate.Parent);
//Controls.Remove(dcpProperty.Parent);
}
else
{
dockManager1.RemovePanel(dcpCreate);
}
}
}
}
/// <summary>
/// Defines the statisticPanel.
/// </summary>
// private DockPanel statisticPanel;
/// <summary>
/// Gets or sets the StatisticPanel
/// 统计面板.
/// </summary>
//public DockPanel StatisticPanel
//{
// get
// {
// return statisticPanel;
// }
// set
// {
// statisticPanel = value;
// if (!object.ReferenceEquals(dcpStatistic, value))
// {
// if (dcpStatistic.Parent.Controls.Count == 1)
// {
// Controls.Remove(dcpStatistic.Parent);
// }
// else
// {
// dockManager1.RemovePanel(dcpStatistic);
// }
// }
// //else
// //{
// // this.dcpStatistic.Visibility = DockVisibility.Visible;
// //}
// }
//}
/// <summary>
/// Defines the drawerStatusBar.
/// </summary>
private RibbonStatusBar drawerStatusBar;
/// <summary>
/// Gets or sets the DrawerStatusBar
/// 状态条,显示鼠标位置等提示信息.
/// </summary>
public RibbonStatusBar DrawerStatusBar
{
get
{
return drawerStatusBar;
}
set
{
drawerStatusBar = value;
}
}
/// <summary>
/// Gets the DrawerView
/// 主绘图控件.
/// </summary>
public WellPoleMainView DrawerView => mainView;
/// <summary>
/// Gets or sets the LayerControl
/// 树控件.
/// </summary>
public LayerTree LayerControl { get; set; }
/// <summary>
/// Gets or sets the PropertyControl
/// 属性控件.
/// </summary>
public WellPolePanelProperty PropertyWellControl { get; set; }
public PanelEleProperty PropertyEleControl { get; set; }
private PanelGraph panelGraph = null;
/// <summary>
/// 数据成图控件
/// </summary>
public PanelGraph GraphControl
{
get
{
return panelGraph;
}
}
/// <summary>
/// Gets or sets the StatisticControl
/// 统计数据控件.
/// </summary>
// public PanelControl StatisticControl { get; set; }
/// <summary>
/// Gets or sets the LayerSelected
/// 图层选择事件.
/// </summary>
public EventHandler<PropertyChangedEventArgs> LayerSelected
{
get
{
return DrawerView?.LayerSelected;
}
set
{
if (DrawerView != null)
{
DrawerView.LayerSelected = value;
}
}
}
/// <summary>
/// Gets or sets the ZColorWidth
/// 色块尺寸,当散点显示为色块时使用此属性。.
/// </summary>
public double ZColorWidth { get; set; } = 25;
/// <summary>
/// Gets or sets the FileFullName
/// 文件全路径.
/// </summary>
public string FileFullName
{
get
{
return mainView.FileFullName;
}
set
{
mainView.FileFullName = value;
}
}
/// <summary>
/// 等值线图层名
/// </summary>
public string GridContourLayer { get; set; } = "等值线";
/// <summary>
/// 断层图层名
/// </summary>
public string GridFaultLayer { get; set; } = "断层";
/// <summary>
/// 网格编辑控制点图层
/// </summary>
public string ControlPointLayer { get; set; } = string.Empty;
/// <summary>
/// 网格编辑器其它线类图层
/// </summary>
public string OtherLineLayer { get; set; } = string.Empty;
/// <summary>
/// 三维挖空图层
/// </summary>
public string HoleLayer { get; set; } = string.Empty;
/// <summary>
/// 范围边界
/// </summary>
public string BorderControlLayer { get; set; } = string.Empty;
private string popupTreeType = string.Empty;
/// <summary>
/// Gets or sets a value indicating whether EnableMeshPack.
/// </summary>
public bool EnableMeshPack
{
get
{
return mainView.EnableMeshPack;
}
set
{
mainView.EnableMeshPack = value;
if (bbtnMeshPack.Down != mainView.EnableMeshPack)
{
bbtnMeshPack.Down = mainView.EnableMeshPack;
}
}
}
/// <summary>
/// Gets or sets a value indicating whether StatusBarVisible
/// Gets or sets 状态条是否可见..
/// </summary>
public bool StatusBarVisible
{
get
{
return ribbonStatusBar1.Visible;
}
set
{
ribbonStatusBar1.Visible = value;
}
}
/// <summary>
/// Gets or sets a value indicating whether ViewGroupVisible
/// 视图工具组是否可见.
/// </summary>
public bool ViewGroupVisible
{
get
{
return rgpViews.Visible;
}
set
{
rgpViews.Visible = value;
}
}
/// <summary>
/// Gets or sets the DrawerGotFocus
/// 获得焦点事件.
/// </summary>
public EventHandler<EventArgs> DrawerGotFocus
{
get
{
if (mainView != null)
{
return mainView.DrawerGotFocus;
}
return null;
}
set
{
if (mainView != null)
{
mainView.DrawerGotFocus = value;
}
}
}
/// <summary>
/// Gets the RibbonDraw
/// 绘图工具RibbonPage.
/// </summary>
public RibbonPage RibbonDraw
{
get
{
return ribbonPage1;
}
}
/// <summary>
/// Defines the mainView.
/// </summary>
private WellPoleMainView mainView = null;
/// <summary>
/// Defines the layerPopNode.
/// </summary>
private string layerPopNode = string.Empty;
/// <summary>
/// Gets or sets a value indicating whether StatisticPanelVisible
/// get/set 统计面板的可见性.
/// </summary>
/// <summary>
/// Gets or sets a value indicating whether PropertyPanelVisible
/// get/set 属性面板可见性.
/// </summary>
public bool PropertyPanelVisible
{
get
{
return PropertyPanel.Visibility == DockVisibility.Visible;
}
set
{
try
{
if (value == true)
{
if (bckiPanelProperty.Checked != true)
{
bckiPanelProperty.Checked = true;
return;
}
this.PropertyPanel.Index = 0;
ElePropertyPanel.Visibility = DockVisibility.Visible;
PropertyPanel.Visibility = DockVisibility.Visible;
this.PropertyPanel.ParentPanel.ActiveChild = this.PropertyPanel;
}
else
{
ElePropertyPanel.Visibility = DockVisibility.Hidden;
PropertyPanel.Visibility = DockVisibility.Hidden;
if (bckiPanelProperty.Checked == true)
{
bckiPanelProperty.Checked = false;
}
}
}
catch
{
}
}
}
private bool batchSetZColorFlag;
/// <summary>
/// Gets or sets a value indicating whether [batch set z color flag].
/// </summary>
/// <value>
/// <c>true</c> if [batch set z color flag]; otherwise, <c>false</c>.
/// </value>
public bool BatchSetZColorFlag
{
get
{
return batchSetZColorFlag;
}
set
{
this.btnSetXyzClore.Enabled = value;
batchSetZColorFlag = value;
}
}
/// <summary>
/// 将全部内容当前分辨率保存到指定输出文件.
/// </summary>
/// <param name="outputFile">The output file.</param>
/// <param name="left">左</param>
/// <param name="top">上</param>
/// <param name="right">右</param>
/// <param name="bottom">下</param>
public void Draw2Image(string outputFile, double left = 0, double top = 0, double right = 0, double bottom = 0)
{
mainView?.Draw2Image(outputFile, left, top, right, bottom);
}
private BarManager bmDrawer;
private string layoutFilePath;
/// <summary>
/// Initializes a new instance of the <see cref="WellPoleUCDrawEdit"/> class.
/// </summary>
public WellPoleUCDrawEdit(GeoSigmaXY.eViewType vType = GeoSigmaXY.eViewType.plane)
{
InitializeComponent();
InitRibbonControls();
bMapLibDoc = false;
SetStatusWorkAreaName(Config.ProjectPath);
// 测试代码,注册一下需要特殊处理的类型
//var lazyAction = new Lazy<object>(() =>
//{
// WellSerializerDefaults.RegisterDefaults();
// return null;
//});
// var lazyValue = lazyAction.Value;
//this.LayerSelectedNotify2dWithStatus += (layers, status) =>
//{
// // 2维图层树更新操作
// var layerTree = LayerControl.TreeControl;
// layerTree.SuspendLayout();
// var layerItems = layers.Split(new[] { ";" }, StringSplitOptions.RemoveEmptyEntries).ToList();
// var fullNodes = TreeViewHelper.TraverseTreeView(layerTree);
// foreach (var layerItem in fullNodes)
// {
// if (layerItem.Text == "图层")
// {
// continue;
// }
// if (layerItems.Contains(layerItem.FullPath))
// {
// LayerControl.SetNodeStatus(new List<string>() { LayerControl.GetLayerName(layerItem) },
// status);
// }
// }
// if (layerItems.Count > 0)
// {
// LayerControl_2dNodeViewToggleEvent(layers, status);
// }
//};
this.layoutFilePath = Path.Combine(Application.StartupPath, "WellPoleLayout.xml");
this.initializeDrawerBar();
this.LoadDrawerToolbar();
//LoadCustomMenu();
mainView = new WellPoleMainView(vType); // GeoSigmaXY.eViewType.wellpole);
mainView.ReloadFileEvent += RestoreState;
//LayerControl = mainView.LayerTreeControl;
PropertyWellControl = mainView.PropertyWellControl;
PropertyEleControl = mainView.PropertyEleControl;
// 由于属性处理多标签页中,当选中图元或图层时,右侧当前激活的可能不是属性标签,我们这时需要手工去激活一下属性标签页
//PropertyControl.ElementChanged += PropertyControl_ElementChanged;
//PropertyControl.LayerChanged += PropertyControl_LayerChanged;
DrawerView.DrawerGotFocus += (object drawer, EventArgs ea) =>
{
switchPropertyPanel();
};
// StatisticControl = mainView.StaticsControl;
panelGraph = new PanelGraph();
panelGraph.BeforeGridding += PanelGraph_BeforeGridding;
panelGraph.GriddingStarted += PanelGraph_GriddingStarted;
panelGraph.GriddingFinished += PanelGraph_GriddingFinished;
panelGraph.ImportStarted += PanelGraph_ImportStarted;
panelGraph.ImportFinished += PanelGraph_ImportFinished;
//this.LayerControl.NodeViewToggleEvent += LayerControl_2dNodeViewToggleEvent;
// drawerStatusBar = this.ribbonMain.StatusBar;
mainView.ViewerCommandStart += OnCommandStart;
mainView.ViewerCommandFinish += OnCommandFinish;
mainView.ShowStatisticResult += MainView_ShowStatisticResult;
mainView.WaitProgressEvent += DrawerWaitProgress;
InitToolTip();
// LayerPanel = this.dcpLayer;
PropertyPanel = this.dcpProperty;
ElePropertyPanel = this.dcpCreate;
// StatisticPanel = dcpStatistic;
//Controls.Remove(dcpProperty.Parent);
//dockManager1.RemovePanel(dcpProperty);
//dockManager1.RemovePanel((DockPanel)dcpProperty.Parent);
WindowSync.Down = DrawerConfig.Instance.FindConfigValue<bool>("MultiView", "OnSynchronize", false);
}
void InitRibbonControls()
{
popupMenuSetWellDistance = new PopupMenu(components);
popupMenuSetWellDistance.Name = "popupMenuSetWellDistance";
popupMenuSetWellDistance.Ribbon = ribbonMain;
btnSetWellRealDistance = new BarButtonItem();
btnSetWellRealDistance.Caption = "井口实际距离";
btnSetWellRealDistance.Id = 231;
btnSetWellRealDistance.Name = "btnSetWellRealDistance";
btnSetWellRealDistance.ItemClick += btnSetWellRealDistance_ItemClick;
btnSetWellAvgDistance = new BarButtonItem();
btnSetWellAvgDistance.Caption = "平均距离";
btnSetWellAvgDistance.Id = 232;
btnSetWellAvgDistance.Name = "btnSetWellAvgDistance";
btnSetWellAvgDistance.ItemClick += btnSetWellAvgDistance_ItemClick;
btnSetWellDistance = new BarButtonItem();
btnSetWellDistance.ActAsDropDown = true;
btnSetWellDistance.ButtonStyle = BarButtonStyle.DropDown;
btnSetWellDistance.Caption = "设置井间距离";
btnSetWellDistance.DropDownControl = popupMenuSetWellDistance;
btnSetWellDistance.Id = 230;
btnSetWellDistance.Name = "btnSetWellDistance";
btnSectionAddWellMap = new BarButtonItem();
btnSectionAddWellMap.Caption = "添加井位图";
btnSectionAddWellMap.Id = 233;
btnSectionAddWellMap.Name = "btnSectionAddWellMap";
btnSectionAddWellMap.ItemClick += btnSectionAddWellMap_ItemClick;
((System.ComponentModel.ISupportInitialize)popupMenuSetWellDistance).BeginInit();
((System.ComponentModel.ISupportInitialize)popupMenuSetWellDistance).EndInit();
this.rpgFile.ItemLinks.Add(this.btnPrintMap);
this.rpgFile.ItemLinks.Add(this.btnSaveMain);
this.rpgFile.ItemLinks.Add(this.btnExportImg);
this.rpgFile.ItemLinks.Add(this.btnTakeDataMain);
this.ribbonPageGroup1.ItemLinks.Add(this.btnUndo);
this.ribbonPageGroup1.ItemLinks.Add(this.btnRedo);
this.ribbonPageGroup1.ItemLinks.Add(this.btnCopy, true);
this.ribbonPageGroup1.ItemLinks.Add(this.btnCut);
this.ribbonPageGroup1.ItemLinks.Add(this.btnDeleteMain);
this.ribbonPageGroup1.ItemLinks.Add(this.btnPaste);
this.ribbonPageGroup1.ItemLinks.Add(this.btnSearchMain, true);
this.ribbonPageGroup1.ItemLinks.Add(this.btnSelectMain);
this.ribbonPageGroup1.ItemLinks.Add(this.btnImageCutMain);
this.rgpViews.ItemLinks.Add(this.bckiPanelLayer);
this.rgpViews.ItemLinks.Add(this.bckiPanelStatistic);
this.rgpViews.ItemLinks.Add(this.bckiPanelProperty);
this.ribbonPageGroup3.ItemLinks.Add(this.btnZoomIn, true);
this.ribbonPageGroup3.ItemLinks.Add(this.btnZoomPan);
this.ribbonPageGroup3.ItemLinks.Add(this.btnRefresh);
this.ribbonPageGroup3.ItemLinks.Add(this.btnZoomOut);
this.ribbonPageGroup3.ItemLinks.Add(this.btnZoomAll);
this.ribbonPageGroup3.ItemLinks.Add(this.btnShowCross);
this.ribbonPageGroup3.ItemLinks.Add(this.btnZoomWindow);
this.ribbonPageGroup3.ItemLinks.Add(this.btnZoomBack);
this.ribbonPageGroup3.ItemLinks.Add(this.btnHighLight);
this.rpgDrawElement.ItemLinks.Add(this.btnToolDefault);
this.rpgDrawElement.ItemLinks.Add(this.btnToolSelect);
this.rpgDrawElement.ItemLinks.Add(this.btnAddFault);
this.rpgDrawElement.ItemLinks.Add(this.btnDrawCurve);
this.rpgDrawElement.ItemLinks.Add(this.btnDrawText);
this.rpgDrawElement.ItemLinks.Add(this.btiWellGroup);
this.rpgDrawElement.ItemLinks.Add(this.btnDrawPoint);
this.rpgDrawElement.ItemLinks.Add(this.btnDrawCrossPointMain);
this.rpgDrawElement.ItemLinks.Add(this.btnDrawProportion);
this.rpgDrawElement.ItemLinks.Add(this.btnDrawNetFrame);
this.rpgDrawElement.ItemLinks.Add(this.btnDrawShape);
this.rpgCurveOperate.ItemLinks.Add(this.btnCurveJoin);
this.rpgCurveOperate.ItemLinks.Add(this.btnCurveClose);
this.rpgCurveOperate.ItemLinks.Add(this.btnCurveReverse);
this.rpgCurveOperate.ItemLinks.Add(this.btnCurveTrim);
this.rpgCurveOperate.ItemLinks.Add(this.btnCurveNameMove);
this.rpgCurveOperate.ItemLinks.Add(this.btnCurveProcessMain);
this.rpgCurveOperate.ItemLinks.Add(this.btnCurveBreakMain);
this.rpgCurveOperate.ItemLinks.Add(this.btnCurveExtend);
this.rpgCurveOperate.ItemLinks.Add(this.btnCurveFill);
this.rpgCurveOperate.ItemLinks.Add(this.MergeCurve);
this.rpgCurveOperate.ItemLinks.Add(this.bbtnJoinCurves);
this.rpgSetting.ItemLinks.Add(this.btnProjection);
this.rpgSetting.ItemLinks.Add(this.btnDisplayScale);
this.rpgSetting.ItemLinks.Add(this.btnSymbolManager);
this.rpgSetting.ItemLinks.Add(this.btnAntiAlias);
this.rpgSetting.ItemLinks.Add(btnSetSymbol);
this.wellPolePage.ItemLinks.Add(this.barButtonGroup3);
this.wellPolePage.ItemLinks.Add(this.extendCenter);
this.wellPolePage.ItemLinks.Add(this.extendWidth);
this.wellPolePage.ItemLinks.Add(this.LockWellHead);
this.wellPolePage.ItemLinks.Add(this.btnBendLinkWellOut);
this.wellPolePage.ItemLinks.Add(this.btnReadObjPropsData);
this.ribbonPageGroupWellSection.ItemLinks.Add(this.btnItemSmooth);
this.ribbonPageGroupWellSection.ItemLinks.Add(this.btnItemFlatternStrata);
this.ribbonPageGroupWellSection.ItemLinks.Add(this.btnSectionWellStyle);
this.ribbonPageGroupWellSection.ItemLinks.Add(this.btnLinkAllLayer);
this.ribbonPageGroupWellSection.ItemLinks.Add(this.btnCutAllLinkLayer);
this.ribbonPageGroupWellSection.ItemLinks.Add(this.btnBendLinkStyle);
this.ribbonPageGroupWellSection.ItemLinks.Add(this.btnBendsLeftExtend, true);
this.ribbonPageGroupWellSection.ItemLinks.Add(this.btnBendsRightExtend);
this.ribbonPageGroupWellSection.ItemLinks.Add(this.btnSectionAddFault, true);
this.ribbonPageGroupWellSection.ItemLinks.Add(this.btnSectionAddDepthRuler);
this.ribbonPageGroupWellSection.ItemLinks.Add(this.btnSectionAddWellMap);
this.ribbonPageGroupWellSection.ItemLinks.Add(this.btnBendLayerLine, true);
this.ribbonPageGroupWellSection.ItemLinks.Add(this.btnFaultLine);
this.ribbonPageGroupWellSection.ItemLinks.Add(this.btnSetWellDistance);
this.popupMenuFaultLine.ItemLinks.Add(this.btnFaultLineAddPoint);
this.popupMenuFaultLine.ItemLinks.Add(this.btnFaultLineDeletPoint);
this.popupMenuFlatternStrata.ItemLinks.Add(this.btnFlatternWellTop);
this.popupMenuFlatternStrata.ItemLinks.Add(this.btnFlatternWellBottom);
this.popupMenuFlatternStrata.ItemLinks.Add(this.btnFlatternRealDepth);
this.popupMenuFlatternStrata.ItemLinks.Add(this.btnFlatternLayerTop);
this.popupMenuFlatternStrata.ItemLinks.Add(this.btnFlatternLayerBottom);
this.popupMenuSectionWellStyle.ItemLinks.Add(this.btnSectionWellFullStyle);
this.popupMenuSectionWellStyle.ItemLinks.Add(this.btnSectionWellDividerStyle);
this.popupMenuSectionWellStyle.ItemLinks.Add(this.btnSectionWellSampleStyle);
this.popupMenuBendLinkStyle.ItemLinks.Add(this.btnBendlinkOut);
this.popupMenuBendLinkStyle.ItemLinks.Add(this.btnBendLinkCenter);
this.popupMenuBendLinkStyle.ItemLinks.Add(this.btnBendLinkStratum);
this.popupMenuBendLinkStyle.ItemLinks.Add(this.btnBendlinkLayer);
this.popupMenuBendLeftExtend.ItemLinks.Add(this.btnLeftExtendCancel);
this.popupMenuBendLeftExtend.ItemLinks.Add(this.btnLeftExtendHorizon);
this.popupMenuBendLeftExtend.ItemLinks.Add(this.btnLeftExtendTrend);
this.popupMenuRightExtend.ItemLinks.Add(this.btnRightExtendCancel);
this.popupMenuRightExtend.ItemLinks.Add(this.btnRightExtendHorizon);
this.popupMenuRightExtend.ItemLinks.Add(this.btnRightExtendTrend);
this.popupMenuBendLayerLine.ItemLinks.Add(this.btnBendLayerLineAddPoint);
this.popupMenuBendLayerLine.ItemLinks.Add(this.btnBendLayerLineDeletePoint);
this.ppmSave.ItemLinks.Add(this.btnSave);
this.ppmSave.ItemLinks.Add(this.btnSaveAs);
this.ppmSave.ItemLinks.Add(this.btnSaveWorkArea);
this.popupMenuSetWellDistance.ItemLinks.Add(this.btnSetWellRealDistance);
this.popupMenuSetWellDistance.ItemLinks.Add(this.btnSetWellAvgDistance);
// this.ribbonPageGroupSetSymbol.ItemLinks.Add(btnSetSymbol);
this.ribbonStatusBar1.ItemLinks.Add(this.statusXY,true);
//info1 = new BarStaticItem();
//info1.Id = 1001;
//info1.Name = "Info1";
//this.ribbonStatusBar1.ItemLinks.Add(this.info1,true);
//info1.Caption = "当前工区:";
}
public void SetStatusWorkAreaName(string name)
{
// info1.Caption = "当前工区:" + name;
}
private void switchPropertyPanel()
{
if (this.InvokeRequired)
{
this.Invoke(new System.Windows.Forms.MethodInvoker(delegate
{
switchPropertyPanel();
return;
}));
}
else
{
if (this.PropertyPanel.Visibility == DockVisibility.Visible //图元属性面板切换到井属性面板
&& this.PropertyPanel.ParentPanel != null
&& this.PropertyPanel.ParentPanel.ActiveChild != null
&& (this.DrawerView.ViewControl.Drawer.ActiveTool == DrawToolType.SelectWellSection || this.DrawerView.ViewControl.Drawer.ActiveTool == DrawToolType.SelectWellPole)
&& (this.PropertyPanel.ParentPanel.ActiveChild == this.ElePropertyPanel //this.dcpCreate
|| this.PropertyPanel.ParentPanel.ActiveChild.Name == "dockElePanel"))
{
this.PropertyPanel.ParentPanel.Tabbed = true;
if (this.PropertyPanel.ParentPanel.ActiveChild != this.PropertyPanel)
{
this.PropertyPanel.ParentPanel.SuspendLayout();
this.PropertyPanel.ParentPanel.ActiveChild = this.PropertyPanel;
this.PropertyPanel.ParentPanel.ResumeLayout();
}
}
if (this.ElePropertyPanel.Visibility == DockVisibility.Visible //井属性面板切换到图元属性面板
&& this.PropertyPanel.ParentPanel != null
&& this.PropertyPanel.ParentPanel.ActiveChild != null
&& this.DrawerView.ViewControl.Drawer.ActiveTool == DrawToolType.Select
&& (this.PropertyPanel.ParentPanel.ActiveChild == this.PropertyPanel //this.dcpCreate
|| this.PropertyPanel.ParentPanel.ActiveChild.Name == "dckPanelProperty"))
{
this.PropertyPanel.ParentPanel.Tabbed = true;
if (this.PropertyPanel.ParentPanel.ActiveChild != this.ElePropertyPanel)
{
this.PropertyPanel.ParentPanel.SuspendLayout();
this.PropertyPanel.ParentPanel.ActiveChild = this.ElePropertyPanel;
this.PropertyPanel.ParentPanel.ResumeLayout();
}
}
}
}
//private void PropertyControl_ElementChanged(object sender, EventArgs e)
//{
// ActivePropertyPanel();
//}
//private void PropertyControl_LayerChanged(object sender, EventArgs e)
//{
// // 点击图层时,应该不切换到属性页面:
// // ActivePropertyPanel();
//}
private void ActivePropertyPanel()
{
// 先暂时不处理
return;
if (!PropertyPanelVisible)
{
return;
}
var parentPanel = this.PropertyPanel.ParentPanel;
if (parentPanel != null)
{
var childrens = parentPanel.Controls.OfType<DockPanel>().ToList();
if (parentPanel.ActiveChild != PropertyPanel)
{
this.PropertyPanel.ParentPanel.ActiveChild = this.PropertyPanel;
}
}
}
private void PanelGraph_BeforeGridding(object sender, CancelEventArgs e)
{
if (mainView.ViewControl.Geo.GetElementCount() > 0)
{
DialogResult result = MessageBox.Show(this, "该操作将覆盖当前图件,是否同意?"
, "确认覆盖", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
e.Cancel = (result != DialogResult.Yes);
}
else
{
e.Cancel = false;
}
}
private void PanelGraph_ImportFinished(object sender)
{
DrawerWaitProgress(this, e: new ProgressEventArgs("数据导入中...", 0, false));
}
private void PanelGraph_ImportStarted(object sender)
{
DrawerWaitProgress(this, e: new ProgressEventArgs("数据导入中...", 0, true));
}
private void PanelGraph_GriddingStarted(object sender, string filePath)
{
DrawerWaitProgress(this, e: new ProgressEventArgs("正在成图...", 0, true));
}
private void PanelGraph_GriddingFinished(object sender, string filePath)
{
DrawerWaitProgress(this, e: new ProgressEventArgs("正在成图...", 0, false));
mainView.ClearAll();
mainView.ViewControl.Geo.FileMerge(filePath);
mainView.LoadLayerTree();
mainView.ToolViewAll();
mainView.ViewControl.Redraw();
TryDeleteFile(filePath);
}
private void TryDeleteFile(string filePath)
{
try
{
File.Delete(filePath);
}
catch (IOException ex)
{
Debug.WriteLine($"删除 {filePath} 失败: {ex.Message}");
}
}
private Bar barDrawerBase;
private Bar barCurveProcess;
private Bar barBatchOperate;
private BarDockControl barDockControlLeft;
private BarDockControl barDockControlTop;
private BarDockControl barDockControlBottom;
private BarDockControl barDockControlRight;
private List<BarItem> drawerBarItems;
private List<BarItem> curveProcessItems;
private List<BarItem> batchOperateItems;
/// <summary>
/// 2维图层树节点的可视状态切换
/// </summary>
/// <param name="additionLayers">三维提交到二维更新图片后,再返回三维时。使用此附加层数据</param>
/// <param name="status">status</param>
private void LayerControl_2dNodeViewToggleEvent(string additionLayers, LayerStatus status)
{
var syncNodes = string.Empty;
var checkNodes = TreeViewHelper.TraverseTreeView(LayerControl.TreeControl)
.Where(n => n.Checked);
if (checkNodes.Count() == 0)
{
// 没有选中的,获取所有可见的
var shownNodes = TreeViewHelper.TraverseTreeView(LayerControl.TreeControl)
.Where(n => LayerControl.GetNodeStatus(n) != LayerStatus.NOT_VIEW_NOT_EDIT);
syncNodes = string.Join(";", shownNodes.Select(n => $@"二维图层\{n.FullPath}").ToList());
}
else
{
syncNodes = string.Join(";", checkNodes.Select(n => $@"二维图层\{n.FullPath}").ToList());
}
if (!string.IsNullOrEmpty(additionLayers))
{
// 三维回传图片时,使用附加层数据
syncNodes = additionLayers;
}
//if (VtkEdit != null && !VtkEdit.IsDisposed)
//{
// splashScreenManager1.ShowWaitForm();
// splashScreenManager1.SetWaitFormDescription("正在更新3维图层");
// Drawer drawer = this.DrawerView.ViewControl.Drawer;
// IntPtr pMeshData = VtkEdit.GetMainMeshData();
// double rx0 = VtkEdit.GetMainMeshInfo(pMeshData, 0);
// double rx1 = VtkEdit.GetMainMeshInfo(pMeshData, 1);
// double ry0 = VtkEdit.GetMainMeshInfo(pMeshData, 2);
// double ry1 = VtkEdit.GetMainMeshInfo(pMeshData, 3);
// IntPtr hBitmap = drawer.Geo.Draw2ImageMemory(rx0, ry1, rx1, ry0);
// VtkEdit.UpdateMeshBitmap(hBitmap, rx0, ry1, Math.Abs(rx0 - rx1), Math.Abs(ry0 - ry1));
// drawer.Geo.DeleteImage(hBitmap);
// VtkEdit.LayerSelectedStatusNotify3d?.Invoke(syncNodes, status);
// splashScreenManager1.CloseWaitForm();
//}
}
/// <summary>
/// 刷新VTK图像贴图.
/// </summary>
public void RefreshVtkImage()
{
//if (VtkEdit != null && !VtkEdit.IsDisposed)
//{
// //splashScreenManager1.ShowWaitForm();
// //splashScreenManager1.SetWaitFormDescription("正在更新3维图层");
// Drawer drawer = this.DrawerView.ViewControl.Drawer;
// IntPtr pMeshData = VtkEdit.GetMainMeshData();
// double rx0 = VtkEdit.GetMainMeshInfo(pMeshData, 0);
// double rx1 = VtkEdit.GetMainMeshInfo(pMeshData, 1);
// double ry0 = VtkEdit.GetMainMeshInfo(pMeshData, 2);
// double ry1 = VtkEdit.GetMainMeshInfo(pMeshData, 3);
// IntPtr hBitmap = drawer.Geo.Draw2ImageMemory(rx0, ry1, rx1, ry0);
// VtkEdit.UpdateMeshBitmap(hBitmap, rx0, ry1, Math.Abs(rx0 - rx1), Math.Abs(ry0 - ry1));
// drawer.Geo.DeleteImage(hBitmap);
// //splashScreenManager1.CloseWaitForm();
//}
}
/// <summary>
/// 加载绘图工具条.
/// </summary>
protected void LoadDrawerToolbar()
{
bool bShowToolbar = true;
this.bmDrawer.Items.AddRange(drawerBarItems.ToArray());
foreach (BarItem item in drawerBarItems)
{
this.barDrawerBase.LinksPersistInfo.Add(new DevExpress.XtraBars.LinkPersistInfo(item));
}
this.bmDrawer.Items.AddRange(curveProcessItems.ToArray());
foreach (BarItem item in curveProcessItems)
{
this.barCurveProcess.LinksPersistInfo.Add(new DevExpress.XtraBars.LinkPersistInfo(item));
}
this.bmDrawer.Items.AddRange(this.batchOperateItems.ToArray());
foreach (BarItem item in batchOperateItems)
{
this.barBatchOperate.LinksPersistInfo.Add(new DevExpress.XtraBars.LinkPersistInfo(item));
}
this.rpgDrawElement.Visible = !bShowToolbar;
this.rpgCurveOperate.Visible = !bShowToolbar;
//// 自动保存工具条布局
//string regKey = "Kev\\XtraBars\\Layouts\\MainLayout";
////this.bmDrawer.RestoreLayoutFromRegistry(regKey);
//this.bmDrawer.RegistryPath = regKey;
//this.bmDrawer.AutoSaveInRegistry = true;
}
/// <summary>
/// 初始化绘图工具条
/// </summary>
private void initializeDrawerBar()
{
drawerBarItems = new List<BarItem>();
drawerBarItems.AddRange(new DevExpress.XtraBars.BarItem[]
{
this.btnToolDefault,
this.btnToolSelect,
this.btnAddFault,
this.btnDrawCurve,
this.btnDrawPoint,
this.btnDrawText,
this.btiWellGroup,
this.btnDrawShape,
this.btnDrawNetFrame,
this.btnDrawProportion,
this.btnDrawCrossPointMain,
});
Guid guidDraw = new System.Guid("7dc7b1fa-7f07-4267-8679-9cee0b219d7a");
for (int i = 0; i < drawerBarItems.Count; i++)
{
drawerBarItems[i].CategoryGuid = guidDraw;
}
curveProcessItems = new List<BarItem>();
curveProcessItems.AddRange(new DevExpress.XtraBars.BarItem[]
{
this.btnCurveJoin,
this.btnCurveClose,
this.btnCurveReverse,
this.btnCurveTrim,
this.btnCurveBreakMain,
this.btnCurveExtend,
this.btnCurveNameMove,
this.btnCurveProcessMain,
this.btnCurveFill,
this.MergeCurve,
this.bbtnJoinCurves,
// this.bbtnFaultBroaden,
this.bbtnFaultSimplyfy,
});
Guid guidProcess = new System.Guid("523e767c-6e94-4304-87af-07516dfbdf4b");
for (int i = 0; i < drawerBarItems.Count; i++)
{
curveProcessItems[i].CategoryGuid = guidProcess;
}
// ???需要单独设置一次,原因未知。
// this.bbtnFaultBroaden.CategoryGuid = guidProcess;
this.batchOperateItems = new List<BarItem>();
batchOperateItems.AddRange(new DevExpress.XtraBars.BarItem[]
{
this.barButtonGroup6,
this.barButtonGroup1,
//this.btnOrderTop,
//this.btnOrderBottom,
//this.btnOrderUp,
//this.btnOrderDown,
//this.btnAlignMain,
//this.btnPropertyZoomIn,
//this.btnPropertyZoomOut,
//this.SimplifyButton,
});
Guid guidOperate = new System.Guid("FF16E14D-D23D-49F7-9C40-454DBC9288F7");
for (int i = 0; i < batchOperateItems.Count; i++)
{
batchOperateItems[i].CategoryGuid = guidOperate;
}
int nItemIndent = 2;
this.barDockControlTop = new DevExpress.XtraBars.BarDockControl();
this.barDockControlBottom = new DevExpress.XtraBars.BarDockControl();
this.barDockControlLeft = new DevExpress.XtraBars.BarDockControl();
this.barDockControlRight = new DevExpress.XtraBars.BarDockControl();
this.barDrawerBase = new DevExpress.XtraBars.Bar();
this.barDrawerBase.BarItemVertIndent = nItemIndent;
this.barDrawerBase.BarItemHorzIndent = nItemIndent;
this.barCurveProcess = new DevExpress.XtraBars.Bar();
this.barCurveProcess.BarItemVertIndent = nItemIndent;
this.barCurveProcess.BarItemHorzIndent = nItemIndent;
this.barBatchOperate = new DevExpress.XtraBars.Bar();
this.barBatchOperate.BarItemVertIndent = nItemIndent;
this.barBatchOperate.BarItemHorzIndent = nItemIndent;
this.bmDrawer = new DevExpress.XtraBars.BarManager(this.components);
this.dockManager1.MenuManager = this.bmDrawer;
((System.ComponentModel.ISupportInitialize)(this.bmDrawer)).BeginInit();
this.bmDrawer.Bars.AddRange(new DevExpress.XtraBars.Bar[]
{
this.barDrawerBase,
this.barCurveProcess,
this.barBatchOperate,
});
this.bmDrawer.Categories.AddRange(new DevExpress.XtraBars.BarManagerCategory[]
{
new DevExpress.XtraBars.BarManagerCategory("绘图", new System.Guid("7dc7b1fa-7f07-4267-8679-9cee0b219d7a")),
new DevExpress.XtraBars.BarManagerCategory("曲线处理", new System.Guid("523e767c-6e94-4304-87af-07516dfbdf4b")),
new DevExpress.XtraBars.BarManagerCategory("批量处理", new System.Guid("FF16E14D-D23D-49F7-9C40-454DBC9288F7")),
});
this.bmDrawer.DockControls.Add(this.barDockControlTop);
this.bmDrawer.DockControls.Add(this.barDockControlBottom);
this.bmDrawer.DockControls.Add(this.barDockControlLeft);
this.bmDrawer.DockControls.Add(this.barDockControlRight);
this.bmDrawer.DockManager = this.dockManager1;
this.bmDrawer.Form = this;
//this.btnToolDefault.CategoryGuid = new System.Guid("7dc7b1fa-7f07-4267-8679-9cee0b219d7a");
// barDrawerBase
this.barDrawerBase.BarName = "DrawerBase";
this.barDrawerBase.DockCol = 0;
this.barDrawerBase.DockRow = 0;
this.barDrawerBase.DockStyle = DevExpress.XtraBars.BarDockStyle.Left;
this.barDrawerBase.FloatLocation = new System.Drawing.Point(91, 569);
this.barDrawerBase.Text = "绘图";
this.barCurveProcess.BarName = "CurveProcess";
this.barCurveProcess.DockCol = 0;
this.barCurveProcess.DockRow = 0;
this.barCurveProcess.DockStyle = DevExpress.XtraBars.BarDockStyle.Left;
this.barCurveProcess.Text = "曲线处理";
this.barBatchOperate.BarName = "BatchOperate";
this.barBatchOperate.DockCol = 0;
this.barBatchOperate.DockRow = 0;
this.barBatchOperate.DockStyle = DevExpress.XtraBars.BarDockStyle.Left;
this.barBatchOperate.Text = "批量处理";
// barDockControlTop
this.barDockControlTop.CausesValidation = false;
this.barDockControlTop.Dock = System.Windows.Forms.DockStyle.Top;
this.barDockControlTop.Location = new System.Drawing.Point(0, 0);
this.barDockControlTop.Manager = this.bmDrawer;
this.barDockControlTop.Size = new System.Drawing.Size(3656, 0);
// barDockControlBottom
this.barDockControlBottom.CausesValidation = false;
this.barDockControlBottom.Dock = System.Windows.Forms.DockStyle.Bottom;
this.barDockControlBottom.Location = new System.Drawing.Point(0, 1085);
this.barDockControlBottom.Manager = this.bmDrawer;
this.barDockControlBottom.Size = new System.Drawing.Size(3656, 0);
// barDockControlLeft
this.barDockControlLeft.CausesValidation = false;
this.barDockControlLeft.Dock = System.Windows.Forms.DockStyle.Left;
this.barDockControlLeft.Location = new System.Drawing.Point(0, 0);
this.barDockControlLeft.Manager = this.bmDrawer;
this.barDockControlLeft.Size = new System.Drawing.Size(34, 1085);
// barDockControlRight
this.barDockControlRight.CausesValidation = false;
this.barDockControlRight.Dock = System.Windows.Forms.DockStyle.Right;
this.barDockControlRight.Location = new System.Drawing.Point(3656, 0);
this.barDockControlRight.Manager = this.bmDrawer;
this.barDockControlRight.Size = new System.Drawing.Size(0, 1085);
this.Controls.Add(this.barDockControlLeft);
this.Controls.Add(this.barDockControlRight);
this.Controls.Add(this.barDockControlBottom);
this.Controls.Add(this.barDockControlTop);
((System.ComponentModel.ISupportInitialize)(this.bmDrawer)).EndInit();
}
/// <summary>
/// 保存界面布局信息到图件
/// </summary>
public void SaveLayout()
{
using (MemoryStream ms = new MemoryStream())
{
bmDrawer.SaveLayoutToStream(ms);
ms.Seek(0, SeekOrigin.Begin);
XDocument doc = XDocument.Load(ms);
var toolBarElement = doc.Descendants("property")
.FirstOrDefault(x => (string)x.Attribute("value") == "BarManager");
if (toolBarElement != null)
{
toolBarElement.Save(layoutFilePath);
}
}
}
/// <summary>
/// 加载界面布局状态
/// </summary>
public void LoadLayout()
{
if (File.Exists(layoutFilePath))
{
//bmDrawer.RestoreLayoutFromXml(layoutFilePath);
var doc = XDocument.Load(layoutFilePath);
var bars = doc.Descendants("property").Where(x => (string)x.Attribute("name") == "Bars").FirstOrDefault();
foreach (var barElement in bars.Elements())
{
var eleBarName = barElement.Elements().Where(x => (string)x.Attribute("name") == "BarName").FirstOrDefault();
string barName = eleBarName?.Value;
var eleDockStyle = barElement.Elements().Where(x => (string)x.Attribute("name") == "DockStyle").FirstOrDefault();
string bockStyle = eleDockStyle?.Value;
var eleDockRow = barElement.Elements().Where(x => (string)x.Attribute("name") == "DockRow").FirstOrDefault();
string dockRow = eleDockRow?.Value;
var eleDockCol = barElement.Elements().Where(x => (string)x.Attribute("name") == "DockCol").FirstOrDefault();
string dockCol = eleDockCol?.Value;
var eleOffset = barElement.Elements().Where(x => (string)x.Attribute("name") == "Offset").FirstOrDefault();
string offset = eleDockCol?.Value;
var bar = this.bmDrawer.Bars.FirstOrDefault(b => b.BarName == barName);
if (bar != null && bockStyle != null)
{
//bar.OptionsBar.MinHeight = 0;
//bar.OptionsBar.AutoPopupMode = BarAutoPopupMode.Default;
//bar.OptionsBar.DrawBorder = true;
//bar.OptionsBar.AllowCollapse = false;
//bar.OptionsBar.BarState = BarState.Expanded;
//bar.OptionsBar.DrawDragBorder = true;
//bar.OptionsBar.DrawSizeGrip = false;
//bar.OptionsBar.Hidden = false;
//bar.OptionsBar.MultiLine = false;
//bar.OptionsBar.RotateWhenVertical = true;
//bar.OptionsBar.UseWholeRow = false;
//bar.FloatSize = new System.Drawing.Size(0, 0);
//bar.FloatLocation = new System.Drawing.Point(0, 0);
bar.DockStyle = (BarDockStyle)Enum.Parse(typeof(BarDockStyle), bockStyle);
bar.DockRow = int.Parse(dockRow);
bar.DockCol = int.Parse(dockCol);
bar.Offset = int.Parse(offset);
}
}
Console.WriteLine($"Toolbar docking info loaded from {layoutFilePath}");
}
else
{
Console.WriteLine("Layout file not found.");
}
using (MemoryStream ms = new MemoryStream())
{
bmDrawer.SaveLayoutToStream(ms);
}
foreach (var bar in this.bmDrawer.Bars.ToArray())
{
bar.Visible = !bar.Visible;
bar.Visible = !bar.Visible;
}
}
/// <summary>
/// 将 MainView 恢复成工具栏上设定的状态
/// </summary>
public void RestoreState()
{
// 恢复抗锯齿状态,保持和重新加载文件前一致
mainView.EnableMeshPack = bbtnMeshPack.Down;
// 这个放大状态难恢复,取消
mainView.SetViewOperation(ViewOperationKind.Invalid);
}
private void DrawerWaitProgress(object sender, ProgressEventArgs e)
{
//BeginInvoke(new Action(() =>
//{
if (e.ProgerssVisible == true)
{
if (splashScreenManager1 == null)
{
splashScreenManager1 = new DevExpress.XtraSplashScreen.SplashScreenManager();
}
bool bVisible = splashScreenManager1.IsSplashFormVisible;
if (bVisible == false)
{
splashScreenManager1.ShowWaitForm();
splashScreenManager1.SetWaitFormDescription(e.EventInfo);
}
else
{
splashScreenManager1.SetWaitFormDescription(e.EventInfo);
}
}
else
{
if (splashScreenManager1 != null && splashScreenManager1.IsSplashFormVisible == true)
{
splashScreenManager1.CloseWaitForm();
}
}
//}));
}
/// <summary>
/// 加载自定义菜单
/// </summary>
private void LoadCustomMenu()
{
CustomMenu customMenu = new CustomMenu();
customMenu.LoadItems();
if (customMenu.MenuItems.Count > 0)
{
this.ppmCustom.ClearLinks();
// this.rpgCustom.Visible = true;
int nIndex = 109;
foreach (CustomMenuItem item in customMenu.MenuItems)
{
DevExpress.XtraBars.BarButtonItem buttonItem = new BarButtonItem();
this.ribbonMain.Items.Add(buttonItem);
buttonItem.Tag = item;
buttonItem.Id = nIndex++;
buttonItem.Caption = item.Caption;
//buttonItem.RibbonStyle = RibbonItemStyles.Default;
buttonItem.Name = buttonItem.Caption;
buttonItem.RibbonStyle = (RibbonItemStyles)item.ImageTextStyles;
buttonItem.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.bbtnCustom_ItemClick);
// 设置菜单图标
if (!string.IsNullOrEmpty(item.SvgImage))
{
buttonItem.ImageOptions.SvgImage = SvgImage.FromFile(
Path.Combine(Application.StartupPath, item.SvgImage));
if (item.IsPopupItem != true)
{
buttonItem.RibbonStyle = RibbonItemStyles.SmallWithoutText;
}
else
{
this.ppmCustom.DrawMenuSideStrip = DevExpress.Utils.DefaultBoolean.True;
}
}
if (item.IsPopupItem == true)
{
this.ppmCustom.ItemLinks.Add(buttonItem);
}
else
{
//this.rpgCustom.ItemLinks.Add(buttonItem);
}
}
// this.rpgCustom.Text = customMenu.GroupName;
}
else
{
//this.rpgCustom.Visible = false;
}
}
/// <summary>
/// 自定义菜单按钮事件
/// </summary>
/// <param name="sender">事件按钮</param>
/// <param name="e">事件参数</param>
private void bbtnCustom_ItemClick(object sender, ItemClickEventArgs e)
{
CustomMenuItem item = e.Item.Tag as CustomMenuItem;
Assembly assembly = Assembly.LoadFrom(item.ProgramFile);
Type loggerType = assembly.GetType(item.ClassName);
IDrawerInteract drawerInteract = (IDrawerInteract)Activator.CreateInstance(loggerType);
Form testMain = drawerInteract.UserForm;
drawerInteract.DataRequestEvent += (object senderT, DrawerInterface.RequestDataEventArgs ea) =>
{
StringBuilder strb = new StringBuilder();
// 获得选中的数据
if (ea.DataStatus == 0)
{
List<SigmaDrawerElement.DrawerElementProperty> elements = this.mainView?.GetSelectedElements();
if (elements != null)
{
string strLayer = string.Empty;
foreach (SigmaDrawerElement.DrawerElementProperty ele in elements)
{
if (ele.Layer != strLayer)
{
strb.AppendLine($"Layer M {ele.Layer}");
strLayer = ele.Layer;
}
// 如果是请求曲面上的点从曲面上取出Z值
if (ea.DataType == (int)InterfaceDataType.PointOfSurface)
{
if (ele.Element.ElementType == DrawElementType.ELEMENT_POINT)
{
DrawerPoint pt = ele.Element as DrawerPoint;
double dZValue = double.NaN;
if (mainView.GetGridPointValue(pt.X, pt.Y, ref dZValue) == true)
{
pt.Z = dZValue;
}
}
}
strb.AppendLine(ele.Element.ToDfdString());
}
}
string strRespons = strb.ToString();
drawerInteract.RequestDataProcess(new DrawerInterface.ResponseDataEventArgs(strRespons));
}
//string strQuest = ea.DataInfo;
//MessageBox.Show(strQuest);
};
drawerInteract.DataResponseEvent += (object senderT, ResponseDataEventArgs ea) =>
{
string strData = ea.DataContent;
//MessageBox.Show(strData);
this.mainView?.AddBufferData(strData);
//MessageBox.Show("Finished");
mainView?.ToolRedraw();
mainView?.LoadLayerTree();
//Xy xyDfd = new Xy();
//xyDfd.DfdReadBuffer(strData);
//foreach (DrawerElementBase ele in xyDfd.Elements)
//{
// if (ele is DrawerPoint pt)
// {
// this.mainView?.AddDrawPoint(
// ele.LayerName,
// new SigmaDrawerElement.DrawerPoint(pt.Name, pt.X, pt.Y, pt.Z, pt.Angle));
// }
// else if (ele is DrawerLine line)
// {
// List<PointD> lstData = new List<PointD>();
// foreach (DrawerLineNode node in line.Nodes)
// {
// lstData.Add(new PointD(node.X, node.Y));
// }
// this.mainView?.AddDrawCurve(line.LayerName, line.Name, lstData);
// }
//}
//if (xyDfd.Elements.Count > 0)
//{
// mainView?.ToolRedraw();
// mainView?.LoadLayerTree();
//}
};
testMain.StartPosition = FormStartPosition.CenterParent;
testMain.Show(this);
}
/// <summary>
/// 弹出菜单
/// </summary>
/// <param name="sender">事件按钮</param>
/// <param name="e">事件参数</param>
private void rpgCustom_CaptionButtonClick(object sender, RibbonPageGroupEventArgs e)
{
this.ppmCustom.ShowPopup(this.ribbonMain.Manager, MousePosition);
}
/// <summary>
/// The MainView_ShowStatisticResult.
/// </summary>
/// <param name="sender">The sender<see cref="object"/>.</param>
/// <param name="e">The e<see cref="EventArgs"/>.</param>
private void MainView_ShowStatisticResult(object sender, EventArgs e)
{
//StatisticPanel.Visibility = DockVisibility.Visible;
//ShowStatisticResult?.Invoke(this, e);
}
/// <summary>
/// 图件是否有修改
/// </summary>
/// <returns>有修改/无</returns>
public bool IsModified()
{
return mainView != null && mainView.IsDocumentModified();
}
/// <summary>
/// 窗体关闭事件.
/// </summary>
/// <param name="sender">当前窗体.</param>
/// <param name="e">事件参数.</param>
public void UCDrawEdit_FormClosing(object sender, FormClosingEventArgs e)
{
bool bModified = false;
if (mainView != null && mainView.IsDocumentModified())
{
bModified = true;
}
if (bModified)
{
switch (DevExpress.XtraEditors.XtraMessageBox.Show(
"是否将修改保存到文件?", "关闭",
MessageBoxButtons.YesNoCancel,
MessageBoxIcon.Question))
{
case DialogResult.Cancel:
e.Cancel = true;
break;
case DialogResult.Yes:
e.Cancel = !SaveFile();
break;
}
if (e.Cancel != true)
{
mainView.ToolDefault();
}
}
}
/// <summary>
/// The UCDrawEdit_FormClosed.
/// </summary>
/// <param name="sender">The sender<see cref="object"/>.</param>
/// <param name="e">The e<see cref="FormClosedEventArgs"/>.</param>
private void UCDrawEdit_FormClosed(object sender, FormClosedEventArgs e)
{
FileClosedEvent?.Invoke(this, e);
mainView.ViewerCommandStart -= OnCommandStart;
mainView.ViewerCommandFinish -= OnCommandFinish;
mainView.ShowStatisticResult -= MainView_ShowStatisticResult;
mainView = null;
}
/// <summary>
/// The OnCommandFinish.
/// </summary>
/// <param name="toolType">The toolType<see cref="DrawToolType"/>.</param>
private void OnCommandFinish(DrawToolType toolType)
{
bool bChecked = false;
switch (toolType)
{
//case DrawToolType.Default:
// tsbToolDefault.Checked = bChecked;
// break;
//case DrawToolType.ViewPan:
// tsbPan.Checked = bChecked;
// break;
case DrawToolType.ViewWindow:
//tsbViewWindow.Checked = bChecked;
break;
case DrawToolType.Select:
//tsbSelect.Checked = bChecked;
break;
case DrawToolType.Point:
//tsbPointAdd.Checked = bChecked;
break;
case DrawToolType.Curve:
//tsbCurveAdd.Checked = bChecked;
break;
case DrawToolType.Proportion:
//tsbProportionAdd.Checked = bChecked;
break;
case DrawToolType.RectangularCSGrid:
//rectangularCSGridButton.Checked = bChecked;
break;
case DrawToolType.Rectangle:
//drawRectangleButton.Checked = bChecked;
break;
case DrawToolType.Ellipse:
//sbtnEllipse.Checked = btnEllipse.Checked = bChecked;
break;
case DrawToolType.Arc:
btnDrawArc.Down = bChecked;
//SetDrawShapeMainStatus();
break;
case DrawToolType.Chord:
btnDrawChord.Down = bChecked;
//SetDrawShapeMainStatus();
break;
case DrawToolType.Pie:
btnDrawFan.Down = bChecked;
//SetDrawShapeMainStatus();
break;
case DrawToolType.Equilateral:
btnDrawPentagon.Down = bChecked;
//SetDrawShapeMainStatus();
break;
case DrawToolType.Text:
//drawTextButton.Checked = bChecked;
break;
case DrawToolType.BreakDirect:
barButtonItem3.Down = bChecked;
break;
case DrawToolType.Break:
barButtonItem2.Down = bChecked;
break;
case DrawToolType.ConnectCurveFilling:
btnIntersectRegionFill.Down = bChecked;
break;
case DrawToolType.SolidLink:
btnLinkRegionFill.Down = bChecked;
break;
case DrawToolType.SolidAuto:
btnAutoRegionFill.Down = bChecked;
break;
case DrawToolType.Delete: //?是不是立刻就执行完的命令
//deleteNormalButton.Checked = bChecked;
btnDelete.Down = bChecked;
break;
case DrawToolType.DeleteIn:
btnDeleteInRegion.Down = bChecked;
break;
case DrawToolType.DeleteOut:
btnDeleteOutRegion.Down = bChecked;
break;
case DrawToolType.DeleteCondition:
//btnDeleteMain.Down = bChecked;
break;
case DrawToolType.TrimCurve:
//btnDeleteMain.Down = bChecked;
break;
case DrawToolType.CloseCurve:
//closeCurveButton.Checked = bChecked;
break;
case DrawToolType.MoveCurveName:
//moveCurveNameButton.Checked = bChecked;
break;
case DrawToolType.LinkCurve:
//linkCurveButton.Checked = bChecked;
break;
case DrawToolType.ReverseCurve:
//reverseCurveButton.Checked = bChecked;
break;
case DrawToolType.NameToZ:
//nameToZButton.Checked = bChecked;
break;
case DrawToolType.RangeToImage:
//tsbCopyImageAll.Checked = bChecked;
break;
case DrawToolType.WindowToImage:
//tsbCopyImageWindow.Checked = bChecked;
break;
case DrawToolType.FractionPoint:
btnDrawFractionPoint.Down = bChecked;
SetCrossPointMainStatus();
break;
case DrawToolType.CrossPoint:
btnDrawCrossPoint.Down = bChecked;
SetCrossPointMainStatus();
break;
case DrawToolType.PointPropertyClear:
case DrawToolType.PointPropertySet:
case DrawToolType.CurvePropertySet:
case DrawToolType.CurvePropertyClear:
barButtonItem76.Down = bChecked;
break;
case DrawToolType.CutOutByPickup:
btnCutOutPick.Down = bChecked;
break;
case DrawToolType.CutOutByRect:
btnCutOutRectangle.Down = bChecked;
break;
case DrawToolType.CutInByPickup:
btnCutInPickup.Down = bChecked;
break;
case DrawToolType.CutInByRect:
btnCutInRectangle.Down = bChecked;
break;
case DrawToolType.CurveNameSetting:
btnCurveNameSet.Down = bChecked;
break;
case DrawToolType.CurveZFromSurface:
bbtnSurfaceCurveZ.Down = bChecked;
break;
case DrawToolType.CurveBroaden:
//bbtnFaultBroaden.Down = false;
break;
default:
break;
}
}
/// <summary>
/// 设置当前按钮.
/// </summary>
/// <param name="toolType">操作类型.</param>
private void OnCommandStart(DrawToolType toolType)
{
bool bChecked = true;
mainView.SetViewOperation(ViewOperationKind.Invalid);
switch (toolType)
{
//case DrawToolType.ViewPan:
// tsbPan.Checked = bChecked;
// break;
case DrawToolType.ViewWindow:
btnZoomWindow.Down = bChecked;
break;
case DrawToolType.Default:
btnToolDefault.Down = bChecked;
break;
case DrawToolType.Select:
btnToolSelect.Down = bChecked;
break;
case DrawToolType.Point:
btnDrawPoint.Down = bChecked;
break;
case DrawToolType.Curve:
btnDrawCurve.Down = bChecked;
break;
case DrawToolType.Proportion:
btnDrawProportion.Down = bChecked;
break;
case DrawToolType.RectangularCSGrid:
btnDrawNetFrame.Down = bChecked;
break;
case DrawToolType.Rectangle:
btnDrawRectangle.Down = bChecked;
break;
case DrawToolType.Ellipse:
btnDrawEllipse.Down = bChecked;
break;
case DrawToolType.Arc:
//sbtnEllipse.Checked = btnArc.Checked = bChecked;
break;
case DrawToolType.Chord:
//sbtnEllipse.Checked = btnChord.Checked = bChecked;
break;
case DrawToolType.Pie:
//sbtnEllipse.Checked = btnPie.Checked = bChecked;
break;
case DrawToolType.Equilateral:
//sbtnEllipse.Checked = btnEquilateral.Checked = bChecked;
break;
case DrawToolType.Text:
btnDrawText.Down = bChecked;
break;
case DrawToolType.BreakDirect:
barButtonItem3.Down = bChecked;
break;
case DrawToolType.Break:
barButtonItem2.Down = bChecked;
break;
case DrawToolType.ConnectCurveFilling:
btnIntersectRegionFill.Down = bChecked;
break;
case DrawToolType.SolidLink:
btnLinkRegionFill.Down = bChecked;
break;
case DrawToolType.SolidAuto:
btnAutoRegionFill.Down = bChecked;
break;
case DrawToolType.Delete: //?是不是立刻就执行完的命令
//deleteNormalButton.Checked = bChecked;
break;
case DrawToolType.DeleteIn:
//deleteInButton.Checked = bChecked;
break;
case DrawToolType.DeleteOut:
//deleteOutButton.Checked = bChecked;
break;
case DrawToolType.DeleteCondition:
//conditionButton.Checked = bChecked;
break;
case DrawToolType.TrimCurve:
btnCurveTrim.Down = bChecked;
break;
case DrawToolType.CloseCurve:
btnCurveClose.Down = bChecked;
break;
case DrawToolType.MoveCurveName:
btnCurveNameMove.Down = bChecked;
break;
case DrawToolType.LinkCurve:
btnCurveJoin.Down = bChecked;
break;
case DrawToolType.ReverseCurve:
btnCurveReverse.Down = bChecked;
break;
case DrawToolType.NameToZ:
//nameToZButton.Checked = bChecked;
break;
case DrawToolType.RangeToImage:
//// tsbCopyImageAll.Checked = bChecked;
break;
case DrawToolType.WindowToImage:
//// tsbCopyImageWindow.Checked = bChecked;
break;
case DrawToolType.CrossPoint:
//crossPointButton.Checked = bChecked;
break;
case DrawToolType.PointPropertyClear:
case DrawToolType.PointPropertySet:
case DrawToolType.CurvePropertySet:
case DrawToolType.CurvePropertyClear:
barButtonItem76.Down = bChecked;
break;
case DrawToolType.CurveZFromSurface:
break;
case DrawToolType.CurveBroaden:
//bbtnFaultBroaden.Down = bChecked;
break;
default:
break;
}
}
/// <summary>
/// The UCDrawEdit_Load.
/// </summary>
/// <param name="sender">The sender<see cref="object"/>.</param>
/// <param name="e">The e<see cref="EventArgs"/>.</param>
private void UCDrawEdit_Load(object sender, EventArgs e)
{
// 加载子窗体布局
LoadLayout();
//// 自动保存工具条布局
//string regKey = "Kev\\XtraBars\\Layouts\\" + this.Name + ".bmDrawer." + bmDrawer.LayoutVersion;
////this.bmDrawer.RestoreLayoutFromRegistry(regKey);
//this.bmDrawer.RegistryPath = regKey;
//this.bmDrawer.AutoSaveInRegistry = true;
// this.LayerPanel.Visibility = DockVisibility.Hidden;
// ppcEditorMeshPack.PopupControl.OwnerEdit.EditValue = "断层测试";
Application.Idle += Application_Idle;
}
/// <summary>
/// The SetRibbonStatus.
/// </summary>
/// <param name="enable">The enable<see cref="bool"/>.</param>
public void SetRibbonStatus(bool enable)
{
RibbonBarItems barItems = ribbonMain.Items;
foreach (var item in barItems)
{
((BarItem)item).Enabled = enable;
}
}
/// <summary>
/// Defines the toolCurrent.
/// </summary>
private DrawToolType toolCurrent = DrawToolType.Default;
/// <summary>
/// The Application_Idle.
/// </summary>
/// <param name="sender">The sender<see cref="object"/>.</param>
/// <param name="e">The e<see cref="EventArgs"/>.</param>
private void Application_Idle(object sender, EventArgs e)
{
DrawToolType tool = mainView.ActiveTool;
// 打断、切断
var breakTools = new[] { DrawToolType.BreakDirect, DrawToolType.Break };
// 区域填充
var fillTools = new[] { DrawToolType.ConnectCurveFilling, DrawToolType.SolidLink, DrawToolType.SolidAuto };
// 外切
var cutOutTools = new[] { DrawToolType.CutOutByRect, DrawToolType.CutOutByPickup };
// 内切
var cutInTools = new[] { DrawToolType.CutInByRect, DrawToolType.CutInByPickup };
// 曲线名称
var curveNameTools = new[] { DrawToolType.CurveNameSetting, DrawToolType.SetContourName, DrawToolType.NameToZ, DrawToolType.ZToName, DrawToolType.FindCurveOfEmptyName };
// 形状
var drawShapeTools = new[] { DrawToolType.Arc, DrawToolType.Chord, DrawToolType.Pie, DrawToolType.Equilateral, DrawToolType.Rectangle, DrawToolType.Ellipse };
// 十字点
var crossPointTools = new[] { DrawToolType.FractionPoint, DrawToolType.CrossPoint };
// 曲线处理
var curveProcessTools = new[] { DrawToolType.CurveDensityNode, DrawToolType.CurveRedundancy, DrawToolType.CurveSmooth, DrawToolType.ArcToCurve, DrawToolType.CurveZFromSurface };
btnCurveBreakMain.Down = breakTools.Contains(tool);
btnCurveFill.Down = fillTools.Contains(tool);
btnCutOutMain.Down = cutOutTools.Contains(tool);
btnCutInMain.Down = cutInTools.Contains(tool);
btnCurveNameMain.Down = curveNameTools.Contains(tool);
btnDrawShape.Down = drawShapeTools.Contains(tool);
btnDrawCrossPointMain.Down = crossPointTools.Contains(tool);
btnCurveProcessMain.Down = curveProcessTools.Contains(tool);
toolCurrent = tool;
// 移动状态按钮设置
btnZoomPan.Down = ((mainView.ViewStatus == ViewOperationKind.ViewWellPolePan) || (mainView.ViewStatus == ViewOperationKind.ViewPan));
btnZoomWindow.Down = (mainView.ViewStatus == ViewOperationKind.ViewWindow);
if (mainView.ViewStatus == ViewOperationKind.Invalid)
{
btnZoomPan.Down = false;
btnZoomWindow.Down = false;
}
extendCenter.Enabled = (mainView.ViewControl.mViewType == GeoSigmaXY.eViewType.wellpole);
extendWidth.Enabled = (mainView.ViewControl.mViewType == GeoSigmaXY.eViewType.wellpole);
LockWellHead.Enabled = (mainView.ViewControl.mViewType == GeoSigmaXY.eViewType.wellpole);
wellPolePage.Enabled = (mainView.ViewControl.mViewType == GeoSigmaXY.eViewType.wellpole);
ribbonPageGroupWellSection.Enabled = (mainView.ViewControl.mViewType == GeoSigmaXY.eViewType.wellsection);
if (mainView.ViewControl.mViewType == GeoSigmaXY.eViewType.wellsection)
{
GeoSigmaWellSectionXY geoSectionXY = (GeoSigmaWellSectionXY)mainView.ViewControl.Geo;
if (geoSectionXY.IsSelectedWellSection())
{
btnItemSmooth.Enabled = true;
if (geoSectionXY.IsWellSectionBendsSmooth())
btnItemSmooth.Down = true;
else
btnItemSmooth.Down = false;
btnItemFlatternStrata.Enabled = true;
btnFlatternLayerTop.Down = (geoSectionXY.WellSectionFlatternStyle() == 1);
btnFlatternLayerBottom.Down = (geoSectionXY.WellSectionFlatternStyle() == 2);
btnFlatternRealDepth.Down = (geoSectionXY.WellSectionFlatternStyle() == 0);
btnFlatternWellTop.Down = (geoSectionXY.WellSectionFlatternStyle() == 3);
btnFlatternWellBottom.Down = (geoSectionXY.WellSectionFlatternStyle() == 4);
btnSectionWellStyle.Enabled = true;
btnSectionWellFullStyle.Down = (geoSectionXY.SectionWellShowStyle() == 2);
btnSectionWellSampleStyle.Down = (geoSectionXY.SectionWellShowStyle() == 1);
btnSectionWellDividerStyle.Down = (geoSectionXY.SectionWellShowStyle() == 3);
btnLinkAllLayer.Enabled = true;
btnCutAllLinkLayer.Enabled = true;
btnBendLinkStyle.Enabled = true;
btnBendlinkOut.Down = (geoSectionXY.WellSectionBendLinkStyle() == 1);
btnBendLinkCenter.Down = (geoSectionXY.WellSectionBendLinkStyle() == 2);
btnBendLinkStratum.Down = (geoSectionXY.WellSectionBendLinkStyle() == 3);
btnBendlinkLayer.Down = (geoSectionXY.WellSectionBendLinkStyle() == 4);
btnBendsLeftExtend.Enabled = true;
btnLeftExtendCancel.Down = (geoSectionXY.WellSectionBendLeftExtendStyle() == 1);
btnLeftExtendHorizon.Down = (geoSectionXY.WellSectionBendLeftExtendStyle() == 2);
btnLeftExtendTrend.Down = (geoSectionXY.WellSectionBendLeftExtendStyle() == 3);
btnBendsRightExtend.Enabled = true;
btnRightExtendCancel.Down = (geoSectionXY.WellSectionBendRightExtendStyle() == 1);
btnRightExtendHorizon.Down = (geoSectionXY.WellSectionBendRightExtendStyle() == 2);
btnRightExtendTrend.Down = (geoSectionXY.WellSectionBendRightExtendStyle() == 3);
btnSectionAddFault.Enabled = true;
btnSectionAddFault.Down = (geoSectionXY.GetCurrentDrawItemType() == 1308);
btnSectionAddFault.Enabled = true;
btnSectionAddFault.Down = (geoSectionXY.GetCurrentDrawItemType() == 1308);
btnSectionAddDepthRuler.Enabled = true;
btnSectionAddDepthRuler.Down = (geoSectionXY.GetCurrentDrawItemType() == 1308);
btnSectionAddWellMap.Enabled = true;
btnSectionAddWellMap.Down = (geoSectionXY.GetCurrentDrawItemType() == 1308);
btnBendLayerLine.Enabled = true;
btnBendLayerLineAddPoint.Enabled= geoSectionXY.WellSectionIsAddBendLayerPoint();
btnBendLayerLineDeletePoint.Enabled = geoSectionXY.WellSectionIsAddBendLayerPoint();
btnFaultLine.Enabled = true;
btnFaultLineAddPoint.Enabled = geoSectionXY.WellSectionIsAddFaultPoint();
btnFaultLineDeletPoint.Enabled = geoSectionXY.WellSectionIsAddFaultPoint();
btnSetWellDistance.Enabled = true;
}
else
{
btnItemSmooth.Enabled = false;
btnItemFlatternStrata.Enabled = false;
btnSectionWellStyle.Enabled = false;
btnBendLinkStyle.Enabled = false;
btnLinkAllLayer.Enabled = false;
btnCutAllLinkLayer.Enabled = false;
btnBendsLeftExtend.Enabled = false;
btnBendsRightExtend.Enabled = false;
btnSectionAddFault.Enabled = false;
btnSectionAddDepthRuler.Enabled = false;
btnSectionAddWellMap.Enabled = false;
btnBendLayerLine.Enabled = false;
btnFaultLine.Enabled = false;
btnSetWellDistance.Enabled = false;
}
// btnItemSmooth.Down =
}
}
/// <summary>
/// 打开文件.
/// </summary>
/// <param name="fileFullName">文件路径.</param>
/// <param name="setZColor">Z值显示为块.</param>
/// <returns>是否成功.</returns>
public bool OpenFile(string fileFullName, bool setZColor = false, GeoSigmaXY.eViewType vType = GeoSigmaXY.eViewType.wellpole )
{
if (setZColor == true)
{
mainView.ZColorWidth = ZColorWidth;
}
EnableMeshPack = DrawerGlobalConfig.Instance.MeshNode.AntiAliasingEnable;
if (mainView.OpenFile(fileFullName, setZColor, vType) == false)
{
return false;
}
// initDrawerView(mainView);
bdtFaultLayer.EditValue = "断层";
InitDrawerView();
//if (workAreaDb.Instance.workData.isConn())
//{
// this.mainView.ViewControl.InitStratumDivisionData();
//}
return true;
}
/// <summary>
/// The CreateNewFile.
/// </summary>
/// <param name="fileName">The fileName<see cref="string"/>.</param>
/// <returns>The <see cref="bool"/>.</returns>
public bool CreateNewFile(string fileName , GeoSigmaXY.eViewType type)
{
if (mainView.NewFile(fileName, type) == false)
{
return false;
}
InitDrawerView();
return true;
}
/// <summary>
/// 保存文件.
/// </summary>
/// <returns>是否成功.</returns>
public bool SaveFile()
{
bool ret = false;
if (mainView.IsNewDocument)
{
ret = SaveAs();
return ret;
}
if (mainView.SaveFile())
{
Text = mainView.Text;
return true;
}
return false;
}
/// <summary>
/// 根据名称选中图元,多个名称用逗号分隔
/// </summary>
/// <param name="nameData">名称数据</param>
/// <returns>选中的数量</returns>
public int SelectByNames(string nameData)
{
return mainView.SelectByNames(nameData);
}
/// <summary>
/// 根据名称查找并激活图元
/// </summary>
/// <param name="content">图元名称</param>
/// <param name="matchAll">全字匹配</param>
/// <param name="matchCase">匹配大小写</param>
/// <param name="elementType">图元类型</param>
/// <param name="editableOnly">是否只查找可编辑图元</param>
/// <returns>查找结果</returns>
public int FindElementByName(string content, bool matchAll = false, bool matchCase = false, int elementType = 0, bool editableOnly = true)
{
return mainView.FindElementByName(content, matchAll, matchCase, elementType, editableOnly);
}
/// <summary>
/// 另存为.
/// </summary>
/// <returns>是否成功.</returns>
public bool SaveAs()
{
if (mainView.SaveAs())
{
Text = mainView.Text;
NewFileSavedEvent?.Invoke(mainView.FileFullName);
return true;
}
return false;
}
/// <summary>
/// 导出为图片.
/// </summary>
/// <param name="sender">导出按钮.</param>
/// <param name="e">事件参数.</param>
private void btnExportImg_ItemClick(object sender, ItemClickEventArgs e)
{
// mainView.ReloadFile();
mainView.Export2Image(string.Empty);
}
/// <summary>
/// The InitDrawerView.
/// </summary>
public void InitDrawerView()
{
WellPoleMainView viewer = mainView;
//viewer.ToolMainVisible = false;
//viewer.DrawerGotFocus += (object sender, EventArgs ea) =>
//{
// Trace.WriteLine("openFile:" + ea.ToString());
//};
//viewer.ShowStatisticResult += Viewer_ShowStatisticResult;
viewer.ZColorWidth = ZColorWidth;
// 设置文档标题栏
Text = viewer.Text;
viewer.FileModifyEvent += Viewer_FileModifyEvent;
//viewer.GetLengthAngleEvent += GetLengthAngle;
Controls.Add(viewer.ViewControl);
viewer.ViewControl.BringToFront();
viewer.ViewControl.Dock = DockStyle.Fill;
//if (LayerPanel != null)
//{
// LayerPanel.Text = $"{viewer.CurrentLayer}";
//}
viewer.LayerSelected += SetCurrentLayer;
viewer.ToolStatusChandedEvent += new ToolStatusChangedHandler((cmd, enable) =>
{
if (cmd.Equals("undo"))
{
btnUndo.Enabled = enable;
}
else if (cmd.Equals("redo"))
{
btnRedo.Enabled = enable;
}
else if (cmd.Equals("undoView"))
{
btnZoomBack.Enabled = enable;
}
});
if (StatusBarVisible == true)
{
viewer.MouseMoveXYEvent += new XyStatusEventHandler((info) =>
{
statusXY.Caption = info;
});
}
}
/// <summary>
/// The Viewer_FileModifyEvent.
/// </summary>
/// <param name="sender">The sender<see cref="object"/>.</param>
/// <param name="isModified">The isModified<see cref="bool"/>.</param>
private void Viewer_FileModifyEvent(object sender, bool isModified)
{
Text = mainView.Text;
FileModifiedEvent?.Invoke(sender, isModified);
}
/// <summary>
/// The SetCurrentLayer.
/// </summary>
/// <param name="send">The send<see cref="object"/>.</param>
/// <param name="e">The e<see cref="PropertyChangedEventArgs"/>.</param>
private void SetCurrentLayer(object send, PropertyChangedEventArgs e)
{
//if (LayerPanel != null)
//{
// LayerPanel.Text = $" {e.PropertyName}";
//}
}
/// <summary>
/// 放大.
/// </summary>
/// <param name="sender">事件按钮.</param>
/// <param name="e">事件参数.</param>
private void btnZoomIn_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ToolZoomIn();
}
/// <summary>
/// 缩小.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnZoomOut_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ToolZoomOut();
}
/// <summary>
/// 设置窗口浏览状态.
/// </summary>
/// <param name="sender">事件按钮.</param>
/// <param name="e">事件参数.</param>
private void btnZoomWindow_DownChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (btnZoomWindow.Down == true)
{
//mainView.ToolDefault();
mainView.SetViewOperation(ViewOperationKind.ViewWindow);
}
else
{
mainView.SetViewOperation(ViewOperationKind.Invalid);
}
}
/// <summary>
/// 设置拖动浏览模式.
/// </summary>
/// <param name="sender">事件按钮.</param>
/// <param name="e">事件参数.</param>
private void btnZoomPan_DownChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (btnZoomPan.Down == true)
{
if(mainView.ViewControl.mViewType == GeoSigmaXY.eViewType.wellpole)
mainView.SetViewOperation(ViewOperationKind.ViewWellPolePan);
else
mainView.SetViewOperation(ViewOperationKind.ViewPan);
}
else
{
mainView.SetViewOperation(ViewOperationKind.Invalid);
}
}
/// <summary>
/// 显示全图事件.
/// </summary>
/// <param name="sender">事件按钮.</param>
/// <param name="e">事件参数.</param>
private void btnZoomAll_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ToolViewAll();
}
/// <summary>
/// 回退显示状态.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnZoomBack_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ToolZoomBack();
}
/// <summary>
/// 图形刷新.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnRefresh_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ToolRedraw();
}
/// <summary>
/// 显示十字辅助线.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnShowCross_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ToolCrossEnable(btnShowCross.Down);
}
/// <summary>
/// 撤销操作.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnUndo_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ToolUndo();
}
/// <summary>
/// 重做操作.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnRedo_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ToolRedo();
}
///// <summary>
///// 取消下拉主按钮状态
///// </summary>
//private void UncheckEditorMainDrop(Control exceptControl)
//{
// for (int i = 0; i < this.lstMutuallyButton.Count; i++)
// {
// if (exceptControl != null && lstMutuallyButton[i].Equals(exceptControl))
// {
// lstMutuallyButton[i].Down = false;
// }
// }
//}
/// <summary>
/// 默认状态.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">e</param>
private void btnToolDefault_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (btnToolDefault.Down)
{
mainView.ToolDefault();
}
}
/// <summary>
/// The btnToolDefault_DownChanged.
/// </summary>
/// <param name="sender">The sender<see cref="object"/>.</param>
/// <param name="e">The e<see cref="DevExpress.XtraBars.ItemClickEventArgs"/>.</param>
private void btnToolDefault_DownChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
}
/// <summary>
/// 元素选择状态.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnToolSelect_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (btnToolSelect.Down)
{
mainView.ToolSelect();
}
}
/// <summary>
/// The btnToolSelect_DownChanged.
/// </summary>
/// <param name="sender">The sender<see cref="object"/>.</param>
/// <param name="e">The e<see cref="DevExpress.XtraBars.ItemClickEventArgs"/>.</param>
private void btnToolSelect_DownChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
}
/// <summary>
/// 绘制线.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnDrawCurve_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (btnDrawCurve.Down)
{
mainView.ToolAddCurve();
}
}
/// <summary>
/// 绘制点.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnDrawPoint_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (btnDrawPoint.Down)
{
mainView.ToolAddPoint();
}
}
/// <summary>
/// 绘制文字.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnDrawText_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (btnDrawText.Down)
{
mainView.ToolText();
}
}
/// <summary>
/// 绘制矩形.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnDrawRectangle_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (btnDrawRectangle.Down)
{
mainView.ToolRectangle();
}
}
/// <summary>
/// 绘制椭圆.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnDrawEllipse_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (btnDrawEllipse.Down)
{
mainView.ToolEllipse();
}
}
/// <summary>
/// 绘制坐标框.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnDrawNetFrame_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (btnDrawNetFrame.Down)
{
mainView.ToolCSGrid();
}
}
/// <summary>
/// 绘制比例尺.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnDrawProportion_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (btnDrawProportion.Down)
{
mainView.ToolAddProportion();
}
}
/// <summary>
/// 曲线连接.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnCurveJoin_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (btnCurveJoin.Down)
{
mainView.ToolJoinCurve();
}
}
/// <summary>
/// 曲线打断.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnCurveBreak_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (btnCurveBreakMain.Down)
{
mainView.ToolBreakCurve();
barButtonItem2.Down = true;
}
else
{
//btnToolDefault.Down = true;
mainView.ToolRestore();
}
}
/// <summary>
/// The barButtonItem2_ItemClick.
/// </summary>
/// <param name="sender">The sender<see cref="object"/>.</param>
/// <param name="e">The e<see cref="DevExpress.XtraBars.ItemClickEventArgs"/>.</param>
private void barButtonItem2_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (barButtonItem2.Down)
{
mainView.ToolBreakCurve();
}
}
/// <summary>
/// 曲线切割.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnCurveCut_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (barButtonItem3.Down)
{
mainView.ToolBreakDirect();
}
}
/// <summary>
/// The barButtonItem2_DownChanged.
/// </summary>
/// <param name="sender">The sender<see cref="object"/>.</param>
/// <param name="e">The e<see cref="DevExpress.XtraBars.ItemClickEventArgs"/>.</param>
private void barButtonItem2_DownChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (barButtonItem2.Down || barButtonItem3.Down)
{
btnCurveBreakMain.Down = true;
}
else
{
mainView.ToolRestore();
}
}
/// <summary>
/// The barButtonItem3_DownChanged.
/// </summary>
/// <param name="sender">The sender<see cref="object"/>.</param>
/// <param name="e">The e<see cref="DevExpress.XtraBars.ItemClickEventArgs"/>.</param>
private void barButtonItem3_DownChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (barButtonItem2.Down || barButtonItem3.Down)
{
btnCurveBreakMain.Down = true;
}
else
{
mainView.ToolRestore();
}
}
/// <summary>
/// 曲线闭合.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnCurveClose_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (btnCurveClose.Down)
{
mainView.ToolCloseCurve();
}
}
/// <summary>
/// 曲线充填.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnCurveFill_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (btnCurveFill.Down)
{
mainView.ToolCurveConnectFill();
btnIntersectRegionFill.Down = true;
}
else
{
mainView.ToolRestore();
}
}
/// <summary>
/// 曲线延伸.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnCurveExtend_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (btnCurveExtend.Down)
{
mainView.ToolExtendCurve();
}
}
/// <summary>
/// 裁切.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnCurveTrim_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (btnCurveTrim.Down)
{
mainView.ToolTrimCurve();
}
}
/// <summary>
/// 曲线反向.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnCurveReverse_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (btnCurveReverse.Down)
{
mainView.ToolReverseCurve();
}
}
/// <summary>
/// 曲线内部名称移动.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnCurveNameMove_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (btnCurveNameMove.Down)
{
mainView.ToolMoveCurveName();
}
}
/// <summary>
/// 最上显示.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnOrderTop_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ToolOrderTop();
}
/// <summary>
/// 最下显示.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnOrderBottom_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ToolOrderBottom();
}
/// <summary>
/// 上移一层显示.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnOrderUp_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ToolOrderUp();
}
/// <summary>
/// 下移一层显示.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnOrderDown_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ToolOrderDown();
}
/// <summary>
/// 属性放大.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnPropertyZoomIn_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.PropertyZoomIn();
}
/// <summary>
/// 属性缩小.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnPropertyZoomOut_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.PropertyZoomOut();
}
/// <summary>
/// 粘贴.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnPaste_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ToolPaste();
}
/// <summary>
/// 复制.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnCopy_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ToolCopy();
}
/// <summary>
/// 剪切.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnCut_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ToolCut();
}
/// <summary>
/// 删除.
/// </summary>
/// <param name="sender">删除主按钮.</param>
/// <param name="e">事件参数.</param>
private void btnDeleteMain_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
btnDelete.Down = btnDeleteMain.Down;
if (btnDeleteMain.Down)
{
mainView.ToolDeleteNormal();
}
else
{
mainView.RestoreToolDefault();
}
}
/// <summary>
/// 删除.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnDelete_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
btnDeleteMain.Down = btnDelete.Down;
if (btnDelete.Down)
{
mainView.ToolDeleteNormal();
}
else
{
mainView.ToolRestore();
}
}
/// <summary>
/// The btnDelete_DownChanged.
/// </summary>
/// <param name="sender">The sender<see cref="object"/>.</param>
/// <param name="e">The e<see cref="DevExpress.XtraBars.ItemClickEventArgs"/>.</param>
private void btnDelete_DownChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (btnDelete.Down || btnDeleteOutRegion.Down || btnDeleteInRegion.Down)
{
btnDeleteMain.Down = true;
}
else
{
btnDeleteMain.Down = false;
}
}
/// <summary>
/// 删除区域外图形.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnDeleteOutRegion_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
btnDeleteMain.Down = btnDeleteOutRegion.Down;
if (btnDeleteOutRegion.Down)
{
mainView.ToolDeleteOut();
}
else
{
mainView.ToolRestore();
}
}
/// <summary>
/// The btnDeleteOutRegion_DownChanged.
/// </summary>
/// <param name="sender">The sender<see cref="object"/>.</param>
/// <param name="e">The e<see cref="DevExpress.XtraBars.ItemClickEventArgs"/>.</param>
private void btnDeleteOutRegion_DownChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (btnDelete.Down || btnDeleteOutRegion.Down || btnDeleteInRegion.Down)
{
btnDeleteMain.Down = true;
}
else
{
btnDeleteMain.Down = false;
}
}
/// <summary>
/// 删除区域内部.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnDeleteInRegion_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
btnDeleteMain.Down = btnDeleteInRegion.Down;
if (btnDeleteInRegion.Down)
{
mainView.ToolDeleteIn();
}
else
{
mainView.ToolRestore();
}
}
/// <summary>
/// The btnDeleteInRegion_DownChanged.
/// </summary>
/// <param name="sender">The sender<see cref="object"/>.</param>
/// <param name="e">The e<see cref="DevExpress.XtraBars.ItemClickEventArgs"/>.</param>
private void btnDeleteInRegion_DownChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (btnDelete.Down || btnDeleteOutRegion.Down || btnDeleteInRegion.Down)
{
btnDeleteMain.Down = true;
}
else
{
btnDeleteMain.Down = false;
}
}
/// <summary>
/// 查找.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnSearchMain_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ToolFind(false);
}
/// <summary>
/// 查找.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnFind_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ToolFind(false);
}
/// <summary>
/// 替换.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnReplace_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ToolFind(true);
}
/// <summary>
/// 筛选.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnFilter_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ToolFilter();
}
/// <summary>
/// 全选.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnSelectAll_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ToolSelectAll();
}
/// <summary>
/// 选择所有线.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnSelectAllCurve_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ToolSelectAllCurve();
}
/// <summary>
/// 选择所有点.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnSelectAllPoint_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ToolSelectAllPoint();
}
/// <summary>
/// 清除点个性.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnClearPointProperty_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ToolClearPointProperty();
}
/// <summary>
/// 设置点类个性.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnSetPointPropert_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ToolSetPointProperty();
}
/// <summary>
/// 清除线类个性.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnClearCurveProperty_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ToolClearCurveProperty();
}
/// <summary>
/// 设置线个性.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnSetCurveProperty_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ToolSetCurveProperty();
}
/// <summary>
/// 左对齐.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnAlignLeft_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ToolAlignLeft();
}
/// <summary>
/// 右对齐.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnAlignRight_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ToolAlignRight();
}
/// <summary>
/// 顶对齐.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnAlignTop_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ToolAlignTop();
}
/// <summary>
/// 底对齐.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnAlignBottom_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ToolAlignBottom();
}
/// <summary>
/// 垂直居中.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnAlignMiddle_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ToolAlignCenterV();
}
/// <summary>
/// 水平居中.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnAlignCenter_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ToolAlignCenterH();
}
/// <summary>
/// 水平镜像.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnMirrorH_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ToolMirrorH();
}
/// <summary>
/// 垂直镜像.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnMirrorV_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ToolMirrorV();
}
/// <summary>
/// 坐标运算.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnCoordinateCalculate_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ToolCoordinateChange();
}
/// <summary>
/// 坐标交换.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnCoordinateExchange_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ToolCoordinateExchange();
}
/// <summary>
/// 数据导入.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnImport_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ImportDataFile();
}
/// <summary>
/// 数据导出.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnExport_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
// mainView.TestWellTrack();
var form = new Form();
form.Text = "ListBox 显示窗口";
var listBox = new MarkListBox();
listBox.Dock = DockStyle.Fill;
form.Controls.Add(listBox);
form.Show();
// mainView.TestCurveTrack();
//mainView.TestDepthTrack();
// mainView.ExportDataFile();
}
/// <summary>
/// 矩形区域截图.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnImageCutRectangle_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ToolImageCutRange();
}
/// <summary>
/// 自定义截图
/// </summary>
/// <param name="sender">按钮</param>
/// <param name="e">事件参数</param>
private void btnImageCutEx_ItemClick(object sender, ItemClickEventArgs e)
{
mainView.ToolImageCutRangeEx();
}
/// <summary>
/// 截图所有图元.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnImageCutAll_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ToolImageCutAll();
}
/// <summary>
/// 截图窗口区域.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnImageCutWindow_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ToolImageCutWindow();
}
/// <summary>
/// 生成文件保存路径.
/// </summary>
/// <param name="extName">.</param>
/// <returns>事件参数.</returns>
private string GetSaveFileName(string extName)
{
var sfd = new SaveFileDialog();
sfd.Filter = extName;
sfd.FileName = "新建文件";
sfd.AddExtension = true;
sfd.RestoreDirectory = true;
if (sfd.ShowDialog(this) != DialogResult.OK)
{
return string.Empty;
}
return sfd.FileName.ToString();
}
/// <summary>
/// 保存为符号.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnTake2Symbol_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.FileSaveToMark();
}
/// <summary>
/// 保存为Xyz.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnTake2Xyz_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
string extName = "XYZ File (*.xyz)|*.xyz|All Files(*.*)|*.*||";
string filePath = GetSaveFileName(extName);
if (string.IsNullOrEmpty(filePath))
{
return;
}
mainView.FileSaveToXyz(filePath);
}
/// <summary>
/// 保存曲线.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">v.</param>
private void btnTakeCurves_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
string extName = "KE Files (*.kev)|*.kev|All file(*.*)|*.*||";
string filePath = GetSaveFileName(extName);
if (string.IsNullOrEmpty(filePath))
{
return;
}
mainView.FileSaveCurve(filePath);
}
/// <summary>
/// 保存显示的内容.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnTakeDisplay_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
string extName = "KE Files (*.kev)|*.kev|All file(*.*)|*.*||";
string filePath = GetSaveFileName(extName);
mainView.FileSaveView(filePath);
}
/// <summary>
/// 保存充填的内容.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnTakeFilled_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
string extName = "KE Files (*.kev)|*.kev|All file(*.*)|*.*||";
string filePath = GetSaveFileName(extName);
if (!string.IsNullOrEmpty(filePath))
{
mainView.FileSaveSolid(filePath);
}
}
/// <summary>
/// 保存点数据.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnTakePoints_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
string extName = "KE Files (*.kev)|*.kev|All file(*.*)|*.*||";
string filePath = GetSaveFileName(extName);
if (string.IsNullOrEmpty(filePath))
{
return;
}
mainView.FileSavePoint(filePath);
}
/// <summary>
/// 保存净曲线.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnTakePurerCurves_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
string extName = "KE Files (*.kev)|*.kev|All file(*.*)|*.*||";
string filePath = GetSaveFileName(extName);
if (string.IsNullOrEmpty(filePath))
{
return;
}
mainView.FileSaveCleanCurve(filePath);
}
/// <summary>
/// 保存选中的内容.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnTakeSelected_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
string extName = "KE Files (*.kev)|*.kev|All file(*.*)|*.*||";
string filePath = GetSaveFileName(extName);
mainView.FileSaveSelect(filePath);
}
/// <summary>
/// 保存文字.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnTakeTexts_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
string extName = "KE Files (*.kev)|*.kev|All file(*.*)|*.*||";
string filePath = GetSaveFileName(extName);
if (string.IsNullOrEmpty(filePath))
{
return;
}
mainView.FileSaveText(filePath);
}
/// <summary>
/// 合并文件.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnMergeFile_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
//var openFile = new OpenFileDialog();
//openFile.Title = "合并文件";
//openFile.Filter = "*.kev|*.kev|*.pcg|*.pcg|*.*|*.*";
//openFile.FilterIndex = 0;
//openFile.Multiselect = false;
//if (openFile.ShowDialog() == DialogResult.OK)
//{
// mainView.FileMerge(openFile.FileName);
// mainView.ToolRedraw();
//}
}
/// <summary>
/// 平面图.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void bbtnPlaneFigure_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
var openFile = new OpenFileDialog();
openFile.Title = "合并文件";
openFile.Filter = "*.kev|*.kev|*.pcg|*.pcg|*.*|*.*";
openFile.FilterIndex = 0;
openFile.Multiselect = false;
if (openFile.ShowDialog() == DialogResult.OK)
{
mainView.FileMerge(openFile.FileName);
mainView.ToolRedraw();
}
}
/// <summary>
/// 单井图.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void bbtnWellFigure_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
var openFile = new OpenFileDialog();
openFile.Title = "合并单井图文件";
openFile.Filter = "*.pcg|*.pcg";
openFile.FilterIndex = 0;
openFile.Multiselect = false;
if (openFile.ShowDialog() == DialogResult.OK)
{
mainView.WellPoleFileMerge(openFile.FileName);
mainView.ToolRedraw();
}
}
/// <summary>
/// 剖面图.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void bbtnSectionFigure_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
var openFile = new OpenFileDialog();
openFile.Title = "合并剖面图文件";
openFile.Filter = "*.pcg|*.pcg";
openFile.FilterIndex = 0;
openFile.Multiselect = false;
if (openFile.ShowDialog() == DialogResult.OK)
{
mainView.MultiWellSectionFileMerge(openFile.FileName);
mainView.ToolRedraw();
}
}
/// <summary>
/// 设置投影参数.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnProjection_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ToolSetProjection();
}
/// <summary>
/// 转换投影.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnProjectionChange_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ToolProjectionChange();
}
/// <summary>
/// 打印.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnPrint_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.PrintDraw();
}
/// <summary>
/// 保存.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnSaveMain_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (!SaveFile())
{
MessageBox.Show("保存文件失败");
}
}
/// <summary>
/// 另存为.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnSaveAs_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
SaveAs();
}
/// <summary>
/// 背景网格.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnBKGrid_DownChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
// mainView.DisplayBackgroundGrid(btnBKGrid.Down);
}
/// <summary>
/// 设置背景网格尺寸.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnBkGridSize_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ToolSetBKGridSize();
}
/// <summary>
/// 高亮提示.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnHighLight_DownChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ToolEnableHighLight(btnHighLight.Down);
}
/// <summary>
/// 绘制弧.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnDrawArc_DownChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
//SetDrawShapeMainStatus();
if (btnDrawArc.Down)
{
mainView.ToolAcr();
}
}
/// <summary>
/// 画弓形.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnDrawChord_DownChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
//SetDrawShapeMainStatus();
if (btnDrawChord.Down)
{
mainView.ToolChord();
}
}
/// <summary>
/// 画扇形.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnDrawFan_DownChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
//SetDrawShapeMainStatus();
if (btnDrawFan.Down)
{
mainView.ToolPie();
}
}
/// <summary>
/// 画五边形.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnDrawPentagon_DownChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
//SetDrawShapeMainStatus();
if (btnDrawPentagon.Down)
{
mainView.ToolEquilateral();
// btnDrawShape.ImageOptions.Image =
}
}
/// <summary>
/// The btnDrawShape_DownChanged.
/// </summary>
/// <param name="sender">The sender<see cref="object"/>.</param>
/// <param name="e">The e<see cref="DevExpress.XtraBars.ItemClickEventArgs"/>.</param>
private void btnDrawShape_DownChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
}
/// <summary>
/// 分数点.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数</param>
private void btnDrawFractionPoint_DownChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
SetCrossPointMainStatus();
if (btnDrawFractionPoint.Down)
{
mainView.ToolDrawFractionPoint();
}
}
/// <summary>
/// 十字点.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnDrawCrossPoint_DownChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
SetCrossPointMainStatus();
if (btnDrawCrossPoint.Down)
{
mainView.ToolAddCrossPoint();
}
}
/// <summary>
/// The btnDrawCrossPointMain_DownChanged.
/// </summary>
/// <param name="sender">The sender<see cref="object"/>.</param>
/// <param name="e">The e<see cref="DevExpress.XtraBars.ItemClickEventArgs"/>.</param>
private void btnDrawCrossPointMain_DownChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
SetCrossPointMainStatus();
}
/// <summary>
/// 设置十字点主按钮的选中状态.
/// </summary>
private void SetCrossPointMainStatus()
{
if (btnDrawCrossPoint.Down || btnDrawFractionPoint.Down)
{
btnDrawCrossPointMain.Down = true;
}
else
{
btnDrawCrossPointMain.Down = false;
}
}
/// <summary>
/// 外切矩形式.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnCutOutRectangle_DownChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (btnCutOutRectangle.Down)
{
btnCutOutMain.Down = true;
mainView.ToolCutOutByRect();
}
}
/// <summary>
/// 外切拾取式.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnCutOutPick_DownChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (btnCutOutPick.Down)
{
btnCutOutMain.Down = true;
mainView.ToolCutOutByPickup();
}
}
/// <summary>
/// 外切主菜单.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnCutOutMain_DownChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (btnCutOutRectangle.Down || btnCutOutPick.Down)
{
btnCutOutMain.Down = true;
}
else
{
btnCutOutMain.Down = false;
}
}
/// <summary>
/// 内切拾取式.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnCutInPickup_DownChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (btnCutInPickup.Down)
{
btnCutInMain.Down = true;
mainView.ToolCutInByPickup();
}
}
/// <summary>
/// 内切矩形式.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnCutInRectangle_DownChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (btnCutInRectangle.Down)
{
btnCutInMain.Down = true;
mainView.ToolCutInByRect();
}
}
/// <summary>
/// 内切主按钮.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnCutInMain_DownChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (btnCutInPickup.Down || btnCutInRectangle.Down)
{
btnCutInMain.Down = true;
}
else
{
btnCutInMain.Down = false;
}
}
/// <summary>
/// 曲线处理主参数.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="ItemClickEventArgs"/> instance containing the event data.</param>
private void btnCurveProcessMain_DownChanged(object sender, ItemClickEventArgs e)
{
if (bbtnCurveSmooth.Down || bbtnShape2Curve.Down
|| bbtnSurfaceCurveZ.Down)
{
if (this.btnCurveNameMain.Down != true)
{
this.btnCurveNameMain.Down = true;
}
}
else
{
if (this.btnCurveNameMain.Down != false)
{
this.btnCurveNameMain.Down = false;
}
}
}
/// <summary>
/// 曲线名称主按钮.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnCurveNameMain_DownChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (btnCurveNameSet.Down || btnCurveName2Z.Down ||
btnCurveNameFromZ.Down || btnCurveNameFindEmpty.Down
|| btnContourNameSet.Down)
{
btnCurveNameMain.Down = true;
}
else
{
btnCurveNameMain.Down = false;
}
}
/// <summary>
/// 设置曲线名称.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnCurveNameSet_DownChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (btnCurveNameSet.Down)
{
btnCurveNameMain.Down = true;
mainView.ToolCurveNameSet();
}
}
/// <summary>
/// 等值线名称设置.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnContourNameSet_DownChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (btnContourNameSet.Down)
{
btnCurveNameMain.Down = true;
mainView.ToolSetContourName();
}
}
/// <summary>
/// The btnCurveName2Z_DownChanged.
/// </summary>
/// <param name="sender">The sender<see cref="object"/>.</param>
/// <param name="e">The e<see cref="DevExpress.XtraBars.ItemClickEventArgs"/>.</param>
private void btnCurveName2Z_DownChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (btnCurveName2Z.Down)
{
btnCurveNameMain.Down = true;
mainView.ToolCurveName2z();
}
}
/// <summary>
/// The btnCurveNameFromZ_DownChanged.
/// </summary>
/// <param name="sender">The sender<see cref="object"/>.</param>
/// <param name="e">The e<see cref="DevExpress.XtraBars.ItemClickEventArgs"/>.</param>
private void btnCurveNameFromZ_DownChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (btnCurveNameFromZ.Down)
{
btnCurveNameMain.Down = true;
mainView.ToolCurveZ2Name();
}
}
/// <summary>
/// The btnCurveNameFindEmpty_DownChanged.
/// </summary>
/// <param name="sender">The sender<see cref="object"/>.</param>
/// <param name="e">The e<see cref="DevExpress.XtraBars.ItemClickEventArgs"/>.</param>
private void btnCurveNameFindEmpty_DownChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (btnCurveNameFindEmpty.Down)
{
btnCurveNameMain.Down = true;
mainView.ToolCurveFindEmptyName();
}
}
/// <summary>
/// 网格生成等值线.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnGridGenerateContour_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView?.GridGeneraterContour();
}
/// <summary>
/// 网格平滑.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">参数</param>
private void btnGridSmooth_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView?.ToolGridSmooth();
}
/// <summary>
/// 设置Z值.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">e</param>
private void btnGridSetZValue_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView?.ToolGridSetZValue();
}
/// <summary>
/// 等值线生成网格.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnContourGenerateGrid_ItemClickAsync(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
//mainView?.ToolGridStatics();
//mainView?.CreateMeshByDataAsync();
ppmGenerateGrid.ShowPopup(Control.MousePosition);
}
/// <summary>
/// 数据生成网格.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void bbtnDataGenerateGrid_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView?.CreateMeshByDataAsync();
}
/// <summary>
/// 图片生成网格.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void bbtnImageGenerateGrid_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView?.CreateMeshByImageAsync();
}
/// <summary>
/// 网格体积计算.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void btnGridVolume_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView?.ToolGridVolumeCalculate();
}
/// <summary>
/// 是否消除网格锯齿.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">参数</param>
private void ckbGridAnti_CheckedChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView?.ToolGridEnablePack(bbtnMeshPack.Down);
}
/// <summary>
/// 曲线延伸.
/// </summary>
/// <param name="sender">延伸按钮.</param>
/// <param name="e">事件参数.</param>
private void btnCurveExtendSetting_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView?.ToolCurveExtendSetting();
}
/// <summary>
/// 四点校正.
/// </summary>
/// <param name="sender">事件按钮.</param>
/// <param name="e">事件参数.</param>
private void btnCoordinateAdjust4Point_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView?.ToolCalibration4();
}
/// <summary>
/// 两点校正.
/// </summary>
/// <param name="sender">事件按钮.</param>
/// <param name="e">事件参数.</param>
private void btnCoordinateAdjust2Point_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView?.ToolCalibration2();
}
/// <summary>
/// 重新处理网格锯齿.
/// </summary>
/// <param name="sender">.</param>
/// <param name="e">事件参数.</param>
private void bbtnMeshPackForce_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView.ForceMeshPack = true;
bbtnMeshPack.Down = true;
mainView?.ToolGridEnablePack(bbtnMeshPack.Down);
mainView.ForceMeshPack = false;
}
/// <summary>
/// 区域连通点击事件.
/// </summary>
/// <param name="sender">The sender.</param>
/// <param name="e">The e.</param>
private void bbtnPolygonConnect_ItemClick(object sender, ItemClickEventArgs e)
{
mainView?.ToolCurveConnect();
}
/// <summary>
/// 曲线加密.
/// </summary>
/// <param name="sender">事件按钮.</param>
/// <param name="e">事件参数.</param>
private void bbtnCurveNodeInsert_ItemClick(object sender, ItemClickEventArgs e)
{
mainView?.ToolCurveDensity();
}
/// <summary>
/// 由曲面设置曲线节点Z值.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="ItemClickEventArgs"/> instance containing the event data.</param>
private void bbtnSurfaceCurveZ_DownChanged(object sender, ItemClickEventArgs e)
{
mainView?.ToolCurveZFromSuface();
}
/// <summary>
/// 取消去冗余.
/// </summary>
/// <param name="sender">事件按钮.</param>
/// <param name="e">事件参数.</param>
private void bbtnCurveNodeRedundant_ItemClick(object sender, ItemClickEventArgs e)
{
mainView?.ToolCurveRedundancy();
}
/// <summary>
/// 曲线光滑.
/// </summary>
/// <param name="sender">事件按钮.</param>
/// <param name="e">事件参数.</param>
private void bbtnCurveSmooth_DownChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView?.ToolCurveSmooth();
}
/// <summary>
/// 形状转曲线.
/// </summary>
/// <param name="sender">事件按钮.</param>
/// <param name="e">事件参数.</param>
private void bbtnShape2Curve_DownChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView?.ToolShape2Curve();
}
/// <summary>
/// The ppcEditorMeshPack_Closed.
/// </summary>
/// <param name="sender">The sender<see cref="object"/>.</param>
/// <param name="e">The e<see cref="DevExpress.XtraEditors.Controls.ClosedEventArgs"/>.</param>
private void ppcEditorMeshPack_Closed(object sender, DevExpress.XtraEditors.Controls.ClosedEventArgs e)
{
}
/// <summary>
/// The ppcEditorMeshPack_QueryDisplayText.
/// </summary>
/// <param name="sender">The sender<see cref="object"/>.</param>
/// <param name="e">The e<see cref="DevExpress.XtraEditors.Controls.QueryDisplayTextEventArgs"/>.</param>
private void ppcEditorMeshPack_QueryDisplayText(object sender, DevExpress.XtraEditors.Controls.QueryDisplayTextEventArgs e)
{
}
/// <summary>
/// The ppc3dLayerEdit_QueryDisplayText.
/// </summary>
/// <param name="sender">The sender<see cref="object"/>.</param>
/// <param name="e">The e<see cref="DevExpress.XtraEditors.Controls.QueryDisplayTextEventArgs"/>.</param>
private void ppc3dLayerEdit_QueryDisplayText(object sender, DevExpress.XtraEditors.Controls.QueryDisplayTextEventArgs e)
{
}
/// <summary>
/// The ppcEditorMeshPack_QueryResultValue.
/// </summary>
/// <param name="sender">The sender<see cref="object"/>.</param>
/// <param name="e">The e<see cref="DevExpress.XtraEditors.Controls.QueryResultValueEventArgs"/>.</param>
private void ppcEditorMeshPack_QueryResultValue(object sender, DevExpress.XtraEditors.Controls.QueryResultValueEventArgs e)
{
if (e.Value == null || !e.Value.Equals(layerPopNode))
{
e.Value = layerPopNode;
}
}
private void ppc3dLayerEdit_QueryResultValue(object sender, DevExpress.XtraEditors.Controls.QueryResultValueEventArgs e)
{
if (e.Value == null || !e.Value.Equals(layerPopNode))
{
e.Value = layerPopNode;
}
}
/// <summary>
/// 断层图层弹出.
/// </summary>
/// <param name="sender">事件按钮.</param>
/// <param name="e">事件参数.</param>
private void ppcEditorMeshPack_Popup(object sender, EventArgs e)
{
}
/// <summary>
/// 获取指定value值的节点.
/// </summary>
/// <param name="tnParent">指定节点.</param>
/// <param name="strValues">value值.</param>
/// <returns>找到的树节点.</returns>
private TreeNode FindNodeByValue(TreeNode tnParent, string strValues)
{
if (tnParent == null)
{
return null;
}
if (tnParent.FullPath == strValues)
{
return tnParent;
}
TreeNode tnRet = null;
foreach (TreeNode tn in tnParent.Nodes)
{
tnRet = FindNodeByValue(tn, strValues);
if (tnRet != null)
{
break;
}
}
return tnRet;
}
/// <summary>
/// The Expand2Node.
/// </summary>
/// <param name="treeNode">The treeNode<see cref="TreeNode"/>.</param>
private void Expand2Node(TreeNode treeNode)
{
TreeNode tnParent = treeNode.Parent;
if (tnParent != null)
{
tnParent.Expand();
Expand2Node(tnParent);
}
else
{
return;
}
}
/// <summary>
/// The InitToolTip.
/// </summary>
private void InitToolTip()
{
}
/// <summary>
/// 边界设置窗口显示事件.
/// </summary>
/// <param name="sender">事件按钮.</param>
/// <param name="e">事件参数.</param>
private void bdtBorderLayer_ShowingEditor(object sender, DevExpress.XtraBars.ItemCancelEventArgs e)
{
layerPopNode = mainView.BorderLayer;
}
/// <summary>
/// 设置网格的边界图层.
/// </summary>
/// <param name="sender">The sender<see cref="object"/>.</param>
/// <param name="e">The e<see cref="EventArgs"/>.</param>
private void bdtBorderLayer_EditValueChanged(object sender, EventArgs e)
{
if (!layerPopNode.Equals(mainView.BorderLayer))
{
mainView.BorderLayer = layerPopNode;
bbtnMeshPackForce_ItemClick(null, null);
}
}
/// <summary>
/// 断层设置窗口显示.
/// </summary>
/// <param name="sender">事件按钮.</param>
/// <param name="e">事件参数.</param>
private void bdtFaultLayer_ShowingEditor(object sender, DevExpress.XtraBars.ItemCancelEventArgs e)
{
layerPopNode = mainView.FaultLayer;
}
/// <summary>
/// The bdtFaultLayer_EditValueChanged.
/// </summary>
/// <param name="sender">The sender<see cref="object"/>.</param>
/// <param name="e">The e<see cref="EventArgs"/>.</param>
private void bdtFaultLayer_EditValueChanged(object sender, EventArgs e)
{
if (!layerPopNode.Equals(mainView.FaultLayer))
{
mainView.FaultLayer = layerPopNode;
bbtnMeshPackForce_ItemClick(null, null);
}
}
/// <summary>
/// btis the grid contour layer_ edit value changed.
/// </summary>
/// <param name="sender">The sender.</param>
/// <param name="e">The e.</param>
private void btiGridContourLayer_EditValueChanged(object sender, EventArgs e)
{
//string strContourLayer = $"{btiGridContourLayer.EditValue}";
//if (!string.IsNullOrEmpty(strContourLayer))
//{
// GridContourLayer = strContourLayer;
//}
}
/// <summary>
/// bdis the grid fault layer_ edit value changed.
/// </summary>
/// <param name="sender">The sender.</param>
/// <param name="e">The e.</param>
private void bdiGridFaultLayer_EditValueChanged(object sender, EventArgs e)
{
//string strLayer = $"{bdiGridFaultLayer.EditValue}";
//if (!string.IsNullOrEmpty(strLayer))
//{
// GridFaultLayer = strLayer;
//}
}
/// <summary>
/// 图层选择下拉框弹出前事件.
/// </summary>
/// <param name="sender">The sender.</param>
/// <param name="e">The e.</param>
private void ppmGridEditorLayer_BeforePopup(object sender, CancelEventArgs e)
{
btiGridContourLayer.EditValue = GridContourLayer;
bdiGridFaultLayer.EditValue = GridFaultLayer;
btiGridControlPointLayer.EditValue = ControlPointLayer;
btnOtherLineLayer.EditValue = OtherLineLayer;
}
private void btiGridContourLayer_ShowingEditor(object sender, ItemCancelEventArgs e)
{
//popupTreeType = "网格编辑等值线图层";
//layerPopNode = this.GridContourLayer;
//ppcEditorMeshPack.PopupControl = ppcMeshPack;
}
private void bdiGridFaultLayer_ShowingEditor(object sender, ItemCancelEventArgs e)
{
//popupTreeType = "网格编辑断层图层";
//layerPopNode = this.GridFaultLayer;
//ppcEditorMeshPack.PopupControl = ppcMeshPack;
}
/// <summary>
/// 控制点图形选择框显示事件.
/// </summary>
/// <param name="sender">The sender.</param>
/// <param name="e">The e.</param>
private void btiGridControlPointLayer_ShowingEditor(object sender, ItemCancelEventArgs e)
{
//popupTreeType = "网格编辑控制点图层";
//layerPopNode = this.ControlPointLayer;
//ppcEditorMeshPack.PopupControl = ppcMeshPack;
}
/// <summary>
/// 其它线弹出编辑框事件
/// </summary>
/// <param name="sender">The sender.</param>
/// <param name="e">The e.</param>
private void btnOtherLineLayer_ShowingEditor(object sender, ItemCancelEventArgs e)
{
//popupTreeType = "网格编辑附加线图层";
//layerPopNode = this.OtherLineLayer;
//ppcEditorMeshPack.PopupControl = ppcMeshPack;
}
/// <summary>
/// btis the dig empty layer_ showing editor.
/// </summary>
/// <param name="sender">The sender.</param>
/// <param name="e">The e.</param>
private void btiDigEmptyLayer_ShowingEditor(object sender, ItemCancelEventArgs e)
{
//popupTreeType = "3维显示挖空图层";
//layerPopNode = this.HoleLayer;
//ppc3dLayerEdit.PopupControl = ppcMeshPack;
}
private void btiBorderControlLayer_ShowingEditor(object sender, ItemCancelEventArgs e)
{
//popupTreeType = "3维显示边界范围";
//layerPopNode = this.BorderControlLayer;
//ppc3dLayerEdit.PopupControl = ppcMeshPack;
}
/// <summary>
/// 关闭网格补丁图层.
/// </summary>
private void ClosePopupMeshPack()
{
//if (ppcMeshPack.OwnerEdit != null)
//{
// ppcMeshPack.OwnerEdit.ClosePopup();
//}
}
/// <summary>
/// The trvLayer_NodeMouseDoubleClick.
/// </summary>
/// <param name="sender">The sender<see cref="object"/>.</param>
/// <param name="e">The e<see cref="TreeNodeMouseClickEventArgs"/>.</param>
private void trvLayer_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
{
string strPath = e.Node.FullPath;
this.SetPopupData(strPath);
}
private void btnPopOK_Click(object sender, EventArgs e)
{
//var checkedItems = TreeViewHelper.TraverseTreeView(trvLayer).Where(n => n.Checked).Select(n => n.FullPath).ToList();
//if (trvLayer.SelectedNode == null && checkedItems.Count == 0)
//{
// ClosePopupMeshPack();
// return;
//}
//string strPath = string.Empty;
//if (popupTreeType == "3维显示挖空图层" || popupTreeType == "3维显示边界范围")
//{
// strPath = string.Join(";", checkedItems);
//}
//else
//{
// strPath = trvLayer.SelectedNode.FullPath;
//}
//this.SetPopupData(strPath);
}
private void btnPopCancel_Click(object sender, EventArgs e)
{
ClosePopupMeshPack();
}
private void SetPopupData(string strPath)
{
if (this.popupTreeType == "网格编辑等值线图层")
{
string strLayer = strPath.Remove(0, 3);
if (!string.IsNullOrEmpty(strLayer) && strPath != "<无>")
{
GridContourLayer = strLayer;
}
if (strPath == "<无>")
{
GridContourLayer = string.Empty;
}
}
else if (this.popupTreeType == "网格编辑断层图层")
{
string strLayer = strPath.Remove(0, 3);
if (!string.IsNullOrEmpty(strLayer) && strPath != "<无>")
{
GridFaultLayer = strLayer;
}
if (strPath == "<无>")
{
GridFaultLayer = string.Empty;
}
}
else if (this.popupTreeType == "网格编辑控制点图层")
{
string strLayer = strPath.Remove(0, 3);
if (!string.IsNullOrEmpty(strLayer) && strPath != "<无>")
{
this.ControlPointLayer = strLayer;
}
if (strPath == "<无>")
{
ControlPointLayer = string.Empty;
}
}
else if (this.popupTreeType == "网格编辑附加线图层")
{
string strLayer = strPath.Remove(0, 3);
if (!string.IsNullOrEmpty(strLayer) && strPath != "<无>")
{
this.OtherLineLayer = strLayer;
}
if (strPath == "<无>")
{
this.OtherLineLayer = string.Empty;
}
}
else if (this.popupTreeType == "3维显示挖空图层")
{
if (strPath == "<无>")
{
HoleLayer = string.Empty;
}
else
{
var strPaths = strPath.Split(';');
var digEmpthLayerList = new List<string>();
foreach (var strP in strPaths)
{
string strLayer = strP.Remove(0, 3);
if (!string.IsNullOrEmpty(strLayer) && strPath != "<无>")
{
digEmpthLayerList.Add(strLayer);
}
}
HoleLayer = string.Join(";", digEmpthLayerList);
}
}
else if (this.popupTreeType == "3维显示边界范围")
{
if (strPath == "<无>")
{
BorderControlLayer = string.Empty;
}
else
{
var strPaths = strPath.Split(';');
var borderControlLayerList = new List<string>();
foreach (var strP in strPaths)
{
string strLayer = strP.Remove(0, 3);
if (!string.IsNullOrEmpty(strLayer) && strPath != "<无>")
{
borderControlLayerList.Add(strLayer);
}
}
BorderControlLayer = string.Join(";", borderControlLayerList);
}
}
if (!strPath.Equals(layerPopNode))
{
if (strPath.Contains(";"))
{
var strPaths = strPath.Split(';');
var digEmpthLayerList = new List<string>();
foreach (var strP in strPaths)
{
string strLayer = strP.Remove(0, 3);
if (!string.IsNullOrEmpty(strLayer) && strPath != "<无>")
{
digEmpthLayerList.Add(strLayer);
}
}
layerPopNode = string.Join(";", digEmpthLayerList);
}
else
{
layerPopNode = strPath.Remove(0, 3);
}
ClosePopupMeshPack();
}
}
/// <summary>
/// 反走样设置.
/// </summary>
/// <param name="sender">事件按钮.</param>
/// <param name="e">事件参数.</param>
private void btnAntiAlias_DownChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView?.ToolAntiAlias(btnAntiAlias.Down);
}
/// <summary>
/// The btnDisplayScale_ItemClick.
/// </summary>
/// <param name="sender">The sender<see cref="object"/>.</param>
/// <param name="e">The e<see cref="DevExpress.XtraBars.ItemClickEventArgs"/>.</param>
private void btnDisplayScale_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
mainView?.ToolDisplayScale();
}
private void DelaunayButton_ItemClick(object sender, ItemClickEventArgs e)
{
//mainView?.ToolDelaunay();
}
/// <summary>
/// 简单三角剖分.
/// </summary>
/// <param name="sender">The sender.</param>
/// <param name="e">The e.</param>
private void btnDelaunaySimple_ItemClick(object sender, ItemClickEventArgs e)
{
mainView?.ToolDelaunay();
}
/// <summary>
/// 带约束的三角剖分.
/// </summary>
/// <param name="sender">The sender.</param>
/// <param name="e">The e.</param>
private void btnDelaunayConstraint_ItemClick(object sender, ItemClickEventArgs e)
{
mainView?.ToolDelaunayConstraint();
}
/// <summary>
/// 龟背图生成事件.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="ItemClickEventArgs"/> instance containing the event data.</param>
private void bbtnVoronoi_ItemClick(object sender, ItemClickEventArgs e)
{
//mainView?.ToolVoronoi();
}
private void bbtnVoronoi1_ItemClick(object sender, ItemClickEventArgs e)
{
mainView?.ToolVoronoi();
}
private void bbtnVoronoi2_ItemClick(object sender, ItemClickEventArgs e)
{
mainView?.ToolVoronoi2();
}
/// <summary>
/// 图层面板是否显示.
/// </summary>
/// <param name="sender">图层控制按钮.</param>
/// <param name="e">选中事件.</param>
private void bckiPanelLayer_CheckedChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
// LayerPanelVisible = bckiPanelLayer.Checked;
}
/// <summary>
/// 统计面板是否显示.
/// </summary>
/// <param name="sender">事件按钮.</param>
/// <param name="e">事件参数.</param>
private void bckiPanelStatistic_CheckedChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
// StatisticPanelVisible = bckiPanelStatistic.Checked;
}
/// <summary>
/// 属性面板是否显示.
/// </summary>
/// <param name="sender">事件按钮.</param>
/// <param name="e">事件参数.</param>
private void bckiPanelProperty_CheckedChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (PropertyPanel == null)
{
return;
}
try
{
//if (bckiPanelProperty.Checked)
//{
//PropertyPanel.Visibility = DockVisibility.Visible;
//}
//else
//{
//PropertyPanel.Visibility = DockVisibility.AutoHide;
//}
PropertyPanelVisible = bckiPanelProperty.Checked;
}
finally
{
}
}
/// <summary>
/// The MergePanels.
/// </summary>
public void MergePanels()
{
// 状态条
if (DrawerStatusBar != null)
{
// StatisticPanel.ControlContainer.Controls.Clear();
DrawerStatusBar.UnMergeStatusBar();
drawerStatusBar.MergeStatusBar(ribbonMain.StatusBar);
}
// 图层树控件的处理
//if (LayerControl != null)
//{
// LayerPanel.ControlContainer.Controls.Clear();
// //this.LayerPanel.ControlContainer.Controls[i]
// LayerPanel.ControlContainer.Controls.Add(LayerControl);
// LayerPanel.Text = $"{DrawerView.CurrentLayer}";
// LayerControl.Dock = DockStyle.Fill;
// if (LayerPanel.Visibility == DockVisibility.Hidden ||
// LayerPanel.Visibility == DockVisibility.AutoHide)
// {
// bckiPanelLayer.Checked = false;
// }
// else
// {
// bckiPanelLayer.Checked = true;
// }
// LayerPanel.VisibilityChanged -= LayerPanel_VisibilityChanged;
// LayerPanel.VisibilityChanged += LayerPanel_VisibilityChanged;
//}
// 属性控件的处理
if (PropertyPanel != null && PropertyWellControl != null)
{
PropertyPanel.ControlContainer.Controls.Clear();
PropertyPanel.ControlContainer.Controls.Add(PropertyWellControl);
PropertyWellControl.Dock = DockStyle.Fill;
}
if (this.ElePropertyPanel != null && PropertyEleControl != null)
{
ElePropertyPanel.ControlContainer.Controls.Clear();
ElePropertyPanel.ControlContainer.Controls.Add(PropertyEleControl);
PropertyEleControl.Dock = DockStyle.Fill;
}
// 统计面板
//if (StatisticControl != null)
//{
// statisticPanel.ControlContainer.Controls.Clear();
// StatisticPanel.ControlContainer.Controls.Add(StatisticControl);
// StatisticControl.Dock = DockStyle.Fill;
// if (StatisticPanel.Visibility == DockVisibility.Hidden ||
// StatisticPanel.Visibility == DockVisibility.AutoHide)
// {
// bckiPanelStatistic.Checked = false;
// }
// else
// {
// bckiPanelStatistic.Checked = true;
// }
// StatisticPanel.VisibilityChanged -= StatisticPanel_VisibilityChanged;
// StatisticPanel.VisibilityChanged += StatisticPanel_VisibilityChanged;
//}
}
/// <summary>
/// 取消面板合并.
/// </summary>
public void UnMergePanels()
{
DrawerStatusBar?.UnMergeStatusBar();
//if (LayerPanel != null)
//{
// LayerPanel.ControlContainer.Controls.Clear();
// LayerPanel.Text = "图层";
//}
//PropertyPanel?.ControlContainer.Controls.Clear();
//statisticPanel?.ControlContainer.Controls.Clear();
}
private UserControl ConvertFormToUserControl(Form form)
{
var uc = new UserControl();
form.FormBorderStyle = FormBorderStyle.None;
form.TopLevel = false;
uc.Controls.Add(form);
form.Dock = DockStyle.Fill;
return uc;
}
/// <summary>
/// 移除底部所有面板
/// </summary>
public void ClearBottomPanel()
{
}
/// <summary>
/// 在 dockManager1 中查找指定名称的 DockPanel
/// </summary>
/// <param name="text">标题</param>
/// <returns>成功返回对应的 DockPanel失败返回 null</returns>
private DockPanel FindPanelByText(string text)
{
return dockManager1.Panels.Cast<DockPanel>().FirstOrDefault(x => x.Text == text);
}
/// <summary>
/// 判断子控件中是否存在指定 text 的 dockPanel
/// </summary>
/// <param name="dockPanel">被查询的控件</param>
/// <param name="text">名称</param>
/// <returns>true/false</returns>
private bool IsChildPanelExist(DockPanel dockPanel, string text)
{
return dockPanel?.Controls
.OfType<DockPanel>()
.Any(child => child.Text == text) ?? false;
}
/// <summary>
/// The LayerPanel_VisibilityChanged.
/// </summary>
/// <param name="sender">The sender<see cref="object"/>.</param>
/// <param name="e">The e<see cref="VisibilityChangedEventArgs"/>.</param>
private void LayerPanel_VisibilityChanged(object sender, VisibilityChangedEventArgs e)
{
SuspendLayout();
// Thread.Sleep(5000);
//if (LayerPanel.Visibility == DockVisibility.Hidden)
//{
// if (bckiPanelLayer.Checked)
// {
// bckiPanelLayer.Checked = false;
// }
//}
//if (LayerPanel.Visibility == DockVisibility.Visible ||
// LayerPanel.Visibility == DockVisibility.AutoHide)
//{
// if (bckiPanelLayer.Checked == false)
// {
// bckiPanelLayer.Checked = true;
// }
//}
ResumeLayout();
}
/// <summary>
/// The StatisticPanel_VisibilityChanged.
/// </summary>
/// <param name="sender">The sender<see cref="object"/>.</param>
/// <param name="e">The e<see cref="VisibilityChangedEventArgs"/>.</param>
private void StatisticPanel_VisibilityChanged(object sender, VisibilityChangedEventArgs e)
{
//if (StatisticPanel.Visibility == DockVisibility.Hidden)
//{
// if (bckiPanelStatistic.Checked)
// {
// bckiPanelStatistic.Checked = false;
// }
//}
//if (StatisticPanel.Visibility == DockVisibility.Visible ||
// StatisticPanel.Visibility == DockVisibility.AutoHide)
//{
// if (bckiPanelStatistic.Checked == false)
// {
// bckiPanelStatistic.Checked = true;
// }
//}
}
/// <summary>
/// btns the zoom window_ item click.
/// </summary>
/// <param name="sender">The sender.</param>
/// <param name="e">The e.</param>
private void btnZoomWindow_ItemClick(object sender, ItemClickEventArgs e)
{
}
/// <summary>
/// 生成三角网
/// </summary>
/// <param name="sender">sender</param>
/// <param name="e">e</param>
private void btnDelaunay_ItemClick(object sender, ItemClickEventArgs e)
{
mainView?.ToolDelaunay();
}
private void btnSetXyzClore_ItemClick(object sender, ItemClickEventArgs e)
{
mainView?.ToolZColor();
}
private void SimplifyButton_ItemClick(object sender, ItemClickEventArgs e)
{
mainView?.ToolSimplify();
}
private void btnImageCutPolygon_ItemClick(object sender, ItemClickEventArgs e)
{
mainView?.ToolImageCutPolygon();
}
private void btnIntersectRegionFill_DownChanged(object sender, ItemClickEventArgs e)
{
if (btnIntersectRegionFill.Down || btnLinkRegionFill.Down || btnAutoRegionFill.Down)
{
btnCurveFill.Down = true;
}
else
{
mainView.ToolRestore();
}
}
private void btnIntersectRegionFill_ItemClick(object sender, ItemClickEventArgs e)
{
if (btnIntersectRegionFill.Down)
{
mainView.ToolCurveConnectFill();
}
}
private void btnLinkRegionFill_DownChanged(object sender, ItemClickEventArgs e)
{
if (btnIntersectRegionFill.Down || btnLinkRegionFill.Down || btnAutoRegionFill.Down)
{
btnCurveFill.Down = true;
}
else
{
mainView.ToolRestore();
}
}
private void btnLinkRegionFill_ItemClick(object sender, ItemClickEventArgs e)
{
if (btnLinkRegionFill.Down)
{
mainView.ToolSolidLink();
}
}
private void btnAutoRegionFill_DownChanged(object sender, ItemClickEventArgs e)
{
if (btnIntersectRegionFill.Down || btnLinkRegionFill.Down || btnAutoRegionFill.Down)
{
btnCurveFill.Down = true;
}
else
{
mainView.ToolRestore();
}
}
/// <summary>
/// btns the auto region fill_ item click.
/// </summary>
/// <param name="sender">The sender.</param>
/// <param name="e">The e.</param>
private void btnAutoRegionFill_ItemClick(object sender, ItemClickEventArgs e)
{
if (btnAutoRegionFill.Down)
{
mainView.ToolSolidAuto();
}
}
/// <summary>
/// 水平井绘制
/// </summary>
/// <param name="sender">事件按钮</param>
/// <param name="e">事件参数</param>
private void btiWellGroup_ItemClick(object sender, ItemClickEventArgs e)
{
if (btiWellGroup.Down)
{
mainView.ToolWellGroup();
}
}
/// <summary>
/// 编辑网格和等值线
/// </summary>
/// <param name="sender">事件按钮</param>
/// <param name="e">事件参数</param>
private void bbtnGridProgress_ItemClick(object sender, ItemClickEventArgs e)
{
if (FindGridEditorProcess(KepGridEditor.FormMain.ProcessName))
{
MessageBox.Show("编辑模块正在运行中,请结束后再启动!", "启动编辑"
, MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
IntPtr pXy = mainView.DrawerXY;
KepGridEditor.FormMain editor = new KepGridEditor.FormMain(
this.DrawerView.ViewControl.Geo, this.GridContourLayer, this.GridFaultLayer
, this.ControlPointLayer, this.OtherLineLayer)
{
StartPosition = FormStartPosition.CenterScreen,
};
//editor.EditorMouseMoveEvent += async (mx, my) =>
//{
// await Task.Run(() => { mainView.SetDrawerMouseLocation(mx, my); });
//};
// 等网编辑,修改了数据
editor.PushDataClick += (object btn, EventArgs ea) =>
{
//更新图层列表
LayerControl.LoadLayerTree();
mainView.ToolDefault();
mainView.ToolRedraw();
// 网格操作我们不支持回退,太占内存了,于是这里要手动设置一下修改标识
mainView.SetDocumentModified(true);
};
editor.Show();
}
/// <summary>
/// 轮廓刻画.
/// </summary>
/// <param name="sender">The sender.</param>
/// <param name="e">The e.</param>
private void bbtnOutline_ItemClick(object sender, ItemClickEventArgs e)
{
//if (FindGridEditorProcess(RiverPortray.FormMain.ProcessName))
//{
// MessageBox.Show("轮廓刻画模块正在运行中,请结束后再启动!", "启动轮廓刻画"
// , MessageBoxButtons.OK, MessageBoxIcon.Information);
// return;
//}
//IntPtr pXy = mainView.DrawerXY;
//RiverPortray.FormMain frmMain = new RiverPortray.FormMain(pXy);
//// 取消区域刻画最上显示,这个操作耗时较长,如果最上显示的话,在这个过程中无法去做别的事情
//frmMain.TopMost = false;
//// 回写了数据
//frmMain.PushDataClick += (object btn, EventArgs ea) =>
//{
// mainView.ToolDefault();
// mainView.ToolRedraw();
// mainView.LoadLayerTree();
// // 网格操作我们不支持回退,太占内存了,于是这里要手动设置一下修改标识
// mainView.SetDocumentModified(true);
//};
//frmMain.Show(this);
}
/// <summary>
/// 查找指定名称的进程
/// </summary>
/// <param name="processName">窗口名称</param>
/// <returns>是否找到</returns>
private bool FindGridEditorProcess(string processName)
{
foreach (Form f in Application.OpenForms)
{
if (f.Text == processName)
{
return true;
}
}
return false;
}
private void btnSymbolManager_ItemClick(object sender, ItemClickEventArgs e)
{
EditFileSymbol();
}
/// <summary>
/// 编辑当前文件相关的符号.
/// </summary>
public void EditFileSymbol()
{
DirectoryInfo symbolFilePath = Directory.GetParent(Application.StartupPath);
string symbolFile = Path.Combine(symbolFilePath.FullName, "Symbol");
if (DrawerView == null)
{
SymbolLibInterface.SymbolHelp.ShowSymbolUI(null, symbolFile);
}
else
{
SymbolLibInterface.SymbolHelp.ShowSymbolUI(mainView, symbolFile);
}
}
/// <summary>
/// vtk 视图, 一个ucdrawedit 对应一个 UCVtkEdit
/// </summary>
//public UCVtkEdit VtkEdit { get; set; }
/// <inheritdoc/>
protected override void OnHandleDestroyed(EventArgs e)
{
faultEditForm?.Close();
base.OnHandleDestroyed(e);
}
private FaultEditForm faultEditForm;
/// <summary>
/// 断层外扩按钮点击事件.
/// </summary>
/// <param name="sender">The sender.</param>
/// <param name="e">The e.</param>
private void bbtnFaultBroaden_ItemClick(object sender, ItemClickEventArgs e)
{
//faultEditForm = new FaultEditForm(mainView);
//faultEditForm.Show(this);
}
/// <summary>
/// 断层简化按钮点击事件 click.
/// </summary>
/// <param name="sender">The sender.</param>
/// <param name="e">The e.</param>
private void bbtnFaultSimplyfy_ItemClick(object sender, ItemClickEventArgs e)
{
if (bbtnFaultSimplyfy.Down)
{
mainView?.ToolFaultSimply();
}
}
private void bbtnCurveCaculate_ItemClick(object sender, ItemClickEventArgs e)
{
mainView?.ToolMergeCurve();
}
/// <summary>
/// 曲线连接按钮点击事件
/// </summary>
/// <param name="sender">事件按钮</param>
/// <param name="e">事件参数</param>
private void bbtnJoinCurves_ItemClick(object sender, ItemClickEventArgs e)
{
mainView?.ToolAutoJoinCurves();
}
private void btnReverseZ_ItemClick(object sender, ItemClickEventArgs e)
{
mainView?.ReverseCurveAndMeshZValue();
}
private void btnDeleteDuplicate_ItemClick(object sender, ItemClickEventArgs e)
{
mainView?.DeleteDuplicationElements();
}
private void barButtonItemVtk_ItemClick(object sender, ItemClickEventArgs e)
{
ShowVtkEventArgs vea = new ShowVtkEventArgs("Show Vtk Event triggered");
vea.FilePath = this.FileFullName;
vea.HoleLayer = this.HoleLayer;
vea.BoundaryLayer = this.BorderControlLayer;
//传送数据
this.LayerControl.GetVtkData(vea);
//显示VTK控件
// ShowVtkEvent?.Invoke(this, vea);
}
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true否则为 false。</param>
protected override void Dispose(bool disposing)
{
System.Windows.Forms.Application.Idle -= Application_Idle;
if (disposing && (components != null))
{
components.Dispose();
if (DrawerView != null)
{
DrawerView.Dispose();
}
}
//if (VtkEdit != null)
//{
// VtkEdit.DrawEdit = null;
// //显示VTK控件
// //CloseVtkEvent?.Invoke(VtkEdit);
//}
if (disposing && (panelGraph != null))
{
panelGraph.Dispose();
panelGraph = null;
}
base.Dispose(disposing);
}
/// <summary>
/// 设置三维设置参数
/// </summary>
/// <param name="sceneParameter">三维参数,如果为 Intptr.Zero 表示清空</param>
public void SetSceneParameter(IntPtr sceneParameter)
{
var geo = mainView?.ViewControl.Drawer.Geo;
geo?.VtkSetSceneParameter(sceneParameter);
}
/// <summary>
/// 获取三维设置参数
/// </summary>
/// <returns>参数指针,如果 IntPtr.Zero 表示三维参数不存在</returns>
public IntPtr GetSceneParameter()
{
var geo = mainView?.ViewControl.Drawer.Geo;
if (geo == null)
{
return IntPtr.Zero;
}
return geo.VtkGetSceneParameter();
}
/// <summary>
/// 获取三维配置参数明细
/// </summary>
/// <param name="parameter">参数明细</param>
/// <returns>成功返回 true失败返回 false</returns>
public bool GetSceneParameterDetails(ref KevVtkSceneParameter parameter)
{
var geo = mainView?.ViewControl.Drawer.Geo;
if (geo == null)
{
return false;
}
return geo.VtkGetSceneParameterDetails(ref parameter);
}
/// <summary>
/// 设置三维配置信息到 vtkChild
/// </summary>
/// <param name="vtkChild">目标对象</param>
//public void SetVtkSettings(UCVtkEdit vtkChild)
//{
// if (vtkChild == null)
// {
// throw new ArgumentNullException(nameof(vtkChild));
// }
// IntPtr parameter = this.GetSceneParameter();
// if (parameter != IntPtr.Zero)
// {
// UpdatePropertyPanel(vtkChild);
// vtkChild.SetSceneParameter(parameter);
// }
//}
private Color ColorFromDouble(double r, double g, double b)
{
int red = (int)(r * 255);
int green = (int)(g * 255);
int blue = (int)(b * 255);
return Color.FromArgb(red, green, blue);
}
/// <summary>
/// 更新面板属性值
/// </summary>
/// <param name="vtkEdit">Vtk界面</param>
//private void UpdatePropertyPanel(UCVtkEdit vtkEdit)
//{
//}
private void WindowSync_DownChanged(object sender, ItemClickEventArgs e)
{
BarButtonItem item = (BarButtonItem)(sender);
DrawerConfig.Instance.SetConfigValue("MultiView", "OnSynchronize", item.Down);
DrawerConfig.Instance.Save();
}
private void btnMeasure_ItemClick(object sender, ItemClickEventArgs e)
{
mainView.ToolMeasure();
}
private void btnRotation_ItemClick(object sender, ItemClickEventArgs e)
{
var form = new FrmRotation();
if (form.ShowDialog(this) == DialogResult.OK)
{
mainView.Rotation(form.RotationParameter.Origin.X, form.RotationParameter.Origin.Y, form.RotationParameter.Angle);
}
}
private void barSnapItem_CheckedChanged(object sender, ItemClickEventArgs e)
{
mainView?.ViewControl.Drawer.Geo.EnableSnape(barSnapItem.Checked);
}
private void extendCenter_ItemClick(object sender, ItemClickEventArgs e)
{
mainView.ViewExtendCenter();
}
private void extendWidth_ItemClick(object sender, ItemClickEventArgs e)
{
mainView.ViewExtendWidth();
}
private void LockWellHead_ItemClick(object sender, ItemClickEventArgs e)
{
mainView.SetLockWellHead();
}
//private void AddTrackBtnItem_ItemClick(object sender, ItemClickEventArgs e)
//{
// mainView.AddTrack();
//}
//private void deleteWellTrackBtn_ItemClick(object sender, ItemClickEventArgs e)
//{
// mainView.DeleteSelectedWellObject();
//}
private void btnReadObjPropsData_ItemClick(object sender, ItemClickEventArgs e)
{
mainView.testWellObjProperties();
}
private void barBtnItemOpenWorkArea_ItemClick(object sender, ItemClickEventArgs e)
{
}
public void SetFormText(string text)
{
this.Text = text;
DrawerView.Text = text;
}
private void btnSaveWorkArea_ItemClick(object sender, ItemClickEventArgs e)
{
string fileName = DrawerView.Text;
this.OnSaveFileToWorkArea?.Invoke(fileName,this);
}
private void btnAddFault_ItemClick(object sender, ItemClickEventArgs e)
{
this.DrawerView.ViewControl.SetAddFaultPoint();
bool b = this.DrawerView.ViewControl.IsAddFaultPoint();
btnAddFault.Down = b;
}
private void btnItemSmooth_ItemClick(object sender, ItemClickEventArgs e)
{
if( this.DrawerView.ViewControl is WellSectionDrawViewer sectionView)
{
sectionView.SetBendsSmooth();
}
}
private void barFlatternWellTop_ItemClick(object sender, ItemClickEventArgs e)
{
if (this.DrawerView.ViewControl is WellSectionDrawViewer sectionView)
{
sectionView.SetWellSectionFlatternStyle(3);
}
}
private void btnFlatternWellBottom_ItemClick(object sender, ItemClickEventArgs e)
{
if (this.DrawerView.ViewControl is WellSectionDrawViewer sectionView)
{
sectionView.SetWellSectionFlatternStyle(4);
}
}
private void btnFlatternRealDepth_ItemClick(object sender, ItemClickEventArgs e)
{
if (this.DrawerView.ViewControl is WellSectionDrawViewer sectionView)
{
sectionView.SetWellSectionFlatternStyle(0);
}
}
private void btnFlatternLayerTop_ItemClick(object sender, ItemClickEventArgs e)
{
if (this.DrawerView.ViewControl is WellSectionDrawViewer sectionView)
{
sectionView.SetWellSectionFlatternStyle(1);
}
}
private void btnFlatternLayerBottom_ItemClick(object sender, ItemClickEventArgs e)
{
if (this.DrawerView.ViewControl is WellSectionDrawViewer sectionView)
{
sectionView.SetWellSectionFlatternStyle(2);
}
}
private void btnSectionWellFullStyle_ItemClick(object sender, ItemClickEventArgs e)
{
if (this.DrawerView.ViewControl is WellSectionDrawViewer sectionView)
{
sectionView.SetSectionWellShowStyle(2);
}
}
private void btnSectionWellDividerStyle_ItemClick(object sender, ItemClickEventArgs e)
{
if (this.DrawerView.ViewControl is WellSectionDrawViewer sectionView)
{
sectionView.SetSectionWellShowStyle(3);
}
}
private void btnSectionWellSampleStyle_ItemClick(object sender, ItemClickEventArgs e)
{
if (this.DrawerView.ViewControl is WellSectionDrawViewer sectionView)
{
sectionView.SetSectionWellShowStyle(1);
}
}
private void btnLinkAllLayer_ItemClick(object sender, ItemClickEventArgs e)
{
if (this.DrawerView.ViewControl is WellSectionDrawViewer sectionView)
{
// sectionView.ConnetAllLayers();
GeoSigmaWellSectionXY geoSectionXy = (GeoSigmaWellSectionXY)sectionView.Drawer.Geo;
int type = 0;
int mtype = 0;
ulong objHandle = 0;
geoSectionXy.GetSelectWellObject(ref type, ref mtype, ref objHandle);
if (objHandle != 0 && type == (int)GeoSigmaWellPoleXY.eWellExtType.KEP_WELLSECTION)
{
if (geoSectionXy.WellSectionGetWellStratumTracksTypes(objHandle, out string[] NamesArr))
{
GeoSigma.UCDraw.WellAndSection.FrmConnectBend dlgNew = new GeoSigma.UCDraw.WellAndSection.FrmConnectBend() { StartPosition = FormStartPosition.CenterScreen };
dlgNew.strlayerTracks.AddRange(NamesArr);
if (dlgNew.ShowDialog(this) == DialogResult.OK)
{
// geoSectionXy.WellSectionBreakBends(objHandle, dlgNew.selectDelTracks.ToArray());
string trackTypeStr = "";
for (int i = 0; i < dlgNew.selectConnectTracks.Count; i++)
{
trackTypeStr = trackTypeStr + dlgNew.selectConnectTracks[i] + ";";
}
trackTypeStr = trackTypeStr.TrimEnd(';');
geoSectionXy.WellSectionConnectLayers(trackTypeStr);
sectionView.Drawer.EnableRedraw = true;
sectionView.Drawer.Invalidate();
}
}
}
}
}
private void btnCutAllLinkLayer_ItemClick(object sender, ItemClickEventArgs e)
{
if (this.DrawerView.ViewControl is WellSectionDrawViewer sectionView)
{
GeoSigmaWellSectionXY geoSectionXy = (GeoSigmaWellSectionXY)sectionView.Drawer.Geo;
int type = 0;
int mtype = 0;
ulong objHandle = 0;
geoSectionXy.GetSelectWellObject(ref type, ref mtype, ref objHandle);
if (objHandle != 0 && type == (int)GeoSigmaWellPoleXY.eWellExtType.KEP_WELLSECTION)
{
if(geoSectionXy.WellSectionGetLinkTracksTypes(objHandle, out string[] NamesArr))
{
GeoSigma.UCDraw.WellAndSection.FrmDelBendLayers dlgNew = new GeoSigma.UCDraw.WellAndSection.FrmDelBendLayers() { StartPosition = FormStartPosition.CenterScreen };
if (NamesArr.Length > 0)
{
dlgNew.strlayerTracks.AddRange(NamesArr);
}
if (dlgNew.ShowDialog(this) == DialogResult.OK)
{
geoSectionXy.WellSectionBreakBends(objHandle, dlgNew.selectDelTracks.ToArray());
sectionView.Drawer.EnableRedraw = true;
sectionView.Drawer.Invalidate();
}
}
}
// sectionView.BreakAllBends();
}
}
private void btnBendlinkOut_ItemClick(object sender, ItemClickEventArgs e)
{
if (this.DrawerView.ViewControl is WellSectionDrawViewer sectionView)
{
sectionView.SetBendLinkStyle(1);
}
}
private void btnBendLinkCenter_ItemClick(object sender, ItemClickEventArgs e)
{
if (this.DrawerView.ViewControl is WellSectionDrawViewer sectionView)
{
sectionView.SetBendLinkStyle(2);
}
}
private void btnBendLinkStratum_ItemClick(object sender, ItemClickEventArgs e)
{
if (this.DrawerView.ViewControl is WellSectionDrawViewer sectionView)
{
sectionView.SetBendLinkStyle(3);
}
}
private void btnBendlinkLayer_ItemClick(object sender, ItemClickEventArgs e)
{
if (this.DrawerView.ViewControl is WellSectionDrawViewer sectionView)
{
sectionView.SetBendLinkStyle(4);
}
}
private void btnLeftExtendCancel_ItemClick(object sender, ItemClickEventArgs e)
{
if (this.DrawerView.ViewControl is WellSectionDrawViewer sectionView)
{
sectionView.SetBendLeftExtendStyle(1);
}
}
private void btnLeftExtendHorizon_ItemClick(object sender, ItemClickEventArgs e)
{
if (this.DrawerView.ViewControl is WellSectionDrawViewer sectionView)
{
sectionView.SetBendLeftExtendStyle(2);
}
}
private void btnLeftExtendTrend_ItemClick(object sender, ItemClickEventArgs e)
{
if (this.DrawerView.ViewControl is WellSectionDrawViewer sectionView)
{
sectionView.SetBendLeftExtendStyle(3);
}
}
private void btnRightExtendCancel_ItemClick(object sender, ItemClickEventArgs e)
{
if (this.DrawerView.ViewControl is WellSectionDrawViewer sectionView)
{
sectionView.SetBendRightExtendStyle(1);
}
}
private void btnRightExtendHorizon_ItemClick(object sender, ItemClickEventArgs e)
{
if (this.DrawerView.ViewControl is WellSectionDrawViewer sectionView)
{
sectionView.SetBendRightExtendStyle(2);
}
}
private void btnRightExtendTrend_ItemClick(object sender, ItemClickEventArgs e)
{
if (this.DrawerView.ViewControl is WellSectionDrawViewer sectionView)
{
sectionView.SetBendRightExtendStyle(3);
}
}
private void btnSectionAddFault_ItemClick(object sender, ItemClickEventArgs e)
{
if (this.DrawerView.ViewControl is WellSectionDrawViewer sectionView)
{
sectionView.SetSectionDrawAddFaultItem();
}
}
private void btnSectionAddDepthRuler_ItemClick(object sender, ItemClickEventArgs e)
{
if (this.DrawerView.ViewControl is WellSectionDrawViewer sectionView)
{
sectionView.WellSectionAddDepthRuler();
}
}
private void btnFaultLineAddPoint_ItemClick(object sender, ItemClickEventArgs e)
{
if (this.DrawerView.ViewControl is WellSectionDrawViewer sectionView)
{
sectionView.WellSectionAddFaultPoint();
}
}
private void btnFaultLineDeletPoint_ItemClick(object sender, ItemClickEventArgs e)
{
if (this.DrawerView.ViewControl is WellSectionDrawViewer sectionView)
{
sectionView.WellSectionDeleteFaultPoint();
}
}
private void btnBendLayerLineAddPoint_ItemClick(object sender, ItemClickEventArgs e)
{
if (this.DrawerView.ViewControl is WellSectionDrawViewer sectionView)
{
sectionView.WellSectionAddBendLayerPoint();
}
}
private void btnBendLayerLineDeletePoint_ItemClick(object sender, ItemClickEventArgs e)
{
if (this.DrawerView.ViewControl is WellSectionDrawViewer sectionView)
{
sectionView.WellSectionDeleteBendLayerPoint();
}
}
private void btnSetSymbol_ItemClick(object sender, ItemClickEventArgs e)
{
var dataDlg = new FrmInterpretResultSymbol() { StartPosition = FormStartPosition.CenterScreen };
if (dataDlg.ShowDialog(this) == DialogResult.OK)
{
}
}
private void btnSetWellRealDistance_ItemClick(object sender,ItemClickEventArgs e)
{
if (this.DrawerView.ViewControl is WellSectionDrawViewer sectionView)
{
GeoSigmaWellSectionXY geoSection = (GeoSigmaWellSectionXY)sectionView.Geo;
geoSection.WellSectionSetWellRealDistance();
sectionView.Drawer.EnableRedraw = true;
sectionView.Drawer.Invalidate();
}
}
private void btnSectionAddWellMap_ItemClick(Object sender, ItemClickEventArgs e)
{
if (this.DrawerView.ViewControl is WellSectionDrawViewer sectionView)
{
GeoSigmaWellSectionXY geoSection = (GeoSigmaWellSectionXY)sectionView.Geo;
string parentPath = Path.GetFullPath(Path.Combine(Application.StartupPath, ".."));
string sybmolPath = Path.Combine(parentPath, "Symbol");
//geoSection.WellSectionSetWellRealDistance();
//geoSection.WellSectionAddDepthRuler();
geoSection.WellSectionAddWellsMap(sybmolPath);
sectionView.Drawer.EnableRedraw = true;
sectionView.Drawer.Invalidate();
}
}
private void btnSetWellAvgDistance_ItemClick(object sender, ItemClickEventArgs e)
{
if (this.DrawerView.ViewControl is WellSectionDrawViewer sectionView)
{
GeoSigmaWellSectionXY geoSectionXy = (GeoSigmaWellSectionXY)sectionView.Drawer.Geo;
int type = 0;
int mtype = 0;
ulong objHandle = 0;
geoSectionXy.GetSelectWellObject(ref type, ref mtype, ref objHandle);
if (objHandle != 0 && type == (int)GeoSigmaWellPoleXY.eWellExtType.KEP_WELLSECTION)
{
double dis = 1000;
int wellNum = 0;
geoSectionXy.WellSectionGetTotalWellsDistance(objHandle, ref wellNum, ref dis);
if (wellNum < 2 || dis < 0)
dis = 1000;
else
dis = dis / (wellNum-1);
GeoSigma.UCDraw.WellAndSection.FrmSetWellDistance dlgNew = new GeoSigma.UCDraw.WellAndSection.FrmSetWellDistance() { StartPosition = FormStartPosition.CenterScreen };
dlgNew.dis = dis;
if(dlgNew.ShowDialog(this) == DialogResult.OK)
{
dis = dlgNew.dis;
if (dis < 1)
dis = 1000;
geoSectionXy.WellSectionSetWellsDistance(objHandle, dis);
sectionView.Drawer.EnableRedraw = true;
sectionView.Drawer.Invalidate();
}
}
}
}
}
}