mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-08 02:19:57 +02:00
Macros: Implement $Confirm() macro. Issuse #11370
git-svn-id: trunk@40968 -
This commit is contained in:
parent
e826391389
commit
58e631025e
@ -21,7 +21,8 @@
|
||||
Author: Mattias Gaertner
|
||||
|
||||
Abstract:
|
||||
A simple dialog for the $PROMPT() tranfer macro function.
|
||||
A simple dialog for the $PROMPT() tranfer macro function,
|
||||
and a MessageDlg for the $CONFIRM() macro.
|
||||
|
||||
}
|
||||
unit MacroPromptDlg;
|
||||
@ -56,12 +57,18 @@ type
|
||||
end;
|
||||
|
||||
|
||||
function ShowMacroConfirmDialog(const InitParam: string): TModalResult;
|
||||
function ShowMacroPromptDialog(var InitParam: string): TModalResult;
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
|
||||
function ShowMacroConfirmDialog(const InitParam: string): TModalResult;
|
||||
begin
|
||||
Result:=MessageDlg(InitParam, mtConfirmation, mbOKCancel, 0);
|
||||
end;
|
||||
|
||||
function ShowMacroPromptDialog(var InitParam: string): TModalResult;
|
||||
var MacroPrompDialog: TMacroPrompDialog;
|
||||
begin
|
||||
@ -70,7 +77,7 @@ begin
|
||||
try
|
||||
MacroPrompDialog.DataEdit.Text:=InitParam;
|
||||
Result:=MacroPrompDialog.ShowModal;
|
||||
if Result=mrOk then
|
||||
if Result=mrOk then
|
||||
InitParam:=MacroPrompDialog.DataEdit.Text;
|
||||
finally
|
||||
MacroPrompDialog.Free;
|
||||
|
@ -1046,6 +1046,8 @@ type
|
||||
var Abort: boolean): string;
|
||||
function MacroFuncCurToken(const s:string; const Data: PtrInt;
|
||||
var Abort: boolean): string;
|
||||
function MacroFuncConfirm(const s:string; const Data: PtrInt;
|
||||
var Abort: boolean): string;
|
||||
function MacroFuncPrompt(const s:string; const Data: PtrInt;
|
||||
var Abort: boolean): string;
|
||||
function MacroFuncSave(const s:string; const Data: PtrInt;
|
||||
@ -9412,6 +9414,13 @@ begin
|
||||
Result := '';
|
||||
end;
|
||||
|
||||
function TSourceEditorManager.MacroFuncConfirm(const s: string; const Data: PtrInt;
|
||||
var Abort: boolean): string;
|
||||
begin
|
||||
Result:=s;
|
||||
Abort:=(ShowMacroConfirmDialog(Result)<>mrOk);
|
||||
end;
|
||||
|
||||
function TSourceEditorManager.MacroFuncPrompt(const s: string;
|
||||
const Data: PtrInt; var Abort: boolean): string;
|
||||
begin
|
||||
@ -9444,6 +9453,8 @@ begin
|
||||
lisWordAtCursorInCurrentEditor,@MacroFuncCurToken,[]));
|
||||
AMacroList.Add(TTransferMacro.Create('EdFile','',
|
||||
lisExpandedFilenameOfCurrentEditor,@MacroFuncEdFile,[]));
|
||||
AMacroList.Add(TTransferMacro.Create('Confirm','',
|
||||
lisConfirmation,@MacroFuncConfirm,[tmfInteractive]));
|
||||
AMacroList.Add(TTransferMacro.Create('Prompt','',
|
||||
lisPromptForValue,@MacroFuncPrompt,[tmfInteractive]));
|
||||
AMacroList.Add(TTransferMacro.Create('Save','',
|
||||
|
Loading…
Reference in New Issue
Block a user