Debugger: Inspect-Win, power button

This commit is contained in:
Martin 2022-06-09 11:54:51 +02:00
parent 788c6b3eaa
commit 363d0ac778
2 changed files with 61 additions and 11 deletions

View File

@ -15,7 +15,8 @@ object IDEInspectDlg: TIDEInspectDlg
OnCreate = FormCreate
OnKeyDown = FormKeyDown
OnMouseDown = DataGridMouseDown
LCLVersion = '2.1.0.0'
OnShow = FormShow
LCLVersion = '2.3.0.0'
object StatusBar1: TStatusBar
Left = 0
Height = 23
@ -57,6 +58,7 @@ object IDEInspectDlg: TIDEInspectDlg
Top = 0
Width = 287
Align = alTop
Color = clDefault
ParentColor = False
OnMouseDown = DataGridMouseDown
end
@ -84,7 +86,7 @@ object IDEInspectDlg: TIDEInspectDlg
ShowCaptions = True
TabOrder = 3
object btnUseInstance: TToolButton
Left = 54
Left = 85
Hint = 'Use Instance class'
Top = 2
AllowAllUp = True
@ -95,14 +97,14 @@ object IDEInspectDlg: TIDEInspectDlg
Style = tbsCheck
end
object ToolButton2: TToolButton
Left = 106
Left = 137
Height = 22
Top = 2
Caption = 'ToolButton2'
Style = tbsDivider
end
object btnColClass: TToolButton
Left = 111
Left = 142
Hint = 'Show Class Column'
Top = 2
AllowAllUp = True
@ -114,7 +116,7 @@ object IDEInspectDlg: TIDEInspectDlg
Style = tbsCheck
end
object btnColType: TToolButton
Left = 134
Left = 165
Top = 2
AllowAllUp = True
Caption = 'T'
@ -125,7 +127,7 @@ object IDEInspectDlg: TIDEInspectDlg
Style = tbsCheck
end
object btnColVisibility: TToolButton
Left = 157
Left = 188
Top = 2
AllowAllUp = True
Caption = 'V'
@ -136,36 +138,52 @@ object IDEInspectDlg: TIDEInspectDlg
Style = tbsCheck
end
object btnBackward: TToolButton
Left = 1
Left = 32
Top = 2
Caption = '<<'
OnClick = btnBackwardClick
end
object btnForward: TToolButton
Left = 25
Left = 56
Top = 2
Caption = '>>'
OnClick = btnForwardClick
end
object ToolButton4: TToolButton
Left = 49
Left = 80
Height = 22
Top = 2
Caption = 'ToolButton4'
Style = tbsDivider
end
object BtnAddWatch: TToolButton
Left = 188
Left = 219
Top = 2
Caption = 'Add Watch'
OnClick = BtnAddWatchClick
end
object ToolButton3: TToolButton
Left = 180
Left = 211
Height = 22
Top = 2
Caption = 'ToolButton3'
Style = tbsSeparator
end
object btnPower: TToolButton
Left = 1
Top = 2
Caption = 'O'
Down = True
OnClick = btnPowerClick
ShowCaption = False
Style = tbsCheck
end
object btnSeparator1: TToolButton
Left = 24
Height = 22
Top = 2
Caption = 'btnSeparator1'
Style = tbsSeparator
end
end
end

View File

@ -62,6 +62,8 @@ type
btnUseInstance: TToolButton;
btnBackward: TToolButton;
BtnAddWatch: TToolButton;
btnPower: TToolButton;
btnSeparator1: TToolButton;
ToolButton2: TToolButton;
btnColClass: TToolButton;
btnColType: TToolButton;
@ -73,6 +75,7 @@ type
procedure btnBackwardClick(Sender: TObject);
procedure btnColClassClick(Sender: TObject);
procedure btnForwardClick(Sender: TObject);
procedure btnPowerClick(Sender: TObject);
procedure btnUseInstanceClick(Sender: TObject);
procedure EdInspectEditingDone(Sender: TObject);
procedure EdInspectKeyDown(Sender: TObject; var Key: Word; {%H-}Shift: TShiftState);
@ -83,6 +86,7 @@ type
procedure DataGridDoubleClick(Sender: TObject);
procedure DataGridMouseDown(Sender: TObject; Button: TMouseButton; {%H-}Shift: TShiftState; {%H-}X,
{%H-}Y: Integer);
procedure FormShow(Sender: TObject);
private
//FDataGridHook,
//FPropertiesGridHook,
@ -100,6 +104,8 @@ type
FRowClicked: Integer;
FHistory: TStringList;
FHistoryIndex: Integer;
FPowerImgIdx, FPowerImgIdxGrey: Integer;
procedure EvaluateCallback(Sender: TObject; ASuccess: Boolean;
ResultText: String; ResultDBGType: TDBGType);
procedure EvaluateTestCallback(Sender: TObject; ASuccess: Boolean;
@ -197,6 +203,9 @@ end;
procedure TIDEInspectDlg.ContextChanged(Sender: TObject);
begin
FExpressionWasEvaluated := False;
if (not btnPower.Down) or (not Visible) then exit;
UpdateData;
end;
@ -208,6 +217,11 @@ begin
if Button = mbExtra2 then btnForwardClick(nil);
end;
procedure TIDEInspectDlg.FormShow(Sender: TObject);
begin
UpdateData;
end;
procedure TIDEInspectDlg.EvaluateTestCallback(Sender: TObject;
ASuccess: Boolean; ResultText: String; ResultDBGType: TDBGType);
begin
@ -299,6 +313,18 @@ begin
GotoHistory(FHistoryIndex + 1);
end;
procedure TIDEInspectDlg.btnPowerClick(Sender: TObject);
begin
if btnPower.Down
then begin
btnPower.ImageIndex := FPowerImgIdx;
UpdateData;
end
else begin
btnPower.ImageIndex := FPowerImgIdxGrey;
end;
end;
procedure TIDEInspectDlg.btnBackwardClick(Sender: TObject);
begin
GotoHistory(FHistoryIndex - 1);
@ -832,6 +858,12 @@ begin
btnForward.Caption := '';
BtnAddWatch.Caption:=lisInspectAddWatch;
FPowerImgIdx := IDEImages.LoadImage('debugger_power');
FPowerImgIdxGrey := IDEImages.LoadImage('debugger_power_grey');
btnPower.ImageIndex := FPowerImgIdx;
btnPower.Caption := '';
btnPower.Hint := lisDbgWinPowerHint;
btnUseInstance.Enabled := False;
btnUseInstance.Down := EnvironmentOptions.DebuggerAutoSetInstanceFromClass;
btnColClass.Enabled := False;