mirror of
https://github.com/doublecmd/doublecmd.git
synced 2026-06-21 09:58:13 +00:00
parent
dcebbd4c56
commit
156d29cf21
1 changed files with 28 additions and 9 deletions
|
|
@ -7,7 +7,7 @@ interface
|
|||
uses
|
||||
Classes, SysUtils, Graphics, SynEdit, LCLVersion,
|
||||
SynEditMiscClasses, SynGutterBase, SynTextDrawer,
|
||||
LazSynEditText, uDiffOND;
|
||||
SynGutter, LazSynEditText, uDiffOND;
|
||||
|
||||
const
|
||||
{ Default differ colors }
|
||||
|
|
@ -39,6 +39,13 @@ type
|
|||
property Deleted: TColor index ckDelete read GetColor write SetColor;
|
||||
end;
|
||||
|
||||
{ TSynDiffGutter }
|
||||
|
||||
TSynDiffGutter = class(TSynGutter)
|
||||
protected
|
||||
procedure CreateDefaultGutterParts; override;
|
||||
end;
|
||||
|
||||
{ TSynDiffGutterLineNumber }
|
||||
|
||||
TSynDiffGutterLineNumber = class(TSynGutterPartBase)
|
||||
|
|
@ -93,6 +100,8 @@ type
|
|||
procedure SetOriginalFile(const AValue: TSynDiffEdit);
|
||||
procedure SetPaintStyle(const AValue: TPaintStyle);
|
||||
protected
|
||||
function CreateGutter(AOwner: TSynEditBase; ASide: TSynGutterSide;
|
||||
ATextDrawer: TheTextDrawer): TSynGutter; override;
|
||||
procedure SpecialLineMarkupEvent(Sender: TObject; Line: Integer;
|
||||
var Special: boolean; AMarkup: TSynSelectedColor);
|
||||
public
|
||||
|
|
@ -177,6 +186,18 @@ begin
|
|||
end;
|
||||
end;
|
||||
|
||||
{ TSynDiffGutter }
|
||||
|
||||
procedure TSynDiffGutter.CreateDefaultGutterParts;
|
||||
begin
|
||||
if Side <> gsLeft then Exit;
|
||||
|
||||
with TSynDiffGutterLineNumber.Create(Parts) do
|
||||
Name:= 'SynDiffGutterLineNumber';
|
||||
with TSynDiffGutterChanges.Create(Parts) do
|
||||
Name:= 'SynDiffGutterChanges';
|
||||
end;
|
||||
|
||||
{ TSynDiffEdit }
|
||||
|
||||
procedure TSynDiffEdit.SetModifiedFile(const AValue: TSynDiffEdit);
|
||||
|
|
@ -208,6 +229,12 @@ begin
|
|||
end;
|
||||
end;
|
||||
|
||||
function TSynDiffEdit.CreateGutter(AOwner: TSynEditBase; ASide: TSynGutterSide;
|
||||
ATextDrawer: TheTextDrawer): TSynGutter;
|
||||
begin
|
||||
Result := TSynDiffGutter.Create(AOwner, ASide, ATextDrawer);
|
||||
end;
|
||||
|
||||
procedure TSynDiffEdit.SpecialLineMarkupEvent(Sender: TObject; Line: Integer;
|
||||
var Special: boolean; AMarkup: TSynSelectedColor);
|
||||
var
|
||||
|
|
@ -284,14 +311,6 @@ end;
|
|||
constructor TSynDiffEdit.Create(AOwner: TComponent);
|
||||
begin
|
||||
inherited Create(AOwner);
|
||||
if not (csLoading in AOwner.ComponentState) then
|
||||
begin
|
||||
Gutter.Parts.Clear;
|
||||
with TSynDiffGutterLineNumber.Create(Gutter.Parts) do
|
||||
Name:= 'SynDiffGutterLineNumber';
|
||||
with TSynDiffGutterChanges.Create(Gutter.Parts) do
|
||||
Name:= 'SynDiffGutterChanges';
|
||||
end;
|
||||
Color:= clWindow;
|
||||
Font.Color:= clWindowText;
|
||||
FPaintStyle:= psBackground;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue