IDE: identifier completion: for classes show only inheritance

git-svn-id: trunk@24740 -
This commit is contained in:
mattias 2010-04-20 14:37:44 +00:00
parent 4d6771ef43
commit 782331fcb1

View File

@ -34,12 +34,12 @@ unit SourceEditProcs;
interface interface
uses uses
Classes, SysUtils, LCLProc, LCLType, GraphType, Graphics, Controls, Classes, SysUtils, LCLProc, LCLType, GraphType, Graphics, Controls, SynEdit,
SynEdit, SynEditHighlighter, SynRegExpr, SynCompletion, SynEditHighlighter, SynRegExpr, SynCompletion, BasicCodeTools, CodeTree,
BasicCodeTools, CodeTree, CodeAtom, CodeCache, SourceChanger, CodeToolManager, CodeAtom, CodeCache, SourceChanger, CodeToolManager, PascalParserTool,
PascalParserTool, KeywordFuncLists, FileProcs, IdentCompletionTool, KeywordFuncLists, FileProcs, IdentCompletionTool, PascalReaderTool,
LazIDEIntf, TextTools, IDETextConverter, LazIDEIntf, TextTools, IDETextConverter, DialogProcs, MainIntf, EditorOptions,
DialogProcs, MainIntf, EditorOptions, CodeToolsOptions; CodeToolsOptions;
type type
@ -217,6 +217,7 @@ var
AColor: TColor; AColor: TColor;
ANode: TCodeTreeNode; ANode: TCodeTreeNode;
ItemNode: TCodeTreeNode; ItemNode: TCodeTreeNode;
SubNode: TCodeTreeNode;
begin begin
Result.X := 0; Result.X := 0;
Result.Y := ACanvas.TextHeight('W'); Result.Y := ACanvas.TextHeight('W');
@ -342,7 +343,7 @@ begin
s:=IdentItem.Tool.ExtractProcHead(ItemNode, s:=IdentItem.Tool.ExtractProcHead(ItemNode,
[phpWithoutClassName,phpWithoutName,phpWithVarModifiers, [phpWithoutClassName,phpWithoutName,phpWithVarModifiers,
phpWithParameterNames,phpWithDefaultValues,phpWithResultType, phpWithParameterNames,phpWithDefaultValues,phpWithResultType,
phpWithOfObject]); phpWithOfObject,phpWithoutSemicolon]);
end; end;
ctnProperty: ctnProperty:
@ -361,7 +362,24 @@ begin
ctnTypeDefinition: ctnTypeDefinition:
begin begin
ANode:=IdentItem.Tool.FindTypeNodeOfDefinition(ItemNode); ANode:=IdentItem.Tool.FindTypeNodeOfDefinition(ItemNode);
s:=' = '+IdentItem.Tool.ExtractNode(ANode,[]); s:=' = ';
case ANode.Desc of
ctnClass,ctnObject,ctnObjCClass,ctnCPPClass:
begin
case ANode.Desc of
ctnClass: s:=s+'class';
ctnObject: s:=s+'object';
ctnObjCClass: s:=s+'objcclass';
ctnCPPClass: s:=s+'cppclass';
end;
IdentItem.Tool.BuildSubTree(ANode);
SubNode:=IdentItem.Tool.FindInheritanceNode(ANode);
if SubNode<>nil then
s:=s+IdentItem.Tool.ExtractNode(SubNode,[]);
end;
else
s:=s+IdentItem.Tool.ExtractNode(ANode,[]);
end;
end; end;
ctnConstDefinition: ctnConstDefinition: