123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365 |
- using Metis.Measuring;
- using PaintDotNet.Annotation.Enum;
- using PaintDotNet.Base;
- using PaintDotNet.Data.Param;
- using PaintDotNet.Measuring;
- using PaintDotNet.Preview2;
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.Globalization;
- using System.Windows.Forms;
- namespace PaintDotNet.Menus
- {
- /// <summary>
- /// 图像测量菜单
- /// </summary>
- internal sealed class MeasureActionMenu : PdnMenuItem
- {
- public static ArrayList ArrayList1;
- public static ArrayList ArrayList2;
- public static ArrayList ArrayList3;
- public static bool InitKb = true;
- #region Menus
- private PdnMenuItem menuChoiseAction;
- private PdnMenuItem menuSelectAllAction;
- private PdnMenuItem menuContinuousDrawingAction;
- private PdnMenuItem menuClearAllAction;
- private ToolStripSeparator menuHelpSeparator1;
- private PdnMenuItem menuOpticalDensity;
- private PdnMenuItem menuBitmapAnalysis;
- private ToolStripSeparator menuHelpSeparator2;
- private PdnMenuItem menuLengthMeasurement;
- private PdnMenuItem menuMultiPointLineSegment;
- private PdnMenuItem menuCurveLength;
- private PdnMenuItem menuPointPerpendicular;
- private PdnMenuItem menuParallelLines;
- private PdnMenuItem menuPolygonMeasurement;
- private PdnMenuItem menuCircularMeasurement;
- private PdnMenuItem menuAngleMeasurement;
- private PdnMenuItem menuRegistrationMeasurement;
- private ToolStripSeparator menuHelpSeparator3;
- private PdnMenuItem menuRulerCalibration;
- private PdnMenuItem menuMeasureList;
- private PdnMenuItem menuTheoreticalScale;
- private PdnMenuItem menuGeometryMeasure;
- //标尺标定子菜单
- //标尺标定
- private PdnMenuItem menuSubRulerCalibration;
- //应用当前
- private PdnMenuItem menuSubApplyCurrent;
- //应用全部
- private PdnMenuItem menuSubApplyAll;
- //长度测量子菜单
- //直线
- private PdnMenuItem menuStraightLine;
- //长度
- private PdnMenuItem menuLengthLine;
- //水平线
- private PdnMenuItem menuHorizontalLine;
- //垂线
- private PdnMenuItem menuPerpendicular;
- //垂线
- private PdnMenuItem menuDistance;
- //多点线段子菜单
- //多点直线
- private PdnMenuItem menuMultipointStraightLine;
- //多点水平线
- private PdnMenuItem menuMultipointHorizontalLine;
- //多点线段
- private PdnMenuItem menuMultipointLineSegment1;
- //多点垂直线
- private PdnMenuItem menuMultipointVerticalLine;
- //曲线长度子菜单
- //折线
- private PdnMenuItem menuPolyline;
- //轨迹曲线
- private PdnMenuItem menuTraceCurve;
- //曲线
- private PdnMenuItem menuCurve;
- //点垂线子菜单
- //点垂线
- private PdnMenuItem menuPointVertical;
- //多点垂线
- private PdnMenuItem menuMultiPointVertical;
- //水平多点垂线
- private PdnMenuItem menuHorizontalMultipointVertical;
- //垂直多点垂线
- private PdnMenuItem menuVerticalMultipointVertical;
- //点到水平线距离
- private PdnMenuItem menuPointToHLine;
- //平行线测量子菜单
- //平行线
- private PdnMenuItem menuParallelLine;
- //多点平行线
- private PdnMenuItem menuMultipointParallel;
- //多点水平平行线
- private PdnMenuItem menuMultipointHorizontalParallelLines;
- //多点垂直平行线
- private PdnMenuItem menuMultipointVerticalParallelLines;
- //多边形测量子菜单
- //闭合曲线
- private PdnMenuItem menuClosedCurve;
- //多边形
- private PdnMenuItem menuPolygon;
- //矩形
- private PdnMenuItem menuRectangle;
- //任意矩形
- private PdnMenuItem menuArbitraryRectangle;
- //正方形
- private PdnMenuItem menuSquare;
- //任意正方形
- private PdnMenuItem menuArbitrarySquare;
- //轨迹多边形
- private PdnMenuItem menuTrackPolygon;
- //圆形测量子菜单
- //三点圆
- private PdnMenuItem menuThreePointCircle;
- //向内画圆
- private PdnMenuItem menuDrawCircleInward;
- //向外画圆
- private PdnMenuItem menuDrawCircleOutward;
- //直径画圆
- private PdnMenuItem menuDiameterCircle;
- //点到圆距离
- private PdnMenuItem menuPointToCircleDistance;
- //点到圆心距离
- private PdnMenuItem menuPointToCenterDistance;
- //点到圆弧距离
- private PdnMenuItem menuPointToArcDistance;
- //角度测量子菜单
- //三点角度
- private PdnMenuItem menuThreePointAngle;
- //四点角度
- private PdnMenuItem menuFourPointAngle;
- //三点弧
- private PdnMenuItem menuThreePointArc;
- // 对准度测量子菜单
- //圆心到圆心距离
- private PdnMenuItem menuCenterToCenterDistance;
- //两线中垂线距离
- private PdnMenuItem menuTwoLineVLDistance;
- #endregion
- public static Preview2Dialog _p2Form => Preview2Dialog.Instance;
- /// <summary>
- /// 图像测量
- /// </summary>
- public MeasureActionMenu(int menuId)
- {
- InitializeComponent();
- this.MenuId = menuId;
- this.AutomaticScript = false;
- }
- protected override void OnAppWorkspaceChanged()
- {
- base.OnAppWorkspaceChanged();
- }
- private void InitializeComponent()
- {
- this.menuChoiseAction = new PdnMenuItem(ActionType.MeasureSelect);
- this.menuSelectAllAction = new PdnMenuItem(ActionType.SelectAllMeasure);
- this.menuContinuousDrawingAction = new PdnMenuItem(ActionType.ContinuousDrawingMeasure, true);
- this.menuClearAllAction = new PdnMenuItem(ActionType.ClearAllMeasure);
- this.menuHelpSeparator1 = new ToolStripSeparator();
- this.menuOpticalDensity = new PdnMenuItem(ActionType.OpticalDensity);
- this.menuBitmapAnalysis = new PdnMenuItem(ActionType.BitmapAnalysis);
- this.menuHelpSeparator2 = new ToolStripSeparator();
- this.menuLengthMeasurement = new PdnMenuItem(ActionType.LengthMeasurement);
- this.menuMultiPointLineSegment = new PdnMenuItem(ActionType.MultiPointLineSegment);
- this.menuCurveLength = new PdnMenuItem(ActionType.CurveLength);
- this.menuPointPerpendicular = new PdnMenuItem(ActionType.PointPerpendicular);
- this.menuParallelLines = new PdnMenuItem(ActionType.ParallelLines);
- this.menuPolygonMeasurement = new PdnMenuItem(ActionType.PolygonMeasurement);
- this.menuCircularMeasurement = new PdnMenuItem(ActionType.CircularMeasurement);
- this.menuAngleMeasurement = new PdnMenuItem(ActionType.AngleMeasurement);
- this.menuRegistrationMeasurement = new PdnMenuItem(ActionType.RegistrationMeasurement);
- this.menuHelpSeparator3 = new ToolStripSeparator();
- this.menuMeasureList = new PdnMenuItem(ActionType.MeasureList);
- this.menuRulerCalibration = new PdnMenuItem(ActionType.RulerCalibration);
- this.menuTheoreticalScale = new PdnMenuItem(ActionType.TheoreticalScale);
- this.menuSubRulerCalibration = new PdnMenuItem(ActionType.SubRulerCalibration);
- this.menuSubApplyCurrent = new PdnMenuItem(ActionType.SubApplyCurrent);
- this.menuSubApplyAll = new PdnMenuItem(ActionType.SubApplyAll);
- this.menuStraightLine = new PdnMenuItem(ActionType.StraightLine);
- this.menuLengthLine = new PdnMenuItem(ActionType.LengthLine);
- this.menuHorizontalLine = new PdnMenuItem(ActionType.HorizontalLine);
- this.menuPerpendicular = new PdnMenuItem(ActionType.Perpendicular);
- this.menuDistance = new PdnMenuItem(ActionType.StraightDistanceLine);
- this.menuMultipointStraightLine = new PdnMenuItem(ActionType.MultipointStraightLine);
- this.menuMultipointHorizontalLine = new PdnMenuItem(ActionType.MultipointLineSegment1);
- this.menuMultipointLineSegment1 = new PdnMenuItem(ActionType.MultipointHorizontalLine);
- this.menuMultipointVerticalLine = new PdnMenuItem(ActionType.MultipointVerticalLine);
- this.menuPolyline = new PdnMenuItem(ActionType.Polyline);
- this.menuCurve = new PdnMenuItem(ActionType.Curve);
- this.menuTraceCurve = new PdnMenuItem(ActionType.TraceCurve);
- this.menuPointVertical = new PdnMenuItem(ActionType.PointVertical);
- this.menuMultiPointVertical = new PdnMenuItem(ActionType.MultiPointVertical);
- this.menuHorizontalMultipointVertical = new PdnMenuItem(ActionType.HorizontalMultipointVertical);
- this.menuVerticalMultipointVertical = new PdnMenuItem(ActionType.VerticalMultipointVertical);
- this.menuPointToHLine = new PdnMenuItem(ActionType.menuPointToHLine);
- this.menuParallelLine = new PdnMenuItem(ActionType.ParallelLine);
- this.menuMultipointParallel = new PdnMenuItem(ActionType.MultipointParallel);
- this.menuMultipointHorizontalParallelLines = new PdnMenuItem(ActionType.MultipointHorizontalParallelLines);
- this.menuMultipointVerticalParallelLines = new PdnMenuItem(ActionType.MultipointVerticalParallelLines);
- this.menuClosedCurve = new PdnMenuItem(ActionType.ClosedCurve);
- this.menuPolygon = new PdnMenuItem(ActionType.Polygon);
- this.menuRectangle = new PdnMenuItem(ActionType.Rectangle);
- this.menuArbitraryRectangle = new PdnMenuItem(ActionType.ArbitraryRectangle);
- this.menuSquare = new PdnMenuItem(ActionType.Square);
- this.menuArbitrarySquare = new PdnMenuItem(ActionType.ArbitrarySquare);
- this.menuTrackPolygon = new PdnMenuItem(ActionType.TrackPolygon);
- this.menuThreePointCircle = new PdnMenuItem(ActionType.ThreePointCircle);
- this.menuDrawCircleInward = new PdnMenuItem(ActionType.DrawCircleInward);
- this.menuDrawCircleOutward = new PdnMenuItem(ActionType.DrawCircleOutward);
- this.menuDiameterCircle = new PdnMenuItem(ActionType.DiameterCircle);
- this.menuPointToCircleDistance = new PdnMenuItem(ActionType.PointToCircleDistance);
- this.menuPointToCenterDistance = new PdnMenuItem(ActionType.PointToCenterDistance);
- this.menuPointToArcDistance = new PdnMenuItem(ActionType.PointToArcDistance);
- this.menuThreePointAngle = new PdnMenuItem(ActionType.ThreePointAngle);
- this.menuFourPointAngle = new PdnMenuItem(ActionType.FourPointAngle);
- this.menuThreePointArc = new PdnMenuItem(ActionType.ThreePointArc);
- this.menuCenterToCenterDistance = new PdnMenuItem(ActionType.CenterToCenterDistance);
- this.menuTwoLineVLDistance = new PdnMenuItem(ActionType.TwoLineVLDistance);
- this.menuGeometryMeasure = new PdnMenuItem(ActionType.GeometryMeasure);
- //
- // 主菜单
- //
- this.DropDownItems.AddRange(new ToolStripItem[] {
- this.menuChoiseAction,
- this.menuSelectAllAction,
- this.menuContinuousDrawingAction,
- this.menuClearAllAction,
- this.menuHelpSeparator1,
- this.menuOpticalDensity,
- this.menuBitmapAnalysis,
- this.menuHelpSeparator2,
- this.menuLengthMeasurement,
- this.menuMultiPointLineSegment,
- this.menuCurveLength,
- this.menuCircularMeasurement,
- this.menuAngleMeasurement,
- this.menuRegistrationMeasurement,
- this.menuPointPerpendicular,
- this.menuParallelLines,
- this.menuPolygonMeasurement,
- this.menuHelpSeparator3,
- this.menuMeasureList,
- this.menuRulerCalibration,
- this.menuTheoreticalScale,
- this.menuGeometryMeasure
- });
- this.Name = "Menu.MeasureAction";
- this.Text = PdnResources.GetString("Menu.MeasureAction.Text");
- //
- // 选择
- //
- this.menuChoiseAction.NeedWaitKey = true;
- this.menuChoiseAction.Click += new EventHandler(MenuChoiseAction_Click);
- //
- // 全选
- //
- this.menuSelectAllAction.NeedWaitKey = true;
- this.menuSelectAllAction.Click += new EventHandler(MenuSelectAllAction_Click);
- //
- // 连续绘制
- //
- this.menuContinuousDrawingAction.NeedWaitKey = true;
- this.menuContinuousDrawingAction.Click += new EventHandler(MenuContinuousDrawingAction_Click);
- //
- // 清空元素
- //
- this.menuClearAllAction.Click += new EventHandler(MenuClearAllAction_Click);
- //
- // 光密度
- //
- this.menuOpticalDensity.NeedWaitKey = true;
- this.menuOpticalDensity.Click += new EventHandler(MenuOpticalDensity_Click);
- //
- // 位图分析
- //
- this.menuBitmapAnalysis.Click += new EventHandler(BitmapAnalysis_Click);
- //
- // 长度测量
- //
- this.menuLengthMeasurement.DropDownItems.AddRange(new ToolStripItem[] {
- this.menuStraightLine,
- this.menuLengthLine,
- this.menuHorizontalLine,
- this.menuPerpendicular,
- this.menuDistance
- });
- //
- // 多点线段
- //
- this.menuMultiPointLineSegment.DropDownItems.AddRange(new ToolStripItem[] {
- this.menuMultipointStraightLine,
- this.menuMultipointLineSegment1,
- this.menuMultipointHorizontalLine,
- this.menuMultipointVerticalLine
- });
- //
- // 曲线长度
- //
- this.menuCurveLength.DropDownItems.AddRange(new ToolStripItem[] {
- this.menuPolyline,
- this.menuCurve,
- this.menuTraceCurve
- });
- //
- // 点垂线测量
- //
- this.menuPointPerpendicular.DropDownItems.AddRange(new ToolStripItem[] {
- this.menuPointVertical,
- this.menuMultiPointVertical,
- this.menuHorizontalMultipointVertical,
- this.menuVerticalMultipointVertical,
- this.menuPointToHLine
- });
- //
- // 平行线测量
- //
- this.menuParallelLines.DropDownItems.AddRange(new ToolStripItem[] {
- this.menuParallelLine,
- this.menuMultipointParallel,
- this.menuMultipointHorizontalParallelLines,
- this.menuMultipointVerticalParallelLines
- });
- //
- // 多边形测量
- //
- this.menuPolygonMeasurement.DropDownItems.AddRange(new ToolStripItem[] {
- this.menuClosedCurve,
- this.menuPolygon,
- this.menuRectangle,
- this.menuArbitraryRectangle,
- this.menuSquare,
- this.menuArbitrarySquare,
- this.menuTrackPolygon
- });
- //
- // 圆形测量
- //
- this.menuCircularMeasurement.DropDownItems.AddRange(new ToolStripItem[] {
- this.menuThreePointCircle,
- this.menuDrawCircleInward,
- this.menuDrawCircleOutward,
- this.menuDiameterCircle,
- this.menuPointToCircleDistance,
- this.menuPointToCenterDistance,
- this.menuPointToArcDistance
- });
- //
- // 角度测量
- //
- this.menuAngleMeasurement.DropDownItems.AddRange(new ToolStripItem[] {
- this.menuThreePointAngle,
- this.menuFourPointAngle,
- this.menuThreePointArc
- });
- this.menuRegistrationMeasurement.Image = PdnResources.GetImageResource("Icons.MenuMeasureRegistrationMeasurementIcon.png").Reference;
- this.menuRegistrationMeasurement.DropDownItems.AddRange(new ToolStripItem[] {
- this.menuCenterToCenterDistance,
- this.menuTwoLineVLDistance
- });
- //
- // 标尺标定
- //
- //this.menuRulerCalibration.NeedWaitKey = true;
- this.menuRulerCalibration.DropDownItems.AddRange(new ToolStripItem[] {
- this.menuSubRulerCalibration,
- this.menuSubApplyCurrent,
- this.menuSubApplyAll
- });
- //this.menuRulerCalibration.Click += new EventHandler(MenuRulerCalibration_Click);
- //
- // 测量列表
- //
- this.menuMeasureList.NeedWaitKey = true;
- this.menuMeasureList.Click += new EventHandler(MenuMeasureList_Click);
- //
- // 理论比例尺
- //
- this.menuTheoreticalScale.Click += new EventHandler(TheoreticalScale_Click);
- //
- // 以下是子菜单
- //
- //
- // 标尺标定(子菜单)
- //
- this.menuSubRulerCalibration.Text = PdnResources.GetString("Menu.MeasureAction.RulerCalibration.Text");
- this.menuSubRulerCalibration.NeedWaitKey = true;
- this.menuSubRulerCalibration.Click += new EventHandler(MenuRulerCalibration_Click);
- this.menuSubRulerCalibration.Image = PdnResources.GetImageResource("Icons.MenuRulerCalibration.png").Reference;
- //
- // 应用当前
- //
- this.menuSubApplyCurrent.Text = PdnResources.GetString("Menu.Imagement.Rulersetting.current.text");
- this.menuSubApplyCurrent.NeedWaitKey = true;
- this.menuSubApplyCurrent.Click += new EventHandler(MenuSubApplyCurrent_Click);
- this.menuSubApplyCurrent.Image = PdnResources.GetImageResource("Icons.MenuNow.png").Reference;
- //
- // 应用全部
- //
- this.menuSubApplyAll.Text = PdnResources.GetString("Menu.Binaryoperation.Binaryextraction.Applytoall.text");
- this.menuSubApplyAll.NeedWaitKey = true;
- this.menuSubApplyAll.Click += new EventHandler(MenuSubApplyAll_Click);
- this.menuSubApplyAll.Image = PdnResources.GetImageResource("Icons.MenuAll.png").Reference;
- //
- // 直线
- //
- this.menuStraightLine.Text = PdnResources.GetString("Menu.MeasureAction.MeasureLine.Text");
- this.menuStraightLine.NeedWaitKey = true;
- this.menuStraightLine.Click += new EventHandler(MenuStraightLine_Click);
- this.menuStraightLine.Image = PdnResources.GetImageResource("Icons.MenuMeasureLineIcon.png").Reference;
- //
- //
- // 距离
- //
- this.menuDistance.Text = PdnResources.GetString("Menu.MeasureAction.MeasureDistanceLine.Text");
- this.menuDistance.NeedWaitKey = true;
- this.menuDistance.Click += new EventHandler(MenuDistance_Click);
- this.menuDistance.Image = PdnResources.GetImageResource("Icons.MenuMeasureLineIcon.png").Reference;
- //
- // 长度
- //
- this.menuLengthLine.Text = PdnResources.GetString("Menu.MeasureAction.MeasureLength.Text");
- this.menuLengthLine.NeedWaitKey = true;
- this.menuLengthLine.Click += new EventHandler(MenuLengthLine_Click);
- this.menuLengthLine.Image = PdnResources.GetImageResource("Icons.MenuMeasureLengthIcon.png").Reference;
- //
- // 水平线
- //
- this.menuHorizontalLine.Text = PdnResources.GetString("Menu.MeasureAction.MeasureHLine.Text");
- this.menuHorizontalLine.NeedWaitKey = true;
- this.menuHorizontalLine.Click += new EventHandler(MenuHorizontalLine_Click);
- this.menuHorizontalLine.Image = PdnResources.GetImageResource("Icons.MenuMeasureHLineIcon.png").Reference;
- //
- // 垂线
- //
- this.menuPerpendicular.Text = PdnResources.GetString("Menu.MeasureAction.MeasureVLine.Text");
- this.menuPerpendicular.NeedWaitKey = true;
- this.menuPerpendicular.Click += new EventHandler(MenuPerpendicular_Click);
- this.menuPerpendicular.Image = PdnResources.GetImageResource("Icons.MenuMeasureVLineIcon.png").Reference;
- //
- // 多点直线
- //
- this.menuMultipointStraightLine.Text = PdnResources.GetString("Menu.MeasureAction.MeasureMulLine.Text");
- this.menuMultipointStraightLine.NeedWaitKey = true;
- this.menuMultipointStraightLine.Click += new EventHandler(menuMultipointStraightLine_Click);
- this.menuMultipointStraightLine.Image = PdnResources.GetImageResource("Icons.MenuMeasureMulLineIcon.png").Reference;
- //
- // 多点水平线
- //
- this.menuMultipointHorizontalLine.Text = PdnResources.GetString("Menu.MeasureAction.MeasureMulHVLine.Text");
- this.menuMultipointHorizontalLine.NeedWaitKey = true;
- this.menuMultipointHorizontalLine.Click += new EventHandler(menuMultipointHorizontalLine_Click);
- this.menuMultipointHorizontalLine.Image = PdnResources.GetImageResource("Icons.MenuMeasureMulHVLineIcon.png").Reference;
- //
- // 多点线段
- //
- this.menuMultipointLineSegment1.Text = PdnResources.GetString("Menu.MeasureAction.MeasureMulSegment.Text");
- this.menuMultipointLineSegment1.NeedWaitKey = true;
- this.menuMultipointLineSegment1.Click += new EventHandler(menuMultipointLineSegment1_Click);
- this.menuMultipointLineSegment1.Image = PdnResources.GetImageResource("Icons.MenuMeasureMulSegmentIcon.png").Reference;
- //
- // 多点垂直线
- //
- this.menuMultipointVerticalLine.Text = PdnResources.GetString("Menu.MeasureAction.MeasureMulVLine.Text");
- this.menuMultipointVerticalLine.NeedWaitKey = true;
- this.menuMultipointVerticalLine.Click += new EventHandler(menuMultipointVerticalLine_Click);
- this.menuMultipointVerticalLine.Image = PdnResources.GetImageResource("Icons.MenuMeasureMulVLineIcon.png").Reference;
- //
- // 折线
- //
- this.menuPolyline.Text = PdnResources.GetString("Menu.MeasureAction.MeasureBrokenLine.Text");
- this.menuPolyline.NeedWaitKey = true;
- this.menuPolyline.Click += new EventHandler(MenuPolyline_Click);
- this.menuPolyline.Image = PdnResources.GetImageResource("Icons.MenuMeasureBrokenLineIcon.png").Reference;
- //
- // 轨迹曲线
- //
- this.menuTraceCurve.Text = PdnResources.GetString("Menu.MeasureAction.MeasureTraceCurve.Text");
- this.menuTraceCurve.NeedWaitKey = true;
- this.menuTraceCurve.Click += new EventHandler(MenuTraceCurve_Click);
- this.menuTraceCurve.Image = PdnResources.GetImageResource("Icons.MenuMeasureTraceCurveIcon.png").Reference;
- //
- // 曲线
- //
- this.menuCurve.Text = PdnResources.GetString("Menu.MeasureAction.MeasureCurveLine.Text");
- this.menuCurve.NeedWaitKey = true;
- this.menuCurve.Click += new EventHandler(MenuCurve_Click);
- this.menuCurve.Image = PdnResources.GetImageResource("Icons.MenuMeasureCurveLineIcon.png").Reference;
- //
- // 点垂线
- //
- this.menuPointVertical.Text = PdnResources.GetString("Menu.MeasureAction.MeasurePLine.Text");
- this.menuPointVertical.NeedWaitKey = true;
- this.menuPointVertical.Click += new EventHandler(menuPointVertical_Click);
- this.menuPointVertical.Image = PdnResources.GetImageResource("Icons.MenuMeasurePLineIcon.png").Reference;
- //
- // 多点垂线
- //
- this.menuMultiPointVertical.Text = PdnResources.GetString("Menu.MeasureAction.MeasureMulPLine.Text");
- this.menuMultiPointVertical.NeedWaitKey = true;
- this.menuMultiPointVertical.Click += new EventHandler(menuMultiPointVertical_Click);
- this.menuMultiPointVertical.Image = PdnResources.GetImageResource("Icons.MenuMeasureMulPLineIcon.png").Reference;
- //
- // 水平多点垂线
- //
- this.menuHorizontalMultipointVertical.Text = PdnResources.GetString("Menu.MeasureAction.MeasureHMulPLine.Text");
- this.menuHorizontalMultipointVertical.NeedWaitKey = true;
- this.menuHorizontalMultipointVertical.Click += new EventHandler(menuHorizontalMultipointVertical_Click);
- this.menuHorizontalMultipointVertical.Image = PdnResources.GetImageResource("Icons.MenuMeasureHMulPLineIcon.png").Reference;
- //
- // 垂直多点垂线
- //
- this.menuVerticalMultipointVertical.Text = PdnResources.GetString("Menu.MeasureAction.MeasureVMulPLine.Text");
- this.menuVerticalMultipointVertical.NeedWaitKey = true;
- this.menuVerticalMultipointVertical.Click += new EventHandler(menuVerticalMultipointVertical_Click);
- this.menuVerticalMultipointVertical.Image = PdnResources.GetImageResource("Icons.MenuMeasureVMulPLineIcon.png").Reference;
- //
- //
- //点到水平线距离
- //
- this.menuPointToHLine.Text = PdnResources.GetString("Menu.MeasureAction.MeasurePointHLine.Text");
- this.menuPointToHLine.NeedWaitKey = true;
- this.menuPointToHLine.Click += new EventHandler(menuMultiPointToHLine_Click);
- this.menuPointToHLine.Image = PdnResources.GetImageResource("Icons.MenuMeasurePLineIcon.png").Reference;
- // 平行线
- //
- this.menuParallelLine.Text = PdnResources.GetString("Menu.MeasureAction.MeasureParallelLine.Text");
- this.menuParallelLine.NeedWaitKey = true;
- this.menuParallelLine.Click += new EventHandler(menuParallelLine_Click);
- this.menuParallelLine.Image = PdnResources.GetImageResource("Icons.MenuMeasureParallelLineIcon.png").Reference;
- //
- // 多点平行线
- //
- this.menuMultipointParallel.Text = PdnResources.GetString("Menu.MeasureAction.MeasureMulParallelLine.Text");
- this.menuMultipointParallel.NeedWaitKey = true;
- this.menuMultipointParallel.Click += new EventHandler(menuMultipointParallel_Click);
- this.menuMultipointParallel.Image = PdnResources.GetImageResource("Icons.MenuMeasureMulParallelLineIcon.png").Reference;
- //
- // 水平多点平行线
- //
- this.menuMultipointHorizontalParallelLines.Text = PdnResources.GetString("Menu.MeasureAction.MeasureHMulParallelLine.Text");
- this.menuMultipointHorizontalParallelLines.NeedWaitKey = true;
- this.menuMultipointHorizontalParallelLines.Click += new EventHandler(menuMultipointHorizontalParallelLines_Click);
- this.menuMultipointHorizontalParallelLines.Image = PdnResources.GetImageResource("Icons.MenuMeasureHMulParallelLineIcon.png").Reference;
- //
- // 垂直多点平行线
- //
- this.menuMultipointVerticalParallelLines.Text = PdnResources.GetString("Menu.MeasureAction.MeasureVMulParallelLine.Text");
- this.menuMultipointVerticalParallelLines.NeedWaitKey = true;
- this.menuMultipointVerticalParallelLines.Click += new EventHandler(menuMultipointVerticalParallelLines_Click);
- this.menuMultipointVerticalParallelLines.Image = PdnResources.GetImageResource("Icons.MenuMeasureVMulParallelLineIcon.png").Reference;
- //
- // 闭合曲线
- //
- this.menuClosedCurve.Text = PdnResources.GetString("Menu.MeasureAction.MeasureClosedCurve.Text");
- this.menuClosedCurve.NeedWaitKey = true;
- this.menuClosedCurve.Click += new EventHandler(menuClosedCurve_Click);
- this.menuClosedCurve.Image = PdnResources.GetImageResource("Icons.MenuMeasureClosedCurveIcon.png").Reference;
- //
- // 多边形
- //
- this.menuPolygon.Text = PdnResources.GetString("Menu.MeasureAction.MeasurePolygon.Text");
- this.menuPolygon.NeedWaitKey = true;
- this.menuPolygon.Click += new EventHandler(menuPolygon_Click);
- this.menuPolygon.Image = PdnResources.GetImageResource("Icons.MenuMeasurePolygonIcon.png").Reference;
- //
- // 矩形
- //
- this.menuRectangle.Text = PdnResources.GetString("Menu.MeasureAction.MeasureRectangle.Text");
- this.menuRectangle.NeedWaitKey = true;
- this.menuRectangle.Click += new EventHandler(menuRectangle_Click);
- this.menuRectangle.Image = PdnResources.GetImageResource("Icons.MenuMeasureRectangleIcon.png").Reference;
- //
- // 任意矩形
- //
- this.menuArbitraryRectangle.Text = PdnResources.GetString("Menu.MeasureAction.MeasureRandRectangle.Text");
- this.menuArbitraryRectangle.NeedWaitKey = true;
- this.menuArbitraryRectangle.Click += new EventHandler(menuArbitraryRectangle_Click);
- this.menuArbitraryRectangle.Image = PdnResources.GetImageResource("Icons.MenuMeasureRandRectangleIcon.png").Reference;
- //
- // 正方形
- //
- this.menuSquare.Text = PdnResources.GetString("Menu.MeasureAction.MeasureSquare.Text");
- this.menuSquare.NeedWaitKey = true;
- this.menuSquare.Click += new EventHandler(menuSquare_Click);
- this.menuSquare.Image = PdnResources.GetImageResource("Icons.MenuMeasureSquareIcon.png").Reference;
- //
- // 任意正方形
- //
- this.menuArbitrarySquare.Text = PdnResources.GetString("Menu.MeasureAction.MeasureRandSquare.Text");
- this.menuArbitrarySquare.NeedWaitKey = true;
- this.menuArbitrarySquare.Click += new EventHandler(menuArbitrarySquare_Click);
- this.menuArbitrarySquare.Image = PdnResources.GetImageResource("Icons.MenuMeasureRandSquareIcon.png").Reference;
- //
- // 轨迹多边形
- //
- this.menuTrackPolygon.Text = PdnResources.GetString("Menu.MeasureAction.MeasureTracePolygon.Text");
- this.menuTrackPolygon.NeedWaitKey = true;
- this.menuTrackPolygon.Click += new EventHandler(menuTrackPolygon_Click);
- this.menuTrackPolygon.Image = PdnResources.GetImageResource("Icons.MenuMeasureTracePolygonIcon.png").Reference;
- //
- // 三点圆
- //
- this.menuThreePointCircle.Text = PdnResources.GetString("Menu.MeasureAction.MeasureCircle.Text");
- this.menuThreePointCircle.NeedWaitKey = true;
- this.menuThreePointCircle.Click += new EventHandler(MenuThreePointCircle_Click);
- this.menuThreePointCircle.Image = PdnResources.GetImageResource("Icons.MenuMeasureCircleIcon.png").Reference;
- //
- // 向内画圆
- //
- this.menuDrawCircleInward.Text = PdnResources.GetString("Menu.MeasureAction.MeasureInnerCircle.Text");
- this.menuDrawCircleInward.NeedWaitKey = true;
- this.menuDrawCircleInward.Click += new EventHandler(MenuDrawCircleInward_Click);
- this.menuDrawCircleInward.Image = PdnResources.GetImageResource("Icons.MenuMeasureInnerCircleIcon.png").Reference;
- //
- // 向外画圆
- //
- this.menuDrawCircleOutward.Text = PdnResources.GetString("Menu.MeasureAction.MeasureOuterCircle.Text");
- this.menuDrawCircleOutward.NeedWaitKey = true;
- this.menuDrawCircleOutward.Click += new EventHandler(MenuDrawCircleOutward_Click);
- this.menuDrawCircleOutward.Image = PdnResources.GetImageResource("Icons.MenuMeasureOuterCircleIcon.png").Reference;
- //
- // 直径画圆
- //
- this.menuDiameterCircle.Text = PdnResources.GetString("Menu.MeasureAction.MeasureDiameterCircle.Text");
- this.menuDiameterCircle.NeedWaitKey = true;
- this.menuDiameterCircle.Click += new EventHandler(MenuDiameterCircle_Click);
- this.menuDiameterCircle.Image = PdnResources.GetImageResource("Icons.MenuMeasureDiameterCircleIcon.png").Reference;
- //
- // 点到圆距离
- //
- this.menuPointToCircleDistance.Text = PdnResources.GetString("Menu.MeasureAction.MeasurePointEdgeSize.Text");
- this.menuPointToCircleDistance.NeedWaitKey = true;
- this.menuPointToCircleDistance.Click += new EventHandler(MenuPointToCircleDistance_Click);
- this.menuPointToCircleDistance.Image = PdnResources.GetImageResource("Icons.MenuMeasurePointEdgeSizeIcon.png").Reference;
- //
- // 点到圆心距离
- //
- this.menuPointToCenterDistance.Text = PdnResources.GetString("Menu.MeasureAction.MeasurePointCenterSize.Text");
- this.menuPointToCenterDistance.NeedWaitKey = true;
- this.menuPointToCenterDistance.Click += new EventHandler(MenuPointToCenterDistance_Click);
- this.menuPointToCenterDistance.Image = PdnResources.GetImageResource("Icons.MenuPointToCenterDistance.png").Reference;
- //
- // 点到圆弧距离
- //
- this.menuPointToArcDistance.Text = PdnResources.GetString("Menu.MeasureAction.MeasurePointArcSize.Text");
- this.menuPointToArcDistance.NeedWaitKey = true;
- this.menuPointToArcDistance.Click += new EventHandler(MenuPointToArcDistance_Click);
- this.menuPointToArcDistance.Image = PdnResources.GetImageResource("Icons.MenuPointToArcDistance.png").Reference;
- //
- // 圆心到圆心距离
- //
- this.menuCenterToCenterDistance.Text = PdnResources.GetString("Menu.MeasureAction.MeasureCenterCenterSize.Text");
- this.menuCenterToCenterDistance.NeedWaitKey = true;
- this.menuCenterToCenterDistance.Click += new EventHandler(MenuCenterToCenterDistance_Click);
- this.menuCenterToCenterDistance.Image = PdnResources.GetImageResource("Icons.MenuMeasurePointCenterSizeIcon.png").Reference;
- //
- // 两线中垂线距离
- //
- this.menuTwoLineVLDistance.Text = PdnResources.GetString("Menu.MeasureAction.MeasureTwoLineVLDistance.Text");
- this.menuTwoLineVLDistance.NeedWaitKey = true;
- this.menuTwoLineVLDistance.Click += new EventHandler(MeasureTwoLineVLDistance_Click);
- this.menuTwoLineVLDistance.Image = PdnResources.GetImageResource("Icons.MenuTwoLineVLDistance.png").Reference;
- //
- // 三点角度
- //
- this.menuThreePointAngle.Text = PdnResources.GetString("Menu.MeasureAction.MeasureThreePointAngle.Text");
- this.menuThreePointAngle.NeedWaitKey = true;
- this.menuThreePointAngle.Click += new EventHandler(menuThreePointAngle_Click);
- this.menuThreePointAngle.Image = PdnResources.GetImageResource("Icons.MenuMeasureThreePointAngleIcon.png").Reference;
- //
- // 四点角度
- //
- this.menuFourPointAngle.Text = PdnResources.GetString("Menu.MeasureAction.MeasureFourPointAngle.Text");
- this.menuFourPointAngle.NeedWaitKey = true;
- this.menuFourPointAngle.Click += new EventHandler(menuFourPointAngle_Click);
- this.menuFourPointAngle.Image = PdnResources.GetImageResource("Icons.MenuMeasureFourPointAngleIcon.png").Reference;
- //
- // 三点弧
- //
- this.menuThreePointArc.Text = PdnResources.GetString("Menu.MeasureAction.MeasureThreePointArc.Text");
- this.menuThreePointArc.NeedWaitKey = true;
- this.menuThreePointArc.Click += new EventHandler(menuThreePointArc_Click);
- this.menuThreePointArc.Image = PdnResources.GetImageResource("Icons.MenuMeasureThreePointArcIcon.png").Reference;
- //
- // 几何测量
- //
- this.menuGeometryMeasure.Text = PdnResources.GetString("MeasureAction.InteractiveMeasurement");
- this.menuGeometryMeasure.Click += new EventHandler(menuGeometryMeasure_Click);
- this.menuGeometryMeasure.Image = PdnResources.GetImageResource("Icons.MenuMeasureThreePointArcIcon.png").Reference;
- //
- // 加载菜单的文字和icon
- //
- this.LoadNames(this.Name);
- this.LoadIcons();
- }
- protected override void OnDropDownOpening(EventArgs e)
- {
- this.menuContinuousDrawingAction.Checked = DocumentView.ContinuousDrawing;
- this.menuMeasureList.Checked = AppWorkspace.Widgets.MeasureListDialog.Visible;
- this.menuRulerCalibration.Checked = AppWorkspace.Widgets.RuleListForm.Visible;
- this.menuOpticalDensity.Checked = AppWorkspace.Widgets.OpticalDensityDialog.Visible;
- this.menuGeometryMeasure.Checked = AppWorkspace.Widgets.GeometryMeasureDialog.Visible;
- if (AppWorkspace.ActiveDocumentWorkspace == null/* || AppWorkspace.ScriptRunning*/)
- {
- this.menuOpticalDensity.Enabled = false;
- this.menuBitmapAnalysis.Enabled = false;
- }
- else
- {
- this.menuOpticalDensity.Enabled = true;
- this.menuBitmapAnalysis.Enabled = true;
- }
- //this.RecursiveData(this.DropDownItems);
- base.OnDropDownOpening(e);
- }
- /// <summary>
- /// 选择
- /// </summary>
- /// <param name="e"></param>
- private void MenuChoiseAction_Click(object sender, EventArgs e)
- {
- if (_p2Form != null)
- _p2Form?.SetActiveTool(DrawToolType.Pointer);
- else
- if (AppWorkspace.ActiveDocumentWorkspace != null)
- {
- if (AppWorkspace.startScriptRecording)
- {
- AppWorkspace.SetScriptStartRecording(((PdnMenuItem)sender).MenuId, ((PdnMenuItem)sender).Text, new List<Args>());
- }
- AppWorkspace.ActiveDocumentWorkspace.ToolNumber = -1;
- AppWorkspace.ActiveDocumentWorkspace.ActiveTool = DrawToolType.Pointer;
- }
- this.SetCameraPreviewActiveTool(DrawToolType.Pointer);
- }
- /// <summary>
- /// 全选
- /// </summary>
- /// <param name="e"></param>
- private void MenuSelectAllAction_Click(object sender, EventArgs e)
- {
- if (_p2Form != null)
- {
- _p2Form.DrawObjSelectAll();
- return;
- }
- if (AppWorkspace.ActiveDocumentWorkspace != null)
- {
- if (AppWorkspace.startScriptRecording)
- {
- AppWorkspace.SetScriptStartRecording(((PdnMenuItem)sender).MenuId, ((PdnMenuItem)sender).Text, new List<Args>());
- }
- AppWorkspace.ActiveDocumentWorkspace.GraphicsList.SelectAll();
- AppWorkspace.ActiveDocumentWorkspace.Refresh();
- }
- if (AppWorkspace.cameraPreviewDialog != null && !AppWorkspace.cameraPreviewDialog.IsDisposed)
- {
- AppWorkspace.cameraPreviewDialog.documentWorkspace.GraphicsList.SelectAll();
- AppWorkspace.cameraPreviewDialog.documentWorkspace.Refresh();
- }
- }
- /// <summary>
- /// 连续绘制
- /// </summary>
- /// <param name="e"></param>
- private void MenuContinuousDrawingAction_Click(object sender, EventArgs e)
- {
- if (AppWorkspace.startScriptRecording)
- {
- AppWorkspace.SetScriptStartRecording(((PdnMenuItem)sender).MenuId, ((PdnMenuItem)sender).Text, new List<Args>());
- }
- AppWorkspace.ContinuousDrawing = !AppWorkspace.ContinuousDrawing;
- }
- /// <summary>
- /// 清空元素
- /// </summary>
- /// <param name="e"></param>
- private void MenuClearAllAction_Click(object sender, EventArgs e)
- {
- if (_p2Form != null)
- {
- _p2Form.DrawObjClear();
- return;
- }
- if (AppWorkspace.ActiveDocumentWorkspace != null)
- {
- if (AppWorkspace.startScriptRecording)
- {
- AppWorkspace.SetScriptStartRecording(((PdnMenuItem)sender).MenuId, ((PdnMenuItem)sender).Text, new List<Args>());
- }
- AppWorkspace.ActiveDocumentWorkspace.GraphicsList.Clear();
- AppWorkspace.ActiveDocumentWorkspace.Refresh();
- }
- if (AppWorkspace.cameraPreviewDialog != null && !AppWorkspace.cameraPreviewDialog.IsDisposed)
- {
- AppWorkspace.cameraPreviewDialog.documentWorkspace.GraphicsList.Clear();
- AppWorkspace.cameraPreviewDialog.documentWorkspace.Refresh();
- }
- }
- private void SetDrawTool(DrawToolType drawTool, object sender)
- {
- if (_p2Form != null)
- _p2Form?.SetActiveTool(drawTool);
- else
- if (AppWorkspace.ActiveDocumentWorkspace != null)
- {
- if (AppWorkspace.startScriptRecording)
- {
- AppWorkspace.SetScriptStartRecording(((PdnMenuItem)sender).MenuId, ((PdnMenuItem)sender).Text, new List<Args>());
- }
- AppWorkspace.ActiveDocumentWorkspace.ToolNumber = -1;
- AppWorkspace.ActiveDocumentWorkspace.ActiveTool = drawTool;
- }
- this.SetCameraPreviewActiveTool(drawTool);
- }
- /// <summary>
- /// 长度测量->直线
- /// </summary>
- private void MenuStraightLine_Click(object sender, EventArgs e)
- {
- SetDrawTool(DrawToolType.MeasureLine, sender);
- }
- /// <summary>
- /// 长度测量->距离
- /// </summary>
- private void MenuDistance_Click(object sender, EventArgs e)
- {
- SetDrawTool(DrawToolType.MeasureDistanceLine, sender);
- }
- /// <summary>
- /// 长度测量->长度
- /// </summary>
- private void MenuLengthLine_Click(object sender, EventArgs e)
- {
- SetDrawTool(DrawToolType.MeasureLength, sender);
- }
- /// <summary>
- /// 长度测量->水平线
- /// </summary>
- private void MenuHorizontalLine_Click(object sender, EventArgs e)
- {
- SetDrawTool(DrawToolType.MeasureHLine, sender);
- }
- /// <summary>
- /// 长度测量->垂线
- /// </summary>
- private void MenuPerpendicular_Click(object sender, EventArgs e)
- {
- SetDrawTool(DrawToolType.MeasureVLine, sender);
- }
- /// <summary>
- /// 测量-曲线-折线
- /// </summary>
- private void MenuPolyline_Click(object sender, EventArgs e)
- {
- SetDrawTool(DrawToolType.MeasureBrokenLine, sender);
- }
- /// <summary>
- /// 曲线测量->轨迹曲线
- /// </summary>
- private void MenuTraceCurve_Click(object sender, EventArgs e)
- {
- SetDrawTool(DrawToolType.MeasureTraceCurve, sender);
- }
- /// <summary>
- /// 圆形->三点圆
- /// </summary>
- private void MenuThreePointCircle_Click(object sender, EventArgs e)
- {
- SetDrawTool(DrawToolType.MeasureCircle, sender);
- }
- /// <summary>
- /// 圆形->向内画圆
- /// </summary>
- private void MenuDrawCircleInward_Click(object sender, EventArgs e)
- {
- SetDrawTool(DrawToolType.MeasureInnerCircle, sender);
- }
- /// <summary>
- /// 圆形->向外画圆
- /// </summary>
- private void MenuDrawCircleOutward_Click(object sender, EventArgs e)
- {
- SetDrawTool(DrawToolType.MeasureOuterCircle, sender);
- }
- /// <summary>
- /// 圆形->直径画圆
- /// </summary>
- private void MenuDiameterCircle_Click(object sender, EventArgs e)
- {
- SetDrawTool(DrawToolType.MeasureDiameterCircle, sender);
- }
- /// <summary>
- /// 圆形->点到圆距离
- /// </summary>
- private void MenuPointToCircleDistance_Click(object sender, EventArgs e)
- {
- SetDrawTool(DrawToolType.MeasurePointEdgeSize, sender);
- }
- /// <summary>
- /// 圆形->点到圆心距离
- /// </summary>
- private void MenuPointToCenterDistance_Click(object sender, EventArgs e)
- {
- SetDrawTool(DrawToolType.MeasurePointCenterSize, sender);
- }
- /// <summary>
- /// 圆形->点到圆弧距离
- /// </summary>
- private void MenuPointToArcDistance_Click(object sender, EventArgs e)
- {
- SetDrawTool(DrawToolType.MeasurePointArcSize, sender);
- }
- /// <summary>
- /// 对准度->圆心到圆心距离
- /// </summary>
- private void MenuCenterToCenterDistance_Click(object sender, EventArgs e)
- {
- SetDrawTool(DrawToolType.MeasureCenterCenterSize, sender);
- }
- /// <summary>
- /// 对准度->两线中垂线距离
- /// </summary>
- private void MeasureTwoLineVLDistance_Click(object sender, EventArgs e)
- {
- SetDrawTool(DrawToolType.MeasureTwoLineVLDistance, sender);
- }
- /// <summary>
- /// 曲线测量->曲线
- /// </summary>
- private void MenuCurve_Click(object sender, EventArgs e)
- {
- SetDrawTool(DrawToolType.MeasureCurveLine, sender);
- }
- /// <summary>
- /// 三点角度
- /// </summary>
- private void menuThreePointAngle_Click(object sender, EventArgs e)
- {
- SetDrawTool(DrawToolType.MeasureThreePointAngle, sender);
- }
- /// <summary>
- /// 四点角度
- /// </summary>
- private void menuFourPointAngle_Click(object sender, EventArgs e)
- {
- SetDrawTool(DrawToolType.MeasureFourPointAngle, sender);
- }
- /// <summary>
- /// 三点弧
- /// </summary>
- private void menuThreePointArc_Click(object sender, EventArgs e)
- {
- SetDrawTool(DrawToolType.MeasureThreePointArc, sender);
- }
- /// <summary>
- /// 几何测量
- /// </summary>
- private void menuGeometryMeasure_Click(object sender, EventArgs e)
- {
- //if (AppWorkspace.ActiveDocumentWorkspace != null)
- //{
- if (AppWorkspace.startScriptRecording)
- {
- AppWorkspace.SetScriptStartRecording(((PdnMenuItem)sender).MenuId, ((PdnMenuItem)sender).Text, new List<Args>());
- }
- AppWorkspace.Widgets.GeometryMeasureDialog.Visible = !AppWorkspace.Widgets.GeometryMeasureDialog.Visible;
- this.AppWorkspace.toolBar.RefreshBtnSelect(AppWorkspace.Widgets.GeometryMeasureDialog.Visible, "Geometry");
- this.AppWorkspace.toolsPanel.RefreshBtnSelect(AppWorkspace.Widgets.GeometryMeasureDialog.Visible, "Geometry");
- this.menuGeometryMeasure.Checked = AppWorkspace.Widgets.GeometryMeasureDialog.Visible;
- if (AppWorkspace.ActiveDocumentWorkspace != null)
- {
- AppWorkspace.ActiveDocumentWorkspace.Focus();
- }
- //Form form = Application.OpenForms["GeometryMeasureDialog"];//尝试获取已经弹出的窗口对象
- //FloatingFormMethod.ShowFloatForm(form, form == null ? new GeometryMeasureDialog(AppWorkspace) : null, AppWorkspace, true);
- AppWorkspace.RefreshMeasureListView();
- //}
- }
- ///<summary>
- ///点垂线
- ///</summary>
- private void menuPointVertical_Click(object sender, EventArgs e)
- {
- SetDrawTool(DrawToolType.MeasurePLine, sender);
- }
- ///<summary>
- ///多点垂线
- ///</summary>
- private void menuMultiPointVertical_Click(object sender, EventArgs e)
- {
- SetDrawTool(DrawToolType.MeasureMulPLine, sender);
- }
- ///<summary>
- ///点到水平线距离
- ///</summary>
- private void menuMultiPointToHLine_Click(object sender, EventArgs e)
- {
- SetDrawTool(DrawToolType.MeasurePointHLine, sender);
- }
- ///<summary>
- ///水平多点垂线
- ///</summary>
- private void menuHorizontalMultipointVertical_Click(object sender, EventArgs e)
- {
- SetDrawTool(DrawToolType.MeasureHMulPLine, sender);
- }
- ///<summary>
- ///垂直多点垂线
- ///</summary>
- private void menuVerticalMultipointVertical_Click(object sender, EventArgs e)
- {
- SetDrawTool(DrawToolType.MeasureVMulPLine, sender);
- }
- ///<summary>
- ///平行线
- ///</summary>
- private void menuParallelLine_Click(object sender, EventArgs e)
- {
- SetDrawTool(DrawToolType.MeasureParallelLine, sender);
- }
- ///<summary>
- ///多点平行线
- ///</summary>
- private void menuMultipointParallel_Click(object sender, EventArgs e)
- {
- SetDrawTool(DrawToolType.MeasureMulParallelLine, sender);
- }
- ///<summary>
- ///水平多点平行线
- ///</summary>
- private void menuMultipointHorizontalParallelLines_Click(object sender, EventArgs e)
- {
- SetDrawTool(DrawToolType.MeasureHMulParallelLine, sender);
- }
- ///<summary>
- ///垂直多点平行线
- ///</summary>
- private void menuMultipointVerticalParallelLines_Click(object sender, EventArgs e)
- {
- SetDrawTool(DrawToolType.MeasureVMulParallelLine, sender);
- }
- ///<summary>
- ///闭合曲线
- ///</summary>
- ///
- private void menuClosedCurve_Click(object sender, EventArgs e)
- {
- SetDrawTool(DrawToolType.MeasureClosedCurve, sender);
- }
- ///<summary>
- ///多边形
- ///</summary>
- private void menuPolygon_Click(object sender, EventArgs e)
- {
- SetDrawTool(DrawToolType.MeasurePolygon, sender);
- }
- ///<summary>
- ///矩形
- ///</summary>
- private void menuRectangle_Click(object sender, EventArgs e)
- {
- SetDrawTool(DrawToolType.MeasureRectangle, sender);
- }
- /// <summary>
- /// 任意矩形
- /// </summary>
- private void menuArbitraryRectangle_Click(object sender, EventArgs e)
- {
- SetDrawTool(DrawToolType.MeasureRandRectangle, sender);
- }
- /// <summary>
- /// 任意正方形
- /// </summary>
- private void menuArbitrarySquare_Click(object sender, EventArgs e)
- {
- SetDrawTool(DrawToolType.MeasureRandSquare, sender);
- }
- ///<summary>
- ///正方形
- ///</summary>
- private void menuSquare_Click(object sender, EventArgs e)
- {
- SetDrawTool(DrawToolType.MeasureSquare, sender);
- }
- ///<summary>
- ///轨迹多边形
- ///</summary>
- private void menuTrackPolygon_Click(object sender, EventArgs e)
- {
- SetDrawTool(DrawToolType.MeasureTracePolygon, sender);
- }
- ///<summary>
- ///多点直线
- ///</summary>
- private void menuMultipointStraightLine_Click(object sender, EventArgs e)
- {
- SetDrawTool(DrawToolType.MeasureMulLine, sender);
- }
- ///<summary>
- ///多点线段
- ///</summary>
- private void menuMultipointLineSegment1_Click(object sender, EventArgs e)
- {
- SetDrawTool(DrawToolType.MeasureMulSegment, sender);
- }
- ///<summary>
- ///多点水平线
- ///</summary>
- private void menuMultipointHorizontalLine_Click(object sender, EventArgs e)
- {
- SetDrawTool(DrawToolType.MeasureMulHVLine, sender);
- }
- ///<summary>
- ///多点垂直线
- ///</summary>
- private void menuMultipointVerticalLine_Click(object sender, EventArgs e)
- {
- SetDrawTool(DrawToolType.MeasureMulVLine, sender);
- }
- /// <summary>
- /// 标尺标定
- /// </summary>
- private void MenuRulerCalibration_Click(object sender, EventArgs e)
- {
- AppWorkspace.Widgets.RuleListForm.Visible = !AppWorkspace.Widgets.RuleListForm.Visible;
- if (AppWorkspace.ActiveDocumentWorkspace != null)
- {
- if (AppWorkspace.startScriptRecording)
- {
- AppWorkspace.SetScriptStartRecording(((PdnMenuItem)sender).MenuId, ((PdnMenuItem)sender).Text, new List<Args>());
- }
- this.AppWorkspace.toolBar.RefreshBtnSelect(AppWorkspace.Widgets.RuleListForm.Visible, "RulerCalibration");
- this.AppWorkspace.toolsPanel.RefreshBtnSelect(AppWorkspace.Widgets.RuleListForm.Visible, "RulerCalibration");
- this.menuRulerCalibration.Checked = AppWorkspace.Widgets.RuleListForm.Visible;
- AppWorkspace.ActiveDocumentWorkspace.Focus();
- //AppWorkspace.Widgets.RuleListForm.MenuSubApplyCurrent();
- }
- }
- /// <summary>
- /// 应用当前
- /// </summary>
- private void MenuSubApplyCurrent_Click(object sender, EventArgs e)
- {
- if (AppWorkspace.startScriptRecording)
- {
- AppWorkspace.SetScriptStartRecording(((PdnMenuItem)sender).MenuId, ((PdnMenuItem)sender).Text, new List<Args>());
- }
- AppWorkspace.Widgets.RuleListForm.MenuSubApplyCurrent();
- }
- /// <summary>
- /// 应用全部
- /// </summary>
- private void MenuSubApplyAll_Click(object sender, EventArgs e)
- {
- if (AppWorkspace.startScriptRecording)
- {
- AppWorkspace.SetScriptStartRecording(((PdnMenuItem)sender).MenuId, ((PdnMenuItem)sender).Text, new List<Args>());
- }
- AppWorkspace.Widgets.RuleListForm.MenuSubApplyAll();
- }
- /// <summary>
- /// 测量列表
- /// </summary>
- private void MenuMeasureList_Click(object sender, EventArgs e)
- {
- AppWorkspace.Widgets.MeasureListDialog.Visible = !AppWorkspace.Widgets.MeasureListDialog.Visible;
- if (AppWorkspace.ActiveDocumentWorkspace != null)
- {
- if (AppWorkspace.startScriptRecording)
- {
- AppWorkspace.SetScriptStartRecording(((PdnMenuItem)sender).MenuId, ((PdnMenuItem)sender).Text, new List<Args>());
- }
- this.AppWorkspace.toolBar.RefreshBtnSelect(AppWorkspace.Widgets.MeasureListDialog.Visible, "MeasureList");
- this.AppWorkspace.toolsPanel.RefreshBtnSelect(AppWorkspace.Widgets.MeasureListDialog.Visible, "MeasureList");
- this.menuMeasureList.Checked = AppWorkspace.Widgets.MeasureListDialog.Visible;
- AppWorkspace.ActiveDocumentWorkspace.Focus();
- }
- }
- /// <summary>
- /// 光密度
- /// </summary>
- private void MenuOpticalDensity_Click(object sender, EventArgs e)
- {
- AppWorkspace.Widgets.OpticalDensityDialog.Visible = !AppWorkspace.Widgets.OpticalDensityDialog.Visible;
- if (AppWorkspace.ActiveDocumentWorkspace != null)
- {
- if (AppWorkspace.startScriptRecording)
- {
- AppWorkspace.SetScriptStartRecording(((PdnMenuItem)sender).MenuId, ((PdnMenuItem)sender).Text, new List<Args>());
- }
- this.AppWorkspace.toolBar.RefreshBtnSelect(AppWorkspace.Widgets.OpticalDensityDialog.Visible, "OpticalDensity");
- this.AppWorkspace.toolsPanel.RefreshBtnSelect(AppWorkspace.Widgets.OpticalDensityDialog.Visible, "OpticalDensity");
- this.menuOpticalDensity.Checked = AppWorkspace.Widgets.OpticalDensityDialog.Visible;
- bool canDram = true;
- int count = this.AppWorkspace.ActiveDocumentWorkspace.GraphicsList.Count;
- for (int i = 0; i < count; i++)
- {
- if (this.AppWorkspace.ActiveDocumentWorkspace.GraphicsList[i].objectType == DrawClass.Other
- && this.AppWorkspace.ActiveDocumentWorkspace.GraphicsList[i].drawToolType == DrawToolType.OpticalDensityLine)
- {
- canDram = false;
- this.AppWorkspace.ActiveDocumentWorkspace.GraphicsList[i].Selected = true;
- }
- }
- if (canDram)
- AppWorkspace.ActiveDocumentWorkspace.ActiveTool = DrawToolType.OpticalDensityLine;
- AppWorkspace.ActiveDocumentWorkspace.Focus();
- }
- }
- /// <summary>
- /// 位图分析
- /// </summary>
- private void BitmapAnalysis_Click(object sender, EventArgs e)
- {
- if (AppWorkspace.ActiveDocumentWorkspace != null)
- {
- using (BitmapAnalysisDialog dialog = new BitmapAnalysisDialog(this.AppWorkspace))
- {
- if (AppWorkspace.startScriptRecording)
- {
- AppWorkspace.SetScriptStartRecording(((PdnMenuItem)sender).MenuId, ((PdnMenuItem)sender).Text, new List<Args>());
- }
- dialog.StartPosition = FormStartPosition.CenterParent;
- dialog.ShowDialog();
- }
- }
- else
- {
- MessageBox.Show(PdnResources.GetString("Menu.Pleaseopenatleastonepicturefirst.Text"));
- }
- }
- /// <summary>
- /// 理论比例尺
- /// </summary>
- private void TheoreticalScale_Click(object sender, EventArgs e)
- {
- using (TheoreticalScaleDialog dialog = new TheoreticalScaleDialog(this.AppWorkspace, ArrayList1, ArrayList2, ArrayList3))
- {
- if (AppWorkspace.startScriptRecording)
- {
- AppWorkspace.SetScriptStartRecording(((PdnMenuItem)sender).MenuId, ((PdnMenuItem)sender).Text, new List<Args>());
- }
- dialog.StartPosition = FormStartPosition.CenterParent;
- dialog.ShowDialog();
- }
- }
- private void SetCameraPreviewActiveTool(DrawToolType drawToolType)
- {
- if (AppWorkspace.cameraPreviewDialog != null && !AppWorkspace.cameraPreviewDialog.IsDisposed)
- {
- AppWorkspace.cameraPreviewDialog.documentWorkspace.ActiveTool = drawToolType;
- }
- }
- 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;
- }
- }
- public void checkMenu(bool v)
- {
- this.menuContinuousDrawingAction.Checked = v;
- if (v == false)
- _p2Form?.SetActiveTool(DrawToolType.Pointer);
- }
- }
- }
|