+ Added debugger optioes

git-svn-id: trunk@4994 -
This commit is contained in:
marc 2004-01-03 01:17:25 +00:00
parent 560b1a14bf
commit 48b038f8e3
5 changed files with 164 additions and 125 deletions

View File

@ -797,6 +797,10 @@ type
const AExceptionText: String) of object; const AExceptionText: String) of object;
TDebuggerProperties = class(TPersistent) TDebuggerProperties = class(TPersistent)
private
FTest: String;
published
property Test: String read FTest write FTest;
end; end;
TDebugger = class(TObject) TDebugger = class(TObject)
@ -831,8 +835,6 @@ type
procedure SetEnvironment(const AValue: TStrings); procedure SetEnvironment(const AValue: TStrings);
procedure SetFileName(const AValue: String); procedure SetFileName(const AValue: String);
protected protected
class function CreateProperties: TDebuggerProperties; virtual;
function CreateBreakPoints: TDBGBreakPoints; virtual; function CreateBreakPoints: TDBGBreakPoints; virtual;
function CreateLocals: TDBGLocals; virtual; function CreateLocals: TDBGLocals; virtual;
function CreateCallStack: TDBGCallStack; virtual; function CreateCallStack: TDBGCallStack; virtual;
@ -863,8 +865,11 @@ type
class function Caption: String; virtual; // The name of the debugger as shown in the debuggeroptions class function Caption: String; virtual; // The name of the debugger as shown in the debuggeroptions
class function ExePaths: String; virtual; // The default locations of the exe class function ExePaths: String; virtual; // The default locations of the exe
class function GetProperties: TDebuggerProperties;
class procedure SetProperties(const AProperties: TDebuggerProperties); // debugger properties
class function CreateProperties: TDebuggerProperties; virtual; // Creates and initializes debuggerproperties
class function GetProperties: TDebuggerProperties; // Get the current properties
class procedure SetProperties(const AProperties: TDebuggerProperties); // Set the current properties
procedure Init; virtual; // Initializes the debugger procedure Init; virtual; // Initializes the debugger
procedure Done; virtual; // Kills the debugger procedure Done; virtual; // Kills the debugger
@ -1096,6 +1101,8 @@ end;
class function TDebugger.CreateProperties: TDebuggerProperties; class function TDebugger.CreateProperties: TDebuggerProperties;
begin begin
Result := TDebuggerProperties.Create; Result := TDebuggerProperties.Create;
if MDebuggerProperties <> nil
then Result.Assign(MDebuggerProperties);
end; end;
function TDebugger.CreateSignals: TDBGSignals; function TDebugger.CreateSignals: TDBGSignals;
@ -3135,6 +3142,9 @@ finalization
end. end.
{ ============================================================================= { =============================================================================
$Log$ $Log$
Revision 1.55 2004/01/03 01:17:25 marc
+ Added debugger optioes
Revision 1.54 2003/12/27 11:22:36 mattias Revision 1.54 2003/12/27 11:22:36 mattias
minor fixes minor fixes

View File

@ -1,20 +1,20 @@
object DebuggerOptionsForm: TDebuggerOptionsForm object DebuggerOptionsForm: TDebuggerOptionsForm
BorderStyle = bsdialog BorderStyle = BSDIALOG
Caption = 'Debugger Options' Caption = 'Debugger Options'
ClientHeight = 442 ClientHeight = 442
ClientWidth = 480 ClientWidth = 480
OnCreate = DebuggerOptionsFormCREATE OnCreate = DebuggerOptionsFormCREATE
OnDestroy = DebuggerOptionsFormDESTROY OnDestroy = DebuggerOptionsFormDESTROY
Position = poscreencenter Position = POSCREENCENTER
HorzScrollBar.Page = 481 HorzScrollBar.Page = 481
VertScrollBar.Page = 443 VertScrollBar.Page = 443
Left = 419 Left = 411
Height = 442 Height = 442
Top = 257 Top = 185
Width = 480 Width = 480
object nbDebugOptions: TNotebook object nbDebugOptions: TNotebook
Align = altop Align = ALTOP
PageIndex = 3 PageIndex = 0
Height = 398 Height = 398
Width = 480 Width = 480
object pgGeneral: TPage object pgGeneral: TPage
@ -29,6 +29,7 @@ object DebuggerOptionsForm: TDebuggerOptionsForm
Caption = 'Debugger type and path' Caption = 'Debugger type and path'
ClientHeight = 69 ClientHeight = 69
ClientWidth = 468 ClientWidth = 468
ParentColor = True
ParentCtl3D = False ParentCtl3D = False
TabOrder = 0 TabOrder = 0
Left = 2 Left = 2
@ -71,6 +72,7 @@ object DebuggerOptionsForm: TDebuggerOptionsForm
Caption = 'Additional search path' Caption = 'Additional search path'
ClientHeight = 35 ClientHeight = 35
ClientWidth = 468 ClientWidth = 468
ParentColor = True
ParentCtl3D = False ParentCtl3D = False
TabOrder = 1 TabOrder = 1
Left = 2 Left = 2
@ -99,12 +101,24 @@ object DebuggerOptionsForm: TDebuggerOptionsForm
Caption = 'Debugger specific options (depends on type of debugger)' Caption = 'Debugger specific options (depends on type of debugger)'
ClientHeight = 187 ClientHeight = 187
ClientWidth = 468 ClientWidth = 468
ParentColor = True
ParentCtl3D = False ParentCtl3D = False
TabOrder = 2 TabOrder = 2
Left = 2 Left = 2
Height = 204 Height = 204
Top = 156 Top = 156
Width = 472 Width = 472
object pnlDebugSpecific: TPanel
Align = ALCLIENT
BevelOuter = BVNONE
BorderWidth = 4
ClientHeight = 187
ClientWidth = 468
TabOrder = 0
TabStop = True
Height = 187
Width = 468
end
end end
end end
object pgEventLog: TPage object pgEventLog: TPage
@ -119,6 +133,7 @@ object DebuggerOptionsForm: TDebuggerOptionsForm
Caption = 'General' Caption = 'General'
ClientHeight = 115 ClientHeight = 115
ClientWidth = 226 ClientWidth = 226
ParentColor = True
ParentCtl3D = False ParentCtl3D = False
TabOrder = 0 TabOrder = 0
Left = 4 Left = 4
@ -166,6 +181,7 @@ object DebuggerOptionsForm: TDebuggerOptionsForm
ClientHeight = 171 ClientHeight = 171
ClientWidth = 228 ClientWidth = 228
Enabled = False Enabled = False
ParentColor = True
ParentCtl3D = False ParentCtl3D = False
TabOrder = 1 TabOrder = 1
Left = 242 Left = 242
@ -270,6 +286,7 @@ object DebuggerOptionsForm: TDebuggerOptionsForm
Caption = 'Ignore these exceptions' Caption = 'Ignore these exceptions'
ClientHeight = 311 ClientHeight = 311
ClientWidth = 464 ClientWidth = 464
ParentColor = True
ParentCtl3D = False ParentCtl3D = False
TabOrder = 0 TabOrder = 0
Left = 4 Left = 4
@ -333,6 +350,7 @@ object DebuggerOptionsForm: TDebuggerOptionsForm
Caption = 'Signals' Caption = 'Signals'
ClientHeight = 337 ClientHeight = 337
ClientWidth = 464 ClientWidth = 464
ParentColor = True
ParentCtl3D = False ParentCtl3D = False
TabOrder = 0 TabOrder = 0
Left = 4 Left = 4
@ -381,7 +399,7 @@ object DebuggerOptionsForm: TDebuggerOptionsForm
Width = 75 Width = 75
end> end>
PopupMenu = popSignal PopupMenu = popSignal
ViewStyle = vsreport ViewStyle = VSREPORT
Left = 8 Left = 8
Height = 292 Height = 292
Top = 5 Top = 5

View File

@ -1,111 +1,116 @@
{ This is an automatically generated lazarus resource file } { This is an automatically generated lazarus resource file }
LazarusResources.Add('TDebuggerOptionsForm','FORMDATA',[ LazarusResources.Add('TDebuggerOptionsForm','FORMDATA',[
'TPF0'#20'TDebuggerOptionsForm'#19'DebuggerOptionsForm'#11'BorderStyle'#7#8'b' 'TPF0'#20'TDebuggerOptionsForm'#19'DebuggerOptionsForm'#11'BorderStyle'#7#8'B'
+'sdialog'#7'Caption'#6#16'Debugger Options'#12'ClientHeight'#3#186#1#11'Clie' +'SDIALOG'#7'Caption'#6#16'Debugger Options'#12'ClientHeight'#3#186#1#11'Clie'
+'ntWidth'#3#224#1#8'OnCreate'#7#25'DebuggerOptionsFormCREATE'#9'OnDestroy'#7 +'ntWidth'#3#224#1#8'OnCreate'#7#25'DebuggerOptionsFormCREATE'#9'OnDestroy'#7
+#26'DebuggerOptionsFormDESTROY'#8'Position'#7#14'poscreencenter'#18'HorzScro' +#26'DebuggerOptionsFormDESTROY'#8'Position'#7#14'POSCREENCENTER'#18'HorzScro'
+'llBar.Page'#3#225#1#18'VertScrollBar.Page'#3#187#1#4'Left'#3#163#1#6'Height' +'llBar.Page'#3#225#1#18'VertScrollBar.Page'#3#187#1#4'Left'#3#155#1#6'Height'
+#3#186#1#3'Top'#3#1#1#5'Width'#3#224#1#0#9'TNotebook'#14'nbDebugOptions'#5'A' +#3#186#1#3'Top'#3#185#0#5'Width'#3#224#1#0#9'TNotebook'#14'nbDebugOptions'#5
+'lign'#7#5'altop'#9'PageIndex'#2#3#6'Height'#3#142#1#5'Width'#3#224#1#0#5'TP' +'Align'#7#5'ALTOP'#9'PageIndex'#2#0#6'Height'#3#142#1#5'Width'#3#224#1#0#5'T'
+'age'#9'pgGeneral'#7'Caption'#6#7'General'#11'ClientWidth'#3#220#1#12'Client' +'Page'#9'pgGeneral'#7'Caption'#6#7'General'#11'ClientWidth'#3#220#1#12'Clien'
+'Height'#3'p'#1#4'Left'#2#2#6'Height'#3'p'#1#3'Top'#2#28#5'Width'#3#220#1#0#9 +'tHeight'#3'p'#1#4'Left'#2#2#6'Height'#3'p'#1#3'Top'#2#28#5'Width'#3#220#1#0
+'TGroupBox'#14'gbDebuggerType'#7'Caption'#6#22'Debugger type and path'#12'Cl' +#9'TGroupBox'#14'gbDebuggerType'#7'Caption'#6#22'Debugger type and path'#12
+'ientHeight'#2'E'#11'ClientWidth'#3#212#1#11'ParentCtl3D'#8#8'TabOrder'#2#0#4 +'ClientHeight'#2'E'#11'ClientWidth'#3#212#1#11'ParentColor'#9#11'ParentCtl3D'
+'Left'#2#2#6'Height'#2'V'#3'Top'#2#8#5'Width'#3#216#1#0#9'TComboBox'#15'cmbD' +#8#8'TabOrder'#2#0#4'Left'#2#2#6'Height'#2'V'#3'Top'#2#8#5'Width'#3#216#1#0#9
+'ebuggerType'#9'MaxLength'#2#0#8'OnChange'#7#21'cmbDebuggerTypeCHANGE'#11'Pa' +'TComboBox'#15'cmbDebuggerType'#9'MaxLength'#2#0#8'OnChange'#7#21'cmbDebugge'
+'rentCtl3D'#8#8'TabOrder'#2#0#7'TabStop'#9#4'Left'#2#6#6'Height'#2#25#3'Top' +'rTypeCHANGE'#11'ParentCtl3D'#8#8'TabOrder'#2#0#7'TabStop'#9#4'Left'#2#6#6'H'
+#2#5#5'Width'#3#12#1#0#0#9'TComboBox'#15'cmbDebuggerPath'#9'MaxLength'#2#0#11 +'eight'#2#25#3'Top'#2#5#5'Width'#3#12#1#0#0#9'TComboBox'#15'cmbDebuggerPath'
+'ParentCtl3D'#8#8'TabOrder'#2#1#7'TabStop'#9#4'Left'#2#6#6'Height'#2#25#3'To' +#9'MaxLength'#2#0#11'ParentCtl3D'#8#8'TabOrder'#2#1#7'TabStop'#9#4'Left'#2#6
+'p'#2'%'#5'Width'#3#172#1#0#0#7'TButton'#19'cmdOpenDebuggerPath'#7'Caption'#6 +#6'Height'#2#25#3'Top'#2'%'#5'Width'#3#172#1#0#0#7'TButton'#19'cmdOpenDebugg'
+#3'...'#7'TabStop'#9#8'TabOrder'#2#2#7'OnClick'#7#24'cmdOpenDebuggerPathCLIC' +'erPath'#7'Caption'#6#3'...'#7'TabStop'#9#8'TabOrder'#2#2#7'OnClick'#7#24'cm'
+'K'#4'Left'#3#186#1#6'Height'#2#25#3'Top'#2'%'#5'Width'#2#19#0#0#0#9'TGroupB' +'dOpenDebuggerPathCLICK'#4'Left'#3#186#1#6'Height'#2#25#3'Top'#2'%'#5'Width'
+'ox'#22'gbAdditionalSearchPath'#7'Caption'#6#22'Additional search path'#12'C' +#2#19#0#0#0#9'TGroupBox'#22'gbAdditionalSearchPath'#7'Caption'#6#22'Addition'
+'lientHeight'#2'#'#11'ClientWidth'#3#212#1#11'ParentCtl3D'#8#8'TabOrder'#2#1 +'al search path'#12'ClientHeight'#2'#'#11'ClientWidth'#3#212#1#11'ParentColo'
+#4'Left'#2#2#6'Height'#2'4'#3'Top'#2'd'#5'Width'#3#216#1#0#5'TEdit'#17'txtAd' +'r'#9#11'ParentCtl3D'#8#8'TabOrder'#2#1#4'Left'#2#2#6'Height'#2'4'#3'Top'#2
+'ditionalPath'#7'TabStop'#9#8'TabOrder'#2#0#4'Left'#2#6#6'Height'#2#25#3'Top' +'d'#5'Width'#3#216#1#0#5'TEdit'#17'txtAdditionalPath'#7'TabStop'#9#8'TabOrde'
+#2#5#5'Width'#3#172#1#0#0#7'TButton'#21'cmdOpenAdditionalPath'#7'Caption'#6#3 +'r'#2#0#4'Left'#2#6#6'Height'#2#25#3'Top'#2#5#5'Width'#3#172#1#0#0#7'TButton'
+'...'#7'TabStop'#9#8'TabOrder'#2#1#4'Left'#3#186#1#6'Height'#2#24#3'Top'#2#5 +#21'cmdOpenAdditionalPath'#7'Caption'#6#3'...'#7'TabStop'#9#8'TabOrder'#2#1#4
+#5'Width'#2#19#0#0#0#9'TGroupBox'#18'gbDebuggerSpecific'#7'Caption'#6'7Debug' +'Left'#3#186#1#6'Height'#2#24#3'Top'#2#5#5'Width'#2#19#0#0#0#9'TGroupBox'#18
+'ger specific options (depends on type of debugger)'#12'ClientHeight'#3#187#0 +'gbDebuggerSpecific'#7'Caption'#6'7Debugger specific options (depends on typ'
+#11'ClientWidth'#3#212#1#11'ParentCtl3D'#8#8'TabOrder'#2#2#4'Left'#2#2#6'Hei' +'e of debugger)'#12'ClientHeight'#3#187#0#11'ClientWidth'#3#212#1#11'ParentC'
+'ght'#3#204#0#3'Top'#3#156#0#5'Width'#3#216#1#0#0#0#5'TPage'#10'pgEventLog'#7 +'olor'#9#11'ParentCtl3D'#8#8'TabOrder'#2#2#4'Left'#2#2#6'Height'#3#204#0#3'T'
+'Caption'#6#9'Event Log'#11'ClientWidth'#3#220#1#12'ClientHeight'#3'p'#1#4'L' +'op'#3#156#0#5'Width'#3#216#1#0#6'TPanel'#16'pnlDebugSpecific'#5'Align'#7#8
+'eft'#2#2#6'Height'#3'p'#1#3'Top'#2#28#5'Width'#3#220#1#0#9'TGroupBox'#9'gbG' +'ALCLIENT'#10'BevelOuter'#7#6'BVNONE'#11'BorderWidth'#2#4#12'ClientHeight'#3
+'eneral'#7'Caption'#6#7'General'#12'ClientHeight'#2's'#11'ClientWidth'#3#226 +#187#0#11'ClientWidth'#3#212#1#8'TabOrder'#2#0#7'TabStop'#9#6'Height'#3#187#0
+#0#11'ParentCtl3D'#8#8'TabOrder'#2#0#4'Left'#2#4#6'Height'#3#132#0#3'Top'#2#8 +#5'Width'#3#212#1#0#0#0#0#5'TPage'#10'pgEventLog'#7'Caption'#6#9'Event Log'
+#5'Width'#3#230#0#0#9'TCheckBox'#16'chkClearLogOnRun'#11'AllowGrayed'#9#8'Au'
+'toSize'#9#7'Caption'#6#16'Clear log on run'#10'DragCursor'#7#9'crDefault'#8
+'TabOrder'#2#0#7'TabStop'#9#4'Left'#2#4#6'Height'#2#20#3'Top'#2#5#5'Width'#3
+#135#0#0#0#9'TCheckBox'#17'chkLimitLinecount'#11'AllowGrayed'#9#8'AutoSize'#9
+#7'Caption'#6#18'Limit linecount to'#10'DragCursor'#7#9'crDefault'#8'TabOrde'
+'r'#2#1#7'TabStop'#9#4'Left'#2#4#6'Height'#2#20#3'Top'#2#29#5'Width'#2'w'#0#0
+#9'TSpinEdit'#16'seLimitLinecount'#7'Enabled'#8#10'Climb_Rate'#5#0#0#0#0#0
+#144'?'#236#144'?'#8'MinValue'#5#0#0#0#0#0#144'?'#236#144'?'#8'MaxValue'#5#0
+#0#0#0#0#144'?'#236#144'?'#5'Value'#5#0#0#0#0#0#144'?'#236#144'?'#4'Left'#2
+#28#6'Height'#2#20#3'Top'#2'5'#5'Width'#2'>'#0#0#0#9'TGroupBox'#10'gbMessage'
+'s'#7'Caption'#6#8'Messages'#12'ClientHeight'#3#171#0#11'ClientWidth'#3#228#0
+#7'Enabled'#8#11'ParentCtl3D'#8#8'TabOrder'#2#1#4'Left'#3#242#0#6'Height'#3
+#188#0#3'Top'#2#8#5'Width'#3#232#0#0#9'TCheckBox'#21'chkMessagesBreakpoint'
+#11'AllowGrayed'#9#8'AutoSize'#9#7'Caption'#6#10'Breakpoint'#10'DragCursor'#7
+#9'crDefault'#8'TabOrder'#2#0#7'TabStop'#9#4'Left'#2#4#6'Height'#2#20#3'Top'
+#2#5#5'Width'#3#161#0#0#0#9'TCheckBox'#18'chkMessagesProcess'#11'AllowGrayed'
+#9#8'AutoSize'#9#7'Caption'#6#7'Process'#10'DragCursor'#7#9'crDefault'#8'Tab'
+'Order'#2#1#7'TabStop'#9#4'Left'#2#4#6'Height'#2#20#3'Top'#2#29#5'Width'#3
+#147#0#0#0#9'TCheckBox'#17'chkMessagesThread'#11'AllowGrayed'#9#8'AutoSize'#9
+#7'Caption'#6#6'Thread'#10'DragCursor'#7#9'crDefault'#8'TabOrder'#2#2#7'TabS'
+'top'#9#4'Left'#2#4#6'Height'#2#20#3'Top'#2'5'#5'Width'#3#141#0#0#0#9'TCheck'
+'Box'#17'chkMessagesModule'#11'AllowGrayed'#9#8'AutoSize'#9#7'Caption'#6#6'M'
+'odule'#10'DragCursor'#7#9'crDefault'#8'TabOrder'#2#3#7'TabStop'#9#4'Left'#2
+#4#6'Height'#2#20#3'Top'#2'M'#5'Width'#3#144#0#0#0#9'TCheckBox'#17'chkMessag'
+'esOutput'#11'AllowGrayed'#9#8'AutoSize'#9#7'Caption'#6#6'Output'#10'DragCur'
+'sor'#7#9'crDefault'#8'TabOrder'#2#4#7'TabStop'#9#4'Left'#2#4#6'Height'#2#20
+#3'Top'#2'e'#5'Width'#3#139#0#0#0#9'TCheckBox'#17'chkMessagesWindow'#11'Allo'
+'wGrayed'#9#8'AutoSize'#9#7'Caption'#6#6'Window'#10'DragCursor'#7#9'crDefaul'
+'t'#8'TabOrder'#2#5#7'TabStop'#9#4'Left'#2#4#6'Height'#2#20#3'Top'#2'}'#5'Wi'
+'dth'#3#146#0#0#0#9'TCheckBox'#20'chkMessagesInterface'#11'AllowGrayed'#9#8
+'AutoSize'#9#7'Caption'#6#9'Interface'#10'DragCursor'#7#9'crDefault'#8'TabOr'
,'der'#2#6#7'TabStop'#9#4'Left'#2#4#6'Height'#2#20#3'Top'#3#149#0#5'Width'#3
+#150#0#0#0#0#0#5'TPage'#12'pgExceptions'#7'Caption'#6#19'Language Exceptions'
+#11'ClientWidth'#3#220#1#12'ClientHeight'#3'p'#1#4'Left'#2#2#6'Height'#3'p'#1 +#11'ClientWidth'#3#220#1#12'ClientHeight'#3'p'#1#4'Left'#2#2#6'Height'#3'p'#1
+#3'Top'#2#28#5'Width'#3#220#1#0#9'TGroupBox'#18'bgIgnoreExceptions'#7'Captio' +#3'Top'#2#28#5'Width'#3#220#1#0#9'TGroupBox'#9'gbGeneral'#7'Caption'#6#7'Gen'
+'n'#6#23'Ignore these exceptions'#12'ClientHeight'#3'7'#1#11'ClientWidth'#3 +'eral'#12'ClientHeight'#2's'#11'ClientWidth'#3#226#0#11'ParentColor'#9#11'Pa'
+#208#1#11'ParentCtl3D'#8#8'TabOrder'#2#0#4'Left'#2#4#6'Height'#3'H'#1#3'Top' +'rentCtl3D'#8#8'TabOrder'#2#0#4'Left'#2#4#6'Height'#3#132#0#3'Top'#2#8#5'Wid'
+#2#8#5'Width'#3#212#1#0#7'TButton'#18'cmdExceptionRemove'#7'Enabled'#8#7'Cap' +'th'#3#230#0#0#9'TCheckBox'#16'chkClearLogOnRun'#11'AllowGrayed'#9#8'AutoSiz'
+'tion'#6#6'Remove'#7'TabStop'#9#8'TabOrder'#2#0#7'OnClick'#7#23'cmdException' +'e'#9#7'Caption'#6#16'Clear log on run'#10'DragCursor'#7#9'crDefault'#8'TabO'
+'RemoveCLICK'#4'Left'#3'|'#1#6'Height'#2#25#3'Top'#3#21#1#5'Width'#2'K'#0#0#7 +'rder'#2#0#7'TabStop'#9#4'Left'#2#4#6'Height'#2#20#3'Top'#2#5#5'Width'#3#135
+'TButton'#15'cmdExceptionAdd'#7'Caption'#6#3'Add'#7'TabStop'#9#8'TabOrder'#2 +#0#0#0#9'TCheckBox'#17'chkLimitLinecount'#11'AllowGrayed'#9#8'AutoSize'#9#7
+#1#7'OnClick'#7#20'cmdExceptionAddCLICK'#4'Left'#3','#1#6'Height'#2#25#3'Top' +'Caption'#6#18'Limit linecount to'#10'DragCursor'#7#9'crDefault'#8'TabOrder'
+#3#21#1#5'Width'#2'K'#0#0#13'TCheckListBox'#13'clbExceptions'#7'OnClick'#7#18 +#2#1#7'TabStop'#9#4'Left'#2#4#6'Height'#2#20#3'Top'#2#29#5'Width'#2'w'#0#0#9
+'clbExceptionsCLICK'#8'TabOrder'#2#2#7'TabStop'#9#8'TopIndex'#2#255#4'Left'#2 +'TSpinEdit'#16'seLimitLinecount'#7'Enabled'#8#10'Climb_Rate'#5#0#0#0#0#0#144
+#8#6'Height'#3#8#1#3'Top'#2#5#5'Width'#3#192#1#0#0#0#9'TCheckBox'#19'chkBrea' +'?'#236#144'?'#8'MinValue'#5#0#0#0#0#0#144'?'#236#144'?'#8'MaxValue'#5#0#0#0
+'kOnException'#11'AllowGrayed'#9#8'AutoSize'#9#7'Caption'#6#27'Break on Laza' +#0#0#144'?'#236#144'?'#5'Value'#5#0#0#0#0#0#144'?'#236#144'?'#4'Left'#2#28#6
+'rus Exceptions'#10'DragCursor'#7#9'crDefault'#8'TabOrder'#2#1#7'TabStop'#9#4 +'Height'#2#20#3'Top'#2'5'#5'Width'#2'>'#0#0#0#9'TGroupBox'#10'gbMessages'#7
+'Left'#2#2#6'Height'#2#20#3'Top'#3'T'#1#5'Width'#3#188#0#0#0#0#5'TPage'#9'pg' +'Caption'#6#8'Messages'#12'ClientHeight'#3#171#0#11'ClientWidth'#3#228#0#7'E'
+'Signals'#7'Caption'#6#13'OS Exceptions'#11'ClientWidth'#3#220#1#12'ClientHe' +'nabled'#8#11'ParentColor'#9#11'ParentCtl3D'#8#8'TabOrder'#2#1#4'Left'#3#242
+'ight'#3'p'#1#4'Left'#2#2#6'Height'#3'p'#1#3'Top'#2#28#5'Width'#3#220#1#0#9 +#0#6'Height'#3#188#0#3'Top'#2#8#5'Width'#3#232#0#0#9'TCheckBox'#21'chkMessag'
+'TGroupBox'#9'gbSignals'#7'Caption'#6#7'Signals'#12'ClientHeight'#3'Q'#1#11 +'esBreakpoint'#11'AllowGrayed'#9#8'AutoSize'#9#7'Caption'#6#10'Breakpoint'#10
+'ClientWidth'#3#208#1#11'ParentCtl3D'#8#8'TabOrder'#2#0#4'Left'#2#4#6'Height' +'DragCursor'#7#9'crDefault'#8'TabOrder'#2#0#7'TabStop'#9#4'Left'#2#4#6'Heigh'
+#3'b'#1#3'Top'#2#8#5'Width'#3#212#1#0#7'TButton'#15'cmdSignalRemove'#7'Enabl' +'t'#2#20#3'Top'#2#5#5'Width'#3#161#0#0#0#9'TCheckBox'#18'chkMessagesProcess'
+'ed'#8#7'Caption'#6#6'Remove'#7'TabStop'#9#8'TabOrder'#2#0#4'Left'#3'}'#1#6 +#11'AllowGrayed'#9#8'AutoSize'#9#7'Caption'#6#7'Process'#10'DragCursor'#7#9
+'Height'#2#25#3'Top'#3'1'#1#5'Width'#2'K'#0#0#7'TButton'#12'cmdSignalAdd'#7 +'crDefault'#8'TabOrder'#2#1#7'TabStop'#9#4'Left'#2#4#6'Height'#2#20#3'Top'#2
+'Caption'#6#3'Add'#7'TabStop'#9#8'TabOrder'#2#1#4'Left'#3'('#1#6'Height'#2#25 +#29#5'Width'#3#147#0#0#0#9'TCheckBox'#17'chkMessagesThread'#11'AllowGrayed'#9
+#3'Top'#3'1'#1#5'Width'#2'K'#0#0#9'TListView'#9'lvSignals'#7'Columns'#14#1#7 +#8'AutoSize'#9#7'Caption'#6#6'Thread'#10'DragCursor'#7#9'crDefault'#8'TabOrd'
+'Caption'#6#4'Name'#7'Visible'#9#5'Width'#3#200#0#0#1#7'Caption'#6#2'ID'#7'V' +'er'#2#2#7'TabStop'#9#4'Left'#2#4#6'Height'#2#20#3'Top'#2'5'#5'Width'#3#141#0
+'isible'#9#5'Width'#2'2'#0#1#7'Caption'#6#10'Handled by'#7'Visible'#9#5'Widt' +#0#0#9'TCheckBox'#17'chkMessagesModule'#11'AllowGrayed'#9#8'AutoSize'#9#7'Ca'
+'h'#2'K'#0#1#7'Caption'#6#6'Resume'#7'Visible'#9#5'Width'#2'K'#0#0#9'PopupMe' +'ption'#6#6'Module'#10'DragCursor'#7#9'crDefault'#8'TabOrder'#2#3#7'TabStop'
+'nu'#7#9'popSignal'#9'ViewStyle'#7#8'vsreport'#4'Left'#2#8#6'Height'#3'$'#1#3 +#9#4'Left'#2#4#6'Height'#2#20#3'Top'#2'M'#5'Width'#3#144#0#0#0#9'TCheckBox'
+'Top'#2#5#5'Width'#3#192#1#0#0#0#0#0#7'TButton'#9'cmdCancel'#11'ModalResult' +#17'chkMessagesOutput'#11'AllowGrayed'#9#8'AutoSize'#9#7'Caption'#6#6'Output'
+#2#2#6'Cancel'#9#7'Caption'#6#6'Cancel'#7'TabStop'#9#8'TabOrder'#2#1#4'Left' +#10'DragCursor'#7#9'crDefault'#8'TabOrder'#2#4#7'TabStop'#9#4'Left'#2#4#6'He'
+#3#144#1#6'Height'#2#25#3'Top'#3#152#1#5'Width'#2'K'#0#0#7'TButton'#5'cmdOK' +'ight'#2#20#3'Top'#2'e'#5'Width'#3#139#0#0#0#9'TCheckBox'#17'chkMessagesWind'
+#7'Default'#9#7'Caption'#6#2'OK'#7'TabStop'#9#8'TabOrder'#2#2#7'OnClick'#7#10 ,'ow'#11'AllowGrayed'#9#8'AutoSize'#9#7'Caption'#6#6'Window'#10'DragCursor'#7
+'cmdOKCLICK'#4'Left'#3'@'#1#6'Height'#2#25#3'Top'#3#152#1#5'Width'#2'K'#0#0 +#9'crDefault'#8'TabOrder'#2#5#7'TabStop'#9#4'Left'#2#4#6'Height'#2#20#3'Top'
+#10'TPopupMenu'#9'popSignal'#4'left'#3#152#1#3'top'#2#20#0#9'TMenuItem'#19'm' +#2'}'#5'Width'#3#146#0#0#0#9'TCheckBox'#20'chkMessagesInterface'#11'AllowGra'
+'nuHandledByProgram'#9'AutoCheck'#9#7'Caption'#6#18'Handled by Program'#10'G' +'yed'#9#8'AutoSize'#9#7'Caption'#6#9'Interface'#10'DragCursor'#7#9'crDefault'
+'roupIndex'#2#1#9'RadioItem'#9#0#0#9'TMenuItem'#21'mnuiHandledByDebugger'#9 +#8'TabOrder'#2#6#7'TabStop'#9#4'Left'#2#4#6'Height'#2#20#3'Top'#3#149#0#5'Wi'
+'AutoCheck'#9#7'Caption'#6#19'Handled by Debugger'#10'GroupIndex'#2#1#9'Radi' +'dth'#3#150#0#0#0#0#0#5'TPage'#12'pgExceptions'#7'Caption'#6#19'Language Exc'
+'oItem'#9#0#0#9'TMenuItem'#2'N1'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#16'mnuRe' +'eptions'#11'ClientWidth'#3#220#1#12'ClientHeight'#3'p'#1#4'Left'#2#2#6'Heig'
+'sumeHandled'#9'AutoCheck'#9#7'Caption'#6#14'Resume Handled'#10'GroupIndex'#2 +'ht'#3'p'#1#3'Top'#2#28#5'Width'#3#220#1#0#9'TGroupBox'#18'bgIgnoreException'
+#2#9'RadioItem'#9#0#0#9'TMenuItem'#18'mnuResumeUnhandled'#9'AutoCheck'#9#7'C' +'s'#7'Caption'#6#23'Ignore these exceptions'#12'ClientHeight'#3'7'#1#11'Clie'
+'aption'#6#16'Resume Unhandled'#10'GroupIndex'#2#2#9'RadioItem'#9#0#0#0#0 +'ntWidth'#3#208#1#11'ParentColor'#9#11'ParentCtl3D'#8#8'TabOrder'#2#0#4'Left'
+#2#4#6'Height'#3'H'#1#3'Top'#2#8#5'Width'#3#212#1#0#7'TButton'#18'cmdExcepti'
+'onRemove'#7'Enabled'#8#7'Caption'#6#6'Remove'#7'TabStop'#9#8'TabOrder'#2#0#7
+'OnClick'#7#23'cmdExceptionRemoveCLICK'#4'Left'#3'|'#1#6'Height'#2#25#3'Top'
+#3#21#1#5'Width'#2'K'#0#0#7'TButton'#15'cmdExceptionAdd'#7'Caption'#6#3'Add'
+#7'TabStop'#9#8'TabOrder'#2#1#7'OnClick'#7#20'cmdExceptionAddCLICK'#4'Left'#3
+','#1#6'Height'#2#25#3'Top'#3#21#1#5'Width'#2'K'#0#0#13'TCheckListBox'#13'cl'
+'bExceptions'#7'OnClick'#7#18'clbExceptionsCLICK'#8'TabOrder'#2#2#7'TabStop'
+#9#8'TopIndex'#2#255#4'Left'#2#8#6'Height'#3#8#1#3'Top'#2#5#5'Width'#3#192#1
+#0#0#0#9'TCheckBox'#19'chkBreakOnException'#11'AllowGrayed'#9#8'AutoSize'#9#7
+'Caption'#6#27'Break on Lazarus Exceptions'#10'DragCursor'#7#9'crDefault'#8
+'TabOrder'#2#1#7'TabStop'#9#4'Left'#2#2#6'Height'#2#20#3'Top'#3'T'#1#5'Width'
+#3#188#0#0#0#0#5'TPage'#9'pgSignals'#7'Caption'#6#13'OS Exceptions'#11'Clien'
+'tWidth'#3#220#1#12'ClientHeight'#3'p'#1#4'Left'#2#2#6'Height'#3'p'#1#3'Top'
+#2#28#5'Width'#3#220#1#0#9'TGroupBox'#9'gbSignals'#7'Caption'#6#7'Signals'#12
+'ClientHeight'#3'Q'#1#11'ClientWidth'#3#208#1#11'ParentColor'#9#11'ParentCtl'
+'3D'#8#8'TabOrder'#2#0#4'Left'#2#4#6'Height'#3'b'#1#3'Top'#2#8#5'Width'#3#212
+#1#0#7'TButton'#15'cmdSignalRemove'#7'Enabled'#8#7'Caption'#6#6'Remove'#7'Ta'
+'bStop'#9#8'TabOrder'#2#0#4'Left'#3'}'#1#6'Height'#2#25#3'Top'#3'1'#1#5'Widt'
+'h'#2'K'#0#0#7'TButton'#12'cmdSignalAdd'#7'Caption'#6#3'Add'#7'TabStop'#9#8
+'TabOrder'#2#1#4'Left'#3'('#1#6'Height'#2#25#3'Top'#3'1'#1#5'Width'#2'K'#0#0
+#9'TListView'#9'lvSignals'#7'Columns'#14#1#7'Caption'#6#4'Name'#7'Visible'#9
+#5'Width'#3#200#0#0#1#7'Caption'#6#2'ID'#7'Visible'#9#5'Width'#2'2'#0#1#7'Ca'
+'ption'#6#10'Handled by'#7'Visible'#9#5'Width'#2'K'#0#1#7'Caption'#6#6'Resum'
+'e'#7'Visible'#9#5'Width'#2'K'#0#0#9'PopupMenu'#7#9'popSignal'#9'ViewStyle'#7
+#8'VSREPORT'#4'Left'#2#8#6'Height'#3'$'#1#3'Top'#2#5#5'Width'#3#192#1#0#0#0#0
+#0#7'TButton'#9'cmdCancel'#11'ModalResult'#2#2#6'Cancel'#9#7'Caption'#6#6'Ca'
+'ncel'#7'TabStop'#9#8'TabOrder'#2#1#4'Left'#3#144#1#6'Height'#2#25#3'Top'#3
+#152#1#5'Width'#2'K'#0#0#7'TButton'#5'cmdOK'#7'Default'#9#7'Caption'#6#2'OK'
+#7'TabStop'#9#8'TabOrder'#2#2#7'OnClick'#7#10'cmdOKCLICK'#4'Left'#3'@'#1#6'H'
+'eight'#2#25#3'Top'#3#152#1#5'Width'#2'K'#0#0#10'TPopupMenu'#9'popSignal'#4
+'left'#3#152#1#3'top'#2#20#0#9'TMenuItem'#19'mnuHandledByProgram'#9'AutoChec'
+'k'#9#7'Caption'#6#18'Handled by Program'#10'GroupIndex'#2#1#9'RadioItem'#9#0
+#0#9'TMenuItem'#21'mnuiHandledByDebugger'#9'AutoCheck'#9#7'Caption'#6#19'Han'
+'dled by Debugger'#10'GroupIndex'#2#1#9'RadioItem'#9#0#0#9'TMenuItem'#2'N1'#7
+'Caption'#6#1'-'#0#0#9'TMenuItem'#16'mnuResumeHandled'#9'AutoCheck'#9#7'Capt'
+'ion'#6#14'Resume Handled'#10'GroupIndex'#2#2#9'RadioItem'#9#0#0#9'TMenuItem'
+#18'mnuResumeUnhandled'#9'AutoCheck'#9#7'Caption'#6#16'Resume Unhandled'#10
+'GroupIndex'#2#2#9'RadioItem'#9#0#0#0#0
]); ]);

View File

@ -60,6 +60,7 @@ type
cmbDebuggerType: TCOMBOBOX; cmbDebuggerType: TCOMBOBOX;
cmbDebuggerPath: TCOMBOBOX; cmbDebuggerPath: TCOMBOBOX;
N1: TMENUITEM; N1: TMENUITEM;
pnlDebugSpecific: TPanel;
seLimitLinecount: TSPINEDIT; seLimitLinecount: TSPINEDIT;
txtAdditionalPath: TEDIT; txtAdditionalPath: TEDIT;
gbDebuggerType: TGROUPBOX; gbDebuggerType: TGROUPBOX;
@ -90,7 +91,7 @@ type
procedure cmdOKCLICK (Sender: TObject ); procedure cmdOKCLICK (Sender: TObject );
procedure cmdOpenDebuggerPathCLICK(Sender: TObject); procedure cmdOpenDebuggerPathCLICK(Sender: TObject);
private private
ThePropertyEditorHook: TPropertyEditorHook; FPropertyEditorHook: TPropertyEditorHook;
FExceptionDeleteList: TStringList; FExceptionDeleteList: TStringList;
FOldDebuggerPathAndParams: string; FOldDebuggerPathAndParams: string;
FDebuggerSpecificComponents: TList; FDebuggerSpecificComponents: TList;
@ -194,6 +195,7 @@ var
//Selection: TComponentSelectionList; //Selection: TComponentSelectionList;
begin begin
// FPropertyEditorHook.LookupRoot := nil;
{ThePropertyEditorHook.LookupRoot:=FCurDebuggerObject; {ThePropertyEditorHook.LookupRoot:=FCurDebuggerObject;
Selection:=TComponentSelectionList.Create; Selection:=TComponentSelectionList.Create;
if FCurDebuggerObject<>nil then if FCurDebuggerObject<>nil then
@ -210,6 +212,11 @@ begin
if FCurDebuggerClass = nil then Exit; if FCurDebuggerClass = nil then Exit;
// FPropertyEditorHook.LookupRoot := FCurDebuggerClass.GetProperties;
PropertyGrid.Clear;
// PropertyGrid.Selections.Add(FCurDebuggerClass.GetProperties);
PropertyGrid.BuildPropertyList;
// create debugger specific options components // create debugger specific options components
// temp hack // temp hack
if AnsiCompareText(FCurDebuggerClass.ClassName, 'TSSHGDBMIDEBUGGER')=0 if AnsiCompareText(FCurDebuggerClass.ClassName, 'TSSHGDBMIDEBUGGER')=0
@ -392,9 +399,9 @@ begin
end; end;
// create the PropertyEditorHook (the interface to the properties) // create the PropertyEditorHook (the interface to the properties)
ThePropertyEditorHook:=TPropertyEditorHook.Create; FPropertyEditorHook:=TPropertyEditorHook.Create;
// create the PropertyGrid // create the PropertyGrid
PropertyGrid:=TOIPropertyGrid.CreateWithParams(Self,ThePropertyEditorHook PropertyGrid:=TOIPropertyGrid.CreateWithParams(Self,FPropertyEditorHook
,[tkUnknown, tkInteger, tkChar, tkEnumeration, tkFloat, tkSet{, tkMethod} ,[tkUnknown, tkInteger, tkChar, tkEnumeration, tkFloat, tkSet{, tkMethod}
, tkSString, tkLString, tkAString, tkWString, tkVariant , tkSString, tkLString, tkAString, tkWString, tkVariant
{, tkArray, tkRecord, tkInterface}, tkClass, tkObject, tkWChar, tkBool {, tkArray, tkRecord, tkInterface}, tkClass, tkObject, tkWChar, tkBool
@ -402,11 +409,13 @@ begin
25); 25);
with PropertyGrid do begin with PropertyGrid do begin
Name:='PropertyGrid'; Name:='PropertyGrid';
Visible:=false; // Use panel for border
Parent:=gbDebuggerSpecific; Parent := pnlDebugSpecific; //gbDebuggerSpecific;
Visible:=True;
Align:=alClient; Align:=alClient;
SplitterX:=120; SplitterX:=120;
end; end;
// pnlDebugSpecific.Visible := False;
FetchDebuggerClass; FetchDebuggerClass;

View File

@ -639,10 +639,7 @@ var a:integer;
begin begin
OldSelectedRowPath:=PropertyPath(ItemIndex); OldSelectedRowPath:=PropertyPath(ItemIndex);
ItemIndex:=-1; ItemIndex:=-1;
IncreaseChangeStep; ClearRows;
for a:=0 to FRows.Count-1 do
Rows[a].Free;
FRows.Clear;
FComponentList.Assign(NewSelections); FComponentList.Assign(NewSelections);
BuildPropertyList; BuildPropertyList;
CurRow:=GetRowByPath(OldSelectedRowPath); CurRow:=GetRowByPath(OldSelectedRowPath);