MG: added define templates for Delphi5 Projects

git-svn-id: trunk@1510 -
This commit is contained in:
lazarus 2002-03-14 07:42:34 +00:00
parent daf0a4622d
commit d95aa7b01f
4 changed files with 111 additions and 36 deletions

View File

@ -269,8 +269,11 @@ type
const LazarusSrcDir, WidgetType: string): TDefineTemplate;
function CreateLCLProjectTemplate(const LazarusSrcDir, WidgetType,
ProjectDir: string): TDefineTemplate;
function CreateDelphi5Template(
function CreateDelphi5CompilerDefinesTemplate: TDefineTemplate;
function CreateDelphi5DirectoryTemplate(
const DelphiDirectory: string): TDefineTemplate;
function CreateDelphi5ProjectTemplate(
const ProjectDir, DelphiDirectory: string): TDefineTemplate;
procedure Clear;
constructor Create;
destructor Destroy; override;
@ -2491,24 +2494,34 @@ begin
Result.AddChild(DirTempl);
end;
function TDefinePool.CreateDelphi5Template(const DelphiDirectory: string
): TDefineTemplate;
function TDefinePool.CreateDelphi5CompilerDefinesTemplate: TDefineTemplate;
var DefTempl: TDefineTemplate;
begin
DefTempl:=TDefineTemplate.Create('Delphi5 Compiler Defines',
'Delphi5 DefTempl','','',da_Block);
DefTempl.AddChild(TDefineTemplate.Create('Reset','Reset all defines',
'','',da_UndefineAll));
DefTempl.AddChild(TDefineTemplate.Create('Define makro DELPHI',
'Define makro DELPHI','DELPHI','',da_DefineRecurse));
DefTempl.AddChild(TDefineTemplate.Create('Define makro FPC_DELPHI',
'Define makro FPC_DELPHI','FPC_DELPHI','',da_DefineRecurse));
DefTempl.AddChild(TDefineTemplate.Create('Define makro VER_130',
'Define makro VER_130','VER_130','',da_DefineRecurse));
DefTempl.AddChild(TDefineTemplate.Create(
'Define '+ExternalMacroStart+'Compiler',
'Define '+ExternalMacroStart+'Compiler variable',
ExternalMacroStart+'Compiler','DELPHI',da_DefineRecurse));
Result:=DefTempl;
end;
function TDefinePool.CreateDelphi5DirectoryTemplate(
const DelphiDirectory: string): TDefineTemplate;
var MainDirTempl: TDefineTemplate;
begin
MainDirTempl:=TDefineTemplate.Create('Delphi5 Directory','Delphi5 Directory',
'',DelphiDirectory,da_Directory);
MainDirTempl.AddChild(TDefineTemplate.Create('Reset','Reset all defines',
'','',da_UndefineAll));
MainDirTempl.AddChild(TDefineTemplate.Create('Define makro DELPHI',
'Define makro DELPHI','DELPHI','',da_DefineRecurse));
MainDirTempl.AddChild(TDefineTemplate.Create('Define makro FPC_DELPHI',
'Define makro FPC_DELPHI','FPC_DELPHI','',da_DefineRecurse));
MainDirTempl.AddChild(TDefineTemplate.Create('Define makro VER_130',
'Define makro VER_130','VER_130','',da_DefineRecurse));
MainDirTempl.AddChild(TDefineTemplate.Create(
'Define '+ExternalMacroStart+'Compiler',
'Define '+ExternalMacroStart+'Compiler variable',
ExternalMacroStart+'Compiler','DELPHI',da_DefineRecurse));
MainDirTempl.AddChild(CreateDelphi5CompilerDefinesTemplate);
MainDirTempl.AddChild(TDefineTemplate.Create('SrcPath',
'Default SrcPath',
ExternalMacroStart+'SrcPath',
@ -2519,7 +2532,32 @@ begin
+'$(#DefinePath)/Source/Vcl;'
+'$(#SrcPath)'),
da_DefineRecurse));
Result:=MainDirTempl;
end;
function TDefinePool.CreateDelphi5ProjectTemplate(
const ProjectDir, DelphiDirectory: string): TDefineTemplate;
var MainDirTempl: TDefineTemplate;
begin
MainDirTempl:=TDefineTemplate.Create('Delphi5 Project','Delphi5 Project',
'',ProjectDir,da_Directory);
MainDirTempl.AddChild(CreateDelphi5CompilerDefinesTemplate);
MainDirTempl.AddChild(TDefineTemplate.Create(
'Define '+ExternalMacroStart+'DelphiDir',
'Define '+ExternalMacroStart+'DelphiDir variable',
ExternalMacroStart+'DelphiDir',DelphiDirectory,da_DefineRecurse));
MainDirTempl.AddChild(TDefineTemplate.Create('SrcPath',
'SrcPath addition for Delphi RTL+VCL',
ExternalMacroStart+'SrcPath',
SetDirSeparators(
'$(#DelphiDir)/Source/Rtl/Win;'
+'$(#DelphiDir)/Source/Rtl/Sys;'
+'$(#DelphiDir)/Source/Rtl/Corba;'
+'$(#DelphiDir)/Source/Vcl;'
+'$(#SrcPath)'),
da_DefineRecurse));
Result:=MainDirTempl;
end;

