+ Added Evaluate/Modify dialog

git-svn-id: trunk@6287 -
This commit is contained in:
marc 2004-11-23 00:57:05 +00:00
parent 7e3ba11449
commit d638ed5696
13 changed files with 358 additions and 34 deletions

3
.gitattributes vendored
View File

@ -303,6 +303,9 @@ debugger/dbgoutputform.pp svneol=native#text/pascal
debugger/dbgutils.pp svneol=native#text/pascal
debugger/debugger.pp svneol=native#text/pascal
debugger/debuggerdlg.pp svneol=native#text/pascal
debugger/evaluatedlg.lfm svneol=native#text/plain
debugger/evaluatedlg.lrs svneol=native#text/pascal
debugger/evaluatedlg.pp svneol=native#text/pascal
debugger/gdbdebugger.pp svneol=native#text/pascal
debugger/gdbmidebugger.pp svneol=native#text/pascal
debugger/gdbtypeinfo.pp svneol=native#text/pascal

110
debugger/evaluatedlg.lfm Normal file
View File

@ -0,0 +1,110 @@
object EvaluateDlg: TEvaluateDlg
BorderStyle = bsSizeToolWin
Caption = 'Evaluate/Modify'
ClientHeight = 296
ClientWidth = 400
PixelsPerInch = 90
HorzScrollBar.Page = 401
VertScrollBar.Page = 297
Left = 351
Height = 296
Top = 136
Width = 400
object ToolBar1: TToolBar
AutoSize = True
ButtonHeight = 50
ButtonWidth = 75
Caption = 'ToolBar1'
EdgeBorders = [ebTop, ebBottom]
Flat = True
Height = 50
ParentColor = True
ShowCaptions = True
TabOrder = 0
TabStop = True
Height = 50
Width = 400
object tbInspect: TToolButton
Caption = '&Inspect'
Enabled = False
Left = 226
Height = 50
Width = 75
end
object tbWatch: TToolButton
Caption = '&Watch'
Enabled = False
OnClick = tbWatchClick
Left = 151
Height = 50
Width = 75
end
object tbModify: TToolButton
Caption = '&Modify'
Enabled = False
Left = 76
Height = 50
Width = 75
end
object tbEvaluate: TToolButton
Caption = 'E&valuate'
Enabled = False
OnClick = tbEvaluateClick
Height = 50
Width = 75
end
end
object Label1: TLabel
Caption = '&Expression:'
Left = 8
Height = 17
Top = 56
Width = 65
end
object cmbExpression: TComboBox
Anchors = [akTop, akLeft, akRight]
MaxLength = 0
OnChange = cmbExpressionChange
TabOrder = 2
Left = 8
Height = 25
Top = 72
Width = 384
end
object Label2: TLabel
Caption = '&Result:'
Left = 8
Height = 17
Top = 104
Width = 65
end
object txtResult: TMemo
Anchors = [akTop, akLeft, akRight, akBottom]
TabOrder = 4
Left = 8
Height = 124
Top = 120
Width = 384
end
object lblNewValue: TLabel
Anchors = [akLeft, akBottom]
Caption = '&New value:'
Left = 8
Height = 13
Top = 248
Width = 65
end
object cmbNewValue: TComboBox
Anchors = [akLeft, akRight, akBottom]
MaxLength = 0
TabOrder = 6
Left = 8
Height = 25
Top = 264
Width = 384
end
object ImageList1: TImageList
left = 16
top = 352
end
end

32
debugger/evaluatedlg.lrs Normal file
View File

