EnvVariable.cs
上传用户:szltgg
上传日期:2019-05-16
资源大小:604k
文件大小:8k
源码类别:

Telnet服务器

开发平台:

C#

  1. /*
  2. * Copyright (c) 2005 Poderosa Project, All Rights Reserved.
  3. * $Id: EnvVariable.cs,v 1.2 2005/04/20 08:45:45 okajima Exp $
  4. */
  5. using System;
  6. using System.Drawing;
  7. using System.Collections;
  8. using System.ComponentModel;
  9. using System.Windows.Forms;
  10. namespace Poderosa.Forms
  11. {
  12. /// <summary>
  13. /// EnvVariable 偺奣梫偺愢柧偱偡丅
  14. /// </summary>
  15. internal class EnvVariableList : System.Windows.Forms.Form
  16. {
  17. private System.Windows.Forms.ListView _list;
  18. private System.Windows.Forms.Button _addButton;
  19. private System.Windows.Forms.Button _editButton;
  20. private System.Windows.Forms.Button _deleteButton;
  21. private System.Windows.Forms.Button _okButton;
  22. private System.Windows.Forms.ColumnHeader _nameHeader;
  23. private System.Windows.Forms.ColumnHeader _valueHeader;
  24. private System.Windows.Forms.Button _cancelButton;
  25. /// <summary>
  26. /// 昁梫側僨僓僀僫曄悢偱偡丅
  27. /// </summary>
  28. private System.ComponentModel.Container components = null;
  29. public EnvVariableList()
  30. {
  31. //
  32. // Windows 僼僅乕儉 僨僓僀僫 僒億乕僩偵昁梫偱偡丅
  33. //
  34. InitializeComponent();
  35. this.Text = GApp.Strings.GetString("Form.EnvVariableList.Text");
  36. this._nameHeader.Text = GApp.Strings.GetString("Form.EnvVariableList._nameHeader");
  37. this._valueHeader.Text = GApp.Strings.GetString("Form.EnvVariableList._valueHeader");
  38. this._addButton.Text = GApp.Strings.GetString("Form.EnvVariableList._addButton");
  39. this._editButton.Text = GApp.Strings.GetString("Form.EnvVariableList._editButton");
  40. this._deleteButton.Text = GApp.Strings.GetString("Form.EnvVariableList._deleteButton");
  41. this._cancelButton.Text = GApp.Strings.GetString("Common.Cancel");
  42. this._okButton.Text = GApp.Strings.GetString("Common.OK");
  43. //
  44. // TODO: InitializeComponent 屇傃弌偟偺屻偵丄僐儞僗僩儔僋僞 僐乕僪傪捛壛偟偰偔偩偝偄丅
  45. //
  46. Init();
  47. }
  48. /// <summary>
  49. /// 巊梡偝傟偰偄傞儕僜乕僗偵屻張棟傪幚峴偟傑偡丅
  50. /// </summary>
  51. protected override void Dispose( bool disposing )
  52. {
  53. if( disposing )
  54. {
  55. if(components != null)
  56. {
  57. components.Dispose();
  58. }
  59. }
  60. base.Dispose( disposing );
  61. }
  62. #region Windows Form Designer generated code
  63. /// <summary>
  64. /// 僨僓僀僫 僒億乕僩偵昁梫側儊僜僢僪偱偡丅偙偺儊僜僢僪偺撪梕傪
  65. /// 僐乕僪 僄僨傿僞偱曄峏偟側偄偱偔偩偝偄丅
  66. /// </summary>
  67. private void InitializeComponent()
  68. {
  69. this._list = new System.Windows.Forms.ListView();
  70. this._nameHeader = new System.Windows.Forms.ColumnHeader();
  71. this._valueHeader = new System.Windows.Forms.ColumnHeader();
  72. this._addButton = new System.Windows.Forms.Button();
  73. this._editButton = new System.Windows.Forms.Button();
  74. this._deleteButton = new System.Windows.Forms.Button();
  75. this._okButton = new System.Windows.Forms.Button();
  76. this._cancelButton = new System.Windows.Forms.Button();
  77. this.SuspendLayout();
  78. // 
  79. // _list
  80. // 
  81. this._list.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
  82. this._nameHeader,
  83. this._valueHeader});
  84. this._list.FullRowSelect = true;
  85. this._list.GridLines = true;
  86. this._list.LabelEdit = true;
  87. this._list.Name = "_list";
  88. this._list.Size = new System.Drawing.Size(272, 168);
  89. this._list.TabIndex = 0;
  90. this._list.MultiSelect = false;
  91. this._list.Sorting = SortOrder.Ascending;
  92. this._list.View = System.Windows.Forms.View.Details;
  93. this._list.SelectedIndexChanged += new System.EventHandler(this.OnSelectedItemChanged);
  94. // 
  95. // _nameHeader
  96. // 
  97. this._nameHeader.Width = 80;
  98. // 
  99. // _valueHeader
  100. // 
  101. this._valueHeader.Width = 180;
  102. // 
  103. // _addButton
  104. // 
  105. this._addButton.Location = new System.Drawing.Point(280, 8);
  106. this._addButton.Name = "_addButton";
  107. this._addButton.FlatStyle = FlatStyle.System;
  108. this._addButton.TabIndex = 1;
  109. this._addButton.Click += new System.EventHandler(this.OnAddButtonClicked);
  110. // 
  111. // _editButton
  112. // 
  113. this._editButton.Location = new System.Drawing.Point(280, 40);
  114. this._editButton.Name = "_editButton";
  115. this._editButton.FlatStyle = FlatStyle.System;
  116. this._editButton.TabIndex = 2;
  117. this._editButton.Click += new System.EventHandler(this.OnEditButtonClicked);
  118. // 
  119. // _deleteButton
  120. // 
  121. this._deleteButton.Location = new System.Drawing.Point(280, 72);
  122. this._deleteButton.Name = "_deleteButton";
  123. this._deleteButton.FlatStyle = FlatStyle.System;
  124. this._deleteButton.TabIndex = 3;
  125. this._deleteButton.Click += new System.EventHandler(this.OnDeleteButtonClicked);
  126. // 
  127. // _okButton
  128. // 
  129. this._okButton.DialogResult = System.Windows.Forms.DialogResult.OK;
  130. this._okButton.Location = new System.Drawing.Point(280, 112);
  131. this._okButton.Name = "_okButton";
  132. this._okButton.FlatStyle = FlatStyle.System;
  133. this._okButton.TabIndex = 4;
  134. this._okButton.Click += new System.EventHandler(this.OnOK);
  135. // 
  136. // _cancelButton
  137. // 
  138. this._cancelButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
  139. this._cancelButton.Location = new System.Drawing.Point(280, 144);
  140. this._cancelButton.Name = "_cancelButton";
  141. this._cancelButton.FlatStyle = FlatStyle.System;
  142. this._cancelButton.TabIndex = 5;
  143. // 
  144. // EnvVariable
  145. // 
  146. this.AcceptButton = this._okButton;
  147. this.AutoScaleBaseSize = new System.Drawing.Size(5, 12);
  148. this.CancelButton = this._cancelButton;
  149. this.ClientSize = new System.Drawing.Size(360, 175);
  150. this.Controls.AddRange(new System.Windows.Forms.Control[] {
  151.   this._editButton,
  152.   this._cancelButton,
  153.   this._okButton,
  154.   this._deleteButton,
  155.   this._addButton,
  156.   this._list});
  157. this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
  158. this.MaximizeBox = false;
  159. this.MinimizeBox = false;
  160. this.Name = "EnvVariableList";
  161. this.ShowInTaskbar = false;
  162. this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
  163. this.ResumeLayout(false);
  164. }
  165. #endregion
  166. private void Init() {
  167. IDictionaryEnumerator de = GApp.MacroManager.EnvironmentVariables;
  168. while(de.MoveNext()) {
  169. if(!(de.Value is string)) continue;
  170. ListViewItem li = new ListViewItem((string)de.Key);
  171. li = _list.Items.Add(li);
  172. li.SubItems.Add((string)de.Value);
  173. }
  174. _editButton.Enabled = false;
  175. _deleteButton.Enabled = false;
  176. }
  177. private void OnSelectedItemChanged(object sender, EventArgs args) {
  178. _editButton.Enabled = true;
  179. _deleteButton.Enabled = true;
  180. }
  181. private void OnAddButtonClicked(object sender, EventArgs args) {
  182. EditEnvVariable d = new EditEnvVariable(this);
  183. d.IsNewVariable = true;
  184. if(GCUtil.ShowModalDialog(this, d)==DialogResult.OK) {
  185. ListViewItem li = new ListViewItem(d.VarName);
  186. li = _list.Items.Add(li);
  187. li.SubItems.Add(d.VarValue);
  188. li.Selected = true;
  189. }
  190. }
  191. private void OnEditButtonClicked(object sender, EventArgs args) {
  192. ListViewItem li = _list.SelectedItems[0];
  193. EditEnvVariable d = new EditEnvVariable(this);
  194. d.VarName = li.Text;
  195. d.VarValue = li.SubItems[1].Text;
  196. d.IsNewVariable = false;
  197. if(GCUtil.ShowModalDialog(this, d)==DialogResult.OK) {
  198. li.Text = d.VarName;
  199. li.SubItems[1].Text = d.VarValue;
  200. }
  201. }
  202. private void OnDeleteButtonClicked(object sender, EventArgs args) {
  203. if(_list.SelectedIndices.Count>0)
  204. _list.Items.RemoveAt(_list.SelectedIndices[0]);
  205. }
  206. private void OnOK(object sender, EventArgs args) {
  207. Hashtable t = new Hashtable();
  208. foreach(ListViewItem li in _list.Items) {
  209. t[li.Text] = li.SubItems[1].Text;
  210. }
  211. GApp.MacroManager.ResetEnvironmentVariables(t);
  212. }
  213. public bool HasVariable(string name) {
  214. foreach(ListViewItem li in _list.Items) {
  215. if(name==li.Text) return true;
  216. }
  217. return false;
  218. }
  219. }
  220. }