IDE: Make Synedit's overview gutter available

git-svn-id: trunk@35462 -
This commit is contained in:
martin 2012-02-18 18:41:26 +00:00
parent a3467f2bc3
commit 00b66e9c44
8 changed files with 183 additions and 204 deletions

View File

@ -169,6 +169,7 @@ type
procedure DoAutoSize; procedure DoAutoSize;
procedure SetAutoSize(const AValue : boolean); virtual; procedure SetAutoSize(const AValue : boolean); virtual;
procedure SetVisible(const AValue : boolean); virtual; procedure SetVisible(const AValue : boolean); virtual;
procedure GutterVisibilityChanged; virtual;
procedure SetWidth(const AValue : integer); virtual; procedure SetWidth(const AValue : integer); virtual;
procedure Init; override; procedure Init; override;
procedure DoResize(Sender: TObject); virtual; procedure DoResize(Sender: TObject); virtual;
@ -389,12 +390,16 @@ begin
end; end;
procedure TSynGutterBase.SetVisible(const AValue: boolean); procedure TSynGutterBase.SetVisible(const AValue: boolean);
var
i: Integer;
begin begin
if FVisible <> AValue then if FVisible <> AValue then
begin begin
FVisible := AValue; FVisible := AValue;
DoResize(Self); DoResize(Self);
DoChange(Self); DoChange(Self);
for i := 0 to PartCount - 1 do
Parts[i].GutterVisibilityChanged;
end; end;
end; end;
@ -590,6 +595,11 @@ begin
DoChange(self); DoChange(self);
end; end;
procedure TSynGutterPartBase.GutterVisibilityChanged;
begin
//
end;
procedure TSynGutterPartBase.SetWidth(const AValue : integer); procedure TSynGutterPartBase.SetWidth(const AValue : integer);
begin begin
if (FWidth=AValue) or (FAutoSize) then exit; if (FWidth=AValue) or (FAutoSize) then exit;

View File

@ -286,6 +286,7 @@ type
procedure LineCountChanged(Sender: TSynEditStrings; AIndex, ACount: Integer); procedure LineCountChanged(Sender: TSynEditStrings; AIndex, ACount: Integer);
procedure BufferChanged(Sender: TObject); procedure BufferChanged(Sender: TObject);
procedure SetVisible(const AValue : boolean); override; procedure SetVisible(const AValue : boolean); override;
procedure GutterVisibilityChanged; override;
procedure DoChange(Sender: TObject); override; procedure DoChange(Sender: TObject); override;
protected protected
procedure InvalidateTextLines(AFromLine, AToLine: Integer); procedure InvalidateTextLines(AFromLine, AToLine: Integer);
@ -1258,7 +1259,13 @@ end;
procedure TSynGutterLineOverview.SetVisible(const AValue: boolean); procedure TSynGutterLineOverview.SetVisible(const AValue: boolean);
begin begin
inherited SetVisible(AValue); inherited SetVisible(AValue);
FWinControl.Visible := Visible; FWinControl.Visible := Visible and Gutter.Visible;
end;
procedure TSynGutterLineOverview.GutterVisibilityChanged;
begin
inherited GutterVisibilityChanged;
FWinControl.Visible := Visible and Gutter.Visible;
end; end;
procedure TSynGutterLineOverview.DoChange(Sender: TObject); procedure TSynGutterLineOverview.DoChange(Sender: TObject);

View File

@ -1181,6 +1181,7 @@ type
fVisibleGutter: Boolean; fVisibleGutter: Boolean;
fShowLineNumbers: Boolean; fShowLineNumbers: Boolean;
fShowOnlyLineNumbersMultiplesOf: integer; fShowOnlyLineNumbersMultiplesOf: integer;
FShowOverviewGutter: boolean;
fGutterWidth: Integer; fGutterWidth: Integer;
FGutterSeparatorIndex: Integer; FGutterSeparatorIndex: Integer;
fRightMargin: Integer; fRightMargin: Integer;
@ -1401,6 +1402,9 @@ type
published { use RTTIConf} published { use RTTIConf}
property TabPosition: TTabPosition property TabPosition: TTabPosition
read fTabPosition write fTabPosition default tpTop; read fTabPosition write fTabPosition default tpTop;
// Display
property ShowOverviewGutter: boolean
read FShowOverviewGutter write FShowOverviewGutter default True;
// Code Folding // Code Folding
property ReverseFoldPopUpOrder: Boolean property ReverseFoldPopUpOrder: Boolean
read FReverseFoldPopUpOrder write FReverseFoldPopUpOrder default True; read FReverseFoldPopUpOrder write FReverseFoldPopUpOrder default True;
@ -3673,6 +3677,7 @@ begin
fEditorFont := SynDefaultFontName; fEditorFont := SynDefaultFontName;
fEditorFontSize := SynDefaultFontSize; fEditorFontSize := SynDefaultFontSize;
fDisableAntialiasing := DefaultEditorDisableAntiAliasing; fDisableAntialiasing := DefaultEditorDisableAntiAliasing;
FShowOverviewGutter := True;
// Key Mappings // Key Mappings
fKeyMappingScheme := KeyMapSchemeNames[kmsLazarus]; fKeyMappingScheme := KeyMapSchemeNames[kmsLazarus];
@ -4642,6 +4647,7 @@ begin
ASynEdit.Gutter.LineNumberPart.Visible := fShowLineNumbers; ASynEdit.Gutter.LineNumberPart.Visible := fShowLineNumbers;
ASynEdit.Gutter.LineNumberPart(0).ShowOnlyLineNumbersMultiplesOf := ASynEdit.Gutter.LineNumberPart(0).ShowOnlyLineNumbersMultiplesOf :=
fShowOnlyLineNumbersMultiplesOf; fShowOnlyLineNumbersMultiplesOf;
ASynEdit.RightGutter.Visible := ShowOverviewGutter;
ASynEdit.Gutter.CodeFoldPart.Visible := FUseCodeFolding; ASynEdit.Gutter.CodeFoldPart.Visible := FUseCodeFolding;
if not FUseCodeFolding then if not FUseCodeFolding then

