IDE: code templates: fixed tab order, gray buttons if empty, patch #28027

git-svn-id: trunk@48929 -
This commit is contained in:
mattias 2015-05-05 08:51:52 +00:00
parent 0738480a91
commit 085a099b89
2 changed files with 50 additions and 60 deletions

View File

@ -10,8 +10,9 @@ object CodeTemplateDialog: TCodeTemplateDialog
ClientWidth = 729 ClientWidth = 729
OnClose = FormClose OnClose = FormClose
OnCreate = FormCreate OnCreate = FormCreate
OnShow = FormShow
Position = poScreenCenter Position = poScreenCenter
LCLVersion = '1.3' LCLVersion = '1.5'
object FilenameGroupBox: TGroupBox object FilenameGroupBox: TGroupBox
Left = 6 Left = 6
Height = 51 Height = 51
@ -20,13 +21,13 @@ object CodeTemplateDialog: TCodeTemplateDialog
Align = alTop Align = alTop
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'FilenameGroupBox' Caption = 'FilenameGroupBox'
ClientHeight = 34 ClientHeight = 31
ClientWidth = 713 ClientWidth = 713
TabOrder = 0 TabOrder = 0
object FilenameEdit: TEdit object FilenameEdit: TEdit
AnchorSideRight.Control = FilenameButton AnchorSideRight.Control = FilenameButton
Left = 9 Left = 9
Height = 25 Height = 23
Top = 4 Top = 4
Width = 667 Width = 667
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
@ -41,7 +42,7 @@ object CodeTemplateDialog: TCodeTemplateDialog
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 681 Left = 681
Height = 23 Height = 23
Top = 6 Top = 4
Width = 26 Width = 26
Anchors = [akRight, akBottom] Anchors = [akRight, akBottom]
BorderSpacing.Right = 6 BorderSpacing.Right = 6
@ -58,7 +59,7 @@ object CodeTemplateDialog: TCodeTemplateDialog
Align = alTop Align = alTop
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'TemplatesGroupBox' Caption = 'TemplatesGroupBox'
ClientHeight = 150 ClientHeight = 147
ClientWidth = 713 ClientWidth = 713
TabOrder = 1 TabOrder = 1
object TemplateListBox: TListBox object TemplateListBox: TListBox
@ -68,7 +69,7 @@ object CodeTemplateDialog: TCodeTemplateDialog
AnchorSideBottom.Control = TemplatesGroupBox AnchorSideBottom.Control = TemplatesGroupBox
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 6 Left = 6
Height = 138 Height = 135
Top = 6 Top = 6
Width = 547 Width = 547
Anchors = [akTop, akLeft, akRight, akBottom] Anchors = [akTop, akLeft, akRight, akBottom]
@ -78,16 +79,14 @@ object CodeTemplateDialog: TCodeTemplateDialog
BorderSpacing.Bottom = 6 BorderSpacing.Bottom = 6
ItemHeight = 0 ItemHeight = 0
OnSelectionChange = TemplateListBoxSelectionChange OnSelectionChange = TemplateListBoxSelectionChange
ScrollWidth = 545
TabOrder = 0 TabOrder = 0
TopIndex = -1
end end
object AddButton: TButton object AddButton: TButton
AnchorSideTop.Control = TemplateListBox AnchorSideTop.Control = TemplateListBox
AnchorSideRight.Control = TemplatesGroupBox AnchorSideRight.Control = TemplatesGroupBox
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 559 Left = 559
Height = 30 Height = 25
Top = 6 Top = 6
Width = 148 Width = 148
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
@ -103,14 +102,14 @@ object CodeTemplateDialog: TCodeTemplateDialog
AnchorSideRight.Control = AddButton AnchorSideRight.Control = AddButton
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 559 Left = 559
Height = 30 Height = 25
Top = 42 Top = 37
Width = 148 Width = 148
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6 BorderSpacing.Top = 6
Caption = 'DeleteButton' Caption = 'DeleteButton'
OnClick = DeleteButtonClick OnClick = DeleteButtonClick
TabOrder = 3 TabOrder = 2
end end
object RenameButton: TButton object RenameButton: TButton
AnchorSideLeft.Control = AddButton AnchorSideLeft.Control = AddButton
@ -119,14 +118,14 @@ object CodeTemplateDialog: TCodeTemplateDialog
AnchorSideRight.Control = DeleteButton AnchorSideRight.Control = DeleteButton
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 559 Left = 559
Height = 30 Height = 25
Top = 78 Top = 68
Width = 148 Width = 148
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6 BorderSpacing.Top = 6
Caption = 'RenameButton' Caption = 'RenameButton'
OnClick = RenameButtonClick OnClick = RenameButtonClick
TabOrder = 2 TabOrder = 3
end end
end end
object EditTemplateGroupBox: TGroupBox object EditTemplateGroupBox: TGroupBox
@ -134,13 +133,13 @@ object CodeTemplateDialog: TCodeTemplateDialog
AnchorSideRight.Control = Owner AnchorSideRight.Control = Owner
AnchorSideBottom.Control = FilenameGroupBox AnchorSideBottom.Control = FilenameGroupBox
Left = 6 Left = 6
Height = 264 Height = 266
Top = 236 Top = 236
Width = 717 Width = 717
Align = alClient Align = alClient
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'EditTemplateGroupBox' Caption = 'EditTemplateGroupBox'
ClientHeight = 247 ClientHeight = 246
ClientWidth = 713 ClientWidth = 713
TabOrder = 2 TabOrder = 2
inline TemplateSynEdit: TSynEdit inline TemplateSynEdit: TSynEdit
@ -151,7 +150,7 @@ object CodeTemplateDialog: TCodeTemplateDialog
AnchorSideBottom.Control = EditTemplateGroupBox AnchorSideBottom.Control = EditTemplateGroupBox
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 6 Left = 6
Height = 163 Height = 162
Top = 78 Top = 78
Width = 701 Width = 701
BorderSpacing.Around = 6 BorderSpacing.Around = 6
@ -162,7 +161,7 @@ object CodeTemplateDialog: TCodeTemplateDialog
Font.Quality = fqNonAntialiased Font.Quality = fqNonAntialiased
ParentColor = False ParentColor = False
ParentFont = False ParentFont = False
TabOrder = 0 TabOrder = 2
Gutter.Width = 57 Gutter.Width = 57
Gutter.MouseActions = < Gutter.MouseActions = <
item item
@ -575,11 +574,7 @@ object CodeTemplateDialog: TCodeTemplateDialog
ClickDir = cdDown ClickDir = cdDown
Command = emcStartDragMove Command = emcStartDragMove
end> end>
Lines.Strings = (
'TemplateSynEdit'
)
VisibleSpecialChars = [vscSpace, vscTabAtLast] VisibleSpecialChars = [vscSpace, vscTabAtLast]
SelectedColor.FrameEdges = sfeAround
SelectedColor.BackPriority = 50 SelectedColor.BackPriority = 50
SelectedColor.ForePriority = 50 SelectedColor.ForePriority = 50
SelectedColor.FramePriority = 50 SelectedColor.FramePriority = 50
@ -587,23 +582,17 @@ object CodeTemplateDialog: TCodeTemplateDialog
SelectedColor.ItalicPriority = 50 SelectedColor.ItalicPriority = 50
SelectedColor.UnderlinePriority = 50 SelectedColor.UnderlinePriority = 50
SelectedColor.StrikeOutPriority = 50 SelectedColor.StrikeOutPriority = 50
IncrementColor.FrameEdges = sfeAround
HighlightAllColor.FrameEdges = sfeAround
BracketHighlightStyle = sbhsBoth BracketHighlightStyle = sbhsBoth
BracketMatchColor.Background = clNone BracketMatchColor.Background = clNone
BracketMatchColor.Foreground = clNone BracketMatchColor.Foreground = clNone
BracketMatchColor.FrameEdges = sfeAround
BracketMatchColor.Style = [fsBold] BracketMatchColor.Style = [fsBold]
FoldedCodeColor.Background = clNone FoldedCodeColor.Background = clNone
FoldedCodeColor.Foreground = clGray FoldedCodeColor.Foreground = clGray
FoldedCodeColor.FrameColor = clGray FoldedCodeColor.FrameColor = clGray
FoldedCodeColor.FrameEdges = sfeAround
MouseLinkColor.Background = clNone MouseLinkColor.Background = clNone
MouseLinkColor.Foreground = clBlue MouseLinkColor.Foreground = clBlue
MouseLinkColor.FrameEdges = sfeAround
LineHighlightColor.Background = clNone LineHighlightColor.Background = clNone
LineHighlightColor.Foreground = clNone LineHighlightColor.Foreground = clNone
LineHighlightColor.FrameEdges = sfeAround
inline TSynGutterPartList inline TSynGutterPartList
object TSynGutterMarks object TSynGutterMarks
Width = 24 Width = 24
@ -614,7 +603,6 @@ object CodeTemplateDialog: TCodeTemplateDialog
MouseActions = <> MouseActions = <>
MarkupInfo.Background = clBtnFace MarkupInfo.Background = clBtnFace
MarkupInfo.Foreground = clNone MarkupInfo.Foreground = clNone
MarkupInfo.FrameEdges = sfeAround
DigitCount = 2 DigitCount = 2
ShowOnlyLineNumbersMultiplesOf = 1 ShowOnlyLineNumbersMultiplesOf = 1
ZeroStart = False ZeroStart = False
@ -631,7 +619,6 @@ object CodeTemplateDialog: TCodeTemplateDialog
MouseActions = <> MouseActions = <>
MarkupInfo.Background = clWhite MarkupInfo.Background = clWhite
MarkupInfo.Foreground = clGray MarkupInfo.Foreground = clGray
MarkupInfo.FrameEdges = sfeAround
end end
object TSynGutterCodeFolding object TSynGutterCodeFolding
MouseActions = < MouseActions = <
@ -662,7 +649,6 @@ object CodeTemplateDialog: TCodeTemplateDialog
end> end>
MarkupInfo.Background = clNone MarkupInfo.Background = clNone
MarkupInfo.Foreground = clGray MarkupInfo.Foreground = clGray
MarkupInfo.FrameEdges = sfeAround
MouseActionsExpanded = < MouseActionsExpanded = <
item item
ClickCount = ccAny ClickCount = ccAny
@ -693,10 +679,10 @@ object CodeTemplateDialog: TCodeTemplateDialog
AnchorSideTop.Control = EditTemplateGroupBox AnchorSideTop.Control = EditTemplateGroupBox
AnchorSideRight.Control = EditTemplateGroupBox AnchorSideRight.Control = EditTemplateGroupBox
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 181 Left = 168
Height = 70 Height = 70
Top = 2 Top = 2
Width = 530 Width = 543
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
AutoFill = True AutoFill = True
AutoSize = True AutoSize = True
@ -720,21 +706,21 @@ object CodeTemplateDialog: TCodeTemplateDialog
AnchorSideLeft.Control = EditTemplateGroupBox AnchorSideLeft.Control = EditTemplateGroupBox
AnchorSideTop.Control = EditTemplateGroupBox AnchorSideTop.Control = EditTemplateGroupBox
Left = 0 Left = 0
Height = 93 Height = 81
Top = 0 Top = 0
Width = 171 Width = 158
AutoSize = True AutoSize = True
BevelOuter = bvNone BevelOuter = bvNone
ClientHeight = 93 ClientHeight = 81
ClientWidth = 171 ClientWidth = 158
TabOrder = 2 TabOrder = 0
object KeepSubIndentCheckBox: TCheckBox object KeepSubIndentCheckBox: TCheckBox
AnchorSideLeft.Control = OptionsPanel AnchorSideLeft.Control = OptionsPanel
AnchorSideTop.Control = OptionsPanel AnchorSideTop.Control = OptionsPanel
Left = 6 Left = 6
Height = 24 Height = 19
Top = 6 Top = 6
Width = 165 Width = 152
BorderSpacing.Left = 6 BorderSpacing.Left = 6
BorderSpacing.Top = 6 BorderSpacing.Top = 6
Caption = 'KeepSubIndentCheckBox' Caption = 'KeepSubIndentCheckBox'
@ -747,9 +733,9 @@ object CodeTemplateDialog: TCodeTemplateDialog
AnchorSideTop.Control = KeepSubIndentCheckBox AnchorSideTop.Control = KeepSubIndentCheckBox
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 24 Height = 19
Top = 30 Top = 25
Width = 139 Width = 130
BorderSpacing.Left = 6 BorderSpacing.Left = 6
Caption = 'UseMacrosCheckBox' Caption = 'UseMacrosCheckBox'
OnChange = UseMacrosCheckBoxChange OnChange = UseMacrosCheckBoxChange
@ -763,9 +749,9 @@ object CodeTemplateDialog: TCodeTemplateDialog
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 6 Left = 6
Height = 27 Height = 25
Top = 60 Top = 50
Width = 117 Width = 125
AutoSize = True AutoSize = True
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'InsertMacroButton' Caption = 'InsertMacroButton'
@ -776,8 +762,8 @@ object CodeTemplateDialog: TCodeTemplateDialog
end end
object ButtonPanel: TButtonPanel object ButtonPanel: TButtonPanel
Left = 6 Left = 6
Height = 28 Height = 26
Top = 506 Top = 508
Width = 717 Width = 717
OKButton.Name = 'OKButton' OKButton.Name = 'OKButton'
OKButton.DefaultCaption = True OKButton.DefaultCaption = True
@ -796,17 +782,6 @@ object CodeTemplateDialog: TCodeTemplateDialog
end end
object ASynPasSyn: TSynFreePascalSyn object ASynPasSyn: TSynFreePascalSyn
Enabled = False Enabled = False
AsmAttri.FrameEdges = sfeAround
CommentAttri.FrameEdges = sfeAround
IDEDirectiveAttri.FrameEdges = sfeAround
IdentifierAttri.FrameEdges = sfeAround
KeyAttri.FrameEdges = sfeAround
NumberAttri.FrameEdges = sfeAround
SpaceAttri.FrameEdges = sfeAround
StringAttri.FrameEdges = sfeAround
SymbolAttri.FrameEdges = sfeAround
CaseLabelAttri.FrameEdges = sfeAround
DirectiveAttri.FrameEdges = sfeAround
CompilerMode = pcmObjFPC CompilerMode = pcmObjFPC
NestedComments = True NestedComments = True
left = 304 left = 304

