mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-12 22:19:18 +02:00
SynEdit: invalidate if Markup.enable changes. Issue #0028729
git-svn-id: trunk@49891 -
This commit is contained in:
parent
316207d5d9
commit
8c427fe657
@ -52,6 +52,7 @@ type
|
|||||||
procedure DoLinesInWindoChanged(OldLinesInWindow : Integer); override;
|
procedure DoLinesInWindoChanged(OldLinesInWindow : Integer); override;
|
||||||
procedure DoTextChanged(StartLine, EndLine, ACountDiff: Integer); override;
|
procedure DoTextChanged(StartLine, EndLine, ACountDiff: Integer); override;
|
||||||
procedure DoMarkupChanged(AMarkup: TSynSelectedColor); override;
|
procedure DoMarkupChanged(AMarkup: TSynSelectedColor); override;
|
||||||
|
procedure DoEnabledChanged(Sender: TObject); override;
|
||||||
procedure DoVisibleChanged(AVisible: Boolean); override;
|
procedure DoVisibleChanged(AVisible: Boolean); override;
|
||||||
public
|
public
|
||||||
constructor Create(ASynEdit: TSynEditBase);
|
constructor Create(ASynEdit: TSynEditBase);
|
||||||
@ -174,6 +175,11 @@ begin
|
|||||||
InvalidateBracketHighlight;
|
InvalidateBracketHighlight;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TSynEditMarkupBracket.DoEnabledChanged(Sender: TObject);
|
||||||
|
begin
|
||||||
|
InvalidateBracketHighlight;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TSynEditMarkupBracket.DoVisibleChanged(AVisible: Boolean);
|
procedure TSynEditMarkupBracket.DoVisibleChanged(AVisible: Boolean);
|
||||||
begin
|
begin
|
||||||
inherited DoVisibleChanged(AVisible);
|
inherited DoVisibleChanged(AVisible);
|
||||||
|
@ -51,6 +51,8 @@ type
|
|||||||
procedure InternalUpdateCtrlMouse;
|
procedure InternalUpdateCtrlMouse;
|
||||||
protected
|
protected
|
||||||
procedure SetLines(const AValue : TSynEditStrings); override;
|
procedure SetLines(const AValue : TSynEditStrings); override;
|
||||||
|
procedure DoMarkupChanged(AMarkup: TSynSelectedColor); override;
|
||||||
|
procedure DoEnabledChanged(Sender: TObject); override;
|
||||||
public
|
public
|
||||||
procedure UpdateCtrlState(aShift: TShiftState);
|
procedure UpdateCtrlState(aShift: TShiftState);
|
||||||
procedure UpdateCtrlMouse;
|
procedure UpdateCtrlMouse;
|
||||||
@ -133,8 +135,8 @@ procedure TSynEditMarkupCtrlMouseLink.InternalUpdateCtrlMouse;
|
|||||||
|
|
||||||
procedure doNotShowLink;
|
procedure doNotShowLink;
|
||||||
begin
|
begin
|
||||||
if CtrlMouseLine > 0 then
|
if FCtrlMouseLine >= 0 then
|
||||||
TCustomSynEdit(SynEdit).Invalidate;
|
InvalidateSynLines(FCtrlMouseLine, FCtrlMouseLine);
|
||||||
FCursor := crDefault;
|
FCursor := crDefault;
|
||||||
CtrlMouseLine:=-1;
|
CtrlMouseLine:=-1;
|
||||||
FCtrlLinkable := False;
|
FCtrlLinkable := False;
|
||||||
@ -152,11 +154,13 @@ begin
|
|||||||
(NewX2 = CtrlMouseX2)
|
(NewX2 = CtrlMouseX2)
|
||||||
then
|
then
|
||||||
exit;
|
exit;
|
||||||
|
if (FCtrlMouseLine >= 0) and (FCtrlMouseLine <> NewY) then
|
||||||
|
InvalidateSynLines(FCtrlMouseLine, FCtrlMouseLine);
|
||||||
FCtrlLinkable := TCustomSynEdit(SynEdit).IsLinkable(NewY, NewX1, NewX2);
|
FCtrlLinkable := TCustomSynEdit(SynEdit).IsLinkable(NewY, NewX1, NewX2);
|
||||||
CtrlMouseLine := fLastMouseCaret.Y;
|
CtrlMouseLine := fLastMouseCaret.Y;
|
||||||
CtrlMouseX1 := NewX1;
|
CtrlMouseX1 := NewX1;
|
||||||
CtrlMouseX2 := NewX2;
|
CtrlMouseX2 := NewX2;
|
||||||
TCustomSynEdit(SynEdit).Invalidate;
|
InvalidateSynLines(FCtrlMouseLine, FCtrlMouseLine);
|
||||||
if FCtrlLinkable then
|
if FCtrlLinkable then
|
||||||
FCursor := crHandPoint
|
FCursor := crHandPoint
|
||||||
else
|
else
|
||||||
@ -238,6 +242,21 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TSynEditMarkupCtrlMouseLink.DoMarkupChanged(AMarkup: TSynSelectedColor
|
||||||
|
);
|
||||||
|
begin
|
||||||
|
inherited DoMarkupChanged(AMarkup);
|
||||||
|
if FCtrlMouseLine >= 0 then
|
||||||
|
InvalidateSynLines(FCtrlMouseLine, FCtrlMouseLine);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TSynEditMarkupCtrlMouseLink.DoEnabledChanged(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited DoEnabledChanged(Sender);
|
||||||
|
if FCtrlMouseLine >= 0 then
|
||||||
|
InvalidateSynLines(FCtrlMouseLine, FCtrlMouseLine);
|
||||||
|
end;
|
||||||
|
|
||||||
function TSynEditMarkupCtrlMouseLink.GetMarkupAttributeAtRowCol(const aRow: Integer;
|
function TSynEditMarkupCtrlMouseLink.GetMarkupAttributeAtRowCol(const aRow: Integer;
|
||||||
const aStartCol: TLazSynDisplayTokenBound; const AnRtlInfo: TLazSynDisplayRtlInfo): TSynSelectedColor;
|
const aStartCol: TLazSynDisplayTokenBound; const AnRtlInfo: TLazSynDisplayRtlInfo): TSynSelectedColor;
|
||||||
begin
|
begin
|
||||||
|
@ -147,6 +147,7 @@ type
|
|||||||
procedure DoTopLineChanged(OldTopLine : Integer); override;
|
procedure DoTopLineChanged(OldTopLine : Integer); override;
|
||||||
procedure DoLinesInWindoChanged(OldLinesInWindow : Integer); override;
|
procedure DoLinesInWindoChanged(OldLinesInWindow : Integer); override;
|
||||||
procedure DoMarkupChanged(AMarkup: TSynSelectedColor); override;
|
procedure DoMarkupChanged(AMarkup: TSynSelectedColor); override;
|
||||||
|
procedure DoEnabledChanged(Sender: TObject); override;
|
||||||
procedure DoTextChanged(StartLine, EndLine, ACountDiff: Integer); override; // 1 based
|
procedure DoTextChanged(StartLine, EndLine, ACountDiff: Integer); override; // 1 based
|
||||||
procedure DoVisibleChanged(AVisible: Boolean); override;
|
procedure DoVisibleChanged(AVisible: Boolean); override;
|
||||||
function HasVisibleMatch: Boolean; // does not check, if in visible line range. Only Count and DideSingleMatch
|
function HasVisibleMatch: Boolean; // does not check, if in visible line range. Only Count and DideSingleMatch
|
||||||
@ -1968,6 +1969,11 @@ begin
|
|||||||
FMarkupEnabled := MarkupInfo.IsEnabled;
|
FMarkupEnabled := MarkupInfo.IsEnabled;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TSynEditMarkupHighlightAllBase.DoEnabledChanged(Sender: TObject);
|
||||||
|
begin
|
||||||
|
Invalidate;
|
||||||
|
end;
|
||||||
|
|
||||||
function TSynEditMarkupHighlightAllBase.GetMatchCount: Integer;
|
function TSynEditMarkupHighlightAllBase.GetMatchCount: Integer;
|
||||||
begin
|
begin
|
||||||
Result := fMatches.Count;
|
Result := fMatches.Count;
|
||||||
|
@ -46,6 +46,7 @@ type
|
|||||||
procedure MarkupChangedIntern(AMarkup: TObject);
|
procedure MarkupChangedIntern(AMarkup: TObject);
|
||||||
protected
|
protected
|
||||||
procedure DoMarkupChanged(AMarkup: TSynSelectedColor); override;
|
procedure DoMarkupChanged(AMarkup: TSynSelectedColor); override;
|
||||||
|
procedure DoEnabledChanged(Sender: TObject); override;
|
||||||
public
|
public
|
||||||
constructor Create(ASynEdit : TSynEditBase; ASelection: TSynEditSelection);
|
constructor Create(ASynEdit : TSynEditBase; ASelection: TSynEditSelection);
|
||||||
destructor Destroy; override;
|
destructor Destroy; override;
|
||||||
@ -106,6 +107,11 @@ begin
|
|||||||
InvalidateSynLines(p1.y, p2.y);
|
InvalidateSynLines(p1.y, p2.y);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TSynEditMarkupSelection.DoEnabledChanged(Sender: TObject);
|
||||||
|
begin
|
||||||
|
DoMarkupChanged(nil);
|
||||||
|
end;
|
||||||
|
|
||||||
constructor TSynEditMarkupSelection.Create(ASynEdit : TSynEditBase; ASelection: TSynEditSelection);
|
constructor TSynEditMarkupSelection.Create(ASynEdit : TSynEditBase; ASelection: TSynEditSelection);
|
||||||
begin
|
begin
|
||||||
inherited Create(ASynEdit);
|
inherited Create(ASynEdit);
|
||||||
|
@ -42,6 +42,7 @@ type
|
|||||||
procedure SetVisibleSpecialChars(AValue: TSynVisibleSpecialChars);
|
procedure SetVisibleSpecialChars(AValue: TSynVisibleSpecialChars);
|
||||||
protected
|
protected
|
||||||
procedure DoMarkupChanged(AMarkup: TSynSelectedColor); override;
|
procedure DoMarkupChanged(AMarkup: TSynSelectedColor); override;
|
||||||
|
procedure DoEnabledChanged(Sender: TObject); override;
|
||||||
function IsSpecial(pos: Integer): Boolean; inline;
|
function IsSpecial(pos: Integer): Boolean; inline;
|
||||||
public
|
public
|
||||||
constructor Create(ASynEdit : TSynEditBase);
|
constructor Create(ASynEdit : TSynEditBase);
|
||||||
@ -73,7 +74,13 @@ end;
|
|||||||
procedure TSynEditMarkupSpecialChar.DoMarkupChanged(AMarkup: TSynSelectedColor);
|
procedure TSynEditMarkupSpecialChar.DoMarkupChanged(AMarkup: TSynSelectedColor);
|
||||||
begin
|
begin
|
||||||
inherited DoMarkupChanged(AMarkup);
|
inherited DoMarkupChanged(AMarkup);
|
||||||
FHasMarkup := AMarkup.IsEnabled;
|
FHasMarkup := RealEnabled;
|
||||||
|
SynEdit.Invalidate;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TSynEditMarkupSpecialChar.DoEnabledChanged(Sender: TObject);
|
||||||
|
begin
|
||||||
|
FHasMarkup := RealEnabled;
|
||||||
SynEdit.Invalidate;
|
SynEdit.Invalidate;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
@ -52,6 +52,7 @@ type
|
|||||||
procedure DoLinesInWindoChanged(OldLinesInWindow : Integer); override;
|
procedure DoLinesInWindoChanged(OldLinesInWindow : Integer); override;
|
||||||
procedure DoTextChanged(StartLine, EndLine, ACountDiff: Integer); override;
|
procedure DoTextChanged(StartLine, EndLine, ACountDiff: Integer); override;
|
||||||
procedure DoMarkupChanged(AMarkup: TSynSelectedColor); override;
|
procedure DoMarkupChanged(AMarkup: TSynSelectedColor); override;
|
||||||
|
procedure DoEnabledChanged(Sender: TObject); override;
|
||||||
public
|
public
|
||||||
constructor Create(ASynEdit: TSynEditBase);
|
constructor Create(ASynEdit: TSynEditBase);
|
||||||
destructor Destroy; override;
|
destructor Destroy; override;
|
||||||
@ -122,6 +123,11 @@ begin
|
|||||||
InvalidateLineHighlight;
|
InvalidateLineHighlight;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TSynEditMarkupSpecialLine.DoEnabledChanged(Sender: TObject);
|
||||||
|
begin
|
||||||
|
InvalidateLineHighlight;
|
||||||
|
end;
|
||||||
|
|
||||||
function TSynEditMarkupSpecialLine.RealEnabled: Boolean;
|
function TSynEditMarkupSpecialLine.RealEnabled: Boolean;
|
||||||
begin
|
begin
|
||||||
Result := Enabled and
|
Result := Enabled and
|
||||||
|
@ -56,6 +56,7 @@ type
|
|||||||
procedure DoLinesInWindoChanged(OldLinesInWindow : Integer); override;
|
procedure DoLinesInWindoChanged(OldLinesInWindow : Integer); override;
|
||||||
procedure DoTextChanged(StartLine, EndLine, ACountDiff: Integer); override;
|
procedure DoTextChanged(StartLine, EndLine, ACountDiff: Integer); override;
|
||||||
procedure DoMarkupChanged(AMarkup: TSynSelectedColor); override;
|
procedure DoMarkupChanged(AMarkup: TSynSelectedColor); override;
|
||||||
|
procedure DoEnabledChanged(Sender: TObject); override;
|
||||||
procedure DoVisibleChanged(AVisible: Boolean); override;
|
procedure DoVisibleChanged(AVisible: Boolean); override;
|
||||||
procedure InvalidateCurrentHighlight;
|
procedure InvalidateCurrentHighlight;
|
||||||
public
|
public
|
||||||
@ -331,6 +332,12 @@ begin
|
|||||||
InvalidateCurrentHighlight;
|
InvalidateCurrentHighlight;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TSynEditMarkupWordGroup.DoEnabledChanged(Sender: TObject);
|
||||||
|
begin
|
||||||
|
FForceInvalidate := True;
|
||||||
|
InvalidateCurrentHighlight;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TSynEditMarkupWordGroup.DoVisibleChanged(AVisible: Boolean);
|
procedure TSynEditMarkupWordGroup.DoVisibleChanged(AVisible: Boolean);
|
||||||
begin
|
begin
|
||||||
inherited DoVisibleChanged(AVisible);
|
inherited DoVisibleChanged(AVisible);
|
||||||
|
Loading…
Reference in New Issue
Block a user