View File

@ -1163,6 +1163,8 @@ begin
PreviewEdits[a].AfterLoadFromFile; PreviewEdits[a].AfterLoadFromFile;
PreviewEdits[a].Keystrokes.Clear; PreviewEdits[a].Keystrokes.Clear;
PreviewEdits[a].MouseActions.Clear; PreviewEdits[a].MouseActions.Clear;
PreviewEdits[a].SetBookMark(1, 1, 2);
PreviewEdits[a].SetBookMark(2, 1, 5);
end; end;
UpdateCurrentScheme; UpdateCurrentScheme;
finally finally

View File

@ -1,5 +1,7 @@
inherited EditorDisplayOptionsFrame: TEditorDisplayOptionsFrame object EditorDisplayOptionsFrame: TEditorDisplayOptionsFrame
Left = 0
Height = 455 Height = 455
Top = 0
Width = 501 Width = 501
ClientHeight = 455 ClientHeight = 455
ClientWidth = 501 ClientWidth = 501
@ -7,16 +9,16 @@ inherited EditorDisplayOptionsFrame: TEditorDisplayOptionsFrame
Visible = False Visible = False
DesignLeft = 176 DesignLeft = 176
DesignTop = 232 DesignTop = 232
object MarginAndGutterGroupBox: TGroupBox[0] object MarginAndGutterGroupBox: TGroupBox
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 0 Left = 0
Height = 122 Height = 124
Top = 0 Top = 0
Width = 501 Width = 501
Align = alTop Align = alTop
AutoSize = True AutoSize = True
Caption = 'MarginAndGutterGroupBox' Caption = 'MarginAndGutterGroupBox'
ClientHeight = 104 ClientHeight = 106
ClientWidth = 497 ClientWidth = 497
TabOrder = 0 TabOrder = 0
object RightMarginLabel: TLabel object RightMarginLabel: TLabel
@ -24,22 +26,23 @@ inherited EditorDisplayOptionsFrame: TEditorDisplayOptionsFrame
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = RightMarginComboBox AnchorSideTop.Control = RightMarginComboBox
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 288 Left = 296
Height = 14 Height = 16
Top = 9 Top = 9
Width = 83 Width = 95
BorderSpacing.Left = 6 BorderSpacing.Left = 6
Caption = 'RightMarginLabel' Caption = 'RightMarginLabel'
ParentColor = False ParentColor = False
end end
object ShowOnlyLineNumbersMultiplesOfLabel: TLabel object ShowOnlyLineNumbersMultiplesOfLabel: TLabel
AnchorSideLeft.Control = MarginAndGutterGroupBox AnchorSideLeft.Control = ShowOnlyLineNumbersMultiplesOfSpinEdit
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = ShowOnlyLineNumbersMultiplesOfSpinEdit AnchorSideTop.Control = ShowOnlyLineNumbersMultiplesOfSpinEdit
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 6 Left = 294
Height = 14 Height = 16
Top = 79 Top = 67
Width = 110 Width = 122
BorderSpacing.Left = 6 BorderSpacing.Left = 6
BorderSpacing.Top = 6 BorderSpacing.Top = 6
Caption = 'Every n-th line number' Caption = 'Every n-th line number'
@ -49,10 +52,10 @@ inherited EditorDisplayOptionsFrame: TEditorDisplayOptionsFrame
AnchorSideLeft.Control = RightMarginLabel AnchorSideLeft.Control = RightMarginLabel
AnchorSideTop.Control = GutterSeparatorIndexSpinBox AnchorSideTop.Control = GutterSeparatorIndexSpinBox
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 288 Left = 296
Height = 14 Height = 16
Top = 37 Top = 38
Width = 133 Width = 140
Caption = 'GutterSeparatorIndexLabel' Caption = 'GutterSeparatorIndexLabel'
ParentColor = False ParentColor = False
end end
@ -62,10 +65,10 @@ inherited EditorDisplayOptionsFrame: TEditorDisplayOptionsFrame
AnchorSideTop.Control = RightMarginLabel AnchorSideTop.Control = RightMarginLabel
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Cursor = crHandPoint Cursor = crHandPoint
Left = 377 Left = 397
Height = 14 Height = 16
Top = 9 Top = 9
Width = 101 Width = 118
BorderSpacing.Left = 6 BorderSpacing.Left = 6
Caption = 'RightMarginColorLink' Caption = 'RightMarginColorLink'
Font.Color = clBlue Font.Color = clBlue
@ -79,9 +82,9 @@ inherited EditorDisplayOptionsFrame: TEditorDisplayOptionsFrame
AnchorSideLeft.Control = MarginAndGutterGroupBox AnchorSideLeft.Control = MarginAndGutterGroupBox
AnchorSideTop.Control = MarginAndGutterGroupBox AnchorSideTop.Control = MarginAndGutterGroupBox
Left = 6 Left = 6
Height = 17 Height = 19
Top = 6 Top = 6
Width = 151 Width = 172
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'VisibleRightMarginCheckBox' Caption = 'VisibleRightMarginCheckBox'
OnChange = GeneralCheckBoxOnChange OnChange = GeneralCheckBoxOnChange
@ -92,9 +95,9 @@ inherited EditorDisplayOptionsFrame: TEditorDisplayOptionsFrame
AnchorSideTop.Control = VisibleRightMarginCheckBox AnchorSideTop.Control = VisibleRightMarginCheckBox
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 17 Height = 19
Top = 29 Top = 31
Width = 125 Width = 139
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'VisibleGutterCheckBox' Caption = 'VisibleGutterCheckBox'
OnChange = GeneralCheckBoxOnChange OnChange = GeneralCheckBoxOnChange
@ -105,9 +108,9 @@ inherited EditorDisplayOptionsFrame: TEditorDisplayOptionsFrame
AnchorSideTop.Control = VisibleGutterCheckBox AnchorSideTop.Control = VisibleGutterCheckBox
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 17 Height = 19
Top = 52 Top = 56
Width = 152 Width = 172
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'ShowLineNumbersCheckBox' Caption = 'ShowLineNumbersCheckBox'
OnChange = GeneralCheckBoxOnChange OnChange = GeneralCheckBoxOnChange
@ -115,16 +118,16 @@ inherited EditorDisplayOptionsFrame: TEditorDisplayOptionsFrame
TabOrder = 2 TabOrder = 2
end end
object RightMarginComboBox: TComboBox object RightMarginComboBox: TComboBox
AnchorSideLeft.Control = ShowOnlyLineNumbersMultiplesOfSpinEdit AnchorSideLeft.Control = VisibleRightMarginCheckBox
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = MarginAndGutterGroupBox AnchorSideTop.Control = MarginAndGutterGroupBox
Left = 226 Left = 234
Height = 21 Height = 23
Top = 6 Top = 6
Width = 56 Width = 56
BorderSpacing.Left = 44 BorderSpacing.Left = 50
BorderSpacing.Around = 6 BorderSpacing.Around = 6
ItemHeight = 13 ItemHeight = 15
Items.Strings = ( Items.Strings = (
'80' '80'
'78' '78'
@ -136,15 +139,14 @@ inherited EditorDisplayOptionsFrame: TEditorDisplayOptionsFrame
TabOrder = 3 TabOrder = 3
end end
object ShowOnlyLineNumbersMultiplesOfSpinEdit: TSpinEdit object ShowOnlyLineNumbersMultiplesOfSpinEdit: TSpinEdit
AnchorSideLeft.Control = ShowOnlyLineNumbersMultiplesOfLabel AnchorSideLeft.Control = GutterSeparatorIndexSpinBox
AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = GutterSeparatorIndexSpinBox
AnchorSideTop.Control = ShowLineNumbersCheckBox
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 122 Left = 234
Height = 23 Height = 23
Top = 75 Top = 64
Width = 54 Width = 54
BorderSpacing.Around = 6 BorderSpacing.Top = 6
MinValue = 1 MinValue = 1
OnChange = GeneralCheckBoxOnChange OnChange = GeneralCheckBoxOnChange
TabOrder = 4 TabOrder = 4
@ -154,27 +156,40 @@ inherited EditorDisplayOptionsFrame: TEditorDisplayOptionsFrame
AnchorSideLeft.Control = RightMarginComboBox AnchorSideLeft.Control = RightMarginComboBox
AnchorSideTop.Control = RightMarginComboBox AnchorSideTop.Control = RightMarginComboBox
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 226 Left = 234
Height = 23 Height = 23
Top = 33 Top = 35
Width = 56 Width = 56
MaxValue = 4 MaxValue = 4
MinValue = -1 MinValue = -1
OnChange = GeneralCheckBoxOnChange OnChange = GeneralCheckBoxOnChange
TabOrder = 5 TabOrder = 5
end end
object chkShowOverview: TCheckBox
AnchorSideLeft.Control = MarginAndGutterGroupBox
AnchorSideTop.Control = ShowLineNumbersCheckBox
AnchorSideTop.Side = asrBottom
Left = 6
Height = 19
Top = 81
Width = 117
BorderSpacing.Around = 6
Caption = 'chkShowOverview'
OnChange = GeneralCheckBoxOnChange
TabOrder = 6
end
end end
object EditorFontGroupBox: TGroupBox[1] object EditorFontGroupBox: TGroupBox
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 0 Left = 0
Height = 105 Height = 111
Top = 128 Top = 130
Width = 501 Width = 501
Align = alTop Align = alTop
AutoSize = True AutoSize = True
BorderSpacing.Top = 6 BorderSpacing.Top = 6
Caption = 'EditorFontGroupBox' Caption = 'EditorFontGroupBox'
ClientHeight = 87 ClientHeight = 93
ClientWidth = 497 ClientWidth = 497
TabOrder = 1 TabOrder = 1
object EditorFontSizeLabel: TLabel object EditorFontSizeLabel: TLabel
@ -182,10 +197,10 @@ inherited EditorDisplayOptionsFrame: TEditorDisplayOptionsFrame
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = EditorFontSizeSpinEdit AnchorSideTop.Control = EditorFontSizeSpinEdit
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 112 Left = 62
Height = 14 Height = 16
Top = 36 Top = 38
Width = 107 Width = 104
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'EditorFontSizeLabel' Caption = 'EditorFontSizeLabel'
ParentColor = False ParentColor = False
@ -195,10 +210,10 @@ inherited EditorDisplayOptionsFrame: TEditorDisplayOptionsFrame
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = ExtraLineSpacingComboBox AnchorSideTop.Control = ExtraLineSpacingComboBox
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 351 Left = 298
Height = 14 Height = 16
Top = 36 Top = 38
Width = 108 Width = 118
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'ExtraLineSpacingLabel' Caption = 'ExtraLineSpacingLabel'
ParentColor = False ParentColor = False
@ -208,10 +223,10 @@ inherited EditorDisplayOptionsFrame: TEditorDisplayOptionsFrame
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = ExtraCharSpacingComboBox AnchorSideTop.Control = ExtraCharSpacingComboBox
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 351 Left = 298
Height = 14 Height = 16
Top = 63 Top = 67
Width = 112 Width = 121
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'ExtraCharSpacingLabel' Caption = 'ExtraCharSpacingLabel'
ParentColor = False ParentColor = False
@ -221,13 +236,13 @@ inherited EditorDisplayOptionsFrame: TEditorDisplayOptionsFrame
AnchorSideTop.Control = EditorFontGroupBox AnchorSideTop.Control = EditorFontGroupBox
AnchorSideRight.Control = EditorFontButton AnchorSideRight.Control = EditorFontButton
Left = 6 Left = 6
Height = 21 Height = 23
Top = 6 Top = 6
Width = 460 Width = 460
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 6 BorderSpacing.Left = 6
BorderSpacing.Top = 6 BorderSpacing.Top = 6
ItemHeight = 13 ItemHeight = 15
OnEditingDone = EditorFontComboBoxEditingDone OnEditingDone = EditorFontComboBoxEditingDone
TabOrder = 0 TabOrder = 0
Text = 'EditorFontComboBox' Text = 'EditorFontComboBox'
@ -239,7 +254,7 @@ inherited EditorDisplayOptionsFrame: TEditorDisplayOptionsFrame
AnchorSideBottom.Control = EditorFontComboBox AnchorSideBottom.Control = EditorFontComboBox
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 466 Left = 466
Height = 21 Height = 23
Top = 6 Top = 6
Width = 25 Width = 25
Anchors = [akTop, akRight, akBottom] Anchors = [akTop, akRight, akBottom]
@ -253,8 +268,8 @@ inherited EditorDisplayOptionsFrame: TEditorDisplayOptionsFrame
AnchorSideTop.Control = EditorFontComboBox AnchorSideTop.Control = EditorFontComboBox
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 29 Height = 23
Top = 41 Top = 35
Width = 50 Width = 50
BorderSpacing.Around = 6 BorderSpacing.Around = 6
OnChange = EditorFontSizeSpinEditChange OnChange = EditorFontSizeSpinEditChange
@ -265,13 +280,13 @@ inherited EditorDisplayOptionsFrame: TEditorDisplayOptionsFrame
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = EditorFontComboBox AnchorSideTop.Control = EditorFontComboBox
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 245 Left = 192
Height = 21 Height = 23
Top = 33 Top = 35
Width = 100 Width = 100
BorderSpacing.Left = 20 BorderSpacing.Left = 20
BorderSpacing.Around = 6 BorderSpacing.Around = 6
ItemHeight = 13 ItemHeight = 15
Items.Strings = ( Items.Strings = (
'0' '0'
'1' '1'
@ -286,12 +301,12 @@ inherited EditorDisplayOptionsFrame: TEditorDisplayOptionsFrame
AnchorSideLeft.Control = ExtraLineSpacingComboBox AnchorSideLeft.Control = ExtraLineSpacingComboBox
AnchorSideTop.Control = ExtraLineSpacingComboBox AnchorSideTop.Control = ExtraLineSpacingComboBox
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 245 Left = 192
Height = 21 Height = 23
Top = 60 Top = 64
Width = 100 Width = 100
BorderSpacing.Bottom = 6 BorderSpacing.Bottom = 6
ItemHeight = 13 ItemHeight = 15
Items.Strings = ( Items.Strings = (
'0' '0'
'1' '1'
@ -307,9 +322,9 @@ inherited EditorDisplayOptionsFrame: TEditorDisplayOptionsFrame
AnchorSideTop.Control = EditorFontSizeSpinEdit AnchorSideTop.Control = EditorFontSizeSpinEdit
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 21 Height = 23
Top = 60 Top = 64
Width = 153 Width = 172
Anchors = [akTop, akLeft, akBottom] Anchors = [akTop, akLeft, akBottom]
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'DisableAntialiasingCheckBox' Caption = 'DisableAntialiasingCheckBox'
@ -317,12 +332,12 @@ inherited EditorDisplayOptionsFrame: TEditorDisplayOptionsFrame
TabOrder = 5 TabOrder = 5
end end
end end
object DisplayPreview: TSynEdit[2] inline DisplayPreview: TSynEdit
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 0 Left = 0
Height = 216 Height = 208
Top = 239 Top = 247
Width = 501 Width = 501
Align = alClient Align = alClient
BorderSpacing.Top = 6 BorderSpacing.Top = 6
@ -334,31 +349,19 @@ inherited EditorDisplayOptionsFrame: TEditorDisplayOptionsFrame
ParentFont = False ParentFont = False
TabOrder = 2 TabOrder = 2
BookMarkOptions.Xoffset = 30 BookMarkOptions.Xoffset = 30
BookMarkOptions.OnChange = nil
Gutter.Width = 59 Gutter.Width = 59
Gutter.MouseActions = < Gutter.MouseActions = <
item item
Shift = []
ShiftMask = []
Button = mbLeft
ClickCount = ccAny ClickCount = ccAny
ClickDir = cdDown ClickDir = cdDown
Command = 13 Command = emcOnMainGutterClick
MoveCaret = False
Option = 0
Priority = 0
end end
item item
Shift = []
ShiftMask = []
Button = mbRight Button = mbRight
ClickCount = ccSingle Command = emcContextMenu
ClickDir = cdUp
Command = 12
MoveCaret = False
Option = 0
Priority = 0
end> end>
RightGutter.Width = 0
RightGutter.MouseActions = <>
Keystrokes = < Keystrokes = <
item item
Command = ecUp Command = ecUp
@ -682,135 +685,92 @@ inherited EditorDisplayOptionsFrame: TEditorDisplayOptionsFrame
end> end>
MouseActions = < MouseActions = <
item item
Shift = []
ShiftMask = [ssShift, ssAlt] ShiftMask = [ssShift, ssAlt]
Button = mbLeft
ClickCount = ccSingle
ClickDir = cdDown ClickDir = cdDown
Command = 1 Command = emcStartSelections
MoveCaret = True MoveCaret = True
Option = 0
Priority = 0
end end
item item
Shift = [ssShift] Shift = [ssShift]
ShiftMask = [ssShift, ssAlt] ShiftMask = [ssShift, ssAlt]
Button = mbLeft
ClickCount = ccSingle
ClickDir = cdDown ClickDir = cdDown
Command = 1 Command = emcStartSelections
MoveCaret = True MoveCaret = True
Option = 1 Option = 1
Priority = 0
end end
item item
Shift = [ssAlt] Shift = [ssAlt]
ShiftMask = [ssShift, ssAlt] ShiftMask = [ssShift, ssAlt]
Button = mbLeft
ClickCount = ccSingle
ClickDir = cdDown ClickDir = cdDown
Command = 3 Command = emcStartColumnSelections
MoveCaret = True MoveCaret = True
Option = 0
Priority = 0
end end
item item
Shift = [ssShift, ssAlt] Shift = [ssShift, ssAlt]
ShiftMask = [ssShift, ssAlt] ShiftMask = [ssShift, ssAlt]
Button = mbLeft
ClickCount = ccSingle
ClickDir = cdDown ClickDir = cdDown
Command = 3 Command = emcStartColumnSelections
MoveCaret = True MoveCaret = True
Option = 1 Option = 1
Priority = 0
end end
item item
Shift = []
ShiftMask = []
Button = mbRight Button = mbRight
ClickCount = ccSingle Command = emcContextMenu
ClickDir = cdUp
Command = 12
MoveCaret = False
Option = 0
Priority = 0
end end
item item
Shift = []
ShiftMask = []
Button = mbLeft
ClickCount = ccDouble ClickCount = ccDouble
ClickDir = cdDown ClickDir = cdDown
Command = 6 Command = emcSelectWord
MoveCaret = True MoveCaret = True
Option = 0
Priority = 0
end end
item item
Shift = []
ShiftMask = []
Button = mbLeft
ClickCount = ccTriple ClickCount = ccTriple
ClickDir = cdDown ClickDir = cdDown
Command = 7 Command = emcSelectLine
MoveCaret = True MoveCaret = True
Option = 0
Priority = 0
end end
item item
Shift = []
ShiftMask = []
Button = mbLeft
ClickCount = ccQuad ClickCount = ccQuad
ClickDir = cdDown ClickDir = cdDown
Command = 8 Command = emcSelectPara
MoveCaret = True MoveCaret = True
Option = 0
Priority = 0
end end
item item
Shift = []
ShiftMask = []
Button = mbMiddle Button = mbMiddle
ClickCount = ccSingle
ClickDir = cdDown ClickDir = cdDown
Command = 10 Command = emcPasteSelection
MoveCaret = True MoveCaret = True
Option = 0
Priority = 0
end end
item item
Shift = [ssCtrl] Shift = [ssCtrl]
ShiftMask = [ssShift, ssAlt, ssCtrl] ShiftMask = [ssShift, ssAlt, ssCtrl]
Button = mbLeft Command = emcMouseLink
ClickCount = ccSingle
ClickDir = cdUp
Command = 11
MoveCaret = False
Option = 0
Priority = 0
end> end>
MouseSelActions = < MouseSelActions = <
item item
Shift = []
ShiftMask = []
Button = mbLeft
ClickCount = ccSingle
ClickDir = cdDown ClickDir = cdDown
Command = 9 Command = emcStartDragMove
MoveCaret = False
Option = 0
Priority = 0
end> end>
Lines.Strings = ( Lines.Strings = (
'DisplayPreview' 'DisplayPreview'
) )
VisibleSpecialChars = [vscSpace, vscTabAtLast]
ReadOnly = True ReadOnly = True
BracketHighlightStyle = sbhsBoth BracketHighlightStyle = sbhsBoth
object TSynGutterPartList BracketMatchColor.Background = clNone
BracketMatchColor.Foreground = clNone
BracketMatchColor.Style = [fsBold]
FoldedCodeColor.Background = clNone
FoldedCodeColor.Foreground = clGray
FoldedCodeColor.FrameColor = clGray
MouseLinkColor.Background = clNone
MouseLinkColor.Foreground = clBlue
LineHighlightColor.Background = clNone
LineHighlightColor.Foreground = clNone
inline TSynGutterPartList
object TSynGutterMarks object TSynGutterMarks
Width = 23 Width = 24
MouseActions = <>
end end
object TSynGutterLineNumber object TSynGutterLineNumber
Width = 19 Width = 19
@ -824,35 +784,26 @@ inherited EditorDisplayOptionsFrame: TEditorDisplayOptionsFrame
end end
object TSynGutterChanges object TSynGutterChanges
Width = 4 Width = 4
MouseActions = <>
ModifiedColor = 59900 ModifiedColor = 59900
SavedColor = clGreen SavedColor = clGreen
end end
object TSynGutterSeparator object TSynGutterSeparator
Width = 2 Width = 2
MouseActions = <>
end end
object TSynGutterCodeFolding object TSynGutterCodeFolding
MouseActions = < MouseActions = <
item item
Shift = []
ShiftMask = []
Button = mbRight Button = mbRight
ClickCount = ccSingle Command = emcCodeFoldContextMenu
ClickDir = cdUp
Command = 16
MoveCaret = False
Option = 0
Priority = 0
end end
item item
Shift = []
ShiftMask = [ssShift] ShiftMask = [ssShift]
Button = mbMiddle Button = mbMiddle
ClickCount = ccAny ClickCount = ccAny
ClickDir = cdDown ClickDir = cdDown
Command = 14 Command = emcCodeFoldCollaps
MoveCaret = False
Option = 0
Priority = 0
end end
item item
Shift = [ssShift] Shift = [ssShift]
@ -860,58 +811,36 @@ inherited EditorDisplayOptionsFrame: TEditorDisplayOptionsFrame
Button = mbMiddle Button = mbMiddle
ClickCount = ccAny ClickCount = ccAny
ClickDir = cdDown ClickDir = cdDown
Command = 14 Command = emcCodeFoldCollaps
MoveCaret = False
Option = 1 Option = 1
Priority = 0
end end
item item
Shift = []
ShiftMask = []
Button = mbLeft
ClickCount = ccAny ClickCount = ccAny
ClickDir = cdDown ClickDir = cdDown
Command = 0 Command = emcNone
MoveCaret = False
Option = 0
Priority = 0
end> end>
MarkupInfo.Background = clNone MarkupInfo.Background = clNone
MarkupInfo.Foreground = clGray MarkupInfo.Foreground = clGray
MouseActionsExpanded = < MouseActionsExpanded = <
item item
Shift = []
ShiftMask = []
Button = mbLeft
ClickCount = ccAny ClickCount = ccAny
ClickDir = cdDown ClickDir = cdDown
Command = 14 Command = emcCodeFoldCollaps
MoveCaret = False
Option = 0
Priority = 0
end> end>
MouseActionsCollapsed = < MouseActionsCollapsed = <
item item
Shift = [ssCtrl] Shift = [ssCtrl]
ShiftMask = [ssCtrl] ShiftMask = [ssCtrl]
Button = mbLeft
ClickCount = ccAny ClickCount = ccAny
ClickDir = cdDown ClickDir = cdDown
Command = 15 Command = emcCodeFoldExpand
MoveCaret = False
Option = 0
Priority = 0
end end
item item
Shift = []
ShiftMask = [ssCtrl] ShiftMask = [ssCtrl]
Button = mbLeft
ClickCount = ccAny ClickCount = ccAny
ClickDir = cdDown ClickDir = cdDown
Command = 15 Command = emcCodeFoldExpand
MoveCaret = False
Option = 1 Option = 1
Priority = 0
end> end>
end end
end end

View File

@ -28,12 +28,13 @@ uses
Classes, SysUtils, Graphics, Dialogs, StdCtrls, Classes, SysUtils, Graphics, Dialogs, StdCtrls,
Spin, LCLType, SynEdit, SynEditMouseCmds, EditorOptions, LazarusIDEStrConsts, Spin, LCLType, SynEdit, SynEditMouseCmds, EditorOptions, LazarusIDEStrConsts,
IDEOptionsIntf, editor_general_options, editor_color_options, IDEProcs, IDEOptionsIntf, editor_general_options, editor_color_options, IDEProcs,
SynGutterLineNumber, SynGutter; SynGutterLineNumber, SynGutterLineOverview, SynGutter, SourceSynEditor;
type type
{ TEditorDisplayOptionsFrame } { TEditorDisplayOptionsFrame }
TEditorDisplayOptionsFrame = class(TAbstractIDEOptionsEditor) TEditorDisplayOptionsFrame = class(TAbstractIDEOptionsEditor)
chkShowOverview: TCheckBox;
DisableAntialiasingCheckBox: TCheckBox; DisableAntialiasingCheckBox: TCheckBox;
DisplayPreview: TSynEdit; DisplayPreview: TSynEdit;
EditorFontButton: TButton; EditorFontButton: TButton;
@ -253,6 +254,7 @@ begin
if PreviewEdits[a] <> nil then if PreviewEdits[a] <> nil then
begin begin
PreviewEdits[a].Gutter.Visible := VisibleGutterCheckBox.Checked; PreviewEdits[a].Gutter.Visible := VisibleGutterCheckBox.Checked;
PreviewEdits[a].RightGutter.Visible := chkShowOverview.Checked;
PreviewEdits[a].Gutter.LineNumberPart.Visible PreviewEdits[a].Gutter.LineNumberPart.Visible
:= ShowLineNumbersCheckBox.Checked; := ShowLineNumbersCheckBox.Checked;
if Assigned(PreviewEdits[a].Gutter.Parts.ByClass[TSynGutterLineNumber, 0]) then if Assigned(PreviewEdits[a].Gutter.Parts.ByClass[TSynGutterLineNumber, 0]) then
@ -346,9 +348,31 @@ begin
ExtraLineSpacingLabel.Caption := dlgExtraLineSpacing; ExtraLineSpacingLabel.Caption := dlgExtraLineSpacing;
DisableAntialiasingCheckBox.Caption := dlgDisableAntialiasing; DisableAntialiasingCheckBox.Caption := dlgDisableAntialiasing;
RightMarginColorLink.Caption := dlgColorLink; RightMarginColorLink.Caption := dlgColorLink;
chkShowOverview.Caption := lisShowOverviewGutter;
with GeneralPage do with GeneralPage do
AddPreviewEdit(DisplayPreview); AddPreviewEdit(DisplayPreview);
with TSynGutterSeparator.Create(DisplayPreview.RightGutter.Parts) do
Name := 'DPSynGutterSeparatorR2';
with TSynGutterLineOverview.Create(DisplayPreview.RightGutter.Parts) do begin
Name := 'DPSynGutterLineOverview1';
with TIDESynGutterLOvProviderIDEMarks.Create(Providers) do
Priority := 20;
with TSynGutterLOvProviderModifiedLines.Create(Providers) do
Priority := 9;
with TSynGutterLOvProviderCurrentPage.Create(Providers) do
Priority := 1;
with TIDESynGutterLOvProviderPascal.Create(Providers) do
Priority := 0;
end;
with TSynGutterSeparator.Create(DisplayPreview.RightGutter.Parts) do begin
Name := 'DPSynGutterSeparatorR3';
AutoSize := False;
Width := 1;
LineWidth := 0;
end;
end; end;
procedure TEditorDisplayOptionsFrame.ReadSettings(AOptions: TAbstractIDEOptions); procedure TEditorDisplayOptionsFrame.ReadSettings(AOptions: TAbstractIDEOptions);
@ -369,6 +393,7 @@ begin
SetComboBoxText(ExtraCharSpacingComboBox, IntToStr(ExtraCharSpacing),cstCaseInsensitive); SetComboBoxText(ExtraCharSpacingComboBox, IntToStr(ExtraCharSpacing),cstCaseInsensitive);
SetComboBoxText(ExtraLineSpacingComboBox, IntToStr(ExtraLineSpacing),cstCaseInsensitive); SetComboBoxText(ExtraLineSpacingComboBox, IntToStr(ExtraLineSpacing),cstCaseInsensitive);
DisableAntialiasingCheckBox.Checked := DisableAntialiasing; DisableAntialiasingCheckBox.Checked := DisableAntialiasing;
chkShowOverview.Checked := ShowOverviewGutter;
end; end;
ShowOnlyLineNumbersMultiplesOfLabel.Enabled := ShowLineNumbersCheckBox.Checked; ShowOnlyLineNumbersMultiplesOfLabel.Enabled := ShowLineNumbersCheckBox.Checked;
@ -391,6 +416,7 @@ begin
ExtraCharSpacing := StrToIntDef(ExtraCharSpacingComboBox.Text, ExtraCharSpacing); ExtraCharSpacing := StrToIntDef(ExtraCharSpacingComboBox.Text, ExtraCharSpacing);
ExtraLineSpacing := StrToIntDef(ExtraLineSpacingComboBox.Text, ExtraLineSpacing); ExtraLineSpacing := StrToIntDef(ExtraLineSpacingComboBox.Text, ExtraLineSpacing);
DisableAntialiasing := DisableAntialiasingCheckBox.Checked; DisableAntialiasing := DisableAntialiasingCheckBox.Checked;
ShowOverviewGutter := chkShowOverview.Checked;
end; end;
end; end;

View File

@ -4852,7 +4852,8 @@ resourcestring
+'directory will be deleted and all its content will be lost.%s%sDelete ' +'directory will be deleted and all its content will be lost.%s%sDelete '
+'all files in %s%s%s?'; +'all files in %s%s%s?';
lisFileExtensionOfPrograms = 'File extension of programs'; lisFileExtensionOfPrograms = 'File extension of programs';
lisEveryNThLineNumber = 'Every n-th line number:'; lisEveryNThLineNumber = 'Every n-th line number';
lisShowOverviewGutter = 'Shov overview Gutter';
lisLink = 'Link:'; lisLink = 'Link:';
lisShort = 'Short:'; lisShort = 'Short:';
lisInsertUrlTag = 'Insert url tag'; lisInsertUrlTag = 'Insert url tag';

View File

@ -996,7 +996,6 @@ begin
with DebugGutter do with DebugGutter do
Name := 'TIDESynGutterDebugHL'; Name := 'TIDESynGutterDebugHL';
{$ENDIF} {$ENDIF}
{$IFDEF WithSynOverviewGutter}
with TSynGutterSeparator.Create(Parts) do with TSynGutterSeparator.Create(Parts) do
Name := 'SynGutterSeparatorR2'; Name := 'SynGutterSeparatorR2';
with TSynGutterLineOverview.Create(Parts) do begin with TSynGutterLineOverview.Create(Parts) do begin
@ -1016,7 +1015,6 @@ begin
Width := 1; Width := 1;
LineWidth := 0; LineWidth := 0;
end; end;
{$ENDIF}
end; end;
end; end;