mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-28 17:00:57 +02:00
IDE: check smart hint word: simplified
git-svn-id: trunk@49873 -
This commit is contained in:
parent
d5bd14f7ac
commit
df23bf086e
31
ide/main.pp
31
ide/main.pp
@ -69,7 +69,7 @@ uses
|
|||||||
// CodeTools
|
// CodeTools
|
||||||
FileProcs, FindDeclarationTool, LinkScanner, BasicCodeTools, CodeToolsStructs,
|
FileProcs, FindDeclarationTool, LinkScanner, BasicCodeTools, CodeToolsStructs,
|
||||||
CodeToolManager, CodeCache, DefineTemplates, KeywordFuncLists, CodeTree,
|
CodeToolManager, CodeCache, DefineTemplates, KeywordFuncLists, CodeTree,
|
||||||
StdCodeTools, CodeAtom,
|
StdCodeTools,
|
||||||
// LazUtils
|
// LazUtils
|
||||||
// use lazutf8, lazfileutils and lazfilecache after FileProcs and FileUtil
|
// use lazutf8, lazfileutils and lazfilecache after FileProcs and FileUtil
|
||||||
FileUtil, LazFileUtils, LazFileCache, LazUTF8, LazUTF8Classes, UTF8Process,
|
FileUtil, LazFileUtils, LazFileCache, LazUTF8, LazUTF8Classes, UTF8Process,
|
||||||
@ -10361,7 +10361,7 @@ var
|
|||||||
HasHint: Boolean;
|
HasHint: Boolean;
|
||||||
p: SizeInt;
|
p: SizeInt;
|
||||||
Opts: TDBGEvaluateFlags;
|
Opts: TDBGEvaluateFlags;
|
||||||
AbsPos: integer;
|
AtomStartPos, AtomEndPos: integer;
|
||||||
AtomRect: TRect;
|
AtomRect: TRect;
|
||||||
begin
|
begin
|
||||||
//DebugLn(['TMainIDE.OnSrcNotebookShowHintForSource START']);
|
//DebugLn(['TMainIDE.OnSrcNotebookShowHintForSource START']);
|
||||||
@ -10448,31 +10448,10 @@ begin
|
|||||||
begin
|
begin
|
||||||
//Find start of identifier
|
//Find start of identifier
|
||||||
AtomRect := Rect(-1,-1,-1,-1);
|
AtomRect := Rect(-1,-1,-1,-1);
|
||||||
SrcEdit.CodeBuffer.LineColToPosition(CaretPos.y, CaretPos.x, AbsPos);
|
SrcEdit.EditorComponent.GetWordBoundsAtRowCol(CaretPos, AtomStartPos, AtomEndPos);
|
||||||
if (AbsPos > 0) and (AbsPos <= SrcEdit.CodeBuffer.SourceLength) and
|
AtomRect.TopLeft := SrcEdit.EditorComponent.RowColumnToPixels(Point(AtomStartPos, CaretPos.y));
|
||||||
CodeToolBoss.InitCurCodeTool(SrcEdit.CodeBuffer)
|
AtomRect.BottomRight := SrcEdit.EditorComponent.RowColumnToPixels(Point(AtomEndPos, CaretPos.y));
|
||||||
then
|
|
||||||
begin
|
|
||||||
CodeToolBoss.CurCodeTool.BuildTree(lsrInit);
|
|
||||||
CodeToolBoss.CurCodeTool.MoveCursorToCleanPos(AbsPos);
|
|
||||||
CodeToolBoss.CurCodeTool.ReadPriorAtom;
|
|
||||||
CodeToolBoss.CurCodeTool.MoveCursorToCleanPos(CodeToolBoss.CurCodeTool.CurPos.StartPos);
|
|
||||||
repeat
|
|
||||||
CodeToolBoss.CurCodeTool.ReadNextAtom;
|
|
||||||
until CodeToolBoss.CurCodeTool.CurPos.Flag = cafWord;
|
|
||||||
SrcEdit.CodeBuffer.AbsoluteToLineCol(CodeToolBoss.CurCodeTool.CurPos.StartPos,
|
|
||||||
AtomRect.Top, AtomRect.Left);
|
|
||||||
SrcEdit.CodeBuffer.AbsoluteToLineCol(CodeToolBoss.CurCodeTool.CurPos.EndPos,
|
|
||||||
AtomRect.Bottom, AtomRect.Right);
|
|
||||||
AtomRect.TopLeft := SrcEdit.EditorComponent.RowColumnToPixels(AtomRect.TopLeft);
|
|
||||||
AtomRect.BottomRight := SrcEdit.EditorComponent.RowColumnToPixels(AtomRect.BottomRight);
|
|
||||||
Inc(AtomRect.Bottom, SrcEdit.EditorComponent.LineHeight);
|
Inc(AtomRect.Bottom, SrcEdit.EditorComponent.LineHeight);
|
||||||
end;
|
|
||||||
if (AtomRect.Left = -1) then//something went wrong, use position of caret
|
|
||||||
begin
|
|
||||||
AtomRect.TopLeft:=SrcEdit.EditorComponent.RowColumnToPixels(CaretPos);
|
|
||||||
AtomRect.BottomRight:=AtomRect.TopLeft;
|
|
||||||
end;
|
|
||||||
|
|
||||||
SrcEdit.ActivateHint(AtomRect, BaseURL, SmartHintStr, AutoShown);
|
SrcEdit.ActivateHint(AtomRect, BaseURL, SmartHintStr, AutoShown);
|
||||||
end;
|
end;
|
||||||
|
Loading…
Reference in New Issue
Block a user