FormSesProperty.pas 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327
  1. {Formulario que se compartirá para poder editar las propiedades de una sesión.}
  2. unit FormSesProperty;
  3. {$mode objfpc}{$H+}
  4. interface
  5. uses
  6. Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ComCtrls, StdCtrls,
  7. ExtCtrls, Buttons, Spin, Globales, SynEdit, Types;
  8. type
  9. TTipEnvio = (teComando, teArchivo);
  10. { TfrmSesProperty }
  11. TfrmSesProperty = class(TForm)
  12. bitOK: TBitBtn;
  13. bitOK_conn: TBitBtn;
  14. bitCancel: TBitBtn;
  15. cbutBackCol: TColorButton;
  16. cbutBackCol1: TColorButton;
  17. cbutFonPan: TColorButton;
  18. cbutFonPan1: TColorButton;
  19. cbutLinAct: TColorButton;
  20. cbutLinAct1: TColorButton;
  21. cbutResPal: TColorButton;
  22. cbutResPal1: TColorButton;
  23. cbutTexto: TColorButton;
  24. cbutTexto1: TColorButton;
  25. cbutTxtPan: TColorButton;
  26. cbutTxtPan1: TColorButton;
  27. chkShowTerm: TCheckBox;
  28. chkShowPCom: TCheckBox;
  29. chkHLCurWord1: TCheckBox;
  30. chkMarLinAct1: TCheckBox;
  31. chkSendRecCom: TCheckBox;
  32. chkCodFolding: TCheckBox;
  33. chkCompletCode: TCheckBox;
  34. chkCurSigPrmpt: TCheckBox;
  35. chkDetecPrompt: TCheckBox;
  36. chkInterDirec: TCheckBox;
  37. chkMarLinAct: TCheckBox;
  38. chkHLCurWord: TCheckBox;
  39. chkSendLnCtrEnter: TCheckBox;
  40. chkSendLnEnter: TCheckBox;
  41. chkUsarPrep: TCheckBox;
  42. chkVerBarDesH: TCheckBox;
  43. chkVerBarDesH1: TCheckBox;
  44. chkVerBarDesV: TCheckBox;
  45. chkVerBarDesV1: TCheckBox;
  46. chkVerMarPle: TCheckBox;
  47. chkVerMarPle1: TCheckBox;
  48. chkVerNumLin: TCheckBox;
  49. chkVerNumLin1: TCheckBox;
  50. chkVerPanVer: TCheckBox;
  51. chkVerPanVer1: TCheckBox;
  52. cmbIP: TComboBox;
  53. cmbSerPort: TComboBox;
  54. cmbTipoLetra: TComboBox;
  55. cmbTipoLetra1: TComboBox;
  56. cmdTestComm: TButton;
  57. ComboBox1: TComboBox;
  58. ComboBox2: TComboBox;
  59. GroupBox1: TGroupBox;
  60. grpVertPan: TGroupBox;
  61. GroupBox3: TGroupBox;
  62. grpVertPan1: TGroupBox;
  63. Label1: TLabel;
  64. lblBackCol: TLabel;
  65. lblBackCol1: TLabel;
  66. lblCLinAct1: TLabel;
  67. lblCurWordCol1: TLabel;
  68. lblFontName1: TLabel;
  69. lblFontSize1: TLabel;
  70. lblTextCol: TLabel;
  71. lblTextCol1: TLabel;
  72. lblVPbckCol: TLabel;
  73. lblVPbckCol1: TLabel;
  74. lblVPtxtCol: TLabel;
  75. lblCurWordCol: TLabel;
  76. Label15: TLabel;
  77. Label2: TLabel;
  78. Label3: TLabel;
  79. Label4: TLabel;
  80. Label5: TLabel;
  81. Label6: TLabel;
  82. lblCLinAct: TLabel;
  83. lblFontName: TLabel;
  84. lblFontSize: TLabel;
  85. lblIP: TLabel;
  86. lblOtro: TLabel;
  87. lblPort: TLabel;
  88. lblSerCfg: TLabel;
  89. lblSerPort: TLabel;
  90. lblVPtxtCol1: TLabel;
  91. optComando: TRadioButton;
  92. optOtro: TRadioButton;
  93. optScript: TRadioButton;
  94. optSerial: TRadioButton;
  95. optSSH: TRadioButton;
  96. optTelnet: TRadioButton;
  97. PageControl1: TPageControl;
  98. Panel1: TPanel;
  99. RadioButton1: TRadioButton;
  100. RadioButton2: TRadioButton;
  101. RadioButton3: TRadioButton;
  102. RadioButton4: TRadioButton;
  103. RadioGroup1: TRadioGroup;
  104. RadioGroup2: TRadioGroup;
  105. speTempo: TSpinEdit;
  106. spFontSize: TSpinEdit;
  107. spFontSize1: TSpinEdit;
  108. TabGeneral: TTabSheet;
  109. TabPromptDet: TTabSheet;
  110. TabPComSet: TTabSheet;
  111. TabGenAppear: TTabSheet;
  112. TabTermCRec: TTabSheet;
  113. TabPComEdit: TTabSheet;
  114. TabTermEdit: TTabSheet;
  115. TabTermPant: TTabSheet;
  116. TreeView1: TTreeView;
  117. txtArchivo: TEdit;
  118. txtCadFin: TEdit;
  119. txtCadIni: TEdit;
  120. txtComando: TEdit;
  121. txtMaxColT: TEdit;
  122. txtMaxLinT: TEdit;
  123. txtOtro: TEdit;
  124. txtPort: TEdit;
  125. txtSerCfg: TEdit;
  126. procedure bitOKClick(Sender: TObject);
  127. procedure bitCancelClick(Sender: TObject);
  128. procedure chkSendRecComChange(Sender: TObject);
  129. procedure chkDetecPromptChange(Sender: TObject);
  130. procedure chkMarLinActChange(Sender: TObject);
  131. procedure chkHLCurWordChange(Sender: TObject);
  132. procedure chkVerPanVerChange(Sender: TObject);
  133. procedure cmdTestCommClick(Sender: TObject);
  134. procedure FormCreate(Sender: TObject);
  135. procedure optOtroChange(Sender: TObject);
  136. procedure optSerialChange(Sender: TObject);
  137. procedure optSSHChange(Sender: TObject);
  138. procedure optTelnetChange(Sender: TObject);
  139. procedure TabTermEditContextPopup(Sender: TObject; MousePos: TPoint;
  140. var Handled: Boolean);
  141. procedure TreeView1Click(Sender: TObject);
  142. private
  143. procedure Ocultar;
  144. public
  145. OnTest : procedure of object;
  146. procedure Exec(connected: boolean);
  147. end;
  148. var
  149. frmSesProperty: TfrmSesProperty;
  150. implementation
  151. {$R *.lfm}
  152. procedure TfrmSesProperty.Ocultar;
  153. //Oculta todos los controles de configuración
  154. begin
  155. lblIP.Visible:=false;
  156. cmbIP.Visible:=false;
  157. lblPort.Visible:=false;
  158. txtPort.Visible:=false;
  159. lblOtro.Visible:=false;
  160. txtOtro.Visible:=false;
  161. // GroupBox1.Visible:=false;
  162. lblSerPort.Visible:=false;
  163. cmbSerPort.Visible:=false;
  164. lblSerCfg.Visible:=false;
  165. txtSerCfg.Visible:=false;
  166. end;
  167. procedure TfrmSesProperty.optTelnetChange(Sender: TObject);
  168. begin
  169. Ocultar;
  170. lblIP.Visible:=true;
  171. cmbIP.Visible:=true;
  172. lblPort.Visible:=true;
  173. txtPort.Visible:=true;
  174. txtPort.Text:='23';
  175. RadioGroup1.ItemIndex:=2;
  176. end;
  177. procedure TfrmSesProperty.TabTermEditContextPopup(Sender: TObject;
  178. MousePos: TPoint; var Handled: Boolean);
  179. begin
  180. end;
  181. procedure TfrmSesProperty.TreeView1Click(Sender: TObject);
  182. begin
  183. if TreeView1.Selected = nil then exit;
  184. //hay ítem seleccionado
  185. case IdFromTTreeNode(TreeView1.Selected) of
  186. '1',
  187. '1.1' : TabGeneral.Show;
  188. '1.2' : TabPromptDet.Show;
  189. '1.3' : TabGenAppear.Show;
  190. '2',
  191. '2.1' : TabPComEdit.Show;
  192. '2.2' : TabPComSet.Show;
  193. '3',
  194. '3.1' : TabTermPant.Show;
  195. '3.2' : TabTermEdit.Show;
  196. '3.3' : TabTermCRec.Show;
  197. end;
  198. //Visibilidad de botón
  199. bitOK_conn.Visible := (PageControl1.TabIndex = 0);
  200. end;
  201. procedure TfrmSesProperty.optSSHChange(Sender: TObject);
  202. begin
  203. Ocultar;
  204. lblIP.Visible:=true;
  205. cmbIP.Visible:=true;
  206. lblPort.Visible:=true;
  207. txtPort.Visible:=true;
  208. txtPort.Text:='22';
  209. RadioGroup1.ItemIndex:=2;
  210. end;
  211. procedure TfrmSesProperty.optSerialChange(Sender: TObject);
  212. begin
  213. Ocultar;
  214. lblSerPort.Visible:=true;
  215. cmbSerPort.Visible:=true;
  216. lblSerCfg.Visible:=true;
  217. txtSerCfg.Visible:=true;
  218. end;
  219. procedure TfrmSesProperty.optOtroChange(Sender: TObject);
  220. begin
  221. Ocultar;
  222. lblOtro.Visible:=true;
  223. txtOtro.Visible:=true;
  224. // GroupBox1.Visible:=true;
  225. end;
  226. procedure TfrmSesProperty.bitOKClick(Sender: TObject);
  227. begin
  228. //Devolverá el ModalResult que esté configurado.
  229. //bitAplicarClick(Self);
  230. //if fraError<>nil then exit; //hubo error
  231. //fcConex.GrabarIP;
  232. //self.Close; //porque es modal
  233. end;
  234. procedure TfrmSesProperty.bitCancelClick(Sender: TObject);
  235. begin
  236. //Devolverá el ModalResult que esté configurado.
  237. self.Hide;
  238. end;
  239. procedure TfrmSesProperty.chkSendRecComChange(Sender: TObject);
  240. begin
  241. speTempo.Enabled:=chkSendRecCom.checked;
  242. label15.Enabled:=chkSendRecCom.checked;
  243. GroupBox3.Enabled:=chkSendRecCom.checked;
  244. cmdTestComm.Enabled:=chkSendRecCom.checked;
  245. end;
  246. procedure TfrmSesProperty.chkDetecPromptChange(Sender: TObject);
  247. begin
  248. GroupBox1.Enabled:=chkDetecPrompt.Checked;
  249. end;
  250. procedure TfrmSesProperty.chkMarLinActChange(Sender: TObject);
  251. begin
  252. lblCLinAct.Enabled:=chkMarLinAct.Checked;
  253. cbutLinAct.Enabled:=chkMarLinAct.Checked;
  254. end;
  255. procedure TfrmSesProperty.chkHLCurWordChange(Sender: TObject);
  256. begin
  257. lblCurWordCol.Enabled:=chkHLCurWord.Checked;
  258. cbutResPal.Enabled:=chkHLCurWord.Checked;
  259. end;
  260. procedure TfrmSesProperty.chkVerPanVerChange(Sender: TObject);
  261. begin
  262. chkVerNumLin.Enabled:=chkVerPanVer.Checked;
  263. chkVerMarPle.Enabled:=chkVerPanVer.Checked;
  264. cbutFonPan.Enabled:=chkVerPanVer.Checked;
  265. cbutTxtPan.Enabled:=chkVerPanVer.Checked;
  266. label2.Enabled:=chkVerPanVer.Checked;
  267. label3.Enabled:=chkVerPanVer.Checked;
  268. end;
  269. procedure TfrmSesProperty.cmdTestCommClick(Sender: TObject);
  270. begin
  271. //lama al evento para probar la temporización
  272. OnTest;
  273. end;
  274. procedure TfrmSesProperty.FormCreate(Sender: TObject);
  275. begin
  276. PageControl1.ShowTabs := false;
  277. cmbTipoLetra.Items.Clear;
  278. cmbTipoLetra.Items.Add('Courier New');
  279. cmbTipoLetra.Items.Add('Fixedsys');
  280. cmbTipoLetra.Items.Add('Lucida Console');
  281. cmbTipoLetra.Items.Add('Consolas');
  282. cmbTipoLetra.Items.Add('Cambria');
  283. cmbTipoLetra1.Items.Clear;
  284. cmbTipoLetra1.Items.Add('Courier New');
  285. cmbTipoLetra1.Items.Add('Fixedsys');
  286. cmbTipoLetra1.Items.Add('Lucida Console');
  287. cmbTipoLetra1.Items.Add('Consolas');
  288. cmbTipoLetra1.Items.Add('Cambria');
  289. end;
  290. procedure TfrmSesProperty.Exec(connected: boolean);
  291. {Muestra el formulario actual.}
  292. begin
  293. //Selecciona primera opción.
  294. TreeView1.Items[0].Selected:=true;
  295. TreeView1Click(self);
  296. if connected then begin
  297. TabGeneral.Enabled := false;
  298. end else begin
  299. TabGeneral.Enabled := true;
  300. end;
  301. self.ShowModal;
  302. end;
  303. end.