ide: allow to choose bracket highlight style in IDE

git-svn-id: trunk@17578 -
This commit is contained in:
paul 2008-11-25 08:51:40 +00:00
parent c248a2aa3e
commit 867203e6d9
5 changed files with 269 additions and 65 deletions

View File

@ -40,7 +40,7 @@ uses
Controls, Graphics, LCLProc, FileUtil, LResources, Controls, Graphics, LCLProc, FileUtil, LResources,
// synedit // synedit
SynEdit, SynEditAutoComplete, SynEditHighlighter, SynEditKeyCmds, SynEdit, SynEditAutoComplete, SynEditHighlighter, SynEditKeyCmds,
SynEditStrConst, SynEditStrConst, SynEditMarkupBracket,
SynHighlighterCPP, SynHighlighterHTML, SynHighlighterJava, SynHighlighterLFM, SynHighlighterCPP, SynHighlighterHTML, SynHighlighterJava, SynHighlighterLFM,
SynHighlighterPas, SynHighlighterPerl, SynHighlighterPHP, SynHighlighterSQL, SynHighlighterPas, SynHighlighterPerl, SynHighlighterPHP, SynHighlighterSQL,
SynHighlighterPython, SynHighlighterUNIXShellScript, SynHighlighterXML, SynHighlighterPython, SynHighlighterUNIXShellScript, SynHighlighterXML,
@ -382,6 +382,7 @@ type
fBlockIndent: Integer; fBlockIndent: Integer;
fUndoLimit: Integer; fUndoLimit: Integer;
fTabWidth: Integer; fTabWidth: Integer;
FBracketHighlightStyle: TSynEditBracketHighlightStyle;
// Display options // Display options
fVisibleRightMargin: Boolean; fVisibleRightMargin: Boolean;
@ -476,6 +477,7 @@ type
read fBlockIndent write fBlockIndent default 2; read fBlockIndent write fBlockIndent default 2;
property UndoLimit: Integer read fUndoLimit write fUndoLimit default 32767; property UndoLimit: Integer read fUndoLimit write fUndoLimit default 32767;
property TabWidth: Integer read fTabWidth write fTabWidth default 8; property TabWidth: Integer read fTabWidth write fTabWidth default 8;
property BracketHighlightStyle: TSynEditBracketHighlightStyle read FBracketHighlightStyle write FBracketHighlightStyle default sbhsBoth;
// Display options // Display options
property VisibleRightMargin: Boolean property VisibleRightMargin: Boolean
@ -1300,6 +1302,7 @@ begin
fBlockIndent := 2; fBlockIndent := 2;
fUndoLimit := 32767; fUndoLimit := 32767;
fTabWidth := 8; fTabWidth := 8;
FBracketHighlightStyle := sbhsBoth;
// Display options // Display options
fEditorFont := SynDefaultFontName; fEditorFont := SynDefaultFontName;
@ -1410,6 +1413,8 @@ begin
XMLConfig.GetValue('EditorOptions/General/Editor/UndoLimit', 32767); XMLConfig.GetValue('EditorOptions/General/Editor/UndoLimit', 32767);
fTabWidth := fTabWidth :=
XMLConfig.GetValue('EditorOptions/General/Editor/TabWidth', 8); XMLConfig.GetValue('EditorOptions/General/Editor/TabWidth', 8);
FBracketHighlightStyle :=
TSynEditBracketHighlightStyle(XMLConfig.GetValue('EditorOptions/General/Editor/BracketHighlightStyle', 2));
// Display options // Display options
fVisibleRightMargin := fVisibleRightMargin :=
@ -1555,6 +1560,8 @@ begin
, fUndoLimit, 32767); , fUndoLimit, 32767);
XMLConfig.SetDeleteValue('EditorOptions/General/Editor/TabWidth' XMLConfig.SetDeleteValue('EditorOptions/General/Editor/TabWidth'
, fTabWidth, 8); , fTabWidth, 8);
XMLConfig.SetDeleteValue('EditorOptions/General/Editor/BracketHighlightStyle'
, Ord(FBracketHighlightStyle), 2);
// Display options // Display options
XMLConfig.SetDeleteValue('EditorOptions/Display/VisibleRightMargin' XMLConfig.SetDeleteValue('EditorOptions/Display/VisibleRightMargin'
@ -2136,6 +2143,7 @@ begin
ASynEdit.Options2 := fSynEditOptions2; ASynEdit.Options2 := fSynEditOptions2;
ASynEdit.BlockIndent := fBlockIndent; ASynEdit.BlockIndent := fBlockIndent;
ASynEdit.TabWidth := fTabWidth; ASynEdit.TabWidth := fTabWidth;
ASynEdit.BracketHighlightStyle := FBracketHighlightStyle;
// Display options // Display options
ASynEdit.Gutter.Visible := fVisibleGutter; ASynEdit.Gutter.Visible := fVisibleGutter;
@ -2184,6 +2192,7 @@ begin
fSynEditOptions2 := ASynEdit.Options2; fSynEditOptions2 := ASynEdit.Options2;
fBlockIndent := ASynEdit.BlockIndent; fBlockIndent := ASynEdit.BlockIndent;
fTabWidth := ASynEdit.TabWidth; fTabWidth := ASynEdit.TabWidth;
FBracketHighlightStyle := ASynEdit.BracketHighlightStyle;
// Display options // Display options
fVisibleGutter := ASynEdit.Gutter.Visible; fVisibleGutter := ASynEdit.Gutter.Visible;

View File

@ -3,10 +3,9 @@ inherited EditorGeneralOptionsFrame: TEditorGeneralOptionsFrame
Width = 454 Width = 454
ClientHeight = 504 ClientHeight = 504
ClientWidth = 454 ClientWidth = 454
TabOrder = 0
Visible = False Visible = False
DesignLeft = 132 DesignLeft = 403
DesignTop = 174 DesignTop = 264
object BlockIndentLabel: TLabel[0] object BlockIndentLabel: TLabel[0]
AnchorSideLeft.Control = BlockIndentComboBox AnchorSideLeft.Control = BlockIndentComboBox
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
@ -16,8 +15,15 @@ inherited EditorGeneralOptionsFrame: TEditorGeneralOptionsFrame
Height = 14 Height = 14
Top = 435 Top = 435
Width = 82 Width = 82
HelpContext = 0
Anchors = [akLeft, akBottom] Anchors = [akLeft, akBottom]
BorderSpacing.Left = 0
BorderSpacing.Top = 0
BorderSpacing.Right = 0
BorderSpacing.Bottom = 0
BorderSpacing.Around = 6 BorderSpacing.Around = 6
BorderSpacing.CellAlignHorizontal = ccaFill
BorderSpacing.CellAlignVertical = ccaFill
Caption = 'BlockIndentLabel' Caption = 'BlockIndentLabel'
ParentColor = False ParentColor = False
end end
@ -30,8 +36,15 @@ inherited EditorGeneralOptionsFrame: TEditorGeneralOptionsFrame
Height = 14 Height = 14
Top = 462 Top = 462
Width = 72 Width = 72
HelpContext = 0
Anchors = [akLeft, akBottom] Anchors = [akLeft, akBottom]
BorderSpacing.Left = 0
BorderSpacing.Top = 0
BorderSpacing.Right = 0
BorderSpacing.Bottom = 0
BorderSpacing.Around = 6 BorderSpacing.Around = 6
BorderSpacing.CellAlignHorizontal = ccaFill
BorderSpacing.CellAlignVertical = ccaFill
Caption = 'UndoLimitLabel' Caption = 'UndoLimitLabel'
ParentColor = False ParentColor = False
end end
@ -44,26 +57,65 @@ inherited EditorGeneralOptionsFrame: TEditorGeneralOptionsFrame
Height = 14 Height = 14
Top = 486 Top = 486
Width = 77 Width = 77
HelpContext = 0
Anchors = [akLeft, akBottom] Anchors = [akLeft, akBottom]
BorderSpacing.Left = 0
BorderSpacing.Top = 0
BorderSpacing.Right = 0
BorderSpacing.Bottom = 0
BorderSpacing.Around = 6 BorderSpacing.Around = 6
BorderSpacing.CellAlignHorizontal = ccaFill
BorderSpacing.CellAlignVertical = ccaFill
Caption = 'TabWidthsLabel' Caption = 'TabWidthsLabel'
ParentColor = False ParentColor = False
end end
object EditorOptionsGroupBox: TCheckGroup[3] object BracketLabel: TLabel[3]
AnchorSideLeft.Control = BracketCombo
AnchorSideLeft.Side = asrBottom
AnchorSideBottom.Control = BracketCombo
AnchorSideBottom.Side = asrCenter
Left = 106
Height = 14
Top = 408
Width = 62
HelpContext = 0
Anchors = [akLeft, akBottom]
BorderSpacing.Left = 0
BorderSpacing.Top = 0
BorderSpacing.Right = 0
BorderSpacing.Bottom = 0
BorderSpacing.Around = 6
BorderSpacing.CellAlignHorizontal = ccaFill
BorderSpacing.CellAlignVertical = ccaFill
Caption = 'BracketLabel'
ParentColor = False
end
object EditorOptionsGroupBox: TCheckGroup[4]
AnchorSideLeft.Control = Owner AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner AnchorSideTop.Control = Owner
AnchorSideRight.Control = Owner AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = BlockIndentComboBox AnchorSideBottom.Control = BracketCombo
Height = 426 Left = 0
Height = 399
Top = 0
Width = 454 Width = 454
HelpContext = 0
Align = alTop Align = alTop
Anchors = [akTop, akLeft, akRight, akBottom] Anchors = [akTop, akLeft, akRight, akBottom]
AutoFill = True AutoFill = True
BorderSpacing.Left = 0
BorderSpacing.Top = 0
BorderSpacing.Right = 0
BorderSpacing.Bottom = 6 BorderSpacing.Bottom = 6
BorderSpacing.Around = 0
BorderSpacing.CellAlignHorizontal = ccaFill
BorderSpacing.CellAlignVertical = ccaFill
Caption = 'EditorOptionsGroupBox' Caption = 'EditorOptionsGroupBox'
ChildSizing.LeftRightSpacing = 6 ChildSizing.LeftRightSpacing = 6
ChildSizing.TopBottomSpacing = 6 ChildSizing.TopBottomSpacing = 6
ChildSizing.HorizontalSpacing = 0
ChildSizing.VerticalSpacing = 0
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
ChildSizing.EnlargeVertical = crsHomogenousChildResize ChildSizing.EnlargeVertical = crsHomogenousChildResize
ChildSizing.ShrinkHorizontal = crsScaleChilds ChildSizing.ShrinkHorizontal = crsScaleChilds
@ -72,17 +124,28 @@ inherited EditorGeneralOptionsFrame: TEditorGeneralOptionsFrame
ChildSizing.ControlsPerLine = 1 ChildSizing.ControlsPerLine = 1
ColumnLayout = clVerticalThenHorizontal ColumnLayout = clVerticalThenHorizontal
Columns = 2 Columns = 2
Ctl3D = False
OnItemClick = EditorOptionsGroupBoxItemClick OnItemClick = EditorOptionsGroupBoxItemClick
TabOrder = 0 TabOrder = 0
end end
object BlockIndentComboBox: TComboBox[4] object BlockIndentComboBox: TComboBox[5]
AnchorSideLeft.Control = Owner AnchorSideLeft.Control = Owner
AnchorSideBottom.Control = UndoLimitComboBox AnchorSideBottom.Control = UndoLimitComboBox
Left = 0
Height = 21 Height = 21
Top = 432 Top = 432
Width = 100 Width = 100
HelpContext = 0
Anchors = [akLeft, akBottom] Anchors = [akLeft, akBottom]
AutoComplete = False
BorderSpacing.Left = 0
BorderSpacing.Top = 0
BorderSpacing.Right = 0
BorderSpacing.Bottom = 6 BorderSpacing.Bottom = 6
BorderSpacing.Around = 0
BorderSpacing.CellAlignHorizontal = ccaFill
BorderSpacing.CellAlignVertical = ccaFill
Ctl3D = False
ItemHeight = 13 ItemHeight = 13
Items.Strings = ( Items.Strings = (
'1' '1'
@ -90,40 +153,61 @@ inherited EditorGeneralOptionsFrame: TEditorGeneralOptionsFrame
'4' '4'
'8' '8'
) )
ItemWidth = 0
OnChange = ComboboxOnChange OnChange = ComboboxOnChange
OnExit = ComboBoxOnExit OnExit = ComboBoxOnExit
OnKeyDown = ComboboxOnKeyDown OnKeyDown = ComboboxOnKeyDown
TabOrder = 1 TabOrder = 1
end end
object UndoLimitComboBox: TComboBox[5] object UndoLimitComboBox: TComboBox[6]
AnchorSideLeft.Control = Owner AnchorSideLeft.Control = Owner
AnchorSideBottom.Control = TabWidthsLabel AnchorSideBottom.Control = TabWidthsLabel
Left = 0
Height = 21 Height = 21
Top = 459 Top = 459
Width = 100 Width = 100
HelpContext = 0
Anchors = [akLeft, akBottom] Anchors = [akLeft, akBottom]
AutoComplete = False
BorderSpacing.Left = 0
BorderSpacing.Top = 6 BorderSpacing.Top = 6
BorderSpacing.Right = 0
BorderSpacing.Bottom = 6 BorderSpacing.Bottom = 6
BorderSpacing.Around = 0
BorderSpacing.CellAlignHorizontal = ccaFill
BorderSpacing.CellAlignVertical = ccaFill
Ctl3D = False
ItemHeight = 13 ItemHeight = 13
Items.Strings = ( Items.Strings = (
'32767' '32767'
'4096' '4096'
'512' '512'
) )
ItemWidth = 0
OnChange = ComboboxOnChange OnChange = ComboboxOnChange
OnExit = ComboBoxOnExit OnExit = ComboBoxOnExit
OnKeyDown = ComboboxOnKeyDown OnKeyDown = ComboboxOnKeyDown
TabOrder = 2 TabOrder = 2
end end
object TabWidthsComboBox: TComboBox[6] object TabWidthsComboBox: TComboBox[7]
AnchorSideLeft.Control = Owner AnchorSideLeft.Control = Owner
AnchorSideBottom.Control = Owner AnchorSideBottom.Control = Owner
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 0
Height = 21 Height = 21
Top = 483 Top = 483
Width = 100 Width = 100
HelpContext = 0
Anchors = [akLeft, akBottom] Anchors = [akLeft, akBottom]
AutoComplete = False
BorderSpacing.Left = 0
BorderSpacing.Top = 6 BorderSpacing.Top = 6
BorderSpacing.Right = 0
BorderSpacing.Bottom = 0
BorderSpacing.Around = 0
BorderSpacing.CellAlignHorizontal = ccaFill
BorderSpacing.CellAlignVertical = ccaFill
Ctl3D = False
ItemHeight = 13 ItemHeight = 13
Items.Strings = ( Items.Strings = (
'1' '1'
@ -131,9 +215,36 @@ inherited EditorGeneralOptionsFrame: TEditorGeneralOptionsFrame
'4' '4'
'8' '8'
) )
ItemWidth = 0
OnChange = ComboboxOnChange OnChange = ComboboxOnChange
OnExit = ComboBoxOnExit OnExit = ComboBoxOnExit
OnKeyDown = ComboboxOnKeyDown OnKeyDown = ComboboxOnKeyDown
TabOrder = 3 TabOrder = 3
end end
object BracketCombo: TComboBox[8]
AnchorSideLeft.Control = Owner
AnchorSideBottom.Control = BlockIndentComboBox
Left = 0
Height = 21
Top = 405
Width = 100
HelpContext = 0
Anchors = [akLeft, akBottom]
AutoComplete = False
BorderSpacing.Left = 0
BorderSpacing.Top = 0
BorderSpacing.Right = 0
BorderSpacing.Bottom = 6
BorderSpacing.Around = 0
BorderSpacing.CellAlignHorizontal = ccaFill
BorderSpacing.CellAlignVertical = ccaFill
Ctl3D = False
ItemHeight = 13
ItemWidth = 0
OnChange = ComboboxOnChange
OnExit = ComboBoxOnExit
OnKeyDown = ComboboxOnKeyDown
Style = csDropDownList
TabOrder = 4
end
end end

View File

@ -3,53 +3,94 @@
LazarusResources.Add('TEditorGeneralOptionsFrame','FORMDATA',[ LazarusResources.Add('TEditorGeneralOptionsFrame','FORMDATA',[
'TPF0'#241#26'TEditorGeneralOptionsFrame'#25'EditorGeneralOptionsFrame'#6'Hei' 'TPF0'#241#26'TEditorGeneralOptionsFrame'#25'EditorGeneralOptionsFrame'#6'Hei'
+'ght'#3#248#1#5'Width'#3#198#1#12'ClientHeight'#3#248#1#11'ClientWidth'#3#198 +'ght'#3#248#1#5'Width'#3#198#1#12'ClientHeight'#3#248#1#11'ClientWidth'#3#198
+#1#8'TabOrder'#2#0#7'Visible'#8#10'DesignLeft'#3#132#0#9'DesignTop'#3#174#0#0 +#1#7'Visible'#8#10'DesignLeft'#3#147#1#9'DesignTop'#3#8#1#0#242#2#0#6'TLabel'
+#242#2#0#6'TLabel'#16'BlockIndentLabel'#22'AnchorSideLeft.Control'#7#19'Bloc' +#16'BlockIndentLabel'#22'AnchorSideLeft.Control'#7#19'BlockIndentComboBox'#19
+'kIndentComboBox'#19'AnchorSideLeft.Side'#7#9'asrBottom'#24'AnchorSideBottom' +'AnchorSideLeft.Side'#7#9'asrBottom'#24'AnchorSideBottom.Control'#7#19'Block'
+'.Control'#7#19'BlockIndentComboBox'#21'AnchorSideBottom.Side'#7#9'asrCenter' +'IndentComboBox'#21'AnchorSideBottom.Side'#7#9'asrCenter'#4'Left'#2'j'#6'Hei'
+#4'Left'#2'j'#6'Height'#2#14#3'Top'#3#179#1#5'Width'#2'R'#7'Anchors'#11#6'ak' +'ght'#2#14#3'Top'#3#179#1#5'Width'#2'R'#11'HelpContext'#2#0#7'Anchors'#11#6
+'Left'#8'akBottom'#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#16'BlockInden' +'akLeft'#8'akBottom'#0#18'BorderSpacing.Left'#2#0#17'BorderSpacing.Top'#2#0
+'tLabel'#11'ParentColor'#8#0#0#242#2#1#6'TLabel'#14'UndoLimitLabel'#22'Ancho' +#19'BorderSpacing.Right'#2#0#20'BorderSpacing.Bottom'#2#0#20'BorderSpacing.A'
+'rSideLeft.Control'#7#17'UndoLimitComboBox'#19'AnchorSideLeft.Side'#7#9'asrB' +'round'#2#6'!BorderSpacing.CellAlignHorizontal'#7#7'ccaFill'#31'BorderSpacin'
+'ottom'#24'AnchorSideBottom.Control'#7#17'UndoLimitComboBox'#21'AnchorSideBo' +'g.CellAlignVertical'#7#7'ccaFill'#7'Caption'#6#16'BlockIndentLabel'#11'Pare'
+'ttom.Side'#7#9'asrCenter'#4'Left'#2'j'#6'Height'#2#14#3'Top'#3#206#1#5'Widt' +'ntColor'#8#0#0#242#2#1#6'TLabel'#14'UndoLimitLabel'#22'AnchorSideLeft.Contr'
+'h'#2'H'#7'Anchors'#11#6'akLeft'#8'akBottom'#0#20'BorderSpacing.Around'#2#6#7 +'ol'#7#17'UndoLimitComboBox'#19'AnchorSideLeft.Side'#7#9'asrBottom'#24'Ancho'
+'Caption'#6#14'UndoLimitLabel'#11'ParentColor'#8#0#0#242#2#2#6'TLabel'#14'Ta' +'rSideBottom.Control'#7#17'UndoLimitComboBox'#21'AnchorSideBottom.Side'#7#9
+'bWidthsLabel'#22'AnchorSideLeft.Control'#7#17'TabWidthsComboBox'#19'AnchorS' +'asrCenter'#4'Left'#2'j'#6'Height'#2#14#3'Top'#3#206#1#5'Width'#2'H'#11'Help'
+'ideLeft.Side'#7#9'asrBottom'#24'AnchorSideBottom.Control'#7#17'TabWidthsCom' +'Context'#2#0#7'Anchors'#11#6'akLeft'#8'akBottom'#0#18'BorderSpacing.Left'#2
+'boBox'#21'AnchorSideBottom.Side'#7#9'asrCenter'#4'Left'#2'j'#6'Height'#2#14 +#0#17'BorderSpacing.Top'#2#0#19'BorderSpacing.Right'#2#0#20'BorderSpacing.Bo'
+#3'Top'#3#230#1#5'Width'#2'M'#7'Anchors'#11#6'akLeft'#8'akBottom'#0#20'Borde' +'ttom'#2#0#20'BorderSpacing.Around'#2#6'!BorderSpacing.CellAlignHorizontal'#7
+'rSpacing.Around'#2#6#7'Caption'#6#14'TabWidthsLabel'#11'ParentColor'#8#0#0 +#7'ccaFill'#31'BorderSpacing.CellAlignVertical'#7#7'ccaFill'#7'Caption'#6#14
+#242#2#3#11'TCheckGroup'#21'EditorOptionsGroupBox'#22'AnchorSideLeft.Control' +'UndoLimitLabel'#11'ParentColor'#8#0#0#242#2#2#6'TLabel'#14'TabWidthsLabel'
+#7#5'Owner'#21'AnchorSideTop.Control'#7#5'Owner'#23'AnchorSideRight.Control' +#22'AnchorSideLeft.Control'#7#17'TabWidthsComboBox'#19'AnchorSideLeft.Side'#7
+#7#5'Owner'#20'AnchorSideRight.Side'#7#9'asrBottom'#24'AnchorSideBottom.Cont' +#9'asrBottom'#24'AnchorSideBottom.Control'#7#17'TabWidthsComboBox'#21'Anchor'
+'rol'#7#19'BlockIndentComboBox'#6'Height'#3#170#1#5'Width'#3#198#1#5'Align'#7 +'SideBottom.Side'#7#9'asrCenter'#4'Left'#2'j'#6'Height'#2#14#3'Top'#3#230#1#5
+#5'alTop'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#8'AutoFi' +'Width'#2'M'#11'HelpContext'#2#0#7'Anchors'#11#6'akLeft'#8'akBottom'#0#18'Bo'
+'ll'#9#20'BorderSpacing.Bottom'#2#6#7'Caption'#6#21'EditorOptionsGroupBox'#28 +'rderSpacing.Left'#2#0#17'BorderSpacing.Top'#2#0#19'BorderSpacing.Right'#2#0
+'ChildSizing.LeftRightSpacing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'C' +#20'BorderSpacing.Bottom'#2#0#20'BorderSpacing.Around'#2#6'!BorderSpacing.Ce'
+'hildSizing.EnlargeHorizontal'#7#24'crsHomogenousChildResize'#27'ChildSizing' +'llAlignHorizontal'#7#7'ccaFill'#31'BorderSpacing.CellAlignVertical'#7#7'cca'
+'.EnlargeVertical'#7#24'crsHomogenousChildResize'#28'ChildSizing.ShrinkHoriz' +'Fill'#7'Caption'#6#14'TabWidthsLabel'#11'ParentColor'#8#0#0#242#2#3#6'TLabe'
+'ontal'#7#14'crsScaleChilds'#26'ChildSizing.ShrinkVertical'#7#14'crsScaleChi' +'l'#12'BracketLabel'#22'AnchorSideLeft.Control'#7#12'BracketCombo'#19'Anchor'
+'lds'#18'ChildSizing.Layout'#7#29'cclTopToBottomThenLeftToRight'#27'ChildSiz' +'SideLeft.Side'#7#9'asrBottom'#24'AnchorSideBottom.Control'#7#12'BracketComb'
+'ing.ControlsPerLine'#2#1#12'ColumnLayout'#7#24'clVerticalThenHorizontal'#7 +'o'#21'AnchorSideBottom.Side'#7#9'asrCenter'#4'Left'#2'j'#6'Height'#2#14#3'T'
+'Columns'#2#2#11'OnItemClick'#7#30'EditorOptionsGroupBoxItemClick'#8'TabOrde' +'op'#3#152#1#5'Width'#2'>'#11'HelpContext'#2#0#7'Anchors'#11#6'akLeft'#8'akB'
+'r'#2#0#0#0#242#2#4#9'TComboBox'#19'BlockIndentComboBox'#22'AnchorSideLeft.C' +'ottom'#0#18'BorderSpacing.Left'#2#0#17'BorderSpacing.Top'#2#0#19'BorderSpac'
+'ontrol'#7#5'Owner'#24'AnchorSideBottom.Control'#7#17'UndoLimitComboBox'#6'H' +'ing.Right'#2#0#20'BorderSpacing.Bottom'#2#0#20'BorderSpacing.Around'#2#6'!B'
+'eight'#2#21#3'Top'#3#176#1#5'Width'#2'd'#7'Anchors'#11#6'akLeft'#8'akBottom' +'orderSpacing.CellAlignHorizontal'#7#7'ccaFill'#31'BorderSpacing.CellAlignVe'
+#0#20'BorderSpacing.Bottom'#2#6#10'ItemHeight'#2#13#13'Items.Strings'#1#6#1 +'rtical'#7#7'ccaFill'#7'Caption'#6#12'BracketLabel'#11'ParentColor'#8#0#0#242
+'1'#6#1'2'#6#1'4'#6#1'8'#0#8'OnChange'#7#16'ComboboxOnChange'#6'OnExit'#7#14 +#2#4#11'TCheckGroup'#21'EditorOptionsGroupBox'#22'AnchorSideLeft.Control'#7#5
+'ComboBoxOnExit'#9'OnKeyDown'#7#17'ComboboxOnKeyDown'#8'TabOrder'#2#1#0#0#242 +'Owner'#21'AnchorSideTop.Control'#7#5'Owner'#23'AnchorSideRight.Control'#7#5
+#2#5#9'TComboBox'#17'UndoLimitComboBox'#22'AnchorSideLeft.Control'#7#5'Owner' +'Owner'#20'AnchorSideRight.Side'#7#9'asrBottom'#24'AnchorSideBottom.Control'
+#24'AnchorSideBottom.Control'#7#14'TabWidthsLabel'#6'Height'#2#21#3'Top'#3 +#7#12'BracketCombo'#4'Left'#2#0#6'Height'#3#143#1#3'Top'#2#0#5'Width'#3#198#1
+#203#1#5'Width'#2'd'#7'Anchors'#11#6'akLeft'#8'akBottom'#0#17'BorderSpacing.' +#11'HelpContext'#2#0#5'Align'#7#5'alTop'#7'Anchors'#11#5'akTop'#6'akLeft'#7
+'Top'#2#6#20'BorderSpacing.Bottom'#2#6#10'ItemHeight'#2#13#13'Items.Strings' +'akRight'#8'akBottom'#0#8'AutoFill'#9#18'BorderSpacing.Left'#2#0#17'BorderSp'
+#1#6#5'32767'#6#4'4096'#6#3'512'#0#8'OnChange'#7#16'ComboboxOnChange'#6'OnEx' +'acing.Top'#2#0#19'BorderSpacing.Right'#2#0#20'BorderSpacing.Bottom'#2#6#20
+'it'#7#14'ComboBoxOnExit'#9'OnKeyDown'#7#17'ComboboxOnKeyDown'#8'TabOrder'#2 +'BorderSpacing.Around'#2#0'!BorderSpacing.CellAlignHorizontal'#7#7'ccaFill'
+#2#0#0#242#2#6#9'TComboBox'#17'TabWidthsComboBox'#22'AnchorSideLeft.Control' +#31'BorderSpacing.CellAlignVertical'#7#7'ccaFill'#7'Caption'#6#21'EditorOpti'
+#7#5'Owner'#24'AnchorSideBottom.Control'#7#5'Owner'#21'AnchorSideBottom.Side' +'onsGroupBox'#28'ChildSizing.LeftRightSpacing'#2#6#28'ChildSizing.TopBottomS'
+#7#9'asrBottom'#6'Height'#2#21#3'Top'#3#227#1#5'Width'#2'd'#7'Anchors'#11#6 +'pacing'#2#6#29'ChildSizing.HorizontalSpacing'#2#0#27'ChildSizing.VerticalSp'
+'akLeft'#8'akBottom'#0#17'BorderSpacing.Top'#2#6#10'ItemHeight'#2#13#13'Item' +'acing'#2#0#29'ChildSizing.EnlargeHorizontal'#7#24'crsHomogenousChildResize'
+'s.Strings'#1#6#1'1'#6#1'2'#6#1'4'#6#1'8'#0#8'OnChange'#7#16'ComboboxOnChang' +#27'ChildSizing.EnlargeVertical'#7#24'crsHomogenousChildResize'#28'ChildSizi'
+'e'#6'OnExit'#7#14'ComboBoxOnExit'#9'OnKeyDown'#7#17'ComboboxOnKeyDown'#8'Ta' +'ng.ShrinkHorizontal'#7#14'crsScaleChilds'#26'ChildSizing.ShrinkVertical'#7
+'bOrder'#2#3#0#0#0 +#14'crsScaleChilds'#18'ChildSizing.Layout'#7#29'cclTopToBottomThenLeftToRigh'
+'t'#27'ChildSizing.ControlsPerLine'#2#1#12'ColumnLayout'#7#24'clVerticalThen'
+'Horizontal'#7'Columns'#2#2#5'Ctl3D'#8#11'OnItemClick'#7#30'EditorOptionsGro'
+'upBoxItemClick'#8'TabOrder'#2#0#0#0#242#2#5#9'TComboBox'#19'BlockIndentComb'
+'oBox'#22'AnchorSideLeft.Control'#7#5'Owner'#24'AnchorSideBottom.Control'#7
+#17'UndoLimitComboBox'#4'Left'#2#0#6'Height'#2#21#3'Top'#3#176#1#5'Width'#2
+'d'#11'HelpContext'#2#0#7'Anchors'#11#6'akLeft'#8'akBottom'#0#12'AutoComplet'
+'e'#8#18'BorderSpacing.Left'#2#0#17'BorderSpacing.Top'#2#0#19'BorderSpacing.'
+'Right'#2#0#20'BorderSpacing.Bottom'#2#6#20'BorderSpacing.Around'#2#0'!Borde'
+'rSpacing.CellAlignHorizontal'#7#7'ccaFill'#31'BorderSpacing.CellAlignVertic'
+'al'#7#7'ccaFill'#5'Ctl3D'#8#10'ItemHeight'#2#13#13'Items.Strings'#1#6#1'1'#6
+#1'2'#6#1'4'#6#1'8'#0#9'ItemWidth'#2#0#8'OnChange'#7#16'ComboboxOnChange'#6
+'OnExit'#7#14'ComboBoxOnExit'#9'OnKeyDown'#7#17'ComboboxOnKeyDown'#8'TabOrde'
+'r'#2#1#0#0#242#2#6#9'TComboBox'#17'UndoLimitComboBox'#22'AnchorSideLeft.Con'
,'trol'#7#5'Owner'#24'AnchorSideBottom.Control'#7#14'TabWidthsLabel'#4'Left'#2
+#0#6'Height'#2#21#3'Top'#3#203#1#5'Width'#2'd'#11'HelpContext'#2#0#7'Anchors'
+#11#6'akLeft'#8'akBottom'#0#12'AutoComplete'#8#18'BorderSpacing.Left'#2#0#17
+'BorderSpacing.Top'#2#6#19'BorderSpacing.Right'#2#0#20'BorderSpacing.Bottom'
+#2#6#20'BorderSpacing.Around'#2#0'!BorderSpacing.CellAlignHorizontal'#7#7'cc'
+'aFill'#31'BorderSpacing.CellAlignVertical'#7#7'ccaFill'#5'Ctl3D'#8#10'ItemH'
+'eight'#2#13#13'Items.Strings'#1#6#5'32767'#6#4'4096'#6#3'512'#0#9'ItemWidth'
+#2#0#8'OnChange'#7#16'ComboboxOnChange'#6'OnExit'#7#14'ComboBoxOnExit'#9'OnK'
+'eyDown'#7#17'ComboboxOnKeyDown'#8'TabOrder'#2#2#0#0#242#2#7#9'TComboBox'#17
+'TabWidthsComboBox'#22'AnchorSideLeft.Control'#7#5'Owner'#24'AnchorSideBotto'
+'m.Control'#7#5'Owner'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#2#0#6
+'Height'#2#21#3'Top'#3#227#1#5'Width'#2'd'#11'HelpContext'#2#0#7'Anchors'#11
+#6'akLeft'#8'akBottom'#0#12'AutoComplete'#8#18'BorderSpacing.Left'#2#0#17'Bo'
+'rderSpacing.Top'#2#6#19'BorderSpacing.Right'#2#0#20'BorderSpacing.Bottom'#2
+#0#20'BorderSpacing.Around'#2#0'!BorderSpacing.CellAlignHorizontal'#7#7'ccaF'
+'ill'#31'BorderSpacing.CellAlignVertical'#7#7'ccaFill'#5'Ctl3D'#8#10'ItemHei'
+'ght'#2#13#13'Items.Strings'#1#6#1'1'#6#1'2'#6#1'4'#6#1'8'#0#9'ItemWidth'#2#0
+#8'OnChange'#7#16'ComboboxOnChange'#6'OnExit'#7#14'ComboBoxOnExit'#9'OnKeyDo'
+'wn'#7#17'ComboboxOnKeyDown'#8'TabOrder'#2#3#0#0#242#2#8#9'TComboBox'#12'Bra'
+'cketCombo'#22'AnchorSideLeft.Control'#7#5'Owner'#24'AnchorSideBottom.Contro'
+'l'#7#19'BlockIndentComboBox'#4'Left'#2#0#6'Height'#2#21#3'Top'#3#149#1#5'Wi'
+'dth'#2'd'#11'HelpContext'#2#0#7'Anchors'#11#6'akLeft'#8'akBottom'#0#12'Auto'
+'Complete'#8#18'BorderSpacing.Left'#2#0#17'BorderSpacing.Top'#2#0#19'BorderS'
+'pacing.Right'#2#0#20'BorderSpacing.Bottom'#2#6#20'BorderSpacing.Around'#2#0
+'!BorderSpacing.CellAlignHorizontal'#7#7'ccaFill'#31'BorderSpacing.CellAlign'
+'Vertical'#7#7'ccaFill'#5'Ctl3D'#8#10'ItemHeight'#2#13#9'ItemWidth'#2#0#8'On'
+'Change'#7#16'ComboboxOnChange'#6'OnExit'#7#14'ComboBoxOnExit'#9'OnKeyDown'#7
+#17'ComboboxOnKeyDown'#5'Style'#7#14'csDropDownList'#8'TabOrder'#2#4#0#0#0
]); ]);

View File

@ -26,7 +26,7 @@ interface
uses uses
Classes, SysUtils, FileUtil, LResources, Forms, Graphics, LCLProc, LCLType, Classes, SysUtils, FileUtil, LResources, Forms, Graphics, LCLProc, LCLType,
StdCtrls, SynEdit, Controls, ExtCtrls, StdCtrls, SynEdit, SynEditMarkupBracket, Controls, ExtCtrls,
EditorOptions, LazarusIDEStrConsts, IDEProcs, IDEOptionsIntf; EditorOptions, LazarusIDEStrConsts, IDEProcs, IDEOptionsIntf;
type type
@ -36,6 +36,8 @@ type
TEditorGeneralOptionsFrame = class(TAbstractIDEOptionsEditor) TEditorGeneralOptionsFrame = class(TAbstractIDEOptionsEditor)
BlockIndentComboBox: TComboBox; BlockIndentComboBox: TComboBox;
BlockIndentLabel: TLabel; BlockIndentLabel: TLabel;
BracketLabel: TLabel;
BracketCombo: TComboBox;
EditorOptionsGroupBox: TCheckGroup; EditorOptionsGroupBox: TCheckGroup;
TabWidthsComboBox: TComboBox; TabWidthsComboBox: TComboBox;
TabWidthsLabel: TLabel; TabWidthsLabel: TLabel;
@ -77,7 +79,6 @@ begin
Items.Add(dlgAltSetClMode); Items.Add(dlgAltSetClMode);
Items.Add(dlgAutoIdent); Items.Add(dlgAutoIdent);
// visual effects // visual effects
Items.Add(dlgBracHighlight);
Items.Add(dlgShowGutterHints); Items.Add(dlgShowGutterHints);
//Items.Add(dlgShowScrollHint); //Items.Add(dlgShowScrollHint);
Items.Add(lisShowSpecialCharacters); Items.Add(lisShowSpecialCharacters);
@ -113,6 +114,13 @@ begin
Items.Add(dlgFindTextatCursor); Items.Add(dlgFindTextatCursor);
Items.Add(dlgCopyWordAtCursorOnCopyNone); Items.Add(dlgCopyWordAtCursorOnCopyNone);
end; end;
BracketCombo.Items.Add(dlgNoBracketHighlight);
BracketCombo.Items.Add(dlgHighlightLeftOfCursor);
BracketCombo.Items.Add(dlgHighlightRightOfCursor);
BracketCombo.Items.Add(gldHighlightBothSidesOfCursor);
BracketLabel.Caption := dlgBracketHighlight;
BlockIndentLabel.Caption := dlgBlockIndent; BlockIndentLabel.Caption := dlgBlockIndent;
UndoLimitLabel.Caption := dlgUndoLimit; UndoLimitLabel.Caption := dlgUndoLimit;
TabWidthsLabel.Caption := dlgTabWidths; TabWidthsLabel.Caption := dlgTabWidths;
@ -128,7 +136,6 @@ begin
begin begin
Checked[Items.IndexOf(dlgAltSetClMode)] := eoAltSetsColumnMode in SynEditOptions; Checked[Items.IndexOf(dlgAltSetClMode)] := eoAltSetsColumnMode in SynEditOptions;
Checked[Items.IndexOf(dlgAutoIdent)] := eoAutoIndent in SynEditOptions; Checked[Items.IndexOf(dlgAutoIdent)] := eoAutoIndent in SynEditOptions;
Checked[Items.IndexOf(dlgBracHighlight)] := eoBracketHighlight in SynEditOptions;
Checked[Items.IndexOf(dlgDragDropEd)] := eoDragDropEditing in SynEditOptions; Checked[Items.IndexOf(dlgDragDropEd)] := eoDragDropEditing in SynEditOptions;
Checked[Items.IndexOf(dlgDropFiles)] := eoDropFiles in SynEditOptions; Checked[Items.IndexOf(dlgDropFiles)] := eoDropFiles in SynEditOptions;
Checked[Items.IndexOf(dlgGroupUndo)] := eoGroupUndo in SynEditOptions; Checked[Items.IndexOf(dlgGroupUndo)] := eoGroupUndo in SynEditOptions;
@ -158,6 +165,11 @@ begin
Checked[Items.IndexOf(dlgCopyWordAtCursorOnCopyNone)] := CopyWordAtCursorOnCopyNone; Checked[Items.IndexOf(dlgCopyWordAtCursorOnCopyNone)] := CopyWordAtCursorOnCopyNone;
end; end;
if eoBracketHighlight in SynEditOptions then
BracketCombo.ItemIndex := Ord(BracketHighlightStyle) + 1
else
BracketCombo.ItemIndex := 0;
SetComboBoxText(BlockIndentComboBox, IntToStr(BlockIndent)); SetComboBoxText(BlockIndentComboBox, IntToStr(BlockIndent));
SetComboBoxText(UndoLimitComboBox, IntToStr(UndoLimit)); SetComboBoxText(UndoLimitComboBox, IntToStr(UndoLimit));
SetComboBoxText(TabWidthsComboBox, IntToStr(TabWidth)); SetComboBoxText(TabWidthsComboBox, IntToStr(TabWidth));
@ -199,7 +211,6 @@ begin
begin begin
UpdateOption(dlgAltSetClMode, eoAltSetsColumnMode); UpdateOption(dlgAltSetClMode, eoAltSetsColumnMode);
UpdateOption(dlgAutoIdent, eoAutoIndent); UpdateOption(dlgAutoIdent, eoAutoIndent);
UpdateOption(dlgBracHighlight,eoBracketHighlight);
UpdateOption(dlgDoubleClickLine, eoDoubleClickSelectsLine); UpdateOption(dlgDoubleClickLine, eoDoubleClickSelectsLine);
UpdateOption(dlgDragDropEd, eoDragDropEditing); UpdateOption(dlgDragDropEd, eoDragDropEditing);
UpdateOption(dlgDropFiles, eoDropFiles); UpdateOption(dlgDropFiles, eoDropFiles);
@ -230,6 +241,20 @@ begin
//UseSyntaxHighlight := CheckGroupItemChecked(EditorOptionsGroupBox, dlgUseSyntaxHighlight); //UseSyntaxHighlight := CheckGroupItemChecked(EditorOptionsGroupBox, dlgUseSyntaxHighlight);
CtrlMouseLinks := CheckGroupItemChecked(EditorOptionsGroupBox, dlgMouseLinks); CtrlMouseLinks := CheckGroupItemChecked(EditorOptionsGroupBox, dlgMouseLinks);
if BracketCombo.ItemIndex = 0 then
TEditorOptions(AOptions).SynEditOptions := TEditorOptions(AOptions).SynEditOptions - [eoBracketHighlight]
else
begin
TEditorOptions(AOptions).SynEditOptions := TEditorOptions(AOptions).SynEditOptions + [eoBracketHighlight];
TEditorOptions(AOptions).BracketHighlightStyle := TSynEditBracketHighlightStyle(BracketCombo.ItemIndex - 1);
end;
if eoBracketHighlight in SynEditOptions then
BracketCombo.ItemIndex := Ord(BracketHighlightStyle) + 1
else
BracketCombo.ItemIndex := 0;
i := StrToIntDef(UndoLimitComboBox.Text, 32767); i := StrToIntDef(UndoLimitComboBox.Text, 32767);
if i < 1 then if i < 1 then
i := 1; i := 1;
@ -301,7 +326,6 @@ procedure TEditorGeneralOptionsFrame.EditorOptionsGroupBoxItemClick(
begin begin
SetOption(dlgAltSetClMode, eoAltSetsColumnMode); SetOption(dlgAltSetClMode, eoAltSetsColumnMode);
SetOption(dlgAutoIdent, eoAutoIndent); SetOption(dlgAutoIdent, eoAutoIndent);
SetOption(dlgBracHighlight,eoBracketHighlight);
SetOption(dlgDoubleClickLine, eoDoubleClickSelectsLine); SetOption(dlgDoubleClickLine, eoDoubleClickSelectsLine);
SetOption(dlgDragDropEd, eoDragDropEditing); SetOption(dlgDragDropEd, eoDragDropEditing);
SetOption(dlgDropFiles, eoDropFiles); SetOption(dlgDropFiles, eoDropFiles);
@ -361,6 +385,21 @@ begin
for a := Low(PreviewEdits) to High(PreviewEdits) do for a := Low(PreviewEdits) to High(PreviewEdits) do
if PreviewEdits[a] <> nil then if PreviewEdits[a] <> nil then
PreviewEdits[a].TabWidth := NewVal; PreviewEdits[a].TabWidth := NewVal;
end
else
if Sender = BracketCombo then
begin
for a := Low(PreviewEdits) to High(PreviewEdits) do
if PreviewEdits[a] <> nil then
begin
if BracketCombo.ItemIndex = 0 then
PreviewEdits[a].Options := PreviewEdits[a].Options - [eoBracketHighlight]
else
begin
PreviewEdits[a].Options := PreviewEdits[a].Options + [eoBracketHighlight];
PreviewEdits[a].BracketHighlightStyle := TSynEditBracketHighlightStyle(BracketCombo.ItemIndex - 1);
end;
end;
end; end;
end; end;

View File

@ -1101,7 +1101,6 @@ resourcestring
dlgAltSetClMode = 'Alt-Key sets column mode'; dlgAltSetClMode = 'Alt-Key sets column mode';
dlgAlwaysVisibleCursor = 'Always visible cursor'; dlgAlwaysVisibleCursor = 'Always visible cursor';
dlgAutoIdent = 'Auto indent'; dlgAutoIdent = 'Auto indent';
dlgBracHighlight = 'Bracket highlighting';
dlgDragDropEd = 'Drag Drop editing'; dlgDragDropEd = 'Drag Drop editing';
dlgDropFiles = 'Drop files'; dlgDropFiles = 'Drop files';
dlgGroupUndo = 'Group Undo'; dlgGroupUndo = 'Group Undo';
@ -1129,6 +1128,11 @@ resourcestring
dlgUseCodeFolding = 'Code folding'; dlgUseCodeFolding = 'Code folding';
dlgCopyWordAtCursorOnCopyNone = 'Copy word on copy none'; dlgCopyWordAtCursorOnCopyNone = 'Copy word on copy none';
dlgHomeKeyJumpsToNearestStart = 'Home key jumps to nearest start'; dlgHomeKeyJumpsToNearestStart = 'Home key jumps to nearest start';
dlgBracketHighlight = 'Bracket highlight style';
dlgNoBracketHighlight = 'No Highlight';
dlgHighlightLeftOfCursor = 'Left Of Cursor';
dlgHighlightRightOfCursor = 'Right Of Cursor';
gldHighlightBothSidesOfCursor = 'On Both Sides';
dlgBlockIndent = 'Block indent'; dlgBlockIndent = 'Block indent';
dlgUndoLimit = 'Undo limit'; dlgUndoLimit = 'Undo limit';
dlgTabWidths = 'Tab widths'; dlgTabWidths = 'Tab widths';