123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593 |
- using PaintDotNet.Annotation.Enum;
- using PaintDotNet.Base;
- using PaintDotNet.Data.Param;
- using PaintDotNet.FieldView;
- using System;
- using System.Collections.Generic;
- using System.Drawing;
- using System.Drawing.Drawing2D;
- using System.Drawing.Imaging;
- using System.Globalization;
- using System.Windows.Forms;
- namespace PaintDotNet.Menus
- {
- /// <summary>
- /// 视场菜单
- /// </summary>
- internal sealed class ViewSettingMenu : PdnMenuItem
- {
- private PdnMenuItem menuViewSelect;
- private PdnMenuItem menuViewDeleteSelect;
- private PdnMenuItem menuViewClearAll;
- private ToolStripSeparator menuHelpSeparator1;
- private PdnMenuItem menuOvalView;
- private PdnMenuItem menuRoundView;
- private PdnMenuItem menuRectangleView;
- private PdnMenuItem menuRectangleExView;
- private PdnMenuItem menuTriangleView;
- private PdnMenuItem menuTriangleExView;
- private PdnMenuItem menuSquareView;
- private PdnMenuItem menuPolygonView;
- private ToolStripSeparator menuHelpSeparator2;
- private PdnMenuItem menuMergeFieldOfView;
- private PdnMenuItem menuDeleteFieldOfView;
- private ToolStripSeparator menuHelpSeparator3;
- private PdnMenuItem menuShearFieldOfView;
- private PdnMenuItem menuTransparentCut;
- private ToolStripSeparator menuHelpSeparator4;
- private PdnMenuItem menuOpenFieldOfView;
- private PdnMenuItem menuModifyFieldOfView;
- private PdnMenuItem menuSaveFieldOfView;
- public ViewSettingMenu(int menuId)
- {
- InitializeComponent();
- this.MenuId = menuId;
- this.AutoNextScript = false;
- this.AutomaticScript = false;
- }
- protected override void OnAppWorkspaceChanged()
- {
- base.OnAppWorkspaceChanged();
- }
- protected override void OnDropDownOpening(EventArgs e)
- {
- //this.RecursiveData(this.DropDownItems);
- base.OnDropDownOpening(e);
- }
- private void InitializeComponent()
- {
- this.menuViewSelect = new PdnMenuItem(ActionType.ViewSelect);
- this.menuViewDeleteSelect = new PdnMenuItem(ActionType.ViewDeleteSelect);
- this.menuViewClearAll = new PdnMenuItem(ActionType.ViewClearAll);
- this.menuHelpSeparator1 = new ToolStripSeparator();
- this.menuOvalView = new PdnMenuItem(ActionType.OvalView);
- this.menuRoundView = new PdnMenuItem(ActionType.RoundView);
- this.menuRectangleView = new PdnMenuItem(ActionType.RectangleView);
- this.menuRectangleExView = new PdnMenuItem(ActionType.RectangleExView);
- this.menuTriangleView = new PdnMenuItem(ActionType.TriangleView);
- this.menuTriangleExView = new PdnMenuItem(ActionType.TriangleExView);
- this.menuSquareView = new PdnMenuItem(ActionType.SquareView);
- this.menuPolygonView = new PdnMenuItem(ActionType.PolygonView);
- this.menuHelpSeparator2 = new ToolStripSeparator();
- this.menuMergeFieldOfView = new PdnMenuItem(ActionType.MergeFieldOfView);
- this.menuDeleteFieldOfView = new PdnMenuItem(ActionType.DeleteFieldOfView);
- this.menuHelpSeparator3 = new ToolStripSeparator();
- this.menuShearFieldOfView = new PdnMenuItem(ActionType.ShearFieldOfView);
- this.menuTransparentCut = new PdnMenuItem(ActionType.TransparentCut);
- this.menuHelpSeparator4 = new ToolStripSeparator();
- this.menuOpenFieldOfView = new PdnMenuItem(ActionType.OpenFieldOfView);
- this.menuModifyFieldOfView = new PdnMenuItem(ActionType.ModifyFieldOfView);
- this.menuSaveFieldOfView = new PdnMenuItem(ActionType.SaveFieldOfView);
- //
- // 主菜单
- //
- this.DropDownItems.AddRange(new ToolStripItem[] {
- this.menuViewSelect,
- this.menuViewDeleteSelect,
- this.menuViewClearAll,
- this.menuHelpSeparator1,
- this.menuOvalView,
- this.menuRoundView,
- this.menuRectangleView,
- this.menuRectangleExView,
- this.menuTriangleView,
- this.menuTriangleExView,
- this.menuSquareView,
- this.menuPolygonView,
- this.menuHelpSeparator2,
- this.menuMergeFieldOfView,
- this.menuDeleteFieldOfView,
- this.menuHelpSeparator3,
- this.menuShearFieldOfView,
- this.menuTransparentCut,
- this.menuHelpSeparator4,
- this.menuOpenFieldOfView,
- this.menuModifyFieldOfView,
- this.menuSaveFieldOfView
- });
- this.Name = "Menu.ViewSetting";
- this.Text = PdnResources.GetString("Menu.ViewSetting.Text");
- //
- // 选择视场
- //
- this.menuViewSelect.Click += new EventHandler(MenuViewSelect_Click);
- this.menuViewSelect.NeedWaitKey = true;
- //
- // 删除选择
- //
- this.menuViewDeleteSelect.Click += new System.EventHandler(MenuViewDeleteSelect_Click);
- this.menuViewDeleteSelect.NeedWaitKey = true;
- //
- // 清空全部
- //
- this.menuViewClearAll.Click += new System.EventHandler(MenuViewClearAll_Click);
- this.menuViewClearAll.NeedWaitKey = true;
- //
- // 椭圆视场
- //
- this.menuOvalView.Click += new System.EventHandler(MenuOvalView_Click);
- this.menuOvalView.NeedWaitKey = true;
- //
- // 圆形视场
- //
- this.menuRoundView.Click += new System.EventHandler(MenuRoundView_Click);
- this.menuRoundView.NeedWaitKey = true;
- //
- // 矩形视场
- //
- this.menuRectangleView.Click += new System.EventHandler(MenuRectangleView_Click);
- this.menuRectangleView.NeedWaitKey = true;
- //
- // 矩形视场
- //
- this.menuRectangleExView.Click += new System.EventHandler(MenuRectangleExView_Click);
- this.menuRectangleExView.NeedWaitKey = true;
- //
- // 直角三角形视场
- //
- this.menuTriangleView.Click += new System.EventHandler(MenuTriangleView_Click);
- this.menuTriangleView.NeedWaitKey = true;
- //
- // 任意三角形视场
- //
- this.menuTriangleExView.Click += new System.EventHandler(MenuTriangleExView_Click);
- this.menuTriangleExView.NeedWaitKey = true;
- //
- // 正方形视场
- //
- this.menuSquareView.Click += new System.EventHandler(MenuSquareView_Click);
- this.menuSquareView.NeedWaitKey = true;
- //
- // 多边形视场
- //
- this.menuPolygonView.Click += new System.EventHandler(MenuPolygonView_Click);
- this.menuPolygonView.NeedWaitKey = true;
- //
- // 合并视场
- //
- this.menuMergeFieldOfView.Click += new System.EventHandler(MenuMergeFieldOfView_Click);
- this.menuMergeFieldOfView.NeedWaitKey = true;
- this.menuMergeFieldOfView.Checked = true;
- //
- // 删除视场
- //
- this.menuDeleteFieldOfView.Click += new System.EventHandler(MenuDeleteFieldOfView_Click);
- this.menuDeleteFieldOfView.NeedWaitKey = true;
- this.menuDeleteFieldOfView.Checked = false;
- //
- // 剪切视场
- //
- this.menuShearFieldOfView.Click += new System.EventHandler(MenuShearFieldOfView_Click);
- this.menuShearFieldOfView.NeedWaitKey = true;
- //
- // 透明剪切
- //
- this.menuTransparentCut.Click += new System.EventHandler(MenuTransparentCut_Click);
- this.menuTransparentCut.NeedWaitKey = true;
- //
- // 打开视场
- //
- this.menuOpenFieldOfView.Click += new System.EventHandler(MenuOpenFieldOfView_Click);
- this.menuOpenFieldOfView.NeedWaitKey = true;
- //
- // 修改视场
- //
- this.menuModifyFieldOfView.Click += new System.EventHandler(MenuModifyFieldOfView_Click);
- this.menuModifyFieldOfView.NeedWaitKey = true;
- //
- // 保存视场
- //
- this.menuSaveFieldOfView.Click += new System.EventHandler(MenuSaveFieldOfView_Click);
- this.menuSaveFieldOfView.NeedWaitKey = true;
- //
- // 加载菜单的文字和icon
- //
- this.LoadNames(this.Name);
- this.LoadIcons();
- }
- /// <summary>
- /// 选择视场
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void MenuViewSelect_Click(object sender, EventArgs e)
- {
- if (AppWorkspace.ActiveDocumentWorkspace != null)
- {
- if (AppWorkspace.startScriptRecording)
- {
- AppWorkspace.SetScriptStartRecording(((PdnMenuItem)sender).MenuId, ((PdnMenuItem)sender).Text, new List<Args>());
- }
- AppWorkspace.ActiveDocumentWorkspace.ActiveTool = DrawToolType.Pointer;
- }
- }
- /// <summary>
- /// 删除选择的视场
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void MenuViewDeleteSelect_Click(object sender, EventArgs e)
- {
- if (AppWorkspace.ActiveDocumentWorkspace != null)
- {
- if (AppWorkspace.startScriptRecording)
- {
- AppWorkspace.SetScriptStartRecording(((PdnMenuItem)sender).MenuId, ((PdnMenuItem)sender).Text, new List<Args>());
- }
- AppWorkspace.ActiveDocumentWorkspace.ActiveTool = DrawToolType.Pointer;
- AppWorkspace.ActiveDocumentWorkspace.GraphicsList.DeleteSelection(DrawClass.View);
- AppWorkspace.ActiveDocumentWorkspace.Refresh();
- }
- }
- /// <summary>
- /// 清空全部
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void MenuViewClearAll_Click(object sender, EventArgs e)
- {
- if (AppWorkspace.ActiveDocumentWorkspace != null)
- {
- if (AppWorkspace.startScriptRecording)
- {
- AppWorkspace.SetScriptStartRecording(((PdnMenuItem)sender).MenuId, ((PdnMenuItem)sender).Text, new List<Args>());
- }
- AppWorkspace.ActiveDocumentWorkspace.GraphicsList.DeleteAllView();
- AppWorkspace.ActiveDocumentWorkspace.Refresh();
- }
- }
- /// <summary>
- /// 椭圆视场
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void MenuOvalView_Click(object sender, EventArgs e)
- {
- if (AppWorkspace.ActiveDocumentWorkspace != null)
- {
- if (AppWorkspace.startScriptRecording)
- {
- AppWorkspace.SetScriptStartRecording(((PdnMenuItem)sender).MenuId, ((PdnMenuItem)sender).Text, new List<Args>());
- }
- AppWorkspace.ActiveDocumentWorkspace.ActiveTool = DrawToolType.ViewOval;
- }
- }
- /// <summary>
- /// 圆形视场
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void MenuRoundView_Click(object sender, EventArgs e)
- {
- if (AppWorkspace.ActiveDocumentWorkspace != null)
- {
- if (AppWorkspace.startScriptRecording)
- {
- AppWorkspace.SetScriptStartRecording(((PdnMenuItem)sender).MenuId, ((PdnMenuItem)sender).Text, new List<Args>());
- }
- AppWorkspace.ActiveDocumentWorkspace.ActiveTool = DrawToolType.ViewCircle;
- }
- }
- /// <summary>
- /// 矩形视场
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void MenuRectangleView_Click(object sender, EventArgs e)
- {
- if (AppWorkspace.ActiveDocumentWorkspace != null)
- {
- if (AppWorkspace.startScriptRecording)
- {
- AppWorkspace.SetScriptStartRecording(((PdnMenuItem)sender).MenuId, ((PdnMenuItem)sender).Text, new List<Args>());
- }
- AppWorkspace.ActiveDocumentWorkspace.ActiveTool = DrawToolType.ViewRectangle;
- }
- }
- /// <summary>
- /// 矩形视场
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void MenuRectangleExView_Click(object sender, EventArgs e)
- {
- if (AppWorkspace.ActiveDocumentWorkspace != null)
- {
- if (AppWorkspace.startScriptRecording)
- {
- AppWorkspace.SetScriptStartRecording(((PdnMenuItem)sender).MenuId, ((PdnMenuItem)sender).Text, new List<Args>());
- }
- AppWorkspace.ActiveDocumentWorkspace.ActiveTool = DrawToolType.ViewRectangleEx;
- }
- }
- /// <summary>
- /// 三角形视场
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void MenuTriangleView_Click(object sender, EventArgs e)
- {
- if (AppWorkspace.ActiveDocumentWorkspace != null)
- {
- if (AppWorkspace.startScriptRecording)
- {
- AppWorkspace.SetScriptStartRecording(((PdnMenuItem)sender).MenuId, ((PdnMenuItem)sender).Text, new List<Args>());
- }
- AppWorkspace.ActiveDocumentWorkspace.ActiveTool = DrawToolType.ViewTriangle;
- }
- }
- /// <summary>
- /// 任意三角形视场
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void MenuTriangleExView_Click(object sender, EventArgs e)
- {
- if (AppWorkspace.ActiveDocumentWorkspace != null)
- {
- if (AppWorkspace.startScriptRecording)
- {
- AppWorkspace.SetScriptStartRecording(((PdnMenuItem)sender).MenuId, ((PdnMenuItem)sender).Text, new List<Args>());
- }
- AppWorkspace.ActiveDocumentWorkspace.ActiveTool = DrawToolType.ViewTriangleEx;
- }
- }
- /// <summary>
- /// 正方形视场
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void MenuSquareView_Click(object sender, EventArgs e)
- {
- if (AppWorkspace.ActiveDocumentWorkspace != null)
- {
- if (AppWorkspace.startScriptRecording)
- {
- AppWorkspace.SetScriptStartRecording(((PdnMenuItem)sender).MenuId, ((PdnMenuItem)sender).Text, new List<Args>());
- }
- AppWorkspace.ActiveDocumentWorkspace.ActiveTool = DrawToolType.ViewSquare;
- }
- }
- /// <summary>
- /// 多边形视场
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void MenuPolygonView_Click(object sender, EventArgs e)
- {
- if (AppWorkspace.ActiveDocumentWorkspace != null)
- {
- if (AppWorkspace.startScriptRecording)
- {
- AppWorkspace.SetScriptStartRecording(((PdnMenuItem)sender).MenuId, ((PdnMenuItem)sender).Text, new List<Args>());
- }
- AppWorkspace.ActiveDocumentWorkspace.ActiveTool = DrawToolType.ViewPolygon;
- }
- }
- /// <summary>
- /// 合并视场
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void MenuMergeFieldOfView_Click(object sender, EventArgs e)
- {
- if (AppWorkspace.ActiveDocumentWorkspace != null)
- {
- AppWorkspace.ActiveDocumentWorkspace.CombineMode = CombineMode.Union;
- if (!AppWorkspace.ActiveDocumentWorkspace.MergeFieldOfView)
- {
- if (AppWorkspace.startScriptRecording)
- {
- AppWorkspace.SetScriptStartRecording(((PdnMenuItem)sender).MenuId, ((PdnMenuItem)sender).Text, new List<Args>());
- }
- AppWorkspace.ActiveDocumentWorkspace.DeleteFieldOfView = AppWorkspace.ActiveDocumentWorkspace.MergeFieldOfView;
- AppWorkspace.ActiveDocumentWorkspace.MergeFieldOfView = !AppWorkspace.ActiveDocumentWorkspace.MergeFieldOfView;
- this.menuMergeFieldOfView.Checked = AppWorkspace.ActiveDocumentWorkspace.MergeFieldOfView;
- this.menuDeleteFieldOfView.Checked = AppWorkspace.ActiveDocumentWorkspace.DeleteFieldOfView;
- this.AppWorkspace.toolBar.RefreshBtnSelect(AppWorkspace.ActiveDocumentWorkspace.DeleteFieldOfView, "DeleteFieldOfView");
- this.AppWorkspace.toolsPanel.RefreshBtnSelect(AppWorkspace.ActiveDocumentWorkspace.DeleteFieldOfView, "DeleteFieldOfView");
- this.AppWorkspace.toolBar.RefreshBtnSelect(AppWorkspace.ActiveDocumentWorkspace.MergeFieldOfView, "MergeFieldOfView");
- this.AppWorkspace.toolsPanel.RefreshBtnSelect(AppWorkspace.ActiveDocumentWorkspace.MergeFieldOfView, "MergeFieldOfView");
- }
-
- }
- }
- /// <summary>
- /// 删除视场
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void MenuDeleteFieldOfView_Click(object sender, EventArgs e)
- {
- if (AppWorkspace.ActiveDocumentWorkspace != null)
- {
- AppWorkspace.ActiveDocumentWorkspace.CombineMode = CombineMode.Complement;
- if(!AppWorkspace.ActiveDocumentWorkspace.DeleteFieldOfView)
- {
- if (AppWorkspace.startScriptRecording)
- {
- AppWorkspace.SetScriptStartRecording(((PdnMenuItem)sender).MenuId, ((PdnMenuItem)sender).Text, new List<Args>());
- }
- AppWorkspace.ActiveDocumentWorkspace.MergeFieldOfView = AppWorkspace.ActiveDocumentWorkspace.DeleteFieldOfView;
- AppWorkspace.ActiveDocumentWorkspace.DeleteFieldOfView = !AppWorkspace.ActiveDocumentWorkspace.DeleteFieldOfView;
- this.menuMergeFieldOfView.Checked = AppWorkspace.ActiveDocumentWorkspace.MergeFieldOfView;
- this.menuDeleteFieldOfView.Checked = AppWorkspace.ActiveDocumentWorkspace.DeleteFieldOfView;
- this.AppWorkspace.toolBar.RefreshBtnSelect(AppWorkspace.ActiveDocumentWorkspace.MergeFieldOfView, "MergeFieldOfView");
- this.AppWorkspace.toolsPanel.RefreshBtnSelect(AppWorkspace.ActiveDocumentWorkspace.MergeFieldOfView, "MergeFieldOfView");
- this.AppWorkspace.toolBar.RefreshBtnSelect(AppWorkspace.ActiveDocumentWorkspace.DeleteFieldOfView, "DeleteFieldOfView");
- this.AppWorkspace.toolsPanel.RefreshBtnSelect(AppWorkspace.ActiveDocumentWorkspace.DeleteFieldOfView, "DeleteFieldOfView");
- }
-
- }
- }
- /// <summary>
- /// 剪切视场
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void MenuShearFieldOfView_Click(object sender, EventArgs e)
- {
- if (this.AppWorkspace!=null && this.AppWorkspace.ActiveDocumentWorkspace!=null)
- {
- Bitmap bitmap = this.AppWorkspace.ActiveDocumentWorkspace.GetCutSizeWithColorWhiteOrTransparent(false);
- if(bitmap!=null)
- {
- if (AppWorkspace.startScriptRecording)
- {
- AppWorkspace.SetScriptStartRecording(((PdnMenuItem)sender).MenuId, ((PdnMenuItem)sender).Text, new List<Args>());
- }
- DocumentWorkspace dw = AppWorkspace.AddNewDocumentWorkspace();
- Document document = Document.FromImageMat(Camera.Tools.ToMat(bitmap));
- dw.Document = document;
- dw.xmlSaveModel = this.AppWorkspace.ActiveDocumentWorkspace.xmlSaveModel;
- dw.rules = this.AppWorkspace.ActiveDocumentWorkspace.rules;
- dw.fileText = PdnResources.GetString("Menu.ViewSetting.ShearFieldOfView.Text") + "-" + Startup.instance.step_length;
- AppWorkspace.ActiveDocumentWorkspace = dw;
- Startup.instance.step_length += 1;
- }
- }
- }
- /// <summary>
- /// 透明剪切
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void MenuTransparentCut_Click(object sender, EventArgs e)
- {
- if (this.AppWorkspace != null && this.AppWorkspace.ActiveDocumentWorkspace != null)
- {
- Bitmap bitmap = this.AppWorkspace.ActiveDocumentWorkspace.GetCutSizeWithColorWhiteOrTransparent(true);
- if (bitmap != null)
- {
- if (AppWorkspace.startScriptRecording)
- {
- AppWorkspace.SetScriptStartRecording(((PdnMenuItem)sender).MenuId, ((PdnMenuItem)sender).Text, new List<Args>());
- }
- DocumentWorkspace dw = AppWorkspace.AddNewDocumentWorkspace();
- Document document = Document.FromImageMat(Camera.Tools.ToMat(bitmap));
- dw.Document = document;
- dw.xmlSaveModel = this.AppWorkspace.ActiveDocumentWorkspace.xmlSaveModel;
- dw.rules = this.AppWorkspace.ActiveDocumentWorkspace.rules;
- dw.fileText = PdnResources.GetString("Menu.ViewSetting.TransparentCut.Text") + "-" + Startup.instance.step_length;
- AppWorkspace.ActiveDocumentWorkspace = dw;
- Startup.instance.step_length += 1;
- }
- }
- }
- /// <summary>
- /// 打开视场
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void MenuOpenFieldOfView_Click(object sender, EventArgs e)
- {
- using (OpenViewDialog dialog = new OpenViewDialog(AppWorkspace))
- {
- if (AppWorkspace.startScriptRecording)
- {
- AppWorkspace.SetScriptStartRecording(((PdnMenuItem)sender).MenuId, ((PdnMenuItem)sender).Text, new List<Args>());
- }
- dialog.StartPosition = FormStartPosition.CenterScreen;
- dialog.ShowDialog();
- }
- }
- /// <summary>
- /// 修改视场
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void MenuModifyFieldOfView_Click(object sender, EventArgs e)
- {
- //如果当前界面有视场、并且选中的是视场
- if (AppWorkspace.ActiveDocumentWorkspace!=null
- && AppWorkspace.ActiveDocumentWorkspace.GraphicsList!=null
- && AppWorkspace.ActiveDocumentWorkspace.GraphicsList.Count>0
- && AppWorkspace.ActiveDocumentWorkspace.GraphicsList.SelectionCount==1)
- {
- if (AppWorkspace.startScriptRecording)
- {
- AppWorkspace.SetScriptStartRecording(((PdnMenuItem)sender).MenuId, ((PdnMenuItem)sender).Text, new List<Args>());
- }
- var changeViewDialog = (ChangeViewDialog)Application.OpenForms["ChangeViewDialog"];//尝试获取已经弹出的窗口对象
- FloatingFormMethod.ShowFloatForm(changeViewDialog, changeViewDialog == null ? new ChangeViewDialog(AppWorkspace)/*没有弹出的窗口对象则创建*/ : null, AppWorkspace);
- }
- else
- {
- MessageBox.Show(PdnResources.GetString("Menu.leaseonlyonefieldofviewtomodify.Text"));
- }
- }
- /// <summary>
- /// 保存视场
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void MenuSaveFieldOfView_Click(object sender, EventArgs e)
- {
- if(AppWorkspace.ActiveDocumentWorkspace!=null)
- {
- Region region = AppWorkspace.ActiveDocumentWorkspace.GetRegion();
- Bitmap bitmap = AppWorkspace.ActiveDocumentWorkspace.CompositionSurface.CreateAliasedBitmap();
- //判断当前surfacebox内是否有视场
- if (region != null)
- {
- using (SaveViewDialog dialog = new SaveViewDialog(AppWorkspace, region, bitmap))
- {
- if (AppWorkspace.startScriptRecording)
- {
- AppWorkspace.SetScriptStartRecording(((PdnMenuItem)sender).MenuId, ((PdnMenuItem)sender).Text, new List<Args>());
- }
- dialog.StartPosition = FormStartPosition.CenterScreen;
- dialog.ShowDialog();
- }
- }
- else
- {
- MessageBox.Show(PdnResources.GetString("Menu.Drawthefieldofviewfirst.Text"));
- }
- }
- }
- 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;
- }
- }
- }
- }
|