@ -0,0 +1,32 @@
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TEvaluateDlg','FORMDATA',[
'TPF0'#12'TEvaluateDlg'#11'EvaluateDlg'#11'BorderStyle'#7#13'bsSizeToolWin'#7
+'Caption'#6#15'Evaluate/Modify'#12'ClientHeight'#3'('#1#11'ClientWidth'#3#144
+#1#13'PixelsPerInch'#2'Z'#18'HorzScrollBar.Page'#3#145#1#18'VertScrollBar.Pa'
+'ge'#3')'#1#4'Left'#3'_'#1#6'Height'#3'('#1#3'Top'#3#136#0#5'Width'#3#144#1#0
+#8'TToolBar'#8'ToolBar1'#8'AutoSize'#9#12'ButtonHeight'#2'2'#11'ButtonWidth'
+#2'K'#7'Caption'#6#8'ToolBar1'#11'EdgeBorders'#11#5'ebTop'#8'ebBottom'#0#4'F'
+'lat'#9#6'Height'#2'2'#11'ParentColor'#9#12'ShowCaptions'#9#8'TabOrder'#2#0#7
+'TabStop'#9#6'Height'#2'2'#5'Width'#3#144#1#0#11'TToolButton'#9'tbInspect'#7
+'Caption'#6#8'&Inspect'#7'Enabled'#8#4'Left'#3#226#0#6'Height'#2'2'#5'Width'
+#2'K'#0#0#11'TToolButton'#7'tbWatch'#7'Caption'#6#6'&Watch'#7'Enabled'#8#7'O'
+'nClick'#7#12'tbWatchClick'#4'Left'#3#151#0#6'Height'#2'2'#5'Width'#2'K'#0#0
+#11'TToolButton'#8'tbModify'#7'Caption'#6#7'&Modify'#7'Enabled'#8#4'Left'#2
+'L'#6'Height'#2'2'#5'Width'#2'K'#0#0#11'TToolButton'#10'tbEvaluate'#7'Captio'
+'n'#6#9'E&valuate'#7'Enabled'#8#7'OnClick'#7#15'tbEvaluateClick'#6'Height'#2
+'2'#5'Width'#2'K'#0#0#0#6'TLabel'#6'Label1'#7'Caption'#6#12'&Expression:'#4
+'Left'#2#8#6'Height'#2#17#3'Top'#2'8'#5'Width'#2'A'#0#0#9'TComboBox'#13'cmbE'
+'xpression'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#9'MaxLength'#2#0#8
+'OnChange'#7#19'cmbExpressionChange'#8'TabOrder'#2#2#4'Left'#2#8#6'Height'#2
+#25#3'Top'#2'H'#5'Width'#3#128#1#0#0#6'TLabel'#6'Label2'#7'Caption'#6#8'&Res'
+'ult:'#4'Left'#2#8#6'Height'#2#17#3'Top'#2'h'#5'Width'#2'A'#0#0#5'TMemo'#9't'
+'xtResult'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#8'TabOr'
+'der'#2#4#4'Left'#2#8#6'Height'#2'|'#3'Top'#2'x'#5'Width'#3#128#1#0#0#6'TLab'
+'el'#11'lblNewValue'#7'Anchors'#11#6'akLeft'#8'akBottom'#0#7'Caption'#6#11'&'
+'New value:'#4'Left'#2#8#6'Height'#2#13#3'Top'#3#248#0#5'Width'#2'A'#0#0#9'T'
+'ComboBox'#11'cmbNewValue'#7'Anchors'#11#6'akLeft'#7'akRight'#8'akBottom'#0#9
+'MaxLength'#2#0#8'TabOrder'#2#6#4'Left'#2#8#6'Height'#2#25#3'Top'#3#8#1#5'Wi'
+'dth'#3#128#1#0#0#10'TImageList'#10'ImageList1'#4'left'#2#16#3'top'#3'`'#1#0
+#0#0
]);

113
debugger/evaluatedlg.pp Normal file
View File

