Merged revision(s) 55954 #ced51791c2 from trunk:

Debugger: In BreakpointPropertyDlg, add new conditions at top of list, remove duplicates and reject empty strings.
........

git-svn-id: branches/fixes_1_8@55963 -
This commit is contained in:
maxim 2017-10-02 22:46:04 +00:00
parent eb88ef0341
commit 12f30f41c9
2 changed files with 136 additions and 129 deletions

View File

@ -15,15 +15,15 @@ object BreakPropertyDlg: TBreakPropertyDlg
ClientWidth = 450
Constraints.MinWidth = 450
Position = poScreenCenter
LCLVersion = '1.7'
LCLVersion = '1.9.0.0'
object lblFileName: TLabel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = edtFilename
AnchorSideTop.Side = asrCenter
Left = 6
Height = 17
Top = 11
Width = 65
Height = 15
Top = 10
Width = 51
BorderSpacing.Left = 6
BorderSpacing.Right = 6
Caption = 'Filename:'
@ -34,9 +34,9 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Control = edtLine
AnchorSideTop.Side = asrCenter
Left = 6
Height = 17
Top = 44
Width = 32
Height = 15
Top = 39
Width = 25
BorderSpacing.Left = 6
BorderSpacing.Right = 6
Caption = 'Line:'
@ -47,9 +47,9 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Control = edtCondition
AnchorSideTop.Side = asrCenter
Left = 6
Height = 17
Top = 138
Width = 70
Height = 15
Top = 118
Width = 56
BorderSpacing.Left = 6
BorderSpacing.Right = 6
Caption = 'Condition:'
@ -60,9 +60,9 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Control = edtCounter
AnchorSideTop.Side = asrCenter
Left = 6
Height = 17
Top = 172
Width = 62
Height = 15
Top = 147
Width = 50
BorderSpacing.Left = 6
BorderSpacing.Right = 6
Caption = 'Hitcount:'
@ -73,9 +73,9 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Control = cmbGroup
AnchorSideTop.Side = asrCenter
Left = 6
Height = 17
Top = 239
Width = 46
Height = 15
Top = 205
Width = 36
BorderSpacing.Left = 6
BorderSpacing.Right = 6
Caption = 'Group:'
@ -86,9 +86,9 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Control = edtAutocontinueMS
AnchorSideTop.Side = asrCenter
Left = 6
Height = 17
Top = 205
Width = 131
Height = 15
Top = 176
Width = 103
BorderSpacing.Left = 6
BorderSpacing.Right = 6
Caption = 'Auto continue after'
@ -99,10 +99,10 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = lblAutoContinue
AnchorSideTop.Side = asrCenter
Left = 233
Height = 17
Top = 205
Width = 30
Left = 205
Height = 15
Top = 176
Width = 24
BorderSpacing.Left = 6
Caption = '(ms)'
ParentColor = False
@ -113,9 +113,9 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Control = edtCounter
AnchorSideTop.Side = asrBottom
AnchorSideRight.Side = asrBottom
Left = 167
Height = 27
Top = 200
Left = 139
Height = 23
Top = 172
Width = 60
BorderSpacing.Left = 24
BorderSpacing.Around = 6
@ -129,10 +129,10 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 167
Height = 27
Top = 167
Width = 277
Left = 139
Height = 23
Top = 143
Width = 305
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 24
BorderSpacing.Around = 6
@ -145,10 +145,10 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Control = Owner
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 167
Height = 27
Left = 139
Height = 23
Top = 6
Width = 277
Width = 305
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 24
BorderSpacing.Around = 6
@ -164,14 +164,14 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 167
Height = 29
Top = 233
Width = 277
Left = 139
Height = 23
Top = 201
Width = 305
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 24
BorderSpacing.Around = 6
ItemHeight = 0
ItemHeight = 15
OnKeyPress = cmbGroupKeyPress
TabOrder = 7
Text = 'cmbGroup'
@ -183,23 +183,23 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 6
Height = 244
Top = 268
Height = 215
Top = 230
Width = 438
Anchors = [akTop, akLeft, akRight]
AutoSize = True
BorderSpacing.Around = 6
Caption = 'Actions'
ClientHeight = 225
ClientHeight = 195
ClientWidth = 434
TabOrder = 8
object chkActionBreak: TCheckBox
AnchorSideLeft.Control = gbActions
AnchorSideTop.Control = gbActions
Left = 6
Height = 24
Height = 19
Top = 6
Width = 65
Width = 49
BorderSpacing.Around = 6
Caption = 'Break'
TabOrder = 0
@ -209,9 +209,9 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Control = edtEnableGroups
AnchorSideTop.Side = asrCenter
Left = 6
Height = 24
Top = 37
Width = 115
Height = 19
Top = 33
Width = 91
BorderSpacing.Left = 6
BorderSpacing.Right = 6
Caption = 'Enable goups'
@ -223,9 +223,9 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Control = edtDisableGroups
AnchorSideTop.Side = asrCenter
Left = 6
Height = 24
Top = 70
Width = 126
Height = 19
Top = 62
Width = 98
BorderSpacing.Left = 6
BorderSpacing.Right = 6
Caption = 'Disable groups'
@ -239,10 +239,10 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = edtEvalExpression
AnchorSideRight.Side = asrBottom
Left = 156
Height = 27
Top = 36
Width = 272
Left = 125
Height = 23
Top = 31
Width = 303
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 20
BorderSpacing.Top = 6
@ -263,10 +263,10 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = edtEvalExpression
AnchorSideRight.Side = asrBottom
Left = 156
Height = 27
Top = 69
Width = 272
Left = 125
Height = 23
Top = 60
Width = 303
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 20
BorderSpacing.Top = 6
@ -285,9 +285,9 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Control = edtEvalExpression
AnchorSideTop.Side = asrCenter
Left = 6
Height = 24
Top = 103
Width = 130
Height = 19
Top = 91
Width = 99
BorderSpacing.Left = 6
BorderSpacing.Right = 6
Caption = 'Eval expression'
@ -299,9 +299,9 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Control = edtLogMessage
AnchorSideTop.Side = asrCenter
Left = 6
Height = 24
Top = 136
Width = 113
Height = 19
Top = 120
Width = 89
BorderSpacing.Left = 6
BorderSpacing.Right = 6
Caption = 'Log message'
@ -315,10 +315,10 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = gbActions
AnchorSideRight.Side = asrBottom
Left = 156
Height = 27
Top = 102
Width = 272
Left = 125
Height = 23
Top = 89
Width = 303
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 20
BorderSpacing.Top = 6
@ -334,10 +334,10 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = gbActions
AnchorSideRight.Side = asrBottom
Left = 156
Height = 27
Top = 135
Width = 272
Left = 125
Height = 23
Top = 118
Width = 303
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 20
BorderSpacing.Top = 6
@ -351,9 +351,9 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Control = edtLogCallStack
AnchorSideTop.Side = asrCenter
Left = 6
Height = 24
Top = 169
Width = 116
Height = 19
Top = 149
Width = 91
BorderSpacing.Left = 6
Caption = 'Log call stack'
OnChange = chkLogCallStackChange
@ -364,9 +364,9 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = edtLogMessage
AnchorSideTop.Side = asrBottom
Left = 156
Height = 27
Top = 168
Left = 125
Height = 23
Top = 147
Width = 50
BorderSpacing.Left = 20
BorderSpacing.Top = 6
@ -380,10 +380,10 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = edtLogCallStack
AnchorSideTop.Side = asrCenter
Left = 212
Height = 17
Top = 173
Width = 139
Left = 181
Height = 15
Top = 151
Width = 108
BorderSpacing.Left = 6
Caption = 'lblLogCallStackLimit'
ParentColor = False
@ -393,9 +393,9 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Control = edtLogCallStack
AnchorSideTop.Side = asrBottom
Left = 6
Height = 24
Top = 201
Width = 113
Height = 19
Top = 176
Width = 90
BorderSpacing.Left = 6
BorderSpacing.Top = 6
Caption = 'chkTakeSnap'
@ -406,8 +406,8 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Control = gbActions
AnchorSideTop.Side = asrBottom
Left = 6
Height = 53
Top = 518
Height = 120
Top = 451
Width = 438
Anchors = [akTop, akLeft, akRight, akBottom]
OKButton.Name = 'OKButton'
@ -432,14 +432,14 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 167
Height = 29
Top = 132
Width = 277
Left = 139
Height = 23
Top = 114
Width = 305
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 24
BorderSpacing.Around = 6
ItemHeight = 0
ItemHeight = 15
TabOrder = 4
Text = 'edtCondition'
end
@ -449,9 +449,9 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Control = edtFilename
AnchorSideTop.Side = asrBottom
AnchorSideRight.Side = asrBottom
Left = 167
Height = 27
Top = 39
Left = 139
Height = 23
Top = 35
Width = 60
BorderSpacing.Left = 24
BorderSpacing.Around = 6
@ -465,10 +465,10 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 167
Height = 24
Top = 72
Width = 277
Left = 139
Height = 19
Top = 64
Width = 305
Anchors = [akTop, akLeft, akRight]
AutoSize = True
BorderSpacing.Left = 24
@ -479,34 +479,34 @@ object BreakPropertyDlg: TBreakPropertyDlg
ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 3
ClientHeight = 24
ClientWidth = 277
ClientHeight = 19
ClientWidth = 305
TabOrder = 2
Visible = False
object rbWrite: TRadioButton
Left = 6
Height = 24
Height = 19
Top = 0
Width = 79
Width = 59
Caption = 'rbWrite'
Checked = True
TabOrder = 0
TabStop = True
end
object rbRead: TRadioButton
Left = 88
Height = 24
Left = 68
Height = 19
Top = 0
Width = 75
Width = 57
BorderSpacing.Left = 3
Caption = 'rbRead'
TabOrder = 1
end
object rbReadWrite: TRadioButton
Left = 166
Height = 24
Left = 128
Height = 19
Top = 0
Width = 113
Width = 85
BorderSpacing.Left = 3
Caption = 'rbReadWrite'
TabOrder = 2
@ -519,10 +519,10 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 167
Height = 24
Top = 102
Width = 277
Left = 139
Height = 19
Top = 89
Width = 305
Anchors = [akTop, akLeft, akRight]
AutoSize = True
BorderSpacing.Left = 24
@ -533,32 +533,32 @@ object BreakPropertyDlg: TBreakPropertyDlg
ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 3
ClientHeight = 24
ClientWidth = 277
ClientHeight = 19
ClientWidth = 305
TabOrder = 3
Visible = False
object rbGlobal: TRadioButton
Left = 6
Height = 24
Height = 19
Top = 0
Width = 85
Width = 65
Caption = 'rbGlobal'
Checked = True
TabOrder = 0
TabStop = True
end
object rbLocal: TRadioButton
Left = 94
Height = 24
Left = 74
Height = 19
Top = 0
Width = 77
Width = 59
BorderSpacing.Left = 3
Caption = 'rbLocal'
TabOrder = 1
end
object Label1: TLabel
Left = 171
Height = 24
Left = 133
Height = 19
Top = 0
Width = 3
Caption = ' '
@ -570,9 +570,9 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Control = rgWatchKind
AnchorSideTop.Side = asrCenter
Left = 6
Height = 17
Top = 76
Width = 90
Height = 15
Top = 66
Width = 71
BorderSpacing.Left = 6
Caption = 'lblWatchKind'
ParentColor = False
@ -583,9 +583,9 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Control = rgWatchScope
AnchorSideTop.Side = asrCenter
Left = 6
Height = 17
Top = 106
Width = 101
Height = 15
Top = 91
Width = 79
BorderSpacing.Left = 6
Caption = 'lblWatchScope'
ParentColor = False

View File

@ -276,8 +276,15 @@ begin
FBreakpoint.LogMessage := edtLogMessage.Text;
FBreakpoint.LogCallStackLimit := edtLogCallStack.Value;
InputHistories.HistoryLists.GetList('BreakPointExpression', True,
rltCaseSensitive).Add(edtCondition.Text);
if edtCondition.Text <> '' then
with InputHistories.HistoryLists.GetList('BreakPointExpression',
True, rltCaseSensitive) do
begin
i := IndexOf(edtCondition.Text);
if i <> -1 then Delete(i);
Insert(0, edtCondition.Text);
end;
finally
EnableGroupList.Free;
DisableGroupList.Free;