View File

@ -49,7 +49,7 @@ interface
// activate for debug:
{ $DEFINE CTDEBUG}
{ $DEFINE ShowSearchPaths}
{$DEFINE ShowSearchPaths}
{ $DEFINE ShowTriedFiles}
{ $DEFINE ShowTriedContexts}
{ $DEFINE ShowTriedIdentifiers}

View File

@ -518,17 +518,18 @@ begin
IsKeyWordMethodSpecifier:=TKeyWordFunctionList.Create;
KeyWordLists.Add(IsKeyWordMethodSpecifier);
with IsKeyWordMethodSpecifier do begin
Add('STDCALL' ,{$ifdef FPC}@{$endif}AllwaysTrue);
Add('REGISTER',{$ifdef FPC}@{$endif}AllwaysTrue);
Add('POPSTACK',{$ifdef FPC}@{$endif}AllwaysTrue);
Add('VIRTUAL' ,{$ifdef FPC}@{$endif}AllwaysTrue);
Add('ABSTRACT',{$ifdef FPC}@{$endif}AllwaysTrue);
Add('DYNAMIC' ,{$ifdef FPC}@{$endif}AllwaysTrue);
Add('OVERLOAD',{$ifdef FPC}@{$endif}AllwaysTrue);
Add('OVERRIDE',{$ifdef FPC}@{$endif}AllwaysTrue);
Add('CDECL' ,{$ifdef FPC}@{$endif}AllwaysTrue);
Add('INLINE' ,{$ifdef FPC}@{$endif}AllwaysTrue);
Add('MESSAGE' ,{$ifdef FPC}@{$endif}AllwaysTrue);
Add('STDCALL' ,{$ifdef FPC}@{$endif}AllwaysTrue);
Add('REGISTER' ,{$ifdef FPC}@{$endif}AllwaysTrue);
Add('POPSTACK' ,{$ifdef FPC}@{$endif}AllwaysTrue);
Add('VIRTUAL' ,{$ifdef FPC}@{$endif}AllwaysTrue);
Add('ABSTRACT' ,{$ifdef FPC}@{$endif}AllwaysTrue);
Add('DYNAMIC' ,{$ifdef FPC}@{$endif}AllwaysTrue);
Add('OVERLOAD' ,{$ifdef FPC}@{$endif}AllwaysTrue);
Add('OVERRIDE' ,{$ifdef FPC}@{$endif}AllwaysTrue);
Add('REINTRODUCE',{$ifdef FPC}@{$endif}AllwaysTrue);
Add('CDECL' ,{$ifdef FPC}@{$endif}AllwaysTrue);
Add('INLINE' ,{$ifdef FPC}@{$endif}AllwaysTrue);
Add('MESSAGE' ,{$ifdef FPC}@{$endif}AllwaysTrue);
end;
IsKeyWordProcedureSpecifier:=TKeyWordFunctionList.Create;
KeyWordLists.Add(IsKeyWordProcedureSpecifier);

