ToolsMenu.cs 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275
  1. using Resources;
  2. using SmartCoalApplication.Core;
  3. using SmartCoalApplication.Instrument;
  4. using SmartCoalApplication.SystemLayer;
  5. using System;
  6. using System.Diagnostics;
  7. using System.Threading;
  8. using System.Windows.Forms;
  9. namespace SmartCoalApplication.Menus
  10. {
  11. /// <summary>
  12. /// 工具菜单
  13. /// </summary>
  14. internal sealed class ToolsMenu : PdnMenuItem
  15. {
  16. //网格
  17. private PdnMenuItem menuToolsGridLine;
  18. //辅助线
  19. private PdnMenuItem menuToolsAuxiliaryLine;
  20. //视图标尺
  21. private PdnMenuItem menuToolsViewRuler;
  22. //分隔线
  23. private ToolStripSeparator menuToolsSeperator1;
  24. //自定义界面
  25. private PdnMenuItem menuToolsCustomInterface;
  26. //生成快捷方式
  27. private PdnMenuItem menuToolsCreateShortcut;
  28. //图片信息
  29. private PdnMenuItem menuToolsImageInfo;
  30. //分隔线
  31. private ToolStripSeparator menuToolsSeperator7;
  32. //模板管理
  33. private PdnMenuItem menuToolsTemplateManager;
  34. //生成报告
  35. private PdnMenuItem menuToolsCreateReport;
  36. //分隔线
  37. private ToolStripSeparator menuToolsSeperator8;
  38. //重新启动
  39. private PdnMenuItem menuToolsSelfRestart;
  40. //恢复图片
  41. private PdnMenuItem menuToolsRestoreImages;
  42. public ToolsMenu(int menuId)
  43. {
  44. InitializeComponent();
  45. this.MenuId = menuId;
  46. }
  47. private void InitializeComponent()
  48. {
  49. this.menuToolsGridLine = new PdnMenuItem(ActionType.GridLine, true);
  50. this.menuToolsAuxiliaryLine = new PdnMenuItem(ActionType.AuxiliaryLine, true);
  51. this.menuToolsViewRuler = new PdnMenuItem(ActionType.ViewRuler, true);
  52. this.menuToolsSeperator1 = new ToolStripSeparator();
  53. this.menuToolsCustomInterface = new PdnMenuItem(ActionType.CustomInterface);
  54. this.menuToolsCreateShortcut = new PdnMenuItem(ActionType.CreateShortcut);
  55. this.menuToolsImageInfo = new PdnMenuItem(ActionType.ImageInfo);
  56. this.menuToolsSeperator7 = new ToolStripSeparator();
  57. this.menuToolsTemplateManager = new PdnMenuItem(ActionType.TemplateManager);
  58. this.menuToolsCreateReport = new PdnMenuItem(ActionType.CreateReport);
  59. this.menuToolsSeperator8 = new ToolStripSeparator();
  60. this.menuToolsRestoreImages = new PdnMenuItem(ActionType.RestoreImages);
  61. this.menuToolsSelfRestart = new PdnMenuItem(ActionType.SelfRestart);
  62. //
  63. // ToolsMenu
  64. //
  65. this.DropDownItems.AddRange(
  66. new ToolStripItem[]
  67. {
  68. this.menuToolsGridLine,
  69. this.menuToolsAuxiliaryLine,
  70. this.menuToolsViewRuler,
  71. this.menuToolsSeperator1,
  72. this.menuToolsCustomInterface,
  73. this.menuToolsCreateShortcut,
  74. this.menuToolsImageInfo,
  75. this.menuToolsSeperator7,
  76. this.menuToolsTemplateManager,
  77. this.menuToolsCreateReport,
  78. this.menuToolsSeperator8,
  79. this.menuToolsRestoreImages,
  80. this.menuToolsSelfRestart
  81. });
  82. this.Name = "Menu.Tools";
  83. this.Text = PdnResources.GetString("Menu.Tools.Text");
  84. //
  85. // 网格
  86. //
  87. this.menuToolsGridLine.Click += new EventHandler(MenuToolsGridLine_Click);
  88. //
  89. // 辅助线
  90. //
  91. this.menuToolsAuxiliaryLine.Click += new EventHandler(MenuToolsAuxiliaryLine_Click);
  92. //
  93. // 视图标尺
  94. //
  95. this.menuToolsViewRuler.Click += new EventHandler(MenuToolsViewRuler_Click);
  96. //
  97. // 自定义界面
  98. //
  99. this.menuToolsCustomInterface.Click += new EventHandler(MenuToolsCustomInterface_Click);
  100. //
  101. // 生成快捷方式
  102. //
  103. this.menuToolsCreateShortcut.Click += new EventHandler(MenuToolsCreateShortcut_Click);
  104. //
  105. // 图片信息
  106. //
  107. this.menuToolsImageInfo.Click += new EventHandler(MenuToolsImageInfo_Click);
  108. //
  109. // 模板管理
  110. //
  111. this.menuToolsTemplateManager.Click += new EventHandler(MenuToolsTemplateManager_Click);
  112. //
  113. // 生成报告
  114. //
  115. this.menuToolsCreateReport.Click += new EventHandler(MenuToolsCreateReport_Click);
  116. //
  117. // 恢复图片
  118. //
  119. this.menuToolsRestoreImages.Click += new EventHandler(MenuToolsRestoreImages_Click);
  120. //
  121. // 重新启动
  122. //
  123. this.menuToolsSelfRestart.Click += new EventHandler(MenuToolsSelfRestart_Click);
  124. //
  125. // 加载菜单的文字和icon
  126. //
  127. this.LoadNames(this.Name);
  128. this.LoadIcons();
  129. }
  130. protected override void OnDropDownOpening(EventArgs e)
  131. {
  132. this.menuToolsGridLine.Checked = AppWorkspace.ActiveDocumentWorkspace != null ? AppWorkspace.ActiveDocumentWorkspace.GridLineEnabled : false;
  133. this.menuToolsViewRuler.Checked = Settings.CurrentUser.GetBoolean(SettingNames.Rulers, true);
  134. base.OnDropDownOpening(e);
  135. }
  136. /// <summary>
  137. /// 网格
  138. /// </summary>
  139. /// <param name="sender"></param>
  140. /// <param name="e"></param>
  141. private void MenuToolsGridLine_Click(object sender, EventArgs e)
  142. {
  143. if (AppWorkspace.ActiveDocumentWorkspace != null)
  144. {
  145. AppWorkspace.ActiveDocumentWorkspace.GridLineEnabled = !AppWorkspace.ActiveDocumentWorkspace.GridLineEnabled;
  146. this.AppWorkspace.toolBar.RefreshBtnSelect(AppWorkspace.ActiveDocumentWorkspace.GridLineEnabled, "GridLine");
  147. this.AppWorkspace.toolsPanel.RefreshBtnSelect(AppWorkspace.ActiveDocumentWorkspace.GridLineEnabled, "GridLine");
  148. AppWorkspace.UpdateBottomButtonSelectionStatus();
  149. AppWorkspace.ActiveDocumentWorkspace.Refresh();
  150. }
  151. }
  152. /// <summary>
  153. /// 辅助线
  154. /// </summary>
  155. /// <param name="sender"></param>
  156. /// <param name="e"></param>
  157. private void MenuToolsAuxiliaryLine_Click(object sender, EventArgs e)
  158. {
  159. }
  160. /// <summary>
  161. /// 隐藏显示标尺
  162. /// </summary>
  163. /// <param name="sender"></param>
  164. /// <param name="e"></param>
  165. private void MenuToolsViewRuler_Click(object sender, EventArgs e)
  166. {
  167. if (AppWorkspace.ActiveDocumentWorkspace != null)
  168. {
  169. AppWorkspace.ActiveDocumentWorkspace.RulersEnabled = !Settings.CurrentUser.GetBoolean(SettingNames.Rulers, false);
  170. this.AppWorkspace.toolBar.RefreshBtnSelect(AppWorkspace.ActiveDocumentWorkspace.RulersEnabled, "ViewRuler");
  171. this.AppWorkspace.toolsPanel.RefreshBtnSelect(AppWorkspace.ActiveDocumentWorkspace.RulersEnabled, "ViewRuler");
  172. Settings.CurrentUser.SetBoolean(SettingNames.Rulers, AppWorkspace.ActiveDocumentWorkspace.RulersEnabled);
  173. }
  174. }
  175. /// <summary>
  176. /// 自定义界面
  177. /// </summary>
  178. /// <param name="sender"></param>
  179. /// <param name="e"></param>
  180. private void MenuToolsCustomInterface_Click(object sender, EventArgs e)
  181. {
  182. }
  183. /// <summary>
  184. /// 软件重启
  185. /// </summary>
  186. /// <param name="sender"></param>
  187. /// <param name="e"></param>
  188. private void MenuToolsSelfRestart_Click(object sender, EventArgs e)
  189. {
  190. DialogResult dr = MessageBox.Show(PdnResources.GetString("Menu.orestartthesoftwareModifiedimageswillnotbesaved.Text")+"!", PdnResources.GetString("Menu.ensure.text"), MessageBoxButtons.OKCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1);
  191. if (dr == DialogResult.OK)
  192. {
  193. Application.ExitThread();
  194. Restart();
  195. }
  196. //Startup.CloseApplication();
  197. //SystemLayer.Shell.RestartApplication();
  198. }
  199. /// <summary>
  200. /// 恢复图片
  201. /// </summary>
  202. /// <param name="sender"></param>
  203. /// <param name="e"></param>
  204. private void MenuToolsRestoreImages_Click(object sender, EventArgs e)
  205. {
  206. }
  207. private void Restart()
  208. {
  209. Thread thtmp = new Thread(new ParameterizedThreadStart(run));
  210. object appName = Application.ExecutablePath;
  211. Thread.Sleep(2000);
  212. thtmp.Start(appName);
  213. }
  214. private void run(Object obj)
  215. {
  216. Process ps = new Process();
  217. ps.StartInfo.FileName = obj.ToString();
  218. ps.Start();
  219. }
  220. /// <summary>
  221. /// 图片信息
  222. /// </summary>
  223. /// <param name="sender"></param>
  224. /// <param name="e"></param>
  225. private void MenuToolsImageInfo_Click(object sender, EventArgs e)
  226. {
  227. }
  228. /// <summary>
  229. /// 生成快捷方式
  230. /// </summary>
  231. /// <param name="sender"></param>
  232. /// <param name="e"></param>
  233. private void MenuToolsCreateShortcut_Click(object sender, EventArgs e)
  234. {
  235. }
  236. /// <summary>
  237. /// 模板管理
  238. /// </summary>
  239. /// <param name="sender"></param>
  240. /// <param name="e"></param>
  241. private void MenuToolsTemplateManager_Click(object sender, EventArgs e)
  242. {
  243. }
  244. /// <summary>
  245. /// 生成报告
  246. /// </summary>
  247. /// <param name="sender"></param>
  248. /// <param name="e"></param>
  249. private void MenuToolsCreateReport_Click(object sender, EventArgs e)
  250. {
  251. }
  252. }
  253. }