mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-07 09:20:48 +02:00
implemented breakpoints hints for source editor
git-svn-id: trunk@3119 -
This commit is contained in:
parent
4e3c148fcc
commit
bf2faf1d8c
@ -1174,14 +1174,14 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
function TSourceEditor.GetBreakPointMark(const ALine: Integer): TSynEditMark;
|
function TSourceEditor.GetBreakPointMark(const ALine: Integer): TSynEditMark;
|
||||||
var
|
var
|
||||||
n: Integer;
|
n: Integer;
|
||||||
AllMarks: TSynEditMarks;
|
AllMarks: TSynEditMarks;
|
||||||
begin
|
begin
|
||||||
FEditor.Marks.GetMarksForLine(ALine, AllMarks);
|
FEditor.Marks.GetMarksForLine(ALine, AllMarks);
|
||||||
|
|
||||||
for n := 1 to maxMarks do
|
for n := 1 to maxMarks do
|
||||||
begin
|
begin
|
||||||
Result := AllMarks[n];
|
Result := AllMarks[n];
|
||||||
if IsBreakPointMark(Result) then Exit;
|
if IsBreakPointMark(Result) then Exit;
|
||||||
end;
|
end;
|
||||||
@ -4007,7 +4007,10 @@ var
|
|||||||
ASynEdit: TSynEdit;
|
ASynEdit: TSynEdit;
|
||||||
EditCaret: TPoint;
|
EditCaret: TPoint;
|
||||||
LineMarks: TSynEditMarks;
|
LineMarks: TSynEditMarks;
|
||||||
LineMark: TSynEditMark;
|
AMark: TSourceMark;
|
||||||
|
i: integer;
|
||||||
|
HintStr: String;
|
||||||
|
CurHint: String;
|
||||||
begin
|
begin
|
||||||
// hide other hints
|
// hide other hints
|
||||||
Application.HideHint;
|
Application.HideHint;
|
||||||
@ -4021,12 +4024,19 @@ begin
|
|||||||
if (EditCaret.Y<1) then exit;
|
if (EditCaret.Y<1) then exit;
|
||||||
if EditPos.X<ASynEdit.Gutter.Width then begin
|
if EditPos.X<ASynEdit.Gutter.Width then begin
|
||||||
// hint for a gutter item
|
// hint for a gutter item
|
||||||
ASynEdit.Marks.GetMarksForLine(EditCaret.Y,LineMarks);
|
if EditorOpts.ShowGutterHints then begin
|
||||||
LineMark:=LineMarks[Low(TSynEditMarks)];
|
ASynEdit.Marks.GetMarksForLine(EditCaret.Y,LineMarks);
|
||||||
if LineMark<>nil then begin
|
HintStr:='';
|
||||||
|
for i:=Low(TSynEditMarks) to High(TSynEditMarks) do begin
|
||||||
// ToDo: give a hint about the mark (e.g. breakpoint properties)
|
AMark:=TSourceMark(LineMarks[i]);
|
||||||
|
if not (AMark is TSourceMark) then continue;
|
||||||
|
CurHint:=AMark.GetHint;
|
||||||
|
if CurHint='' then continue;
|
||||||
|
if HintStr<>'' then HintStr:=HintStr+EndOfLine;
|
||||||
|
HintStr:=HintStr+CurHint;
|
||||||
|
end;
|
||||||
|
if HintStr<>'' then
|
||||||
|
ActivateHint(MousePos,HintStr);
|
||||||
end;
|
end;
|
||||||
end else begin
|
end else begin
|
||||||
// hint for source
|
// hint for source
|
||||||
|
Loading…
Reference in New Issue
Block a user