View File

@ -104,7 +104,9 @@ type
// templates
InsertTemplateMenuItem: TMenuItem;
InsertDelphi5TemlateMenuItem: TMenuItem;
InsertDelphi5CompilerDefinesTemplateMenuItem: TMenuItem;
InsertDelphi5DirectoryTemplateMenuItem: TMenuItem;
InsertDelphi5ProjectTemplateMenuItem: TMenuItem;
// define tree
DefineTreeView: TTreeView;
@ -161,7 +163,9 @@ type
procedure OpenPreviewMenuItemClick(Sender: TObject);
// template menu
procedure InsertDelphi5TemlateMenuItemClick(Sender: TObject);
procedure InsertDelphi5CompilerDefinesTemplateMenuItemClick(Sender: TObject);
procedure InsertDelphi5DirectoryTemplateMenuItemClick(Sender: TObject);
procedure InsertDelphi5ProjectTemplateMenuItemClick(Sender: TObject);
private
FDefineTree: TDefineTree;
FLastSelectedNode: TTreeNode;
@ -703,11 +707,25 @@ begin
BringWindowToTop(DefinePreview.Handle);
end;
procedure TCodeToolsDefinesEditor.InsertDelphi5TemlateMenuItemClick(
procedure TCodeToolsDefinesEditor.InsertDelphi5CompilerDefinesTemplateMenuItemClick
(Sender: TObject);
begin
InsertTemplate(Boss.DefinePool.CreateDelphi5CompilerDefinesTemplate);
end;
procedure TCodeToolsDefinesEditor.InsertDelphi5DirectoryTemplateMenuItemClick(
Sender: TObject);
begin
InsertTemplate(Boss.DefinePool.CreateDelphi5Template(
SetDirSeparators('/Borland')));
InsertTemplate(Boss.DefinePool.CreateDelphi5DirectoryTemplate(
SetDirSeparators('/Borland/Delphi5')));
end;
procedure TCodeToolsDefinesEditor.InsertDelphi5ProjectTemplateMenuItemClick(
Sender: TObject);
begin
InsertTemplate(Boss.DefinePool.CreateDelphi5ProjectTemplate(
SetDirSeparators('/YourDelphi5ProjectDir'),
SetDirSeparators('/Borland/Delphi5')));
end;
procedure TCodeToolsDefinesEditor.ProjectSpecificCheckBoxClick(Sender: TObject);
@ -975,9 +993,27 @@ begin
// templates
AddMenuItem(InsertTemplateMenuItem,'InsertTemplateMenuItem',
'Insert Template',nil);
AddMenuItem(InsertDelphi5TemlateMenuItem,'InsertDelphi5TemlateMenuItem',
'Insert Delphi 5 Template',InsertTemplateMenuItem);
InsertDelphi5TemlateMenuItem.OnClick:=@InsertDelphi5TemlateMenuItemClick;
AddMenuItem(InsertDelphi5CompilerDefinesTemplateMenuItem,
'InsertDelphi5CompilerDefinesTemplateMenuItem',
'Insert Delphi 5 Compiler Defines Template',
InsertTemplateMenuItem);
InsertDelphi5CompilerDefinesTemplateMenuItem.OnClick:=
@InsertDelphi5CompilerDefinesTemplateMenuItemClick;
AddMenuItem(InsertDelphi5DirectoryTemplateMenuItem,
'InsertDelphi5DirectoryTemplateMenuItem',
'Insert Delphi 5 Directory Template',
InsertTemplateMenuItem);
InsertDelphi5DirectoryTemplateMenuItem.OnClick:=
@InsertDelphi5DirectoryTemplateMenuItemClick;
AddMenuItem(InsertDelphi5ProjectTemplateMenuItem,
'InsertDelphi5ProjectTemplateMenuItem',
'Insert Delphi 5 Project Template',
InsertTemplateMenuItem);
InsertDelphi5ProjectTemplateMenuItem.OnClick:=
@InsertDelphi5ProjectTemplateMenuItemClick;
// define tree----------------------------------------------------------------