diff --git a/components/synedit/synedit.pp b/components/synedit/synedit.pp index ffdc29a87d..43469ba974 100644 --- a/components/synedit/synedit.pp +++ b/components/synedit/synedit.pp @@ -264,8 +264,6 @@ type TCustomSynEdit = class; - TSynLineState = (slsNone, slsSaved, slsUnsaved); - { TLazSynEditPlugin } @@ -947,7 +945,7 @@ type ); - function GetLineState(ALine: Integer): TSynLineState; + function GetLineState(ALine: Integer): TSynLineState; override; procedure MarkTextAsSaved; // BoorMark diff --git a/components/synedit/syneditmiscclasses.pp b/components/synedit/syneditmiscclasses.pp index 6cf597279d..9960e5bd86 100644 --- a/components/synedit/syneditmiscclasses.pp +++ b/components/synedit/syneditmiscclasses.pp @@ -291,6 +291,9 @@ type procedure InvalidateLine(Line: integer); virtual; abstract; procedure InvalidateGutterLines(FirstLine, LastLine: integer); virtual; abstract; // Currently invalidates full line => that may change procedure InvalidateLines(FirstLine, LastLine: integer); virtual; abstract; + + // text / lines + function GetLineState(ALine: Integer): TSynLineState; virtual; abstract; public // Byte to Char function LogicalToPhysicalPos(const p: TPoint): TPoint; virtual; abstract; diff --git a/components/synedit/synedittypes.pp b/components/synedit/synedittypes.pp index 1245e671c3..2459409a3c 100644 --- a/components/synedit/synedittypes.pp +++ b/components/synedit/synedittypes.pp @@ -67,6 +67,7 @@ type X, Y, Offs: Integer; end; + TSynLineState = (slsNone, slsSaved, slsUnsaved); TSynCoordinateMappingFlag = ( scmLimitToLines, diff --git a/components/synedit/syngutterchanges.pas b/components/synedit/syngutterchanges.pas index 45694b149e..944616ac76 100644 --- a/components/synedit/syngutterchanges.pas +++ b/components/synedit/syngutterchanges.pas @@ -6,7 +6,7 @@ interface uses Classes, FPCanvas, Graphics, LCLType, LCLIntf, SynGutterBase, - SynEditMiscProcs, LazSynEditText; + SynEditMiscProcs, LazSynEditText, SynEditTypes; type { TSynGutterChanges } @@ -29,8 +29,6 @@ type end; implementation -uses - SynEdit; { TSynGutterChanges } @@ -82,8 +80,8 @@ var begin if not Visible then exit; - LineHeight := TCustomSynEdit(SynEdit).LineHeight; - c := TCustomSynEdit(SynEdit).Lines.Count; + LineHeight := SynEdit.LineHeight; + c := SynEdit.Lines.Count; t := ToIdx(GutterArea.TextArea.TopLine); if MarkupInfo.Background <> clNone then @@ -108,7 +106,7 @@ begin rcLine.Top := rcLine.Bottom; Inc(rcLine.Bottom, LineHeight); - case TCustomSynEdit(SynEdit).GetLineState(iLine) of + case SynEdit.GetLineState(iLine) of slsNone: ; slsSaved: begin