Debugger: Evaluate Win, auto refresh when changing checkboxes

This commit is contained in:
Martin 2022-07-03 01:51:34 +02:00
parent 248732defe
commit 09f7108d6a
2 changed files with 80 additions and 72 deletions

View File

@ -1,30 +1,30 @@
object EvaluateDlg: TEvaluateDlg object EvaluateDlg: TEvaluateDlg
Left = 470 Left = 470
Height = 362 Height = 290
Top = 393 Top = 393
Width = 500 Width = 400
ActiveControl = cmbExpression ActiveControl = cmbExpression
BorderStyle = bsSizeToolWin BorderStyle = bsSizeToolWin
Caption = 'Evaluate/Modify' Caption = 'Evaluate/Modify'
ClientHeight = 362 ClientHeight = 290
ClientWidth = 500 ClientWidth = 400
Constraints.MinHeight = 250 Constraints.MinHeight = 200
Constraints.MinWidth = 375 Constraints.MinWidth = 300
DesignTimePPI = 120
KeyPreview = True KeyPreview = True
OnClose = FormClose OnClose = FormClose
OnCreate = FormCreate OnCreate = FormCreate
OnKeyDown = FormKeyDown OnKeyDown = FormKeyDown
LCLVersion = '2.3.0.0'
object Label1: TLabel object Label1: TLabel
AnchorSideLeft.Control = Owner AnchorSideLeft.Control = Owner
AnchorSideTop.Control = ToolBar1 AnchorSideTop.Control = ToolBar1
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 8 Left = 6
Height = 20 Height = 15
Top = 58 Top = 47
Width = 73 Width = 59
BorderSpacing.Left = 8 BorderSpacing.Left = 6
BorderSpacing.Top = 4 BorderSpacing.Top = 3
Caption = '&Expression:' Caption = '&Expression:'
Color = clDefault Color = clDefault
FocusControl = cmbExpression FocusControl = cmbExpression
@ -34,12 +34,12 @@ object EvaluateDlg: TEvaluateDlg
AnchorSideLeft.Control = Owner AnchorSideLeft.Control = Owner
AnchorSideTop.Control = chkTypeCast AnchorSideTop.Control = chkTypeCast
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 8 Left = 6
Height = 20 Height = 15
Top = 146 Top = 116
Width = 43 Width = 35
BorderSpacing.Left = 8 BorderSpacing.Left = 6
BorderSpacing.Top = 8 BorderSpacing.Top = 6
Caption = '&Result:' Caption = '&Result:'
Color = clDefault Color = clDefault
FocusControl = txtResult FocusControl = txtResult
@ -48,13 +48,13 @@ object EvaluateDlg: TEvaluateDlg
object lblNewValue: TLabel object lblNewValue: TLabel
AnchorSideLeft.Control = Owner AnchorSideLeft.Control = Owner
AnchorSideBottom.Control = cmbNewValue AnchorSideBottom.Control = cmbNewValue
Left = 8 Left = 6
Height = 20 Height = 15
Top = 302 Top = 243
Width = 72 Width = 58
Anchors = [akLeft, akBottom] Anchors = [akLeft, akBottom]
BorderSpacing.Left = 8 BorderSpacing.Left = 6
BorderSpacing.Bottom = 4 BorderSpacing.Bottom = 3
Caption = '&New value:' Caption = '&New value:'
Color = clDefault Color = clDefault
FocusControl = cmbNewValue FocusControl = cmbNewValue
@ -62,12 +62,12 @@ object EvaluateDlg: TEvaluateDlg
end end
object ToolBar1: TToolBar object ToolBar1: TToolBar
Left = 0 Left = 0
Height = 54 Height = 44
Top = 0 Top = 0
Width = 500 Width = 400
AutoSize = True AutoSize = True
ButtonHeight = 50 ButtonHeight = 40
ButtonWidth = 62 ButtonWidth = 50
Caption = 'ToolBar1' Caption = 'ToolBar1'
EdgeBorders = [ebTop, ebBottom] EdgeBorders = [ebTop, ebBottom]
Indent = 2 Indent = 2
@ -75,7 +75,7 @@ object EvaluateDlg: TEvaluateDlg
TabOrder = 0 TabOrder = 0
TabStop = True TabStop = True
object tbInspect: TToolButton object tbInspect: TToolButton
Left = 190 Left = 154
Top = 2 Top = 2
Caption = '&Inspect' Caption = '&Inspect'
Enabled = False Enabled = False
@ -83,7 +83,7 @@ object EvaluateDlg: TEvaluateDlg
OnClick = tbInspectClick OnClick = tbInspectClick
end end
object tbWatch: TToolButton object tbWatch: TToolButton
Left = 128 Left = 104
Top = 2 Top = 2
AllowAllUp = True AllowAllUp = True
Caption = '&Watch' Caption = '&Watch'
@ -92,7 +92,7 @@ object EvaluateDlg: TEvaluateDlg
OnClick = tbWatchClick OnClick = tbWatchClick
end end
object tbModify: TToolButton object tbModify: TToolButton
Left = 66 Left = 54
Top = 2 Top = 2
Caption = '&Modify' Caption = '&Modify'
Enabled = False Enabled = False
@ -108,14 +108,14 @@ object EvaluateDlg: TEvaluateDlg
OnClick = tbEvaluateClick OnClick = tbEvaluateClick
end end
object ToolButton1: TToolButton object ToolButton1: TToolButton
Left = 252 Left = 204
Height = 50 Height = 40
Top = 2 Top = 2
Caption = 'ToolButton1' Caption = 'ToolButton1'
Style = tbsSeparator Style = tbsSeparator
end end
object tbHistory: TToolButton object tbHistory: TToolButton
Left = 262 Left = 210
Top = 2 Top = 2
Caption = 'History' Caption = 'History'
DropdownMenu = mnuHistory DropdownMenu = mnuHistory
@ -128,15 +128,15 @@ object EvaluateDlg: TEvaluateDlg
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 8 Left = 6
Height = 28 Height = 23
Top = 82 Top = 65
Width = 484 Width = 388
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 8 BorderSpacing.Left = 6
BorderSpacing.Top = 4 BorderSpacing.Top = 3
BorderSpacing.Right = 8 BorderSpacing.Right = 6
ItemHeight = 20 ItemHeight = 15
OnChange = cmbExpressionChange OnChange = cmbExpressionChange
OnKeyDown = cmbExpressionKeyDown OnKeyDown = cmbExpressionKeyDown
OnKeyUp = cmbExpressionKeyUp OnKeyUp = cmbExpressionKeyUp
@ -150,15 +150,15 @@ object EvaluateDlg: TEvaluateDlg
AnchorSideRight.Control = Owner AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = lblNewValue AnchorSideBottom.Control = lblNewValue
Left = 8 Left = 6
Height = 124 Height = 103
Top = 170 Top = 134
Width = 484 Width = 388
Anchors = [akTop, akLeft, akRight, akBottom] Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Left = 8 BorderSpacing.Left = 6
BorderSpacing.Top = 4 BorderSpacing.Top = 3
BorderSpacing.Right = 8 BorderSpacing.Right = 6
BorderSpacing.Bottom = 8 BorderSpacing.Bottom = 6
ScrollBars = ssAutoVertical ScrollBars = ssAutoVertical
TabOrder = 3 TabOrder = 3
end end
@ -168,15 +168,15 @@ object EvaluateDlg: TEvaluateDlg
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = Owner AnchorSideBottom.Control = Owner
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 8 Left = 6
Height = 28 Height = 23
Top = 326 Top = 261
Width = 484 Width = 388
Anchors = [akLeft, akRight, akBottom] Anchors = [akLeft, akRight, akBottom]
BorderSpacing.Left = 8 BorderSpacing.Left = 6
BorderSpacing.Right = 8 BorderSpacing.Right = 6
BorderSpacing.Bottom = 8 BorderSpacing.Bottom = 6
ItemHeight = 20 ItemHeight = 15
OnKeyDown = cmbNewValueKeyDown OnKeyDown = cmbNewValueKeyDown
TabOrder = 4 TabOrder = 4
end end
@ -184,14 +184,15 @@ object EvaluateDlg: TEvaluateDlg
AnchorSideLeft.Control = Owner AnchorSideLeft.Control = Owner
AnchorSideTop.Control = cmbExpression AnchorSideTop.Control = cmbExpression
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 8 Left = 6
Height = 24 Height = 19
Top = 114 Top = 91
Width = 103 Width = 85
BorderSpacing.Left = 8 BorderSpacing.Left = 6
BorderSpacing.Top = 4 BorderSpacing.Top = 3
Caption = 'chkTypeCast' Caption = 'chkTypeCast'
Checked = True Checked = True
OnChange = chkFpDbgConvChange
State = cbChecked State = cbChecked
TabOrder = 1 TabOrder = 1
end end
@ -201,19 +202,20 @@ object EvaluateDlg: TEvaluateDlg
AnchorSideTop.Control = chkTypeCast AnchorSideTop.Control = chkTypeCast
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 119 Left = 97
Height = 24 Height = 19
Top = 114 Top = 91
Width = 121 Width = 100
BorderSpacing.Left = 8 BorderSpacing.Left = 6
Caption = 'chkFpDbgConv' Caption = 'chkFpDbgConv'
Checked = True Checked = True
OnChange = chkFpDbgConvChange
State = cbChecked State = cbChecked
TabOrder = 5 TabOrder = 5
end end
object mnuHistory: TPopupMenu object mnuHistory: TPopupMenu
Left = 90 Left = 72
Top = 170 Top = 136
object MenuItem1: TMenuItem object MenuItem1: TMenuItem
Caption = 'None' Caption = 'None'
OnClick = MenuItem1Click OnClick = MenuItem1Click

View File

@ -76,6 +76,7 @@ type
tbWatch: TToolButton; tbWatch: TToolButton;
tbModify: TToolButton; tbModify: TToolButton;
tbEvaluate: TToolButton; tbEvaluate: TToolButton;
procedure chkFpDbgConvChange(Sender: TObject);
procedure cmbExpressionKeyUp(Sender: TObject; var {%H-}Key: Word; procedure cmbExpressionKeyUp(Sender: TObject; var {%H-}Key: Word;
{%H-}Shift: TShiftState); {%H-}Shift: TShiftState);
procedure cmbExpressionSelect(Sender: TObject); procedure cmbExpressionSelect(Sender: TObject);
@ -421,6 +422,11 @@ begin
fSkipKeySelect := False; fSkipKeySelect := False;
end; end;
procedure TEvaluateDlg.chkFpDbgConvChange(Sender: TObject);
begin
UpdateData;
end;
procedure TEvaluateDlg.cmbExpressionSelect(Sender: TObject); procedure TEvaluateDlg.cmbExpressionSelect(Sender: TObject);
begin begin
if not fSkipKeySelect then if not fSkipKeySelect then