@ -0,0 +1,113 @@
{ $Id$ }
{ ----------------------------------------------
evaluatedlg.pp - Evaluate and Modify
----------------------------------------------
@created(Mon Nov 22st WET 2004)
@lastmod($Date$)
@author(Marc Weustink <marc@@freepascal.org>)
This unit contains the evaluate and modify dialog.
***************************************************************************
* *
* This source is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This code is distributed in the hope that it will be useful, but *
* WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
* General Public License for more details. *
* *
* A copy of the GNU General Public License is available on the World *
* Wide Web at <http://www.gnu.org/copyleft/gpl.html>. You can also *
* obtain it by writing to the Free Software Foundation, *
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* *
***************************************************************************
}
unit EvaluateDlg;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, ComCtrls,
StdCtrls, DebuggerDlg, BaseDebugManager;
type
TEvaluateDlg = class(TDebuggerDlg)
cmbExpression: TComboBox;
cmbNewValue: TComboBox;
ImageList1: TImageList;
Label1: TLabel;
Label2: TLabel;
lblNewValue: TLabel;
txtResult: TMemo;
ToolBar1: TToolBar;
tbInspect: TToolButton;
tbWatch: TToolButton;
tbModify: TToolButton;
tbEvaluate: TToolButton;
procedure cmbExpressionChange(Sender: TObject);
procedure tbEvaluateClick(Sender: TObject);
procedure tbWatchClick(Sender: TObject);
private
public
end;
implementation
{ TEvaluateDlg }
procedure TEvaluateDlg.cmbExpressionChange(Sender: TObject);
var
HasExpression: Boolean;
begin
HasExpression := Trim(cmbExpression.Text) <> '';
tbEvaluate.Enabled := HasExpression;
tbModify.Enabled := False;
tbWatch.Enabled := HasExpression;
// tbInspect.Enabled := HasExpression;
end;
procedure TEvaluateDlg.tbEvaluateClick(Sender: TObject);
var
S, R: String;
begin
S := cmbExpression.Text;
if DebugBoss.Evaluate(S, R)
then begin
if cmbExpression.Items.IndexOf(S) = -1
then cmbExpression.Items.Insert(0, S);
// tbModify.Enabled := True;
end;
txtResult.Lines.Text := R;
end;
procedure TEvaluateDlg.tbWatchClick(Sender: TObject);
var
S: String;
begin
S := cmbExpression.Text;
if DebugBoss.Watches.Find(S) = nil
then DebugBoss.Watches.Add(S);
end;
initialization
{$I evaluatedlg.lrs}
end.
{ =============================================================================
$Log$
Revision 1.1 2004/11/23 00:57:05 marc
+ Added Evaluate/Modify dialog
}

View File

@ -1,7 +1,9 @@
object WatchesDlg: TWatchesDlg
ActiveControl = lvWatches
Caption = 'Watch list'
ClientHeight = 200
ClientWidth = 500
PixelsPerInch = 90
HorzScrollBar.Page = 501
VertScrollBar.Page = 201
Left = 359
@ -9,21 +11,19 @@ object WatchesDlg: TWatchesDlg
Top = 126
Width = 500
object lvWatches: TListView
Align = ALCLIENT
Align = alClient
Columns = <
item
Caption = 'Expression'
Visible = True
Width = 150
end
item
Caption = 'Value'
Visible = True
Width = 400
Width = 0
end>
MultiSelect = True
PopupMenu = mnuPopup
ViewStyle = VSREPORT
ViewStyle = vsReport
OnClick = lvWatchesClick
OnSelectItem = lvWatchesSelectItem
Height = 200

View File

