From 88bab09dd7d7868aaeda9a7743554c81208e128a Mon Sep 17 00:00:00 2001 From: mattias Date: Sat, 11 Dec 2004 01:17:22 +0000 Subject: [PATCH] implemented global debugger search path git-svn-id: trunk@6362 - --- ide/debugoptionsfrm.lfm | 91 ++++++----------- ide/debugoptionsfrm.lrs | 215 ++++++++++++++++++++-------------------- ide/debugoptionsfrm.pas | 30 ++++-- ide/environmentopts.pp | 18 +++- ide/main.pp | 8 +- 5 files changed, 183 insertions(+), 179 deletions(-) diff --git a/ide/debugoptionsfrm.lfm b/ide/debugoptionsfrm.lfm index 992630e1de..3baa000fcc 100644 --- a/ide/debugoptionsfrm.lfm +++ b/ide/debugoptionsfrm.lfm @@ -1,11 +1,12 @@ object DebuggerOptionsForm: TDebuggerOptionsForm - BorderStyle = BSDIALOG + BorderStyle = bsDialog Caption = 'Debugger Options' ClientHeight = 442 ClientWidth = 480 OnCreate = DebuggerOptionsFormCREATE OnDestroy = DebuggerOptionsFormDESTROY - Position = POSCREENCENTER + PixelsPerInch = 90 + Position = poScreenCenter HorzScrollBar.Page = 481 VertScrollBar.Page = 443 Left = 411 @@ -13,7 +14,7 @@ object DebuggerOptionsForm: TDebuggerOptionsForm Top = 185 Width = 480 object nbDebugOptions: TNotebook - Align = ALTOP + Align = alTop PageIndex = 0 Height = 398 Width = 480 @@ -41,7 +42,6 @@ object DebuggerOptionsForm: TDebuggerOptionsForm OnChange = cmbDebuggerTypeCHANGE ParentCtl3D = False TabOrder = 0 - TabStop = True Left = 6 Height = 25 Top = 5 @@ -51,7 +51,6 @@ object DebuggerOptionsForm: TDebuggerOptionsForm MaxLength = 0 ParentCtl3D = False TabOrder = 1 - TabStop = True Left = 6 Height = 25 Top = 37 @@ -59,9 +58,8 @@ object DebuggerOptionsForm: TDebuggerOptionsForm end object cmdOpenDebuggerPath: TButton Caption = '...' - TabStop = True - TabOrder = 2 OnClick = cmdOpenDebuggerPathCLICK + TabOrder = 2 Left = 442 Height = 25 Top = 37 @@ -80,7 +78,6 @@ object DebuggerOptionsForm: TDebuggerOptionsForm Top = 100 Width = 472 object txtAdditionalPath: TEdit - TabStop = True TabOrder = 0 Left = 6 Height = 25 @@ -89,7 +86,7 @@ object DebuggerOptionsForm: TDebuggerOptionsForm end object cmdOpenAdditionalPath: TButton Caption = '...' - TabStop = True + OnClick = cmdOpenAdditionalPathClick TabOrder = 1 Left = 442 Height = 24 @@ -109,11 +106,12 @@ object DebuggerOptionsForm: TDebuggerOptionsForm Top = 156 Width = 472 object pnlDebugSpecific: TPanel - Align = ALCLIENT - BevelOuter = BVNONE + Align = alClient + BevelOuter = bvNone BorderWidth = 4 ClientHeight = 187 ClientWidth = 468 + FullRepaint = False TabOrder = 0 TabStop = True Height = 187 @@ -131,8 +129,8 @@ object DebuggerOptionsForm: TDebuggerOptionsForm Width = 476 object gbGeneral: TGroupBox Caption = 'General' - ClientHeight = 115 - ClientWidth = 226 + ClientHeight = 132 + ClientWidth = 230 ParentColor = True ParentCtl3D = False TabOrder = 0 @@ -144,9 +142,7 @@ object DebuggerOptionsForm: TDebuggerOptionsForm AllowGrayed = True AutoSize = True Caption = 'Clear log on run' - DragCursor = 65524 TabOrder = 0 - TabStop = True Left = 4 Height = 20 Top = 5 @@ -156,16 +152,19 @@ object DebuggerOptionsForm: TDebuggerOptionsForm AllowGrayed = True AutoSize = True Caption = 'Limit linecount to' - DragCursor = 65524 TabOrder = 1 - TabStop = True Left = 4 Height = 20 Top = 29 Width = 119 end object seLimitLinecount: TSpinEdit + Climb_Rate = 7.10933840589535E-34 Enabled = False + MaxValue = 7.10933840589535E-34 + MinValue = 7.10933840589535E-34 + TabOrder = 2 + Value = 7.10933840589535E-34 Climb_Rate = 7.10933840589535E-34 MinValue = 7.10933840589535E-34 MaxValue = 7.10933840589535E-34 @@ -178,8 +177,8 @@ object DebuggerOptionsForm: TDebuggerOptionsForm end object gbMessages: TGroupBox Caption = 'Messages' - ClientHeight = 171 - ClientWidth = 228 + ClientHeight = 188 + ClientWidth = 232 Enabled = False ParentColor = True ParentCtl3D = False @@ -192,9 +191,7 @@ object DebuggerOptionsForm: TDebuggerOptionsForm AllowGrayed = True AutoSize = True Caption = 'Breakpoint' - DragCursor = 65524 TabOrder = 0 - TabStop = True Left = 4 Height = 20 Top = 5 @@ -204,9 +201,7 @@ object DebuggerOptionsForm: TDebuggerOptionsForm AllowGrayed = True AutoSize = True Caption = 'Process' - DragCursor = 65524 TabOrder = 1 - TabStop = True Left = 4 Height = 20 Top = 29 @@ -216,9 +211,7 @@ object DebuggerOptionsForm: TDebuggerOptionsForm AllowGrayed = True AutoSize = True Caption = 'Thread' - DragCursor = 65524 TabOrder = 2 - TabStop = True Left = 4 Height = 20 Top = 53 @@ -228,9 +221,7 @@ object DebuggerOptionsForm: TDebuggerOptionsForm AllowGrayed = True AutoSize = True Caption = 'Module' - DragCursor = 65524 TabOrder = 3 - TabStop = True Left = 4 Height = 20 Top = 77 @@ -240,9 +231,7 @@ object DebuggerOptionsForm: TDebuggerOptionsForm AllowGrayed = True AutoSize = True Caption = 'Output' - DragCursor = 65524 TabOrder = 4 - TabStop = True Left = 4 Height = 20 Top = 101 @@ -252,9 +241,7 @@ object DebuggerOptionsForm: TDebuggerOptionsForm AllowGrayed = True AutoSize = True Caption = 'Window' - DragCursor = 65524 TabOrder = 5 - TabStop = True Left = 4 Height = 20 Top = 125 @@ -264,9 +251,7 @@ object DebuggerOptionsForm: TDebuggerOptionsForm AllowGrayed = True AutoSize = True Caption = 'Interface' - DragCursor = 65524 TabOrder = 6 - TabStop = True Left = 4 Height = 20 Top = 149 @@ -284,8 +269,8 @@ object DebuggerOptionsForm: TDebuggerOptionsForm Width = 476 object bgIgnoreExceptions: TGroupBox Caption = 'Ignore these exceptions' - ClientHeight = 311 - ClientWidth = 464 + ClientHeight = 328 + ClientWidth = 468 ParentColor = True ParentCtl3D = False TabOrder = 0 @@ -294,11 +279,10 @@ object DebuggerOptionsForm: TDebuggerOptionsForm Top = 8 Width = 468 object cmdExceptionRemove: TButton - Enabled = False Caption = 'Remove' - TabStop = True - TabOrder = 0 + Enabled = False OnClick = cmdExceptionRemoveCLICK + TabOrder = 0 Left = 380 Height = 25 Top = 277 @@ -306,9 +290,8 @@ object DebuggerOptionsForm: TDebuggerOptionsForm end object cmdExceptionAdd: TButton Caption = 'Add' - TabStop = True - TabOrder = 1 OnClick = cmdExceptionAddCLICK + TabOrder = 1 Left = 300 Height = 25 Top = 277 @@ -317,7 +300,6 @@ object DebuggerOptionsForm: TDebuggerOptionsForm object clbExceptions: TCheckListBox OnClick = clbExceptionsCLICK TabOrder = 2 - TabStop = True TopIndex = -1 Left = 8 Height = 264 @@ -329,9 +311,7 @@ object DebuggerOptionsForm: TDebuggerOptionsForm AllowGrayed = True AutoSize = True Caption = 'Break on Lazarus Exceptions' - DragCursor = 65524 TabOrder = 1 - TabStop = True Left = 2 Height = 20 Top = 340 @@ -348,8 +328,8 @@ object DebuggerOptionsForm: TDebuggerOptionsForm Width = 476 object gbSignals: TGroupBox Caption = 'Signals' - ClientHeight = 337 - ClientWidth = 464 + ClientHeight = 354 + ClientWidth = 468 ParentColor = True ParentCtl3D = False TabOrder = 0 @@ -358,9 +338,8 @@ object DebuggerOptionsForm: TDebuggerOptionsForm Top = 8 Width = 468 object cmdSignalRemove: TButton - Enabled = False Caption = 'Remove' - TabStop = True + Enabled = False TabOrder = 0 Left = 381 Height = 25 @@ -369,7 +348,6 @@ object DebuggerOptionsForm: TDebuggerOptionsForm end object cmdSignalAdd: TButton Caption = 'Add' - TabStop = True TabOrder = 1 Left = 296 Height = 25 @@ -380,26 +358,21 @@ object DebuggerOptionsForm: TDebuggerOptionsForm Columns = < item Caption = 'Name' - Visible = True Width = 200 end item Caption = 'ID' - Visible = True - Width = 50 end item Caption = 'Handled by' - Visible = True Width = 75 end item Caption = 'Resume' - Visible = True - Width = 75 + Width = 0 end> PopupMenu = popSignal - ViewStyle = VSREPORT + ViewStyle = vsReport Left = 8 Height = 292 Top = 5 @@ -409,10 +382,9 @@ object DebuggerOptionsForm: TDebuggerOptionsForm end end object cmdCancel: TButton - ModalResult = 2 Cancel = True Caption = 'Cancel' - TabStop = True + ModalResult = 2 TabOrder = 1 Left = 400 Height = 25 @@ -420,11 +392,10 @@ object DebuggerOptionsForm: TDebuggerOptionsForm Width = 75 end object cmdOK: TButton - Default = True Caption = 'OK' - TabStop = True - TabOrder = 2 + Default = True OnClick = cmdOKCLICK + TabOrder = 2 Left = 320 Height = 25 Top = 408 diff --git a/ide/debugoptionsfrm.lrs b/ide/debugoptionsfrm.lrs index cdf0be5d65..0dbd225a2b 100644 --- a/ide/debugoptionsfrm.lrs +++ b/ide/debugoptionsfrm.lrs @@ -1,116 +1,111 @@ { This is an automatically generated lazarus resource file } LazarusResources.Add('TDebuggerOptionsForm','FORMDATA',[ - 'TPF0'#20'TDebuggerOptionsForm'#19'DebuggerOptionsForm'#11'BorderStyle'#7#8'B' - +'SDIALOG'#7'Caption'#6#16'Debugger Options'#12'ClientHeight'#3#186#1#11'Clie' + 'TPF0'#20'TDebuggerOptionsForm'#19'DebuggerOptionsForm'#11'BorderStyle'#7#8'b' + +'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 - +#26'DebuggerOptionsFormDESTROY'#8'Position'#7#14'POSCREENCENTER'#18'HorzScro' - +'llBar.Page'#3#225#1#18'VertScrollBar.Page'#3#187#1#4'Left'#3#155#1#6'Height' - +#3#186#1#3'Top'#3#185#0#5'Width'#3#224#1#0#9'TNotebook'#14'nbDebugOptions'#5 - +'Align'#7#5'ALTOP'#9'PageIndex'#2#0#6'Height'#3#142#1#5'Width'#3#224#1#0#5'T' - +'Page'#9'pgGeneral'#7'Caption'#6#7'General'#11'ClientWidth'#3#220#1#12'Clien' - +'tHeight'#3'p'#1#4'Left'#2#2#6'Height'#3'p'#1#3'Top'#2#28#5'Width'#3#220#1#0 - +#9'TGroupBox'#14'gbDebuggerType'#7'Caption'#6#22'Debugger type and path'#12 - +'ClientHeight'#2'E'#11'ClientWidth'#3#212#1#11'ParentColor'#9#11'ParentCtl3D' - +#8#8'TabOrder'#2#0#4'Left'#2#2#6'Height'#2'V'#3'Top'#2#8#5'Width'#3#216#1#0#9 - +'TComboBox'#15'cmbDebuggerType'#9'MaxLength'#2#0#8'OnChange'#7#21'cmbDebugge' - +'rTypeCHANGE'#11'ParentCtl3D'#8#8'TabOrder'#2#0#7'TabStop'#9#4'Left'#2#6#6'H' - +'eight'#2#25#3'Top'#2#5#5'Width'#3#12#1#0#0#9'TComboBox'#15'cmbDebuggerPath' - +#9'MaxLength'#2#0#11'ParentCtl3D'#8#8'TabOrder'#2#1#7'TabStop'#9#4'Left'#2#6 + +#26'DebuggerOptionsFormDESTROY'#13'PixelsPerInch'#2'Z'#8'Position'#7#14'poSc' + +'reenCenter'#18'HorzScrollBar.Page'#3#225#1#18'VertScrollBar.Page'#3#187#1#4 + +'Left'#3#155#1#6'Height'#3#186#1#3'Top'#3#185#0#5'Width'#3#224#1#0#9'TNotebo' + +'ok'#14'nbDebugOptions'#5'Align'#7#5'alTop'#9'PageIndex'#2#0#6'Height'#3#142 + +#1#5'Width'#3#224#1#0#5'TPage'#9'pgGeneral'#7'Caption'#6#7'General'#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'#14'gbDebuggerType'#7'Caption'#6#22'Deb' + +'ugger type and path'#12'ClientHeight'#2'E'#11'ClientWidth'#3#212#1#11'Paren' + +'tColor'#9#11'ParentCtl3D'#8#8'TabOrder'#2#0#4'Left'#2#2#6'Height'#2'V'#3'To' + +'p'#2#8#5'Width'#3#216#1#0#9'TComboBox'#15'cmbDebuggerType'#9'MaxLength'#2#0 + +#8'OnChange'#7#21'cmbDebuggerTypeCHANGE'#11'ParentCtl3D'#8#8'TabOrder'#2#0#4 + +'Left'#2#6#6'Height'#2#25#3'Top'#2#5#5'Width'#3#12#1#0#0#9'TComboBox'#15'cmb' + +'DebuggerPath'#9'MaxLength'#2#0#11'ParentCtl3D'#8#8'TabOrder'#2#1#4'Left'#2#6 +#6'Height'#2#25#3'Top'#2'%'#5'Width'#3#172#1#0#0#7'TButton'#19'cmdOpenDebugg' - +'erPath'#7'Caption'#6#3'...'#7'TabStop'#9#8'TabOrder'#2#2#7'OnClick'#7#24'cm' - +'dOpenDebuggerPathCLICK'#4'Left'#3#186#1#6'Height'#2#25#3'Top'#2'%'#5'Width' - +#2#19#0#0#0#9'TGroupBox'#22'gbAdditionalSearchPath'#7'Caption'#6#22'Addition' - +'al search path'#12'ClientHeight'#2'#'#11'ClientWidth'#3#212#1#11'ParentColo' - +'r'#9#11'ParentCtl3D'#8#8'TabOrder'#2#1#4'Left'#2#2#6'Height'#2'4'#3'Top'#2 - +'d'#5'Width'#3#216#1#0#5'TEdit'#17'txtAdditionalPath'#7'TabStop'#9#8'TabOrde' - +'r'#2#0#4'Left'#2#6#6'Height'#2#25#3'Top'#2#5#5'Width'#3#172#1#0#0#7'TButton' - +#21'cmdOpenAdditionalPath'#7'Caption'#6#3'...'#7'TabStop'#9#8'TabOrder'#2#1#4 - +'Left'#3#186#1#6'Height'#2#24#3'Top'#2#5#5'Width'#2#19#0#0#0#9'TGroupBox'#18 - +'gbDebuggerSpecific'#7'Caption'#6'7Debugger specific options (depends on typ' - +'e of debugger)'#12'ClientHeight'#3#187#0#11'ClientWidth'#3#212#1#11'ParentC' - +'olor'#9#11'ParentCtl3D'#8#8'TabOrder'#2#2#4'Left'#2#2#6'Height'#3#204#0#3'T' - +'op'#3#156#0#5'Width'#3#216#1#0#6'TPanel'#16'pnlDebugSpecific'#5'Align'#7#8 - +'ALCLIENT'#10'BevelOuter'#7#6'BVNONE'#11'BorderWidth'#2#4#12'ClientHeight'#3 - +#187#0#11'ClientWidth'#3#212#1#8'TabOrder'#2#0#7'TabStop'#9#6'Height'#3#187#0 - +#5'Width'#3#212#1#0#0#0#0#5'TPage'#10'pgEventLog'#7'Caption'#6#9'Event Log' - +#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'#9'gbGeneral'#7'Caption'#6#7'Gen' - +'eral'#12'ClientHeight'#2's'#11'ClientWidth'#3#226#0#11'ParentColor'#9#11'Pa' - +'rentCtl3D'#8#8'TabOrder'#2#0#4'Left'#2#4#6'Height'#3#132#0#3'Top'#2#8#5'Wid' - +'th'#3#230#0#0#9'TCheckBox'#16'chkClearLogOnRun'#11'AllowGrayed'#9#8'AutoSiz' - +'e'#9#7'Caption'#6#16'Clear log on run'#10'DragCursor'#4#244#255#0#0#8'TabOr' - +'der'#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'Ca' - +'ption'#6#18'Limit linecount to'#10'DragCursor'#4#244#255#0#0#8'TabOrder'#2#1 - +#7'TabStop'#9#4'Left'#2#4#6'Height'#2#20#3'Top'#2#29#5'Width'#2'w'#0#0#9'TSp' - +'inEdit'#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'Hei' - +'ght'#2#20#3'Top'#2'5'#5'Width'#2'>'#0#0#0#9'TGroupBox'#10'gbMessages'#7'Cap' - +'tion'#6#8'Messages'#12'ClientHeight'#3#171#0#11'ClientWidth'#3#228#0#7'Enab' - +'led'#8#11'ParentColor'#9#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'chkMessagesBr' - +'eakpoint'#11'AllowGrayed'#9#8'AutoSize'#9#7'Caption'#6#10'Breakpoint'#10'Dr' - +'agCursor'#4#244#255#0#0#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'A' - +'llowGrayed'#9#8'AutoSize'#9#7'Caption'#6#7'Process'#10'DragCursor'#4#244#255 - +#0#0#8'TabOrder'#2#1#7'TabStop'#9#4'Left'#2#4#6'Height'#2#20#3'Top'#2#29#5'W' - +'idth'#3#147#0#0#0#9'TCheckBox'#17'chkMessagesThread'#11'AllowGrayed'#9#8'Au' - +'toSize'#9#7'Caption'#6#6'Thread'#10'DragCursor'#4#244#255#0#0#8'TabOrder'#2 - +#2#7'TabStop'#9#4'Left'#2#4#6'Height'#2#20#3'Top'#2'5'#5'Width'#3#141#0#0#0#9 - +'TCheckBox'#17'chkMessagesModule'#11'AllowGrayed'#9#8'AutoSize'#9#7'Caption' - +#6#6'Module'#10'DragCursor'#4#244#255#0#0#8'TabOrder'#2#3#7'TabStop'#9#4'Lef' - +'t'#2#4#6'Height'#2#20#3'Top'#2'M'#5'Width'#3#144#0#0#0#9'TCheckBox'#17'chkM' - +'essagesOutput'#11'AllowGrayed'#9#8'AutoSize'#9#7'Caption'#6#6'Output'#10'Dr' - +'agCursor'#4#244#255#0#0#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'A' - ,'llowGrayed'#9#8'AutoSize'#9#7'Caption'#6#6'Window'#10'DragCursor'#4#244#255 - +#0#0#8'TabOrder'#2#5#7'TabStop'#9#4'Left'#2#4#6'Height'#2#20#3'Top'#2'}'#5'W' - +'idth'#3#146#0#0#0#9'TCheckBox'#20'chkMessagesInterface'#11'AllowGrayed'#9#8 - +'AutoSize'#9#7'Caption'#6#9'Interface'#10'DragCursor'#4#244#255#0#0#8'TabOrd' - +'er'#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 - +#3'Top'#2#28#5'Width'#3#220#1#0#9'TGroupBox'#18'bgIgnoreExceptions'#7'Captio' - +'n'#6#23'Ignore these exceptions'#12'ClientHeight'#3'7'#1#11'ClientWidth'#3 - +#208#1#11'ParentColor'#9#11'ParentCtl3D'#8#8'TabOrder'#2#0#4'Left'#2#4#6'Hei' - +'ght'#3'H'#1#3'Top'#2#8#5'Width'#3#212#1#0#7'TButton'#18'cmdExceptionRemove' - +#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'TabSto' - +'p'#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'clbExcept' - +'ions'#7'OnClick'#7#18'clbExceptionsCLICK'#8'TabOrder'#2#2#7'TabStop'#9#8'To' - +'pIndex'#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'Capt' - +'ion'#6#27'Break on Lazarus Exceptions'#10'DragCursor'#4#244#255#0#0#8'TabOr' - +'der'#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'ClientW' - +'idth'#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 + +'erPath'#7'Caption'#6#3'...'#7'OnClick'#7#24'cmdOpenDebuggerPathCLICK'#8'Tab' + +'Order'#2#2#4'Left'#3#186#1#6'Height'#2#25#3'Top'#2'%'#5'Width'#2#19#0#0#0#9 + +'TGroupBox'#22'gbAdditionalSearchPath'#7'Caption'#6#22'Additional search pat' + +'h'#12'ClientHeight'#2'#'#11'ClientWidth'#3#212#1#11'ParentColor'#9#11'Paren' + +'tCtl3D'#8#8'TabOrder'#2#1#4'Left'#2#2#6'Height'#2'4'#3'Top'#2'd'#5'Width'#3 + +#216#1#0#5'TEdit'#17'txtAdditionalPath'#8'TabOrder'#2#0#4'Left'#2#6#6'Height' + +#2#25#3'Top'#2#5#5'Width'#3#172#1#0#0#7'TButton'#21'cmdOpenAdditionalPath'#7 + +'Caption'#6#3'...'#7'OnClick'#7#26'cmdOpenAdditionalPathClick'#8'TabOrder'#2 + +#1#4'Left'#3#186#1#6'Height'#2#24#3'Top'#2#5#5'Width'#2#19#0#0#0#9'TGroupBox' + +#18'gbDebuggerSpecific'#7'Caption'#6'7Debugger specific options (depends on ' + +'type of debugger)'#12'ClientHeight'#3#187#0#11'ClientWidth'#3#212#1#11'Pare' + +'ntColor'#9#11'ParentCtl3D'#8#8'TabOrder'#2#2#4'Left'#2#2#6'Height'#3#204#0#3 + +'Top'#3#156#0#5'Width'#3#216#1#0#6'TPanel'#16'pnlDebugSpecific'#5'Align'#7#8 + +'alClient'#10'BevelOuter'#7#6'bvNone'#11'BorderWidth'#2#4#12'ClientHeight'#3 + +#187#0#11'ClientWidth'#3#212#1#11'FullRepaint'#8#8'TabOrder'#2#0#7'TabStop'#9 + +#6'Height'#3#187#0#5'Width'#3#212#1#0#0#0#0#5'TPage'#10'pgEventLog'#7'Captio' + +'n'#6#9'Event Log'#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'#9'gbGeneral' + +#7'Caption'#6#7'General'#12'ClientHeight'#3#132#0#11'ClientWidth'#3#230#0#11 + +'ParentColor'#9#11'ParentCtl3D'#8#8'TabOrder'#2#0#4'Left'#2#4#6'Height'#3#132 + +#0#3'Top'#2#8#5'Width'#3#230#0#0#9'TCheckBox'#16'chkClearLogOnRun'#11'AllowG' + +'rayed'#9#8'AutoSize'#9#7'Caption'#6#16'Clear log on run'#8'TabOrder'#2#0#4 + +'Left'#2#4#6'Height'#2#20#3'Top'#2#5#5'Width'#3#135#0#0#0#9'TCheckBox'#17'ch' + +'kLimitLinecount'#11'AllowGrayed'#9#8'AutoSize'#9#7'Caption'#6#18'Limit line' + +'count to'#8'TabOrder'#2#1#4'Left'#2#4#6'Height'#2#20#3'Top'#2#29#5'Width'#2 + +'w'#0#0#9'TSpinEdit'#16'seLimitLinecount'#10'Climb_Rate'#5#0#0#0#0#0#144'?' + +#236#144'?'#7'Enabled'#8#8'MaxValue'#5#0#0#0#0#0#144'?'#236#144'?'#8'MinValu' + +'e'#5#0#0#0#0#0#144'?'#236#144'?'#8'TabOrder'#2#2#5'Value'#5#0#0#0#0#0#144'?' + +#236#144'?'#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'gbMessages'#7'Caption'#6#8'Messages'#12'ClientHeig' + +'ht'#3#188#0#11'ClientWidth'#3#232#0#7'Enabled'#8#11'ParentColor'#9#11'Paren' + +'tCtl3D'#8#8'TabOrder'#2#1#4'Left'#3#242#0#6'Height'#3#188#0#3'Top'#2#8#5'Wi' + +'dth'#3#232#0#0#9'TCheckBox'#21'chkMessagesBreakpoint'#11'AllowGrayed'#9#8'A' + +'utoSize'#9#7'Caption'#6#10'Breakpoint'#8'TabOrder'#2#0#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'#8'TabOrder'#2#1#4'Left' + +#2#4#6'Height'#2#20#3'Top'#2#29#5'Width'#3#147#0#0#0#9'TCheckBox'#17'chkMess' + +'agesThread'#11'AllowGrayed'#9#8'AutoSize'#9#7'Caption'#6#6'Thread'#8'TabOrd' + +'er'#2#2#4'Left'#2#4#6'Height'#2#20#3'Top'#2'5'#5'Width'#3#141#0#0#0#9'TChec' + +'kBox'#17'chkMessagesModule'#11'AllowGrayed'#9#8'AutoSize'#9#7'Caption'#6#6 + +'Module'#8'TabOrder'#2#3#4'Left'#2#4#6'Height'#2#20#3'Top'#2'M'#5'Width'#3 + +#144#0#0#0#9'TCheckBox'#17'chkMessagesOutput'#11'AllowGrayed'#9#8'AutoSize'#9 + +#7'Caption'#6#6'Output'#8'TabOrder'#2#4#4'Left'#2#4#6'Height'#2#20#3'Top'#2 + +'e'#5'Width'#3#139#0#0#0#9'TCheckBox'#17'chkMessagesWindow'#11'AllowGrayed'#9 + +#8'AutoSize'#9#7'Caption'#6#6'Window'#8'TabOrder'#2#5#4'Left'#2#4#6'Height'#2 + ,#20#3'Top'#2'}'#5'Width'#3#146#0#0#0#9'TCheckBox'#20'chkMessagesInterface'#11 + +'AllowGrayed'#9#8'AutoSize'#9#7'Caption'#6#9'Interface'#8'TabOrder'#2#6#4'Le' + +'ft'#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#3'Top'#2#28#5'Width'#3 + +#220#1#0#9'TGroupBox'#18'bgIgnoreExceptions'#7'Caption'#6#23'Ignore these ex' + +'ceptions'#12'ClientHeight'#3'H'#1#11'ClientWidth'#3#212#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'cmdExceptionRemove'#7'Caption'#6#6'Remove'#7 + +'Enabled'#8#7'OnClick'#7#23'cmdExceptionRemoveCLICK'#8'TabOrder'#2#0#4'Left' + +#3'|'#1#6'Height'#2#25#3'Top'#3#21#1#5'Width'#2'K'#0#0#7'TButton'#15'cmdExce' + +'ptionAdd'#7'Caption'#6#3'Add'#7'OnClick'#7#20'cmdExceptionAddCLICK'#8'TabOr' + +'der'#2#1#4'Left'#3','#1#6'Height'#2#25#3'Top'#3#21#1#5'Width'#2'K'#0#0#13'T' + +'CheckListBox'#13'clbExceptions'#7'OnClick'#7#18'clbExceptionsCLICK'#8'TabOr' + +'der'#2#2#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'AutoSi' + +'ze'#9#7'Caption'#6#27'Break on Lazarus Exceptions'#8'TabOrder'#2#1#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'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'#9 + +'gbSignals'#7'Caption'#6#7'Signals'#12'ClientHeight'#3'b'#1#11'ClientWidth'#3 + +#212#1#11'ParentColor'#9#11'ParentCtl3D'#8#8'TabOrder'#2#0#4'Left'#2#4#6'Hei' + +'ght'#3'b'#1#3'Top'#2#8#5'Width'#3#212#1#0#7'TButton'#15'cmdSignalRemove'#7 + +'Caption'#6#6'Remove'#7'Enabled'#8#8'TabOrder'#2#0#4'Left'#3'}'#1#6'Height'#2 + +#25#3'Top'#3'1'#1#5'Width'#2'K'#0#0#7'TButton'#12'cmdSignalAdd'#7'Caption'#6 + +#3'Add'#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'#5'W' + +'idth'#3#200#0#0#1#7'Caption'#6#2'ID'#0#1#7'Caption'#6#10'Handled by'#5'Widt' + +'h'#2'K'#0#1#7'Caption'#6#6'Resume'#5'Width'#2#0#0#0#9'PopupMenu'#7#9'popSig' + +'nal'#9'ViewStyle'#7#8'vsReport'#4'Left'#2#8#6'Height'#3'$'#1#3'Top'#2#5#5'W' + +'idth'#3#192#1#0#0#0#0#0#7'TButton'#9'cmdCancel'#6'Cancel'#9#7'Caption'#6#6 + +'Cancel'#11'ModalResult'#2#2#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'Caption'#6#2'OK'#7'Def' + +'ault'#9#7'OnClick'#7#10'cmdOKCLICK'#8'TabOrder'#2#2#4'Left'#3'@'#1#6'Height' + +#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'AutoCheck'#9#7'C' + +'aption'#6#18'Handled by Program'#10'GroupIndex'#2#1#9'RadioItem'#9#0#0#9'TM' + +'enuItem'#21'mnuiHandledByDebugger'#9'AutoCheck'#9#7'Caption'#6#19'Handled b' + +'y Debugger'#10'GroupIndex'#2#1#9'RadioItem'#9#0#0#9'TMenuItem'#2'N1'#7'Capt' + +'ion'#6#1'-'#0#0#9'TMenuItem'#16'mnuResumeHandled'#9'AutoCheck'#9#7'Caption' + +#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'Gro' + +'upIndex'#2#2#9'RadioItem'#9#0#0#0#0 ]); diff --git a/ide/debugoptionsfrm.pas b/ide/debugoptionsfrm.pas index 73400417b2..6fe81ada94 100644 --- a/ide/debugoptionsfrm.pas +++ b/ide/debugoptionsfrm.pas @@ -32,9 +32,10 @@ interface uses Classes, SysUtils, TypInfo, LResources, Forms, Controls, Graphics, Dialogs, - ExtCtrls, StdCtrls, Buttons, ComCtrls, Menus, Spin, CheckLst, - PropEdits, ObjectInspector, LazarusIDEStrConsts, FileProcs, InputHistory, - EnvironmentOpts, BaseDebugManager, Debugger, DBGUtils; + ExtCtrls, StdCtrls, Buttons, ComCtrls, Menus, Spin, CheckLst, FileUtil, + PropEdits, ObjectInspector, + LazarusIDEStrConsts, InputHistory, IDEProcs, + PathEditorDlg, EnvironmentOpts, BaseDebugManager, Debugger, DBGUtils; type TDebuggerOptionsForm = class (TForm ) @@ -89,6 +90,7 @@ type procedure cmdExceptionAddCLICK (Sender: TObject ); procedure cmdExceptionRemoveCLICK (Sender: TObject ); procedure cmdOKCLICK (Sender: TObject ); + procedure cmdOpenAdditionalPathClick(Sender: TObject); procedure cmdOpenDebuggerPathCLICK(Sender: TObject); private FPropertyEditorHook: TPropertyEditorHook; @@ -184,6 +186,7 @@ begin FOldDebuggerPathAndParams:=EnvironmentOptions.DebuggerFilename; SetComboBoxText(cmbDebuggerPath,FOldDebuggerPathAndParams,20); + txtAdditionalPath.Text:=EnvironmentOptions.DebuggerSearchPath; end; procedure TDebuggerOptionsForm.FetchDebuggerSpecificOptions; @@ -267,7 +270,7 @@ begin cmdExceptionRemove.Enabled := clbExceptions.ItemIndex <> -1; end; -procedure TDebuggerOptionsForm.cmdOKCLICK (Sender: TObject ); +procedure TDebuggerOptionsForm.cmdOKCLICK(Sender: TObject ); var n: Integer; ie: TIDEException; @@ -284,7 +287,7 @@ begin ie.Enabled := clbExceptions.Checked[n]; end else begin - ie.BeginUpdate; //ie^ + ie.BeginUpdate; try ie.Name := clbExceptions.Items[n]; ie.Enabled := clbExceptions.Checked[n]; @@ -296,6 +299,8 @@ begin EnvironmentOptions.DebuggerFilename:=cmbDebuggerPath.Text; EnvironmentOptions.DebuggerFileHistory.Assign(cmbDebuggerPath.Items); + EnvironmentOptions.DebuggerSearchPath:= + TrimSearchPath(txtAdditionalPath.Text,''); if FCurDebuggerClass = nil then EnvironmentOptions.DebuggerClass := '' else EnvironmentOptions.DebuggerClass := FCurDebuggerClass.ClassName; @@ -303,6 +308,19 @@ begin ModalResult:=mrOk; end; +procedure TDebuggerOptionsForm.cmdOpenAdditionalPathClick(Sender: TObject); +begin + PathEditorDialog.Path:=txtAdditionalPath.Text; + PathEditorDialog.Templates:=SetDirSeparators( + '$(LazarusDir)/include/$(TargetOS)' + +';$(FPCSrcDir)/rtl/inc/' + +';$(FPCSrcDir)/rtl/$(SrcOS)' + +';$(FPCSrcDir)/rtl/$(TargetOS)' + ); + if PathEditorDialog.ShowModal=mrOk then + txtAdditionalPath.Text:=PathEditorDialog.Path; +end; + procedure TDebuggerOptionsForm.cmdOpenDebuggerPathCLICK(Sender: TObject); var OpenDialog: TOpenDialog; @@ -354,7 +372,7 @@ begin , tkSString, tkLString, tkAString, tkWString, tkVariant {, tkArray, tkRecord, tkInterface}, tkClass, tkObject, tkWChar, tkBool , tkInt64, tkQWord], - 25); + 0); with PropertyGrid do begin Name:='PropertyGrid'; // Use panel for border diff --git a/ide/environmentopts.pp b/ide/environmentopts.pp index e8d443c1d6..e5665404ab 100644 --- a/ide/environmentopts.pp +++ b/ide/environmentopts.pp @@ -112,6 +112,7 @@ type { class for storing environment options } TEnvironmentOptions = class private + FDebuggerSearchPath: string; FFilename: string; FFileAge: longint; FFileHasChangedOnDisk: boolean; @@ -205,6 +206,7 @@ type fLanguageID: string; procedure SetCompilerFilename(const AValue: string); + procedure SetDebuggerSearchPath(const AValue: string); procedure SetMakeFilename(const AValue: string); procedure SetDebuggerFilename(const AValue: string); procedure SetFPCSourceDirectory(const AValue: string); @@ -313,6 +315,8 @@ type write SetDebuggerFilename; property DebuggerFileHistory: TStringList read FDebuggerFileHistory write FDebuggerFileHistory; + property DebuggerSearchPath: string read FDebuggerSearchPath + write SetDebuggerSearchPath; property TestBuildDirectory: string read FTestBuildDirectory write SetTestBuildDirectory; property TestBuildDirHistory: TStringList read FTestBuildDirHistory @@ -792,6 +796,7 @@ begin FMakeFileHistory:=TStringList.Create; DebuggerFilename:=''; FDebuggerFileHistory:=TStringList.Create; + FDebuggerSearchPath:=''; TestBuildDirectory:=GetDefaultTestBuildDirectory; FTestBuildDirHistory:=TStringList.Create; @@ -1054,9 +1059,11 @@ begin end; DebuggerClass:=CurDebuggerClass; DebuggerFilename:=XMLConfig.GetValue( - Path+'DebuggerFilename/Value',FDebuggerFilename); + Path+'DebuggerFilename/Value',''); LoadRecentList(XMLConfig,FDebuggerFileHistory, Path+'DebuggerFilename/History/'); + DebuggerSearchPath:=XMLConfig.GetValue( + Path+'DebuggerSearchPath/Value',''); end; // hints @@ -1252,6 +1259,8 @@ begin FDebuggerFilename,''); SaveRecentList(XMLConfig,FDebuggerFileHistory, Path+'DebuggerFilename/History/'); + XMLConfig.SetDeleteValue(Path+'DebuggerSearchPath/Value', + FDebuggerSearchPath,''); end; // hints @@ -1432,6 +1441,12 @@ begin FCompilerFilename:=TrimFilename(AValue); end; +procedure TEnvironmentOptions.SetDebuggerSearchPath(const AValue: string); +begin + if FDebuggerSearchPath=AValue then exit; + FDebuggerSearchPath:=TrimSearchPath(AValue,''); +end; + procedure TEnvironmentOptions.SetMakeFilename(const AValue: string); begin if FMakeFilename=AValue then exit; @@ -1445,6 +1460,7 @@ begin if FDebuggerFilename=AValue then exit; FDebuggerFilename:=AValue; // trim the filename and keep the options after the space (if any) + // TODO: split/find filename with spaces SpacePos:=1; while (SpacePos<=length(FDebuggerFilename)) and (FDebuggerFilename[SpacePos]<>' ') do diff --git a/ide/main.pp b/ide/main.pp index bacc8acaed..0fec1a6394 100644 --- a/ide/main.pp +++ b/ide/main.pp @@ -8329,8 +8329,9 @@ begin // search file in debug path if fsfUseDebugPath in Flags then begin - SearchPath:=TrimSearchPath(Project1.CompilerOptions.DebugPath, - Project1.ProjectDirectory); + SearchPath:=MergeSearchPaths(Project1.CompilerOptions.DebugPath, + EnvironmentOptions.DebuggerSearchPath); + SearchPath:=TrimSearchPath(SearchPath,Project1.ProjectDirectory); if SearchInPath(SearchPath,AFilename,Result) then exit; end; @@ -10970,6 +10971,9 @@ end. { ============================================================================= $Log$ + Revision 1.807 2004/12/11 01:17:22 mattias + implemented global debugger search path + Revision 1.806 2004/12/10 11:07:52 mattias added FindInFiles and ToggleMessages shortcuts