lazarus-ccr/applications/khexeditor/replace.pas
sekelsenmat e9ceae06ca Initial commit of khexeditor
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1773 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2011-08-02 08:35:53 +00:00

84 lines
1.8 KiB
ObjectPascal

unit Replace;
{$include kcontrols.inc}
interface
uses
{$IFDEF FPC}
LCLType, LCLIntf, LResources,
{$ELSE}
Windows, Messages,
{$ENDIF}
SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, KEditCommon, Search;
type
{ TReplaceForm }
TReplaceForm = class(TSearchForm)
LBReplaceText: TLabel;
CBTextToReplace: TComboBox;
BUReplaceAll: TButton;
CBPromptOnReplace: TCheckBox;
procedure FormShow(Sender: TObject);
procedure CBTextToReplaceClick(Sender: TObject);
procedure CBTextToFindChange(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure GetData(var Data: TKEditSearchData); override;
procedure SetData(const Data: TKEditSearchData; SelAvail: Boolean); override;
end;
var
ReplaceForm: TReplaceForm;
implementation
procedure TReplaceForm.FormShow(Sender: TObject);
begin
CBTextToFindChange(Sender);
end;
procedure TReplaceForm.CBTextToFindChange(Sender: TObject);
begin
BUFind.Enabled := (CBTextToFind.Text <> '');
BUReplaceAll.Enabled := BUFind.Enabled;
end;
procedure TReplaceForm.CBTextToReplaceClick(Sender: TObject);
begin
if (CBTextToReplace.Text <> '') and
(CBTextToReplace.Items.IndexOf(CBTextToReplace.Text) < 0) then
CBTextToReplace.Items.Insert(0, CBTextToReplace.Text);
end;
procedure TReplaceForm.GetData(var Data: TKEditSearchData);
begin
inherited;
with Data do
begin
if CBPromptOnReplace.Checked then Include(Options, esoPrompt);
TextToReplace := CBTextToReplace.Text;
end;
end;
procedure TReplaceForm.SetData(const Data: TKEditSearchData; SelAvail: Boolean);
begin
inherited;
with Data do
CBPromptOnReplace.Checked := esoPrompt in Options;
end;
{$IFDEF FPC}
initialization
{$i replace.lrs}
{$ELSE}
{$R *.dfm}
{$ENDIF}
end.