6 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
7 Dialogs, StdCtrls, StrReplace;
10 TfrmStrReplaceFrame = class(TFrame)
13 lblOldPattern: TLabel;
14 lblNewPattern: TLabel;
15 cbxUseRegExp: TCheckBox;
16 cbxDontIgnoreCase: TCheckBox;
17 procedure ContentUpdate(Sender: TObject);
20 FOnContentUpdate: TNotifyEvent;
21 FUpdateCount: Integer;
22 procedure SetPairRec(const Value: TReplacePair);
23 procedure UpdateControls;
24 procedure ControlsToData;
25 function GetPairRec: TReplacePair;
26 procedure SetOnContentUpdate(const Value: TNotifyEvent);
28 procedure BeginUpdate;
30 procedure SetEnabled(Value: boolean); override;
32 constructor Create(AOwner: TComponent); override;
33 destructor Destroy; override;
34 property Pair: TReplacePair read GetPairRec write SetPairRec;
35 property OnContentUpdate: TNotifyEvent read FOnContentUpdate
36 write SetOnContentUpdate;
43 { TfrmStrReplaceFrame }
45 procedure TfrmStrReplaceFrame.ControlsToData;
49 BeforeStr := edtOldPattern.Text;
50 AfterStr := edtNewPattern.Text;
51 UseRegExp := cbxUseRegExp.Checked;
52 IgnoreCase := not cbxDontIgnoreCase.Checked;
56 constructor TfrmStrReplaceFrame.Create(AOwner: TComponent);
59 FPair := TReplacePair.Create(nil);
62 destructor TfrmStrReplaceFrame.Destroy;
68 function TfrmStrReplaceFrame.GetPairRec: TReplacePair;
74 procedure TfrmStrReplaceFrame.SetOnContentUpdate(const Value: TNotifyEvent);
76 FOnContentUpdate := Value;
79 procedure TfrmStrReplaceFrame.SetPairRec(const Value: TReplacePair);
85 procedure TfrmStrReplaceFrame.UpdateControls;
91 edtOldPattern.Text := BeforeStr;
92 edtNewPattern.Text := AfterStr;
93 cbxUseRegExp.Checked := UseRegExp;
94 cbxDontIgnoreCase.Checked := not IgnoreCase;
101 procedure TfrmStrReplaceFrame.ContentUpdate(Sender: TObject);
103 if Assigned(FOnContentUpdate) and (FUpdateCount = 0) then
104 FOnContentUpdate(Self);
107 procedure TfrmStrReplaceFrame.BeginUpdate;
112 procedure TfrmStrReplaceFrame.EndUpdate;
115 if FUpdateCount = 0 then
119 procedure TfrmStrReplaceFrame.SetEnabled(Value: boolean);
121 if Enabled <> Value then
123 edtOldPattern.Enabled := Value;
124 edtNewPattern.Enabled := Value;
125 cbxUseRegExp.Enabled := Value;
126 cbxDontIgnoreCase.Enabled := Value;
127 inherited SetEnabled(Value);