{ 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.