IDE: source editor: after adding a func() show parameter hints, patch #25911

git-svn-id: trunk@45421 -
This commit is contained in:
mattias 2014-06-09 08:08:50 +00:00
parent 717159b415
commit 4a7c59accf

View File

@ -1875,11 +1875,14 @@ var
CursorToLeft: integer; CursorToLeft: integer;
NewValue: String; NewValue: String;
OldCompletionType: TCompletionType; OldCompletionType: TCompletionType;
prototypeAdded: boolean;
SourceNoteBook: TSourceNotebook;
Begin Begin
{$IFDEF VerboseIDECompletionBox} {$IFDEF VerboseIDECompletionBox}
DebugLnEnter(['TSourceNotebook.ccComplete START']); DebugLnEnter(['TSourceNotebook.ccComplete START']);
try try
{$ENDIF} {$ENDIF}
prototypeAdded := false;
OldCompletionType:=CurrentCompletionType; OldCompletionType:=CurrentCompletionType;
case CurrentCompletionType of case CurrentCompletionType of
@ -1902,6 +1905,8 @@ Begin
// insert value plus special chars like brackets, semicolons, ... // insert value plus special chars like brackets, semicolons, ...
if ValueType <> icvNone then if ValueType <> icvNone then
Editor.TextBetweenPointsEx[SourceStart, SourceEnd, scamEnd] := NewValue; Editor.TextBetweenPointsEx[SourceStart, SourceEnd, scamEnd] := NewValue;
if ValueType in [icvProcWithParams,icvIndexedProp] then
prototypeAdded := true;
if CursorToLeft>0 then if CursorToLeft>0 then
begin begin
NewCaretXY:=Editor.CaretXY; NewCaretXY:=Editor.CaretXY;
@ -1954,7 +1959,16 @@ Begin
begin begin
SourceCompletionCaretXY:=Editor.CaretXY; SourceCompletionCaretXY:=Editor.CaretXY;
AutoStartCompletionBoxTimer.AutoEnabled:=true; AutoStartCompletionBoxTimer.AutoEnabled:=true;
end
else if prototypeAdded and EditorOpts.AutoDisplayFunctionPrototypes then
begin
if Editor.Owner is TSourceNoteBook then
begin
SourceNoteBook := Editor.Owner as TSourceNoteBook;
SourceNotebook.StartShowCodeContext(true);
end; end;
end;
{$IFDEF VerboseIDECompletionBox} {$IFDEF VerboseIDECompletionBox}
finally finally
DebugLnExit(['TSourceNotebook.ccComplete END']); DebugLnExit(['TSourceNotebook.ccComplete END']);