CustomStyleUnit.pas 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. unit CustomStyleUnit;
  2. interface
  3. uses
  4. SourceEditUnit,
  5. Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  6. StdCtrls, ExtCtrls;
  7. type
  8. TCustomStyleForm = class(TForm)
  9. Button1: TButton;
  10. Button2: TButton;
  11. Bevel1: TBevel;
  12. Label1: TLabel;
  13. Label2: TLabel;
  14. Label3: TLabel;
  15. BeginEdit: TEdit;
  16. EndEdit: TEdit;
  17. IgnoreEdit: TEdit;
  18. Bevel2: TBevel;
  19. Button3: TButton;
  20. Button4: TButton;
  21. ColorDlg: TColorDialog;
  22. SwitchableCheckBox: TCheckBox;
  23. procedure FormCreate(Sender: TObject);
  24. procedure FormDestroy(Sender: TObject);
  25. procedure BeginEditChange(Sender: TObject);
  26. procedure EndEditChange(Sender: TObject);
  27. procedure IgnoreEditChange(Sender: TObject);
  28. procedure SwitchableCheckBoxClick(Sender: TObject);
  29. procedure Button1Click(Sender: TObject);
  30. procedure Button2Click(Sender: TObject);
  31. procedure FormShow(Sender: TObject);
  32. private
  33. public
  34. Style: TCustomStyle;
  35. end;
  36. implementation
  37. {$R *.DFM}
  38. uses
  39. StyleSelectionUnit;
  40. procedure TCustomStyleForm.FormCreate(Sender: TObject);
  41. begin
  42. Style := TCustomStyle.Create (nil);
  43. end;
  44. procedure TCustomStyleForm.FormDestroy(Sender: TObject);
  45. begin
  46. Style.Free;
  47. end;
  48. procedure TCustomStyleForm.BeginEditChange(Sender: TObject);
  49. begin
  50. Style.BeginText := BeginEdit.Text;
  51. end;
  52. procedure TCustomStyleForm.EndEditChange(Sender: TObject);
  53. begin
  54. Style.EndText := EndEdit.Text;
  55. end;
  56. procedure TCustomStyleForm.IgnoreEditChange(Sender: TObject);
  57. begin
  58. Style.IgnoreChar := IgnoreEdit.Text;
  59. end;
  60. procedure TCustomStyleForm.SwitchableCheckBoxClick(Sender: TObject);
  61. begin
  62. Style.Switchable := SwitchableCheckBox.Checked;
  63. end;
  64. procedure TCustomStyleForm.Button1Click(Sender: TObject);
  65. begin
  66. ColorDlg.Color := Style.Color;
  67. if ColorDlg.Execute then begin
  68. Style.Color := ColorDlg.Color;
  69. Style.CustomColor := True;
  70. end;
  71. end;
  72. procedure TCustomStyleForm.Button2Click(Sender: TObject);
  73. begin
  74. with TStyleSelectionForm.Create (Self) do try
  75. CustomStyle := Self.Style.CustomStyle;
  76. Style := Self.Style.Style;
  77. if ShowModal = mrOK then begin
  78. Self.Style.CustomStyle := CustomStyle;
  79. Self.Style.Style := Style;
  80. end;
  81. finally
  82. Free;
  83. end;
  84. end;
  85. procedure TCustomStyleForm.FormShow(Sender: TObject);
  86. begin
  87. if Style.BeginText = #13 then
  88. BeginEdit.Text := '#13'
  89. else
  90. BeginEdit.Text := Style.BeginText;
  91. if Style.EndText = #13 then
  92. EndEdit.Text := '#13'
  93. else
  94. EndEdit.Text := Style.EndText;
  95. IgnoreEdit.Text := Style.IgnoreChar;
  96. SwitchableCheckBox.Checked := Style.Switchable;
  97. end;
  98. end.