123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503 |
- using PaintDotNet.Base;
- using PaintDotNet.Data.Param;
- using PaintDotNet.GeneralAnalysis;
- using PaintDotNet.GeneralAnalysis.Special;
- using System;
- using System.Collections.Generic;
- using System.Globalization;
- using System.Windows.Forms;
- namespace PaintDotNet.Menus
- {
- /// <summary>
- /// 通用分析
- /// </summary>
- internal sealed class GeneralAnalysisMenu : PdnMenuItem
- {
- //多相含量
- private PdnMenuItem menuGeneralMultiphaseContent;
- //多相统计
- private PdnMenuItem menuGeneralMultiphaseStatistics;
- //两相比例
- private PdnMenuItem menuGeneralTwoComparisonCases;
- //两相面积含量
- private PdnMenuItem menuGeneralTwoPhaseArea;
- //分隔线
- private ToolStripSeparator menuGeneralSeperator1;
- //图谱管理
- private PdnMenuItem menuGeneralMapManager;
- //图谱比照
- private PdnMenuItem menuGeneralMapComparison;
- //分隔线
- private ToolStripSeparator menuGeneralSeperator2;
- //工艺图比照
- private PdnMenuItem menuGeneralArtworkComparative;
- //工艺图比照
- private PdnMenuItem menuItemArtworkComparative;
- //工艺图设定
- private PdnMenuItem menuItemArtworkSetting;
- //分隔线
- private ToolStripSeparator menuGeneralSeperator3;
- //积数仪
- private PdnMenuItem menuGeneralCountometer;
- //颗粒统计
- private PdnMenuItem menuGeneralParticleStatistics;
- //物相间距
- private PdnMenuItem menuGeneralPhaseSpacing;
- //计数统计
- private PdnMenuItem menuGeneralCountStatistics;
- //分隔线
- private ToolStripSeparator menuGeneralSeperator4;
- //专项定义
- private PdnMenuItem menuGeneralSpecialDefinition;
- // 长度专项定义
- private PdnMenuItem menuGeneralLengthSpecialDefinition;
- // 面积含量专项定义
- private PdnMenuItem menuGeneralAreaSpecialDefinition;
- //专项测量
- private PdnMenuItem menuGeneralSpecialMeasure;
- //专项测量 - 长度
- private PdnMenuItem menuGeneralLengthSpecialMeasure;
- //专项测量 - 面积含量
- private PdnMenuItem menuGeneralAreaSpecialMeasure;
- public GeneralAnalysisMenu(int menuId)
- {
- InitializeComponent();
- this.MenuId = menuId;
- }
- protected override void OnAppWorkspaceChanged()
- {
- base.OnAppWorkspaceChanged();
- }
- private void InitializeComponent()
- {
- this.menuGeneralMultiphaseContent = new PdnMenuItem(ActionType.MultiphaseContent);
- this.menuGeneralMultiphaseStatistics = new PdnMenuItem(ActionType.MultiphaseStatistics);
- this.menuGeneralTwoComparisonCases = new PdnMenuItem(ActionType.TwoComparisonCases);
- this.menuGeneralTwoPhaseArea = new PdnMenuItem(ActionType.TwoPhaseArea);
- this.menuGeneralSeperator1 = new ToolStripSeparator();
- this.menuGeneralMapManager = new PdnMenuItem(ActionType.MapManager);
- this.menuGeneralMapComparison = new PdnMenuItem(ActionType.MapComparison);
- this.menuGeneralSeperator2 = new ToolStripSeparator();
- this.menuGeneralArtworkComparative = new PdnMenuItem(ActionType.ArtworkComparative);
- this.menuGeneralSeperator3 = new ToolStripSeparator();
- this.menuGeneralCountometer = new PdnMenuItem(ActionType.Countometer);
- this.menuGeneralParticleStatistics = new PdnMenuItem(ActionType.ParticleStatistics);
- this.menuGeneralPhaseSpacing = new PdnMenuItem(ActionType.PhaseSpacing);
- this.menuGeneralCountStatistics = new PdnMenuItem(ActionType.CountStatistics);
- this.menuGeneralSeperator4 = new ToolStripSeparator();
- this.menuGeneralSpecialDefinition = new PdnMenuItem(ActionType.SpecialDefinition);
- this.menuGeneralSpecialMeasure = new PdnMenuItem(ActionType.SpecialMeasure);
- this.menuItemArtworkSetting = new PdnMenuItem(ActionType.ItemArtworkSetting);
- this.menuItemArtworkComparative = new PdnMenuItem(ActionType.ItemArtworkComparative);
- this.menuGeneralLengthSpecialDefinition = new PdnMenuItem(ActionType.LengthSpecialDefinition);
- this.menuGeneralAreaSpecialDefinition = new PdnMenuItem(ActionType.AreaSpecialDefinition);
- this.menuGeneralLengthSpecialMeasure = new PdnMenuItem(ActionType.LengthSpecialMeasure);
- this.menuGeneralAreaSpecialMeasure = new PdnMenuItem(ActionType.AreaSpecialMeasure);
- //
- // 主菜单
- //
- this.DropDownItems.AddRange(new ToolStripItem[] {
- this.menuGeneralMultiphaseContent,
- this.menuGeneralMultiphaseStatistics,
- this.menuGeneralTwoComparisonCases,
- this.menuGeneralTwoPhaseArea,
- this.menuGeneralSeperator1,
- this.menuGeneralMapManager,
- this.menuGeneralMapComparison,
- this.menuGeneralSeperator2,
- this.menuGeneralArtworkComparative,
- this.menuGeneralSeperator3,
- this.menuGeneralCountometer,
- this.menuGeneralParticleStatistics,
- this.menuGeneralPhaseSpacing,
- this.menuGeneralCountStatistics,
- this.menuGeneralSeperator4,
- this.menuGeneralSpecialDefinition,
- this.menuGeneralSpecialMeasure
- });
- this.Name = "Menu.GeneralAnalysis";
- this.Text = PdnResources.GetString("Menu.GeneralAnalysis.Text");
- this.AutomaticScript = true;
- this.NeedOpenDialog = true;
- //
- // 多相含量
- //
- this.menuGeneralMultiphaseContent.Name = "MultiphaseContent";
- menuGeneralMultiphaseContent.Click += MenuGeneralMultiphaseContent_Click;
- this.menuGeneralMultiphaseContent.AutomaticScript = true;
- this.menuGeneralMultiphaseContent.NeedOpenDialog = true;
- //
- // 多相统计
- //
- this.menuGeneralMultiphaseStatistics.Name = "MultiphaseStatistics";
- menuGeneralMultiphaseStatistics.Click += MenuGeneralMultiphaseStatistics_Click;
- this.menuGeneralMultiphaseStatistics.AutomaticScript = true;
- this.menuGeneralMultiphaseStatistics.NeedOpenDialog = true;
- //
- // 两相比例
- //
- this.menuGeneralTwoComparisonCases.Name = "TwoComparisonCases";
- menuGeneralTwoComparisonCases.Click += MenuGeneralTwoComparisonCases_Click;
- this.menuGeneralTwoComparisonCases.AutomaticScript = false;
- this.menuGeneralTwoComparisonCases.NeedOpenDialog = false;
- //
- // 两相面积含量
- //
- this.menuGeneralTwoPhaseArea.Name = "TwoPhaseArea";
- this.menuGeneralTwoPhaseArea.Click += MenuGeneralTwoPhaseArea_Click;
- this.menuGeneralTwoPhaseArea.AutomaticScript = true;
- this.menuGeneralTwoPhaseArea.NeedOpenDialog = true;
- //
- // 图谱管理
- //
- this.menuGeneralMapManager.Name = "MapManager";
- this.menuGeneralMapManager.Click += new System.EventHandler(menuGeneralMapManager_Click);
- //
- // 图谱比照
- //
- this.menuGeneralMapComparison.Name = "MapComparison";
- this.menuGeneralMapComparison.Click += new System.EventHandler(menuGeneralMapComparison_Click);
- //
- // 工艺图比照
- //
- this.menuGeneralArtworkComparative.Name = "ArtworkComparative";
- this.menuGeneralArtworkComparative.DropDownItems.AddRange(new ToolStripItem[] {
- this.menuItemArtworkComparative,
- this.menuItemArtworkSetting
- });
- this.menuItemArtworkComparative.Text = PdnResources.GetString("Menu.GeneralAnalysis.ArtworkComparative.Text");
- this.menuItemArtworkSetting.Text = PdnResources.GetString("Menu.Generalanalysis.Processmparison.Processdrawingsetting.text");
- this.menuItemArtworkComparative.Click += new System.EventHandler(menuItemArtworkComparative_Click);
- this.menuItemArtworkSetting.Click += new System.EventHandler(menuItemArtworkSetting_Click);
- this.menuItemArtworkComparative.Image = PdnResources.GetImageResource("Icons.MenuGeneralArtworkComparativeIcon.png").Reference;
- this.menuItemArtworkSetting.Image = PdnResources.GetImageResource("Icons.MenuGeneralArtworkSettingIcon.png").Reference;
- //
- // 积数仪
- //
- this.menuGeneralCountometer.Name = "Countometer";
- this.menuGeneralCountometer.Click += new System.EventHandler(menuGeneralCountometer_Click);
- //
- // 颗粒统计
- //
- this.menuGeneralParticleStatistics.Name = "ParticleStatistics";
- this.menuGeneralParticleStatistics.Click += new EventHandler(menuGeneralParticleStatistics_Click);
- this.menuGeneralParticleStatistics.AutomaticScript = false;
- this.menuGeneralParticleStatistics.NeedOpenDialog = false;
- //
- // 物相间距
- //
- this.menuGeneralPhaseSpacing.Name = "PhaseSpacing";
- menuGeneralPhaseSpacing.Click += MenuGeneralPhaseSpacing_Click;
- this.menuGeneralPhaseSpacing.AutomaticScript = false;
- this.menuGeneralPhaseSpacing.NeedOpenDialog = false;
- //
- // 计数统计
- //
- this.menuGeneralCountStatistics.Name = "CountStatistics";
- menuGeneralCountStatistics.Click += MenuGeneralCountStatistics_Click;
- this.menuGeneralCountStatistics.AutomaticScript = false;
- this.menuGeneralCountStatistics.NeedOpenDialog = false;
- //
- // 专项定义
- //
- this.menuGeneralSpecialDefinition.Name = "SpecialDefinition";
- this.menuGeneralSpecialDefinition.DropDownItems.AddRange(new ToolStripItem[] {
- this.menuGeneralLengthSpecialDefinition,
- this.menuGeneralAreaSpecialDefinition
- });
- this.menuGeneralLengthSpecialDefinition.Text = PdnResources.GetString("Menu.Generalanalysis.Specificdefinition.Specificdefinition-length.text");
- this.menuGeneralAreaSpecialDefinition.Text = PdnResources.GetString("Menu.Generalanalysis.Specificdefinition.Specificde-content.text");
- this.menuGeneralLengthSpecialDefinition.Click += new System.EventHandler(menuGeneralLengthSpecialDefinition_Click);
- this.menuGeneralAreaSpecialDefinition.Click += new System.EventHandler(menuGeneralAreaSpecialDefinition_Click);
- this.menuGeneralLengthSpecialDefinition.Image = PdnResources.GetImageResource("Icons.GeneralLengthSpecialDefinition.png").Reference;
- this.menuGeneralAreaSpecialDefinition.Image = PdnResources.GetImageResource("Icons.GeneralAreaSpecialDefinition.png").Reference;
- //
- // 专项测量
- //
- this.menuGeneralSpecialMeasure.Name = "SpecialMeasure";
- this.menuGeneralSpecialMeasure.DropDownItems.AddRange(new ToolStripItem[] {
- this.menuGeneralLengthSpecialMeasure,
- this.menuGeneralAreaSpecialMeasure
- });
- this.menuGeneralLengthSpecialMeasure.Text = PdnResources.GetString("Menu.Generalanalysis.Specialmeasurement.Specialmeth.text");
- this.menuGeneralAreaSpecialMeasure.Text = PdnResources.GetString("Menu.Generalanalysis.Specialmeasurement.Specialmecontent.text");
- this.menuGeneralLengthSpecialMeasure.Click += new System.EventHandler(menuGeneralLengthSpecialMeasure_Click);
- this.menuGeneralAreaSpecialMeasure.Click += new System.EventHandler(menuGeneralAreaSpecialMeasure_Click);
- this.menuGeneralLengthSpecialMeasure.Image = PdnResources.GetImageResource("Icons.GeneralLengthSpecialMeasure.png").Reference;
- this.menuGeneralAreaSpecialMeasure.Image = PdnResources.GetImageResource("Icons.GeneralAreaSpecialMeasure.png").Reference;
- //
- //
- // 加载菜单的文字和icon
- //
- this.LoadNames(this.Name);
- this.LoadIcons();
- }
- /// <summary>
- /// 专项测量 - 面积含量
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void menuGeneralAreaSpecialMeasure_Click(object sender, EventArgs e)
- {
- using (SpecialMeasureAreaDialog mainForm = new SpecialMeasureAreaDialog(this.AppWorkspace))
- {
- if (AppWorkspace.startScriptRecording)
- {
- AppWorkspace.SetScriptStartRecording(((PdnMenuItem)sender).MenuId, ((PdnMenuItem)sender).Text, new List<Args>());
- }
- mainForm.StartPosition = FormStartPosition.CenterScreen;
- mainForm.ShowDialog();
- }
- }
- /// <summary>
- /// 专项测量 - 长度
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void menuGeneralLengthSpecialMeasure_Click(object sender, EventArgs e)
- {
- using (SpecialMeasureLengthDialog mainForm = new SpecialMeasureLengthDialog(this.AppWorkspace))
- {
- if (AppWorkspace.startScriptRecording)
- {
- AppWorkspace.SetScriptStartRecording(((PdnMenuItem)sender).MenuId, ((PdnMenuItem)sender).Text, new List<Args>());
- }
- mainForm.StartPosition = FormStartPosition.CenterScreen;
- mainForm.ShowDialog();
- }
- }
- /// <summary>
- /// 面积含量专项定义
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void menuGeneralAreaSpecialDefinition_Click(object sender, EventArgs e)
- {
- using (SpecialDefinitionDialog mainForm = new SpecialDefinitionDialog(SpecialItem.AREA))
- {
- if (AppWorkspace.startScriptRecording)
- {
- AppWorkspace.SetScriptStartRecording(((PdnMenuItem)sender).MenuId, ((PdnMenuItem)sender).Text, new List<Args>());
- }
- mainForm.StartPosition = FormStartPosition.CenterScreen;
- mainForm.ShowDialog();
- }
- }
- /// <summary>
- /// 长度专项定义
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void menuGeneralLengthSpecialDefinition_Click(object sender, EventArgs e)
- {
- using (SpecialDefinitionDialog mainForm = new SpecialDefinitionDialog(SpecialItem.LENGTH))
- {
- if (AppWorkspace.startScriptRecording)
- {
- AppWorkspace.SetScriptStartRecording(((PdnMenuItem)sender).MenuId, ((PdnMenuItem)sender).Text, new List<Args>());
- }
- mainForm.StartPosition = FormStartPosition.CenterScreen;
- mainForm.ShowDialog();
- }
- }
- /// <summary>
- /// 工艺图设定
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void menuItemArtworkSetting_Click(object sender, EventArgs e)
- {
- using (ArtworkSettingDialog mainForm = new ArtworkSettingDialog(this.AppWorkspace))
- {
- if (AppWorkspace.startScriptRecording)
- {
- AppWorkspace.SetScriptStartRecording(((PdnMenuItem)sender).MenuId, ((PdnMenuItem)sender).Text, new List<Args>());
- }
- mainForm.StartPosition = FormStartPosition.CenterScreen;
- mainForm.ShowDialog();
- }
- }
- /// <summary>
- /// 工艺图比照
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void menuItemArtworkComparative_Click(object sender, EventArgs e)
- {
- using (ArtworkComparativeDialog mainForm = new ArtworkComparativeDialog(this.AppWorkspace))
- {
- if (AppWorkspace.startScriptRecording)
- {
- AppWorkspace.SetScriptStartRecording(((PdnMenuItem)sender).MenuId, ((PdnMenuItem)sender).Text, new List<Args>());
- }
- mainForm.StartPosition = FormStartPosition.CenterScreen;
- mainForm.ShowDialog();
- }
- }
- private void MenuGeneralPhaseSpacing_Click(object sender, EventArgs e)
- {
- //throw new NotImplementedException();
- using (PolyphaseDistanceDialog mainForm = new PolyphaseDistanceDialog(this.AppWorkspace, ((PdnMenuItem)sender)))
- {
- mainForm.StartPosition = FormStartPosition.CenterScreen;
- mainForm.ShowDialog();
- }
- }
- private void MenuGeneralTwoComparisonCases_Click(object sender, EventArgs e)
- {
- //throw new NotImplementedException();
- using (TwoPhaseScaleDialog mainForm = new TwoPhaseScaleDialog(this.AppWorkspace, ((PdnMenuItem)sender)))
- {
- mainForm.StartPosition = FormStartPosition.CenterScreen;
- mainForm.ShowDialog();
- }
- }
- private void MenuGeneralMultiphaseContent_Click(object sender, EventArgs e)
- {
- using (PolyphaseMutiAreaContent mainForm = new PolyphaseMutiAreaContent(this.AppWorkspace, ((PdnMenuItem)sender)))
- {
- mainForm.StartPosition = FormStartPosition.CenterScreen;
- mainForm.ShowDialog();
- }
- }
- private void MenuGeneralMultiphaseStatistics_Click(object sender, EventArgs e)
- {
- using (PolyphaseCounterAnalysisDialog counterDialog = new PolyphaseCounterAnalysisDialog(this.AppWorkspace, ((PdnMenuItem)sender)))
- {
- counterDialog.StartPosition = FormStartPosition.CenterScreen;
- counterDialog.ShowDialog();
- }
- }
- private void MenuGeneralCountStatistics_Click(object sender, EventArgs e)
- {
- using (CountNumberAnalysisDialog counterDialog = new CountNumberAnalysisDialog(this.AppWorkspace,((PdnMenuItem)sender)))
- {
- counterDialog.StartPosition = FormStartPosition.CenterScreen;
- counterDialog.ShowDialog();
- }
- }
- private void MenuGeneralTwoPhaseArea_Click(object sender, EventArgs e)
- {
- using (PolyphaseContentDialog pContentDialog = new PolyphaseContentDialog(this.AppWorkspace, ((PdnMenuItem)sender)))
- {
- pContentDialog.StartPosition = FormStartPosition.CenterScreen;
- pContentDialog.ShowDialog();
- }
- }
- //private void MenuGeneralMultiphaseContent_Click(object sender, EventArgs e)
- //{
- // //throw new NotImplementedException();
- // using (PolyphaseContentDialog pContentDialog = new PolyphaseContentDialog(this.AppWorkspace))
- // {
- // pContentDialog.StartPosition = FormStartPosition.CenterScreen;
- // pContentDialog.ShowDialog();
- // }
- //}
- /// <summary>
- /// 图谱管理
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void menuGeneralMapManager_Click(object sender, EventArgs e)
- {
- using(AtlasManagerDialog atlasManagerDialog = new AtlasManagerDialog(this.AppWorkspace))
- {
- if (AppWorkspace.startScriptRecording)
- {
- AppWorkspace.SetScriptStartRecording(((PdnMenuItem)sender).MenuId, ((PdnMenuItem)sender).Text, new List<Args>());
- }
- atlasManagerDialog.StartPosition = FormStartPosition.CenterScreen;
- atlasManagerDialog.ShowDialog();
- }
- }
- /// <summary>
- /// 图谱比照
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void menuGeneralMapComparison_Click(object sender, EventArgs e)
- {
- using (AtlasComparisonDialog atlasComparisonDialog = new AtlasComparisonDialog(this.AppWorkspace))
- {
- if (AppWorkspace.startScriptRecording)
- {
- AppWorkspace.SetScriptStartRecording(((PdnMenuItem)sender).MenuId, ((PdnMenuItem)sender).Text, new List<Args>());
- }
- atlasComparisonDialog.StartPosition = FormStartPosition.CenterScreen;
- atlasComparisonDialog.ShowDialog();
- }
- }
- /// <summary>
- /// 颗粒统计
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void menuGeneralParticleStatistics_Click(object sender, EventArgs e)
- {
- using (DebrisSelectionDialog debrisSelectionDialog = new DebrisSelectionDialog(this.AppWorkspace, ((PdnMenuItem)sender)))
- {
- debrisSelectionDialog.StartPosition = FormStartPosition.CenterScreen;
- debrisSelectionDialog.ShowDialog();
- }
- }
- /// <summary>
- /// 积数仪
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void menuGeneralCountometer_Click(object sender, EventArgs e)
- {
- if (AppWorkspace.startScriptRecording)
- {
- AppWorkspace.SetScriptStartRecording(((PdnMenuItem)sender).MenuId, ((PdnMenuItem)sender).Text, new List<Args>());
- }
- Form form = Application.OpenForms["GeneralCountometerDialog"];//尝试获取已经弹出的窗口对象
- FloatingFormMethod.ShowFloatForm(form, form == null ? new GeneralCountometerDialog(AppWorkspace)/*没有弹出的窗口对象则创建*/ : null, AppWorkspace);
- }
- private string GetCultureInfoName(CultureInfo ci)
- {
- CultureInfo en_US = new CultureInfo("en-US");
- if (ci.Equals(en_US))
- {
- return GetCultureInfoName(ci.Parent);
- }
- else
- {
- return ci.NativeName;
- }
- }
- }
- }
|