New file for issue #23502

git-svn-id: trunk@39906 -
This commit is contained in:
juha 2013-01-20 09:28:51 +00:00
parent 599083582c
commit 3ad44aa03c
2 changed files with 141 additions and 0 deletions

1
.gitattributes vendored
View File

@ -5123,6 +5123,7 @@ ideintf/lazstringgridedit.lfm svneol=native#text/plain
ideintf/lazstringgridedit.pas svneol=native#text/plain
ideintf/listviewpropedit.lfm svneol=native#text/plain
ideintf/listviewpropedit.pp svneol=native#text/pascal
ideintf/macrodefintf.pas svneol=native#text/plain
ideintf/macrointf.pas svneol=native#text/pascal
ideintf/maskpropedit.lfm svneol=native#text/plain
ideintf/maskpropedit.pas svneol=native#text/plain

140
ideintf/macrodefintf.pas Normal file
View File

@ -0,0 +1,140 @@
{ Copyright (C) 2012
*****************************************************************************
* *
* See the file COPYING.modifiedLGPL.txt, included in this distribution, *
* for details about the copyright. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* *
*****************************************************************************
Abstract:
Interface to the IDE macros.
}
unit MacroDefIntf;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils;
Type
TTransferMacro = class;
TOnSubstitution = procedure(TheMacro: TTransferMacro; const MacroName: string;
var s:string; const Data: PtrInt; var Handled, Abort: boolean;
Depth: integer) of object;
TMacroFunction = function(const s: string; const Data: PtrInt;
var Abort: boolean): string of object;
TTransferMacroFlag = (
tmfInteractive
);
TTransferMacroFlags = set of TTransferMacroFlag;
TTransferMacro = class
public
Name: string;
Value: string;
Description: string;
MacroFunction: TMacroFunction;
Flags: TTransferMacroFlags;
constructor Create(AName, AValue, ADescription:string;
AMacroFunction: TMacroFunction; TheFlags: TTransferMacroFlags);
end;
implementation
{ TTransferMacro }
constructor TTransferMacro.Create(AName, AValue, ADescription:string;
AMacroFunction: TMacroFunction; TheFlags: TTransferMacroFlags);
begin
Name:=AName;
Value:=AValue;
Description:=ADescription;
MacroFunction:=AMacroFunction;
Flags:=TheFlags;
end;
end.
{ Copyright (C) 2012
*****************************************************************************
* *
* See the file COPYING.modifiedLGPL.txt, included in this distribution, *
* for details about the copyright. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* *
*****************************************************************************
Abstract:
Interface to the IDE macros.
}
unit MacroDefIntf;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils;
Type
TTransferMacro = class;
TOnSubstitution = procedure(TheMacro: TTransferMacro; const MacroName: string;
var s:string; const Data: PtrInt; var Handled, Abort: boolean;
Depth: integer) of object;
TMacroFunction = function(const s: string; const Data: PtrInt;
var Abort: boolean): string of object;
TTransferMacroFlag = (
tmfInteractive
);
TTransferMacroFlags = set of TTransferMacroFlag;
TTransferMacro = class
public
Name: string;
Value: string;
Description: string;
MacroFunction: TMacroFunction;
Flags: TTransferMacroFlags;
constructor Create(AName, AValue, ADescription:string;
AMacroFunction: TMacroFunction; TheFlags: TTransferMacroFlags);
end;
implementation
{ TTransferMacro }
constructor TTransferMacro.Create(AName, AValue, ADescription:string;
AMacroFunction: TMacroFunction; TheFlags: TTransferMacroFlags);
begin
Name:=AName;
Value:=AValue;
Description:=ADescription;
MacroFunction:=AMacroFunction;
Flags:=TheFlags;
end;
end.