@ -1,23 +1,23 @@
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TWatchesDlg','FORMDATA',[
'TPF0'#11'TWatchesDlg'#10'WatchesDlg'#7'Caption'#6#10'Watch list'#12'ClientHe'
+'ight'#3#200#0#11'ClientWidth'#3#244#1#18'HorzScrollBar.Page'#3#245#1#18'Ver'
+'tScrollBar.Page'#3#201#0#4'Left'#3'g'#1#6'Height'#3#200#0#3'Top'#2'~'#5'Wid'
+'th'#3#244#1#0#9'TListView'#9'lvWatches'#5'Align'#7#8'ALCLIENT'#7'Columns'#14
+#1#7'Caption'#6#10'Expression'#7'Visible'#9#5'Width'#3#150#0#0#1#7'Caption'#6
+#5'Value'#7'Visible'#9#5'Width'#3#144#1#0#0#11'MultiSelect'#9#9'PopupMenu'#7
+#8'mnuPopup'#9'ViewStyle'#7#8'VSREPORT'#7'OnClick'#7#14'lvWatchesClick'#12'O'
+'nSelectItem'#7#19'lvWatchesSelectItem'#6'Height'#3#200#0#5'Width'#3#244#1#0
+#0#10'TPopupMenu'#8'mnuPopup'#4'left'#2'd'#3'top'#2'`'#0#9'TMenuItem'#6'popA'
+'dd'#7'Caption'#6#4'&Add'#7'OnClick'#7#11'popAddClick'#0#0#9'TMenuItem'#2'N1'
+#7'Caption'#6#1'-'#0#0#9'TMenuItem'#13'popProperties'#7'Caption'#6#11'&Prope'
+'rties'#7'OnClick'#7#18'popPropertiesClick'#0#0#9'TMenuItem'#10'popEnabled'#7
+'Caption'#6#8'&Enabled'#7'OnClick'#7#15'popEnabledClick'#0#0#9'TMenuItem'#9
+'popDelete'#7'Caption'#6#7'&Delete'#7'OnClick'#7#14'popDeleteClick'#0#0#9'TM'
+'enuItem'#2'N2'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#13'popDisableAll'#7'Capti'
+'on'#6#12'D&isable All'#7'OnClick'#7#18'popDisableAllClick'#0#0#9'TMenuItem'
+#12'popEnableAll'#7'Caption'#6#11'E&nable All'#7'OnClick'#7#17'popEnableAllC'
+'lick'#0#0#9'TMenuItem'#12'popDeleteAll'#7'Caption'#6#11'De&lete All'#7'OnCl'
+'ick'#7#17'popDeleteAllClick'#0#0#0#0
'TPF0'#11'TWatchesDlg'#10'WatchesDlg'#13'ActiveControl'#7#9'lvWatches'#7'Capt'
+'ion'#6#10'Watch list'#12'ClientHeight'#3#200#0#11'ClientWidth'#3#244#1#13'P'
+'ixelsPerInch'#2'Z'#18'HorzScrollBar.Page'#3#245#1#18'VertScrollBar.Page'#3
+#201#0#4'Left'#3'g'#1#6'Height'#3#200#0#3'Top'#2'~'#5'Width'#3#244#1#0#9'TLi'
+'stView'#9'lvWatches'#5'Align'#7#8'alClient'#7'Columns'#14#1#7'Caption'#6#10
+'Expression'#5'Width'#3#150#0#0#1#7'Caption'#6#5'Value'#5'Width'#2#0#0#0#11
+'MultiSelect'#9#9'PopupMenu'#7#8'mnuPopup'#9'ViewStyle'#7#8'vsReport'#7'OnCl'
+'ick'#7#14'lvWatchesClick'#12'OnSelectItem'#7#19'lvWatchesSelectItem'#6'Heig'
+'ht'#3#200#0#5'Width'#3#244#1#0#0#10'TPopupMenu'#8'mnuPopup'#4'left'#2'd'#3
+'top'#2'`'#0#9'TMenuItem'#6'popAdd'#7'Caption'#6#4'&Add'#7'OnClick'#7#11'pop'
+'AddClick'#0#0#9'TMenuItem'#2'N1'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#13'popP'
+'roperties'#7'Caption'#6#11'&Properties'#7'OnClick'#7#18'popPropertiesClick'
+#0#0#9'TMenuItem'#10'popEnabled'#7'Caption'#6#8'&Enabled'#7'OnClick'#7#15'po'
+'pEnabledClick'#0#0#9'TMenuItem'#9'popDelete'#7'Caption'#6#7'&Delete'#7'OnCl'
+'ick'#7#14'popDeleteClick'#0#0#9'TMenuItem'#2'N2'#7'Caption'#6#1'-'#0#0#9'TM'
+'enuItem'#13'popDisableAll'#7'Caption'#6#12'D&isable All'#7'OnClick'#7#18'po'
+'pDisableAllClick'#0#0#9'TMenuItem'#12'popEnableAll'#7'Caption'#6#11'E&nable'
+' All'#7'OnClick'#7#17'popEnableAllClick'#0#0#9'TMenuItem'#12'popDeleteAll'#7
+'Caption'#6#11'De&lete All'#7'OnClick'#7#17'popDeleteAllClick'#0#0#0#0
]);

