mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-06-07 06:18:18 +02:00
MG: added define template for Delphi5
git-svn-id: trunk@1484 -
This commit is contained in:
parent
7932923bca
commit
e5b24ec55e
@ -267,6 +267,8 @@ type
|
|||||||
const LazarusSrcDir, WidgetType: string): TDefineTemplate;
|
const LazarusSrcDir, WidgetType: string): TDefineTemplate;
|
||||||
function CreateLCLProjectTemplate(const LazarusSrcDir, WidgetType,
|
function CreateLCLProjectTemplate(const LazarusSrcDir, WidgetType,
|
||||||
ProjectDir: string): TDefineTemplate;
|
ProjectDir: string): TDefineTemplate;
|
||||||
|
function CreateDelphi5Template(
|
||||||
|
const DelphiDirectory: string): TDefineTemplate;
|
||||||
procedure Clear;
|
procedure Clear;
|
||||||
constructor Create;
|
constructor Create;
|
||||||
destructor Destroy; override;
|
destructor Destroy; override;
|
||||||
@ -2464,6 +2466,36 @@ begin
|
|||||||
Result.AddChild(DirTempl);
|
Result.AddChild(DirTempl);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TDefinePool.CreateDelphi5Template(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 '+ExternalMacroStart+'Compiler',
|
||||||
|
'Define '+ExternalMacroStart+'Compiler variable',
|
||||||
|
ExternalMacroStart+'Compiler','DELPHI',da_DefineRecurse));
|
||||||
|
MainDirTempl.AddChild(TDefineTemplate.Create('SrcPath',
|
||||||
|
'Default SrcPath',
|
||||||
|
ExternalMacroStart+'SrcPath',
|
||||||
|
SetDirSeparators(
|
||||||
|
'$(#DefinePath)/Source/Rtl/Win;'
|
||||||
|
+'$(#DefinePath)/Source/Rtl/Sys;'
|
||||||
|
+'$(#DefinePath)/Source/Rtl/Corba;'
|
||||||
|
+'$(#DefinePath)/Source/Vcl;'
|
||||||
|
+'$(#SrcPath)'),
|
||||||
|
da_DefineRecurse));
|
||||||
|
|
||||||
|
Result:=MainDirTempl;
|
||||||
|
end;
|
||||||
|
|
||||||
function TDefinePool.ConsistencyCheck: integer;
|
function TDefinePool.ConsistencyCheck: integer;
|
||||||
var i: integer;
|
var i: integer;
|
||||||
begin
|
begin
|
||||||
|
@ -104,6 +104,7 @@ type
|
|||||||
|
|
||||||
// templates
|
// templates
|
||||||
InsertTemplateMenuItem: TMenuItem;
|
InsertTemplateMenuItem: TMenuItem;
|
||||||
|
InsertDelphi5TemlateMenuItem: TMenuItem;
|
||||||
|
|
||||||
// define tree
|
// define tree
|
||||||
DefineTreeView: TTreeView;
|
DefineTreeView: TTreeView;
|
||||||
@ -158,9 +159,13 @@ type
|
|||||||
|
|
||||||
// tools menu
|
// tools menu
|
||||||
procedure OpenPreviewMenuItemClick(Sender: TObject);
|
procedure OpenPreviewMenuItemClick(Sender: TObject);
|
||||||
|
|
||||||
|
// template menu
|
||||||
|
procedure InsertDelphi5TemlateMenuItemClick(Sender: TObject);
|
||||||
private
|
private
|
||||||
FDefineTree: TDefineTree;
|
FDefineTree: TDefineTree;
|
||||||
FLastSelectedNode: TTreeNode;
|
FLastSelectedNode: TTreeNode;
|
||||||
|
FBoss: TCodeToolManager;
|
||||||
procedure CreateComponents;
|
procedure CreateComponents;
|
||||||
function CreateSeperator : TMenuItem;
|
function CreateSeperator : TMenuItem;
|
||||||
procedure RebuildDefineTreeView;
|
procedure RebuildDefineTreeView;
|
||||||
@ -173,6 +178,7 @@ type
|
|||||||
procedure SetTypeLabel;
|
procedure SetTypeLabel;
|
||||||
function ValueToFilePathText(const AValue: string): string;
|
function ValueToFilePathText(const AValue: string): string;
|
||||||
procedure InsertNewNode(Behind: boolean; Action: TDefineAction);
|
procedure InsertNewNode(Behind: boolean; Action: TDefineAction);
|
||||||
|
procedure InsertTemplate(NewTemplate: TDefineTemplate);
|
||||||
function FindUniqueName: string;
|
function FindUniqueName: string;
|
||||||
function ConsistencyCheck: integer;
|
function ConsistencyCheck: integer;
|
||||||
procedure SetValuesEditable(AValue: boolean);
|
procedure SetValuesEditable(AValue: boolean);
|
||||||
@ -182,6 +188,7 @@ type
|
|||||||
constructor Create(TheOwner: TComponent); override;
|
constructor Create(TheOwner: TComponent); override;
|
||||||
destructor Destroy; override;
|
destructor Destroy; override;
|
||||||
property DefineTree: TDefineTree read FDefineTree;
|
property DefineTree: TDefineTree read FDefineTree;
|
||||||
|
property Boss: TCodeToolManager read FBoss write FBoss;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function ShowCodeToolsDefinesEditor(ACodeToolBoss: TCodeToolManager;
|
function ShowCodeToolsDefinesEditor(ACodeToolBoss: TCodeToolManager;
|
||||||
@ -696,6 +703,13 @@ begin
|
|||||||
BringWindowToTop(DefinePreview.Handle);
|
BringWindowToTop(DefinePreview.Handle);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TCodeToolsDefinesEditor.InsertDelphi5TemlateMenuItemClick(
|
||||||
|
Sender: TObject);
|
||||||
|
begin
|
||||||
|
InsertTemplate(Boss.DefinePool.CreateDelphi5Template(
|
||||||
|
SetDirSeparators('/Borland')));
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TCodeToolsDefinesEditor.ProjectSpecificCheckBoxClick(Sender: TObject);
|
procedure TCodeToolsDefinesEditor.ProjectSpecificCheckBoxClick(Sender: TObject);
|
||||||
var
|
var
|
||||||
SelTreeNode: TTreeNode;
|
SelTreeNode: TTreeNode;
|
||||||
@ -961,6 +975,9 @@ begin
|
|||||||
// templates
|
// templates
|
||||||
AddMenuItem(InsertTemplateMenuItem,'InsertTemplateMenuItem',
|
AddMenuItem(InsertTemplateMenuItem,'InsertTemplateMenuItem',
|
||||||
'Insert Template',nil);
|
'Insert Template',nil);
|
||||||
|
AddMenuItem(InsertDelphi5TemlateMenuItem,'InsertDelphi5TemlateMenuItem',
|
||||||
|
'Insert Delphi 5 Template',InsertTemplateMenuItem);
|
||||||
|
InsertDelphi5TemlateMenuItem.OnClick:=@InsertDelphi5TemlateMenuItemClick;
|
||||||
|
|
||||||
|
|
||||||
// define tree----------------------------------------------------------------
|
// define tree----------------------------------------------------------------
|
||||||
@ -1324,6 +1341,54 @@ begin
|
|||||||
ShowSelectedValues;
|
ShowSelectedValues;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TCodeToolsDefinesEditor.InsertTemplate(NewTemplate: TDefineTemplate);
|
||||||
|
|
||||||
|
procedure AddChilds(ATreeNode: TTreeNode);
|
||||||
|
var ADefNode, ChildDefNode: TDefineTemplate;
|
||||||
|
ChildTreeNode: TTreeNode;
|
||||||
|
begin
|
||||||
|
if ATreeNode=nil then exit;
|
||||||
|
ADefNode:=TDefineTemplate(ATreeNode.Data);
|
||||||
|
ChildDefNode:=ADefNode.FirstChild;
|
||||||
|
while ChildDefNode<>nil do begin
|
||||||
|
ChildTreeNode:=DefineTreeView.Items.AddChildObject(ATreeNode,
|
||||||
|
ChildDefNode.Name,ChildDefNode);
|
||||||
|
AddChilds(ChildTreeNode);
|
||||||
|
ChildDefNode:=ChildDefNode.Next;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
SelTreeNode, NewTreeNode: TTreeNode;
|
||||||
|
SelDefNode: TDefineTemplate;
|
||||||
|
begin
|
||||||
|
SaveSelectedValues;
|
||||||
|
if NewTemplate=nil then exit;
|
||||||
|
FLastSelectedNode:=nil;
|
||||||
|
SelTreeNode:=DefineTreeView.Selected;
|
||||||
|
if SelTreeNode<>nil then begin
|
||||||
|
// insert behind selected node
|
||||||
|
SelDefNode:=TDefineTemplate(SelTreeNode.Data);
|
||||||
|
// insert in TreeView
|
||||||
|
NewTreeNode:=DefineTreeView.Items.InsertObjectBehind(SelTreeNode,
|
||||||
|
NewTemplate.Name,NewTemplate);
|
||||||
|
// insert in DefineTree
|
||||||
|
NewTemplate.InsertBehind(SelDefNode);
|
||||||
|
end else begin
|
||||||
|
// add as last root node
|
||||||
|
// add in TreeView
|
||||||
|
NewTreeNode:=DefineTreeView.Items.AddObject(nil,NewTemplate.Name,NewTemplate);
|
||||||
|
// add in DefineTree
|
||||||
|
DefineTree.Add(NewTemplate);
|
||||||
|
end;
|
||||||
|
// add childs to TreeView
|
||||||
|
AddChilds(NewTreeNode);
|
||||||
|
// show and select
|
||||||
|
SetNodeImages(NewTreeNode,true);
|
||||||
|
NewTreeNode.Selected:=true;
|
||||||
|
ShowSelectedValues;
|
||||||
|
end;
|
||||||
|
|
||||||
function TCodeToolsDefinesEditor.FindUniqueName: string;
|
function TCodeToolsDefinesEditor.FindUniqueName: string;
|
||||||
var i: integer;
|
var i: integer;
|
||||||
begin
|
begin
|
||||||
@ -1420,6 +1485,7 @@ procedure TCodeToolsDefinesEditor.Assign(ACodeToolBoss: TCodeToolManager;
|
|||||||
Options: TCodeToolsOptions);
|
Options: TCodeToolsOptions);
|
||||||
begin
|
begin
|
||||||
FLastSelectedNode:=nil;
|
FLastSelectedNode:=nil;
|
||||||
|
FBoss:=ACodeToolBoss;
|
||||||
FDefineTree.Assign(ACodeToolBoss.DefineTree);
|
FDefineTree.Assign(ACodeToolBoss.DefineTree);
|
||||||
RebuildDefineTreeView;
|
RebuildDefineTreeView;
|
||||||
ShowSelectedValues;
|
ShowSelectedValues;
|
||||||
|
Loading…
Reference in New Issue
Block a user