VistA-cprs/CPRS-Chart/fNoteST.pas

118 lines
2.9 KiB
Plaintext

unit fNoteST;
{
Text Search CQ: HDS00002856
This Unit Contains the Dialog Used to Capture the Text that will be
searched for in the current notes view.
}
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, ORCtrls, StdCtrls, ORFn, uTIU, fAutoSz;
type
TfrmNotesSearchText = class(TfrmAutoSz)
lblSearchInfo: TLabel;
edtSearchText: TEdit;
lblAuthor: TLabel;
cmdOK: TButton;
cmdCancel: TButton;
procedure cmdCancelClick(Sender: TObject);
procedure cmdOKClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure FormResize(Sender: TObject);
private
FChanged: Boolean;
FSearchString: string;
end;
TSearchContext = record
Changed: Boolean;
SearchString: string;
end;
procedure SelectSearchText(FontSize: Integer; var SearchText: String; var SearchContext: TSearchContext);
implementation
{$R *.DFM}
uses rTIU, rCore, uCore, rMisc;
const
TX_SEARCH_TEXT = 'Select a search string or press Cancel.';
TX_SEARCH_CAP = 'Missing search string';
procedure SelectSearchText(FontSize: Integer; var SearchText: String; var SearchContext: TSearchContext);
{ displays author select form for progress notes and returns a record of the selection }
var
frmNotesSearchText: TfrmNotesSearchText;
W, H: integer;
// CurrentAuthor: Int64;
begin
frmNotesSearchText := TfrmNotesSearchText.Create(Application);
try
with frmNotesSearchText do
begin
edtSearchText.Text:=SearchText;
Font.Size := FontSize;
W := ClientWidth;
H := ClientHeight;
ResizeToFont(FontSize, W, H);
// ClientWidth := W; pnlBase.Width := W;
// ClientHeight := H; pnlBase.Height := W;
FChanged := False;
Show;
edtSearchText.SetFocus;
Hide;
ShowModal;
If edtSearchText.Text<>'' then
with SearchContext do
begin
Changed := FChanged;
SearchString := FSearchString;
end; {with SearchContext}
end; {with frmNotesSearchText}
finally
frmNotesSearchText.Release;
end;
end;
procedure TfrmNotesSearchText.cmdCancelClick(Sender: TObject);
begin
FChanged:=False;
Close;
end;
procedure TfrmNotesSearchText.cmdOKClick(Sender: TObject);
begin
if edtSearchText.Text = '' then
begin
InfoBox(TX_SEARCH_TEXT, TX_SEARCH_CAP, MB_OK or MB_ICONWARNING);
Exit;
end;
FChanged := True;
FSearchString := edtSearchText.Text;
Close;
end;
procedure TfrmNotesSearchText.FormShow(Sender: TObject);
begin
SetFormPosition(Self);
end;
procedure TfrmNotesSearchText.FormDestroy(Sender: TObject);
begin
SaveUserBounds(Self);
end;
procedure TfrmNotesSearchText.FormResize(Sender: TObject);
begin
inherited;
lblSearchInfo.Width := edtSearchText.Width;
end;
end.