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