View File

@ -91,6 +91,7 @@ type
MainPopupMenu: TPopupMenu; MainPopupMenu: TPopupMenu;
procedure AddButtonClick(Sender: TObject); procedure AddButtonClick(Sender: TObject);
procedure DeleteButtonClick(Sender: TObject); procedure DeleteButtonClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure RenameButtonClick(Sender: TObject); procedure RenameButtonClick(Sender: TObject);
procedure FilenameButtonClick(Sender: TObject); procedure FilenameButtonClick(Sender: TObject);
procedure FormClose(Sender: TObject; var {%H-}CloseAction: TCloseAction); procedure FormClose(Sender: TObject; var {%H-}CloseAction: TCloseAction);
@ -1104,6 +1105,13 @@ begin
end; end;
ShowCurCodeTemplate; ShowCurCodeTemplate;
end; end;
TemplateListBox.OnSelectionChange(Self, false); //update btn state
end;
procedure TCodeTemplateDialog.FormShow(Sender: TObject);
begin
TemplateListBox.OnSelectionChange(Self, true); //update btn states
end; end;
procedure TCodeTemplateDialog.RenameButtonClick(Sender: TObject); procedure TCodeTemplateDialog.RenameButtonClick(Sender: TObject);
@ -1149,7 +1157,14 @@ end;
procedure TCodeTemplateDialog.TemplateListBoxSelectionChange(Sender: TObject; procedure TCodeTemplateDialog.TemplateListBoxSelectionChange(Sender: TObject;
User: boolean); User: boolean);
var
en: boolean;
begin begin
en := TemplateListBox.ItemIndex>=0;
DeleteButton.Enabled := en;
RenameButton.Enabled := en;
EditTemplateGroupBox.Enabled := en;
SaveCurCodeTemplate; SaveCurCodeTemplate;
ShowCurCodeTemplate; ShowCurCodeTemplate;
end; end;