mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-05-02 23:23:48 +02:00
synedit: allow code folding tree color customization
git-svn-id: trunk@18046 -
This commit is contained in:
parent
ad86924500
commit
28544c79b9
@ -471,6 +471,7 @@ type
|
||||
function GetLineHighlightColor: TSynSelectedColor;
|
||||
function GetLineNumberColor: TSynSelectedColor;
|
||||
function GetModifiedLineColor: TSynSelectedColor;
|
||||
function GetCodeFoldingTreeColor: TSynSelectedColor;
|
||||
function GetOnGutterClick : TGutterClickEvent;
|
||||
function GetSelectedColor : TSynSelectedColor;
|
||||
function GetBracketMatchColor : TSynSelectedColor;
|
||||
@ -938,6 +939,7 @@ type
|
||||
property LineNumberColor: TSynSelectedColor read GetLineNumberColor;
|
||||
property LineHighlightColor: TSynSelectedColor read GetLineHighlightColor;
|
||||
property ModifiedLineColor: TSynSelectedColor read GetModifiedLineColor;
|
||||
property CodeFoldingTreeColor: TSynSelectedColor read GetCodeFoldingTreeColor;
|
||||
property BracketHighlightStyle: TSynEditBracketHighlightStyle
|
||||
read GetBracketHighlightStyle write SetBracketHighlightStyle;
|
||||
//property Color: TSynSelectedColor read GetSelectedColor;
|
||||
@ -1083,6 +1085,7 @@ type
|
||||
property BracketHighlightStyle;
|
||||
property BracketMatchColor;
|
||||
property ModifiedLineColor;
|
||||
property CodeFoldingTreeColor;
|
||||
property MouseLinkColor;
|
||||
property LineNumberColor;
|
||||
property LineHighlightColor;
|
||||
@ -4103,6 +4106,11 @@ begin
|
||||
Result := Point(CaretX, CaretY);
|
||||
end;
|
||||
|
||||
function TCustomSynEdit.GetCodeFoldingTreeColor: TSynSelectedColor;
|
||||
begin
|
||||
Result := fGutter.MarkupInfoCodeFoldingTree;
|
||||
end;
|
||||
|
||||
procedure TCustomSynEdit.SetCaretXY(Value: TPoint);
|
||||
// physical position (screen)
|
||||
var
|
||||
|
@ -157,6 +157,7 @@ type
|
||||
procedure SetShowOnlyLineNumbersMultiplesOf(const AValue: integer);
|
||||
function GetMarkupInfoLineNumber: TSynSelectedColor;
|
||||
function GetMarkupInfoModifiedLine: TSynSelectedColor;
|
||||
function GetMarkupInfoCodeFoldingTree: TSynSelectedColor;
|
||||
function GetDigitCount : Integer;
|
||||
function GetZeroStart : Boolean;
|
||||
function GetShowOnlyLineNumbersMultiplesOf : Integer;
|
||||
@ -206,6 +207,7 @@ type
|
||||
property ZeroStart: boolean read GetZeroStart write SetZeroStart;
|
||||
property MarkupInfoLineNumber: TSynSelectedColor read GetMarkupInfoLineNumber;
|
||||
property MarkupInfoModifiedLine: TSynSelectedColor read GetMarkupInfoModifiedLine;
|
||||
property MarkupInfoCodeFoldingTree: TSynSelectedColor read GetMarkupInfoCodeFoldingTree;
|
||||
property LeadingZeros: boolean read GetLeadingZeros write SetLeadingZeros
|
||||
default FALSE;
|
||||
property DigitCount: integer read GetDigitCount write SetDigitCount
|
||||
@ -479,6 +481,11 @@ begin
|
||||
Result := TSynGutterPartBase(FGutterPartList[Index]);
|
||||
end;
|
||||
|
||||
function TSynGutter.GetMarkupInfoCodeFoldingTree: TSynSelectedColor;
|
||||
begin
|
||||
Result := TSynGutterCodeFolding(FCodeFoldGutter).MarkupInfoCodeFoldingTree;
|
||||
end;
|
||||
|
||||
procedure TSynGutter.SetLeftOffset(Value: integer);
|
||||
begin
|
||||
Value := Max(0, Value);
|
||||
|
@ -95,7 +95,7 @@ begin
|
||||
Canvas.FillRect(AClip);
|
||||
end;
|
||||
|
||||
Canvas.Pen.Width := Width ;
|
||||
Canvas.Pen.Width := Width;
|
||||
Canvas.Pen.EndCap:= pecFlat;
|
||||
|
||||
rcLine := AClip;
|
||||
|
@ -16,7 +16,7 @@ type
|
||||
private
|
||||
FEdit: TSynEditBase;
|
||||
FFoldView: TSynEditFoldedView;
|
||||
|
||||
FMarkupInfoCodeFoldingTree: TSynSelectedColor;
|
||||
public
|
||||
constructor Create(AOwner : TSynEditBase; AFoldView : TSynEditFoldedView);
|
||||
|
||||
@ -25,6 +25,7 @@ type
|
||||
function RealGutterWidth(CharWidth: integer): integer; override;
|
||||
procedure DoOnGutterClick(X, Y: integer); override;
|
||||
public
|
||||
property MarkupInfoCodeFoldingTree: TSynSelectedColor read FMarkupInfoCodeFoldingTree;
|
||||
end;
|
||||
|
||||
implementation
|
||||
@ -40,6 +41,12 @@ begin
|
||||
FEdit := AOwner;
|
||||
FFoldView := AFoldView;
|
||||
|
||||
FMarkupInfoCodeFoldingTree := TSynSelectedColor.Create;
|
||||
FMarkupInfoCodeFoldingTree.Background := clNone;
|
||||
FMarkupInfoCodeFoldingTree.Foreground := clDkGray;
|
||||
FMarkupInfoCodeFoldingTree.FrameColor := clNone;
|
||||
FMarkupInfoCodeFoldingTree.OnChange := @DoChange;
|
||||
|
||||
Width := 14;
|
||||
end;
|
||||
|
||||
@ -64,7 +71,6 @@ procedure TSynGutterCodeFolding.Paint(Canvas : TCanvas; AClip : TRect; FirstLine
|
||||
var
|
||||
iLine: integer;
|
||||
rcLine: TRect;
|
||||
dc: HDC;
|
||||
rcCodeFold: TRect;
|
||||
tmp: TSynEditCodeFoldType;
|
||||
LineHeight, LineOffset: Integer;
|
||||
@ -138,15 +144,19 @@ begin
|
||||
if not Visible then exit;
|
||||
LineHeight := TSynEdit(FEdit).LineHeight;
|
||||
LineOffset := 0;
|
||||
Canvas.Brush.Color := Color;
|
||||
dc := Canvas.Handle;
|
||||
{$IFDEF SYN_LAZARUS}
|
||||
LCLIntf.SetBkColor(dc,Canvas.Brush.Color);
|
||||
{$ENDIF}
|
||||
|
||||
if MarkupInfoCodeFoldingTree.Background <> clNone then
|
||||
begin
|
||||
Canvas.Brush.Color := MarkupInfoCodeFoldingTree.Background;
|
||||
{$IFDEF SYN_LAZARUS}
|
||||
LCLIntf.SetBkColor(Canvas.Handle, Canvas.Brush.Color);
|
||||
{$ENDIF}
|
||||
Canvas.FillRect(AClip);
|
||||
end;
|
||||
|
||||
with Canvas do
|
||||
begin
|
||||
Pen.Color := clDkGray;
|
||||
Pen.Color := MarkupInfoCodeFoldingTree.Foreground;
|
||||
Pen.Width := 1;
|
||||
|
||||
rcLine.Bottom := FirstLine * LineHeight;
|
||||
|
Loading…
Reference in New Issue
Block a user