View File

@ -90,7 +90,7 @@ implementation
constructor TWatchesDlg.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
Name:='WatchesDlg';
// Name:='WatchesDlg';
FWatchesNotification := TIDEWatchesNotification.Create;
FWatchesNotification.AddReference;
FWatchesNotification.OnAdd := @WatchAdd;
@ -271,6 +271,9 @@ end.
{ =============================================================================
$Log$
Revision 1.9 2004/11/23 00:54:55 marc
+ Added Evaluate/Modify dialog
Revision 1.8 2004/08/26 23:50:05 marc
* Restructured debugger view classes
* Fixed help

View File

@ -47,7 +47,7 @@ uses
MainBar, MainIntf, MainBase, BaseDebugManager,
SourceMarks,
DebuggerDlg, Watchesdlg, BreakPointsdlg, LocalsDlg, WatchPropertyDlg,
CallStackDlg, DBGOutputForm,
CallStackDlg, EvaluateDlg, DBGOutputForm,
GDBMIDebugger, SSHGDBMIDebugger;
@ -57,7 +57,8 @@ type
ddtBreakpoints,
ddtWatches,
ddtLocals,
ddtCallStack
ddtCallStack,
ddtEvaluate
);
TDebugManager = class(TBaseDebugManager)
@ -111,6 +112,7 @@ type
procedure InitWatchesDlg;
procedure InitLocalsDlg;
procedure InitCallStackDlg;
procedure InitEvaluateDlg;
procedure FreeDebugger;
protected
@ -161,7 +163,8 @@ implementation
const
DebugDlgIDEWindow: array[TDebugDialogType] of TNonModalIDEWindow = (
nmiwDbgOutput, nmiwBreakPoints, nmiwWatches, nmiwLocals, nmiwCallStack
nmiwDbgOutput, nmiwBreakPoints, nmiwWatches, nmiwLocals, nmiwCallStack,
nmiwEvaluate
);
type
@ -1175,9 +1178,11 @@ begin
SrcLine:=ALocation.SrcLine;
//TODO: Show assembler window if no source can be found.
if SrcLine < 1 then begin
if SrcLine < 1
then begin
MessageDlg(lisExecutionPaused,
Format(lisExecutionPausedAdress, [#13#13, ALocation.Address, #13,
Format(lisExecutionPausedAdress, [#13#13,
HexStr(ALocation.Address, FDebugger.TargetWidth div 4), #13,
ALocation.FuncName, #13, ALocation.SrcFile, #13#13#13, #13]),
mtInformation, [mbOK],0);
@ -1254,7 +1259,8 @@ end;
procedure TDebugManager.ViewDebugDialog(const ADialogType: TDebugDialogType);
const
DEBUGDIALOGCLASS: array[TDebugDialogType] of TDebuggerDlgClass = (
TDbgOutputForm, TBreakPointsDlg, TWatchesDlg, TLocalsDlg, TCallStackDlg
TDbgOutputForm, TBreakPointsDlg, TWatchesDlg, TLocalsDlg, TCallStackDlg,
TEvaluateDlg
);
var
CurDialog: TDebuggerDlg;
@ -1276,6 +1282,7 @@ begin
ddtWatches: InitWatchesDlg;
ddtLocals: InitLocalsDlg;
ddtCallStack: InitCallStackDlg;
ddtEvaluate: InitEvaluateDlg;
end;
end
else begin
@ -1344,6 +1351,11 @@ begin
TheDialog.CallStack := FCallStack;
end;
procedure TDebugManager.InitEvaluateDlg;
begin
// todo: pass current selection
end;
constructor TDebugManager.Create(TheOwner: TComponent);
var
DialogType: TDebugDialogType;
@ -1406,7 +1418,13 @@ begin
itmViewDebugOutput.Tag := Ord(ddtOutput);
itmRunMenuResetDebugger.OnClick := @mnuResetDebuggerClicked;
// itmRunMenuInspect.OnClick := @mnuViewDebugDialogClick;
itmRunMenuEvaluate.OnClick := @mnuViewDebugDialogClick;
itmRunMenuEvaluate.Tag := Ord(ddtEvaluate);
// itmRunMenuAddWatch.OnClick := @;
// itmRunMenuAddBpSource.OnClick := @;
itmEnvDebuggerOptions.OnClick := @mnuDebuggerOptionsClick;
end;
end;
@ -1425,6 +1443,10 @@ begin
itmViewDebugOutput.ShortCut := CommandToShortCut(ecToggleDebuggerOut);
itmViewLocals.ShortCut := CommandToShortCut(ecToggleLocals);
itmViewCallStack.ShortCut := CommandToShortCut(ecToggleCallStack);
itmRunMenuInspect.ShortCut := CommandToShortCut(ecInspect);
itmRunMenuEvaluate.ShortCut := CommandToShortCut(ecEvaluate);
itmRunMenuAddWatch.ShortCut := CommandToShortCut(ecAddWatch);
end;
end;
@ -1452,6 +1474,8 @@ begin
or (dcRunTo in FDebugger.Commands);
itmRunMenuStop.Enabled := (FDebugger<>nil); // always allow to stop
itmRunMenuEvaluate.Enabled := (not DebuggerInvalid)
and (dcEvaluate in FDebugger.Commands);
// TODO: add other debugger menuitems
// TODO: implement by actions
end;
@ -1896,6 +1920,9 @@ end.
{ =============================================================================
$Log$
Revision 1.77 2004/11/23 00:54:55 marc
+ Added Evaluate/Modify dialog
Revision 1.76 2004/10/11 23:33:36 marc
* Fixed interrupting GDB on win32
* Reset exename after run so that the exe is not locked on win32

View File

@ -80,6 +80,8 @@ type
nmiwWatches,
nmiwLocals,
nmiwCallStack,
nmiwEvaluate,
// extra
nmiwSearchResultsViewName
);
@ -113,6 +115,7 @@ const
'Watches',
'Locals',
'CallStack',
'EvaluateModify',
// extra
'SearchResults'
);

View File

@ -197,6 +197,9 @@ const
ecBuildFile = ecUserFirst + 411;
ecRunFile = ecUserFirst + 412;
ecConfigBuildFile = ecUserFirst + 413;
ecInspect = ecUserFirst + 414;
ecEvaluate = ecUserFirst + 415;
ecAddWatch = ecUserFirst + 416;
// project menu
ecNewProject = ecUserFirst + 500;
@ -668,6 +671,9 @@ begin
ecBuildFile: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecRunFile: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecConfigBuildFile: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecInspect: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecEvaluate: SetResult(VK_F7,[ssCtrl],VK_UNKNOWN,[]);
ecAddWatch: SetResult(VK_F5,[ssCtrl],VK_UNKNOWN,[]);
// components menu
ecOpenPackage: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
@ -1219,6 +1225,9 @@ begin
ecBuildFile : Result:= srkmecBuildFile;
ecRunFile : Result:= srkmecRunFile;
ecConfigBuildFile : Result:= srkmecConfigBuildFile;
ecInspect : Result:= srkmecInspect;
ecEvaluate : Result:= srkmecEvaluate;
ecAddWatch : Result:= srkmecAddWatch;
// components menu
ecOpenPackage : Result:= lisMenuOpenPackage;
@ -2089,6 +2098,9 @@ begin
AddDefault(C,'Build File',ecBuildFile);
AddDefault(C,'Run File',ecRunFile);
AddDefault(C,'Config "Build File"',ecConfigBuildFile);
AddDefault(C,'Inspect',ecInspect);
AddDefault(C,'Evaluate/Modify',ecEvaluate);
AddDefault(C,'Add watch',ecAddWatch);
// components menu
C:=Categories[AddCategory('Components',srkmCatComponentsMenu,caAll)];

View File

@ -224,6 +224,12 @@ resourcestring
lisMenuBuildFile = 'Build File';
lisMenuRunFile = 'Run File';
lisMenuConfigBuildFile = 'Configure Build+Run File';
lisMenuInspect = 'Inspect ...';
lisMenuEvaluate = 'Evaluate/Modify ...';
lisMenuAddWatch= 'Add watch ...';
lisMenuAddBreakpoint = 'Add breakpoint';
lisMenuAddBpSource = 'Source breakpoint';
lisMenuOpenPackage = 'Open loaded package';
lisMenuOpenRecentPkg = 'Open recent package';
@ -1298,7 +1304,10 @@ resourcestring
srkmecBuildFile = 'build file';
srkmecRunFile = 'run file';
srkmecConfigBuildFile = 'config build file';
srkmecInspect = 'inspect';
srkmecEvaluate = 'evaluate/modify';
srkmecAddWatch = 'add watch';
// tools menu
srkmecExtToolSettings = 'External tools settings';
srkmecBuildLazarus = 'Build lazarus';
@ -1866,7 +1875,7 @@ resourcestring
lisExecutionStopped = 'Execution stopped';
lisExecutionStoppedOn = 'Execution stopped%s';
lisExecutionPaused = 'Execution paused';
lisExecutionPausedAdress = 'Execution paused%s Adress: $%8.8x%s Procedure: %'
lisExecutionPausedAdress = 'Execution paused%s Adress: $%s%s Procedure: %'
+'s%s File: %s%s(Some day an assembler window might popup here :)%s';
lisFileNotFound = 'File not found';
lisTheFileWasNotFoundDoYouWantToLocateItYourself = 'The file %s%s%s%swas '

View File

@ -214,6 +214,11 @@ type
itmRunMenuBuildFile: TMenuItem;
itmRunMenuRunFile: TMenuItem;
itmRunMenuConfigBuildFile: TMenuItem;
itmRunMenuInspect: TMenuItem;
itmRunMenuEvaluate: TMenuItem;
itmRunMenuAddWatch: TMenuItem;
itmRunMenuAddBreakpoint: TMenuItem;
itmRunMenuAddBpSource: TMenuItem;
// components menu
itmPkgOpenPackage: TMenuItem;

View File

@ -598,6 +598,13 @@ begin
CreateMenuItem(ParentMI,itmRunMenuBuildFile,'itmRunMenuBuildFile',lisMenuBuildFile);
CreateMenuItem(ParentMI,itmRunMenuRunFile,'itmRunMenuRunFile',lisMenuRunFile);
CreateMenuItem(ParentMI,itmRunMenuConfigBuildFile,'itmRunMenuConfigBuildFile',lisMenuConfigBuildFile);
ParentMI.Add(CreateMenuSeparator);
CreateMenuItem(ParentMI,itmRunMenuInspect,'itmRunMenuInspect',lisMenuInspect, '', False);
CreateMenuItem(ParentMI,itmRunMenuEvaluate,'itmRunMenuEvaluate',lisMenuEvaluate, '', False);
CreateMenuItem(ParentMI,itmRunMenuAddWatch,'itmRunMenuAddWatch',lisMenuAddWatch, '', False);
CreateMenuItem(ParentMI,itmRunMenuAddBreakpoint,'itmRunMenuAddBreakpoint',lisMenuAddBreakpoint, '');
CreateMenuItem(itmRunMenuAddBreakpoint,itmRunMenuAddBPSource,'itmRunMenuAdddBPSource',lisMenuAddBPSource, '', False);
end;
end;