mirror of
				https://gitlab.com/freepascal.org/lazarus/lazarus.git
				synced 2025-11-04 09:04:11 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			63 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
{ Copyright (C) 2012
 | 
						|
 | 
						|
 *****************************************************************************
 | 
						|
  See the file COPYING.modifiedLGPL.txt, included in this distribution,
 | 
						|
  for details about the license.
 | 
						|
 *****************************************************************************
 | 
						|
 | 
						|
  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.
 |