UFormOpciones.pas

  1. unit UFormOpciones;
  2.  
  3. interface
  4.  
  5. uses
  6. Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7. StdCtrls, ComCtrls, Buttons,
  8. Horario;
  9.  
  10. type
  11. TFormOpciones = class(TForm)
  12. BotonAceptar: TBitBtn;
  13. BotonCancelar: TBitBtn;
  14. TrackNumDias: TTrackBar;
  15. TrackNumHoras: TTrackBar;
  16. Label1: TLabel;
  17. Label2: TLabel;
  18. CheckSoloLectura: TCheckBox;
  19. GroupBox1: TGroupBox;
  20. CheckRelieve: TCheckBox;
  21. CheckLaborables: TCheckBox;
  22. CheckAhora: TCheckBox;
  23. CheckFestivos: TCheckBox;
  24. BotonCampos: TBitBtn;
  25. ComboColorear: TComboBox;
  26. Label3: TLabel;
  27. CheckPistas: TCheckBox;
  28. procedure BotonCancelarClick(Sender: TObject);
  29. procedure BotonAceptarClick(Sender: TObject);
  30. procedure FormShow(Sender: TObject);
  31. procedure TrackNumDiasChange(Sender: TObject);
  32. procedure TrackNumHorasChange(Sender: TObject);
  33. procedure CheckRelieveClick(Sender: TObject);
  34. procedure CheckSoloLecturaClick(Sender: TObject);
  35. procedure CheckLaborablesClick(Sender: TObject);
  36. procedure CheckAhoraClick(Sender: TObject);
  37. procedure CheckFestivosClick(Sender: TObject);
  38. procedure CheckPistasClick(Sender: TObject);
  39. procedure BotonCamposClick(Sender: TObject);
  40. procedure ComboColorearClick(Sender: TObject);
  41. private
  42. FHorario: THorario;
  43. FNumDias, FNumHoras: integer;
  44. FOpciones: TOpcionesHorario;
  45. FSoloLectura: boolean;
  46. FHoraInicio: integer;
  47. FCampoColorear: TCamposHorario;
  48. public
  49. procedure Posicionar (activador: TControl);
  50. property Horario: THorario read FHorario write FHorario;
  51. end;
  52.  
  53. var
  54. FormOpciones: TFormOpciones;
  55.  
  56. implementation
  57.  
  58. {$R *.DFM}
  59.  
  60. //-----------------------------------------------
  61. // Botones
  62.  
  63. procedure TFormOpciones.BotonCancelarClick(Sender: TObject);
  64. begin
  65. self.Close;
  66.  
  67. if FHorario <> nil then begin
  68. FHorario.NumDias := FNumDias;
  69. FHorario.NumHoras := FNumHoras;
  70. FHorario.Opciones := FOpciones;
  71. FHorario.SoloLectura := FSoloLectura;
  72. FHorario.HoraInicio := FHoraInicio;
  73. FHorario.CampoColorear := FCampoColorear;
  74. end;
  75. end;
  76.  
  77. procedure TFormOpciones.BotonAceptarClick(Sender: TObject);
  78. begin
  79. self.Close;
  80. end;
  81.  
  82. procedure TFormOpciones.BotonCamposClick(Sender: TObject);
  83. begin
  84. if FHorario <> nil then begin
  85. Application.MessageBox(
  86. PChar (FHorario.NombreCampos.Text),
  87. 'Campos', MB_ICONINFORMATION);
  88. end;
  89. end;
  90.  
  91. //-----------------------------------------------
  92. // Mostrar formulario
  93.  
  94. procedure TFormOpciones.Posicionar (activador: TControl);
  95. var
  96. punto: TPoint;
  97. begin
  98. punto.x := 0;
  99. punto.y := activador.Height;
  100. punto := activador.ClientToScreen (punto);
  101. self.Left := punto.x;
  102. self.Top := punto.y;
  103. end;
  104.  
  105. procedure TFormOpciones.FormShow(Sender: TObject);
  106. begin
  107. TrackNumDias.SetFocus;
  108. if FHorario <> nil then begin
  109. FNumDias := FHorario.NumDias;
  110. FNumHoras := FHorario.NumHoras;
  111. FOpciones := FHorario.Opciones;
  112. FSoloLectura := FHorario.SoloLectura;
  113. FHoraInicio := FHorario.HoraInicio;
  114. FCampoColorear := FHorario.CampoColorear;
  115.  
  116. CheckRelieve.Checked := ohRelieve in FOpciones;
  117. CheckLaborables.Checked := ohLaborables in FOpciones;
  118. CheckAhora.Checked := ohAhora in FOpciones;
  119. CheckFestivos.Checked := ohAhora in FOpciones;
  120. CheckPistas.Checked := ohPistas in FOpciones;
  121.  
  122. CheckSoloLectura.Checked := FSoloLectura;
  123.  
  124. ComboColorear.ItemIndex := Integer (FHorario.CampoColorear);
  125. end;
  126. end;
  127.  
  128. //-----------------------------------------------
  129. // Controles
  130.  
  131. procedure TFormOpciones.TrackNumDiasChange(Sender: TObject);
  132. begin
  133. if FHorario <> nil then begin
  134. FHorario.NumDias := TrackNumDias.Position;
  135. end;
  136. end;
  137.  
  138. procedure TFormOpciones.TrackNumHorasChange(Sender: TObject);
  139. begin
  140. if FHorario <> nil then begin
  141. FHorario.NumHoras := TrackNumHoras.Position;
  142. end;
  143. end;
  144.  
  145. procedure TFormOpciones.CheckSoloLecturaClick(Sender: TObject);
  146. begin
  147. if FHorario <> nil then begin
  148. FHorario.SoloLectura := CheckSoloLectura.Checked;
  149. end;
  150. end;
  151.  
  152. procedure TFormOpciones.CheckRelieveClick(Sender: TObject);
  153. begin
  154. if FHorario <> nil then begin
  155. {if CheckRelieve.Checked
  156.   then FHorario.Opciones := FHorario.Opciones + [ohRelieve]
  157.   else FHorario.Opciones := FHorario.Opciones - [ohRelieve];}
  158. FHorario.Opcion[ohRelieve] := CheckRelieve.Checked;
  159. end;
  160. end;
  161.  
  162. procedure TFormOpciones.CheckLaborablesClick(Sender: TObject);
  163. begin
  164. if FHorario <> nil then begin
  165. {if CheckLaborables.Checked
  166.   then FHorario.Opciones := FHorario.Opciones + [ohLaborables]
  167.   else FHorario.Opciones := FHorario.Opciones - [ohLaborables];}
  168. FHorario.Opcion[ohLaborables] := CheckLaborables.Checked;
  169. end;
  170. end;
  171.  
  172. procedure TFormOpciones.CheckAhoraClick(Sender: TObject);
  173. begin
  174. if FHorario <> nil then begin
  175. {if CheckAhora.Checked
  176.   then FHorario.Opciones := FHorario.Opciones + [ohAhora]
  177.   else FHorario.Opciones := FHorario.Opciones - [ohAhora];}
  178. FHorario.Opcion[ohAhora] := CheckAhora.Checked;
  179. end;
  180. end;
  181.  
  182. procedure TFormOpciones.CheckFestivosClick(Sender: TObject);
  183. begin
  184. if FHorario <> nil then begin
  185. {if CheckFestivos.Checked
  186.   then FHorario.Opciones := FHorario.Opciones + [ohFestivos]
  187.   else FHorario.Opciones := FHorario.Opciones - [ohFestivos];}
  188. FHorario.Opcion[ohFestivos] := CheckFestivos.Checked;
  189. end;
  190. end;
  191.  
  192. procedure TFormOpciones.CheckPistasClick(Sender: TObject);
  193. begin
  194. if FHorario <> nil then begin
  195. FHorario.Opcion[ohPistas] := CheckPistas.Checked;
  196. end;
  197. end;
  198.  
  199. procedure TFormOpciones.ComboColorearClick(Sender: TObject);
  200. begin
  201. if FHorario <> nil then begin
  202. FHorario.CampoColorear := TCamposHorario (ComboColorear.ItemIndex);
  203. end;
  204. end;
  205.  
  206.  
  207.  
  208. end.
  209.  

Proinf.net