WorkFlowDialog.cs 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. using PaintDotNet.Base.SettingModel;
  2. using PaintDotNet.Base.CommTool;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.IO;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. using static System.Net.Mime.MediaTypeNames;
  11. namespace PaintDotNet.Instrument
  12. {
  13. /// <summary>
  14. /// 工作流程
  15. /// </summary>
  16. internal class WorkFlowDialog : FloatingToolForm
  17. {
  18. private AppWorkspace appWorkspace;
  19. private System.Windows.Forms.TreeView treeView1;
  20. private WorkFlowModel workFlowModel = Startup.instance.workFlowModel;
  21. public WorkFlowDialog(AppWorkspace appWorkspace)
  22. {
  23. this.appWorkspace = appWorkspace;
  24. InitializeComponent();
  25. this.Text = PdnResources.GetString("Menu.Setting.WorkFlowSetting.Text");
  26. this.MinimumSize = this.Size;
  27. InitializeWorkFlow();
  28. }
  29. /// <summary>
  30. /// 初始化工作流程数据
  31. /// </summary>
  32. public void InitializeWorkFlow()
  33. {
  34. this.treeView1.Nodes.Clear();
  35. if (this.workFlowModel!=null && this.workFlowModel.Flows!=null)
  36. {
  37. for (int i = 0; i < this.workFlowModel.Flows.Count; i++)
  38. {
  39. TreeNode anime = new TreeNode(this.workFlowModel.Flows[i].Name);
  40. for (int j=0; j< this.workFlowModel.Flows[i].Menus.Count; j++)
  41. {
  42. TreeNode child = new TreeNode(this.workFlowModel.Flows[i].Menus[j].Name);
  43. child.Tag = this.workFlowModel.Flows[i].Menus[j].Description;
  44. anime.Nodes.Add(child);
  45. }
  46. this.treeView1.Nodes.Add(anime);
  47. }
  48. }
  49. }
  50. private void InitializeComponent()
  51. {
  52. this.treeView1 = new System.Windows.Forms.TreeView();
  53. this.SuspendLayout();
  54. //
  55. // treeView1
  56. //
  57. this.treeView1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
  58. | System.Windows.Forms.AnchorStyles.Left)
  59. | System.Windows.Forms.AnchorStyles.Right)));
  60. this.treeView1.Location = new System.Drawing.Point(13, 13);
  61. this.treeView1.Name = "treeView1";
  62. this.treeView1.Size = new System.Drawing.Size(140, 436);
  63. this.treeView1.TabIndex = 1;
  64. this.treeView1.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.treeView1_NodeMouseClick);
  65. //
  66. // WorkFlowDialog
  67. //
  68. this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
  69. this.ClientSize = new System.Drawing.Size(165, 461);
  70. this.Controls.Add(this.treeView1);
  71. this.Name = "WorkFlowDialog";
  72. this.Text = "工作流程";
  73. this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.WorkFlowDialog_FormClosing);
  74. this.Controls.SetChildIndex(this.treeView1, 0);
  75. this.ResumeLayout(false);
  76. }
  77. /// <summary>
  78. /// 节点点击事件
  79. /// </summary>
  80. /// <param name="sender"></param>
  81. /// <param name="e"></param>
  82. private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
  83. {
  84. if(e.Node != null && e.Node.Tag!=null)
  85. {
  86. ToolStripItem[] menu = this.appWorkspace.ToolBar.MainMenu.Items.Find(e.Node.Tag.ToString(), true);
  87. if (menu != null && menu.Length > 0)
  88. {
  89. ((PdnMenuItem)menu[0]).PerformClick();
  90. }
  91. }
  92. }
  93. private void WorkFlowDialog_FormClosing(object sender, FormClosingEventArgs e)
  94. {
  95. this.appWorkspace.toolBar.RefreshBtnSelect(false, "WorkFlow");
  96. this.appWorkspace.toolsPanel.RefreshBtnSelect(false, "WorkFlow");
  97. }
  98. }
  99. }