ide: try full file name first in the call stack window when user jumps to the source location

git-svn-id: trunk@23081 -
This commit is contained in:
paul 2009-12-11 03:06:40 +00:00
parent fc439939dd
commit 8469b98fc7
3 changed files with 66 additions and 58 deletions

View File

@ -35,6 +35,7 @@ inherited CallStackDlg: TCallStackDlg
Caption = 'Function' Caption = 'Function'
Width = 280 Width = 280
end> end>
ItemIndex = -1
PopupMenu = mnuPopup PopupMenu = mnuPopup
ReadOnly = True ReadOnly = True
RowSelect = True RowSelect = True
@ -135,7 +136,7 @@ inherited CallStackDlg: TCallStackDlg
TabOrder = 0 TabOrder = 0
object txtGoto: TEdit object txtGoto: TEdit
Left = 2 Left = 2
Height = 23 Height = 21
Top = 8 Top = 8
Width = 46 Width = 46
OnKeyPress = txtGotoKeyPress OnKeyPress = txtGotoKeyPress

View File

@ -1,4 +1,4 @@
{ Este é um arquivo de recurso do Lazarus gerado automaticamente } { This is an automatically generated lazarus resource file }
LazarusResources.Add('TCallStackDlg','FORMDATA',[ LazarusResources.Add('TCallStackDlg','FORMDATA',[
'TPF0'#241#13'TCallStackDlg'#12'CallStackDlg'#4'Left'#3#210#1#6'Height'#3#246 'TPF0'#241#13'TCallStackDlg'#12'CallStackDlg'#4'Left'#3#210#1#6'Height'#3#246
@ -8,57 +8,57 @@ LazarusResources.Add('TCallStackDlg','FORMDATA',[
+'Left'#2#0#6'Height'#3#204#0#3'Top'#2'*'#5'Width'#3'2'#2#5'Align'#7#8'alClie' +'Left'#2#0#6'Height'#3#204#0#3'Top'#2'*'#5'Width'#3'2'#2#5'Align'#7#8'alClie'
+'nt'#7'Columns'#14#1#5'Width'#2#20#0#1#8'AutoSize'#9#7'Caption'#6#5'Index'#5 +'nt'#7'Columns'#14#1#5'Width'#2#20#0#1#8'AutoSize'#9#7'Caption'#6#5'Index'#5
+'Width'#2'9'#0#1#7'Caption'#6#6'Source'#5'Width'#3#150#0#0#1#7'Caption'#6#4 +'Width'#2'9'#0#1#7'Caption'#6#6'Source'#5'Width'#3#150#0#0#1#7'Caption'#6#4
+'Line'#0#1#7'Caption'#6#8'Function'#5'Width'#3#24#1#0#0#9'PopupMenu'#7#8'mnu' +'Line'#0#1#7'Caption'#6#8'Function'#5'Width'#3#24#1#0#0#9'ItemIndex'#2#255#9
+'Popup'#8'ReadOnly'#9#9'RowSelect'#9#8'TabOrder'#2#0#9'ViewStyle'#7#8'vsRepo' +'PopupMenu'#7#8'mnuPopup'#8'ReadOnly'#9#9'RowSelect'#9#8'TabOrder'#2#0#9'Vie'
+'rt'#7'OnClick'#7#16'lvCallStackClick'#10'OnDblClick'#7#19'lvCallStackDBLCLI' +'wStyle'#7#8'vsReport'#7'OnClick'#7#16'lvCallStackClick'#10'OnDblClick'#7#19
+'CK'#0#0#242#2#1#8'TToolBar'#8'ToolBar1'#4'Left'#2#0#6'Height'#2'*'#3'Top'#2 +'lvCallStackDBLCLICK'#0#0#242#2#1#8'TToolBar'#8'ToolBar1'#4'Left'#2#0#6'Heig'
+#0#5'Width'#3'2'#2#12'ButtonHeight'#2'('#11'ButtonWidth'#2'2'#7'Caption'#6#9 +'ht'#2'*'#3'Top'#2#0#5'Width'#3'2'#2#12'ButtonHeight'#2'('#11'ButtonWidth'#2
+'tbButtons'#11'EdgeBorders'#11#0#12'ShowCaptions'#9#8'TabOrder'#2#1#0#11'TTo' +'2'#7'Caption'#6#9'tbButtons'#11'EdgeBorders'#11#0#12'ShowCaptions'#9#8'TabO'
+'olButton'#14'ToolButtonShow'#4'Left'#2#1#3'Top'#2#0#6'Action'#7#7'actShow' +'rder'#2#1#0#11'TToolButton'#14'ToolButtonShow'#4'Left'#2#1#3'Top'#2#0#6'Act'
+#10'ImageIndex'#2#0#0#0#11'TToolButton'#17'ToolButtonCurrent'#4'Left'#2'3'#3 +'ion'#7#7'actShow'#10'ImageIndex'#2#0#0#0#11'TToolButton'#17'ToolButtonCurre'
+'Top'#2#0#6'Action'#7#13'actSetCurrent'#0#0#11'TToolButton'#11'ToolButton4'#4 +'nt'#4'Left'#2'3'#3'Top'#2#0#6'Action'#7#13'actSetCurrent'#0#0#11'TToolButto'
+'Left'#2'e'#3'Top'#2#0#5'Width'#2#3#7'Caption'#6#11'ToolButton4'#5'Style'#7 +'n'#11'ToolButton4'#4'Left'#2'e'#3'Top'#2#0#5'Width'#2#3#7'Caption'#6#11'Too'
+#12'tbsSeparator'#0#0#11'TToolButton'#14'ToolButtonMore'#4'Left'#3#159#0#3'T' +'lButton4'#5'Style'#7#12'tbsSeparator'#0#0#11'TToolButton'#14'ToolButtonMore'
+'op'#2#0#6'Action'#7#11'actViewMore'#10'ImageIndex'#2#1#0#0#11'TToolButton' +#4'Left'#3#159#0#3'Top'#2#0#6'Action'#7#11'actViewMore'#10'ImageIndex'#2#1#0
+#13'ToolButtonMax'#4'Left'#2'h'#3'Top'#2#0#6'Action'#7#12'actViewLimit'#7'Ca' +#0#11'TToolButton'#13'ToolButtonMax'#4'Left'#2'h'#3'Top'#2#0#6'Action'#7#12
+'ption'#6#6'Max 10'#12'DropdownMenu'#7#8'mnuLimit'#5'Style'#7#11'tbsDropDown' +'actViewLimit'#7'Caption'#6#6'Max 10'#12'DropdownMenu'#7#8'mnuLimit'#5'Style'
+#0#0#11'TToolButton'#14'ToolButtonGoto'#4'Left'#3'j'#1#3'Top'#2#0#6'Action'#7 +#7#11'tbsDropDown'#0#0#11'TToolButton'#14'ToolButtonGoto'#4'Left'#3'j'#1#3'T'
+#11'actViewGoto'#10'ImageIndex'#2#4#0#0#11'TToolButton'#17'ToolButtonCopyAll' +'op'#2#0#6'Action'#7#11'actViewGoto'#10'ImageIndex'#2#4#0#0#11'TToolButton'
+#4'Left'#3#159#1#3'Top'#2#0#6'Action'#7#10'actCopyAll'#10'ImageIndex'#2#5#0#0 +#17'ToolButtonCopyAll'#4'Left'#3#159#1#3'Top'#2#0#6'Action'#7#10'actCopyAll'
+#11'TToolButton'#11'ToolButton8'#4'Left'#3#156#1#3'Top'#2#0#5'Width'#2#3#7'C' +#10'ImageIndex'#2#5#0#0#11'TToolButton'#11'ToolButton8'#4'Left'#3#156#1#3'To'
+'aption'#6#11'ToolButton8'#5'Style'#7#12'tbsSeparator'#0#0#11'TToolButton'#11 +'p'#2#0#5'Width'#2#3#7'Caption'#6#11'ToolButton8'#5'Style'#7#12'tbsSeparator'
+'ToolButton9'#4'Left'#3#209#0#3'Top'#2#0#5'Width'#2#3#7'Caption'#6#11'ToolBu' +#0#0#11'TToolButton'#11'ToolButton9'#4'Left'#3#209#0#3'Top'#2#0#5'Width'#2#3
+'tton9'#5'Style'#7#12'tbsSeparator'#0#0#11'TToolButton'#13'ToolButtonTop'#4 +#7'Caption'#6#11'ToolButton9'#5'Style'#7#12'tbsSeparator'#0#0#11'TToolButton'
+'Left'#3#212#0#3'Top'#2#0#6'Action'#7#10'actViewTop'#10'ImageIndex'#2#2#0#0 +#13'ToolButtonTop'#4'Left'#3#212#0#3'Top'#2#0#6'Action'#7#10'actViewTop'#10
+#11'TToolButton'#16'ToolButtonBottom'#4'Left'#3#6#1#3'Top'#2#0#6'Action'#7#13 +'ImageIndex'#2#2#0#0#11'TToolButton'#16'ToolButtonBottom'#4'Left'#3#6#1#3'To'
+'actViewBottom'#10'ImageIndex'#2#3#0#0#6'TPanel'#6'Panel1'#4'Left'#3'8'#1#6 +'p'#2#0#6'Action'#7#13'actViewBottom'#10'ImageIndex'#2#3#0#0#6'TPanel'#6'Pan'
+'Height'#2'('#3'Top'#2#0#5'Width'#2'2'#10'BevelOuter'#7#6'bvNone'#12'ClientH' +'el1'#4'Left'#3'8'#1#6'Height'#2'('#3'Top'#2#0#5'Width'#2'2'#10'BevelOuter'#7
+'eight'#2'('#11'ClientWidth'#2'2'#8'TabOrder'#2#0#0#5'TEdit'#7'txtGoto'#4'Le' +#6'bvNone'#12'ClientHeight'#2'('#11'ClientWidth'#2'2'#8'TabOrder'#2#0#0#5'TE'
+'ft'#2#2#6'Height'#2#23#3'Top'#2#8#5'Width'#2'.'#10'OnKeyPress'#7#15'txtGoto' +'dit'#7'txtGoto'#4'Left'#2#2#6'Height'#2#21#3'Top'#2#8#5'Width'#2'.'#10'OnKe'
+'KeyPress'#8'TabOrder'#2#0#4'Text'#6#1'0'#0#0#0#0#242#2#2#10'TPopupMenu'#8'm' +'yPress'#7#15'txtGotoKeyPress'#8'TabOrder'#2#0#4'Text'#6#1'0'#0#0#0#0#242#2#2
+'nuPopup'#4'left'#3#224#0#3'top'#2'P'#0#9'TMenuItem'#7'popShow'#6'Action'#7#7 +#10'TPopupMenu'#8'mnuPopup'#4'left'#3#224#0#3'top'#2'P'#0#9'TMenuItem'#7'pop'
+'actShow'#7'Default'#9#7'OnClick'#7#12'actShowClick'#0#0#9'TMenuItem'#9'popT' +'Show'#6'Action'#7#7'actShow'#7'Default'#9#7'OnClick'#7#12'actShowClick'#0#0
+'oggle'#6'Action'#7#19'actToggleBreakPoint'#7'OnClick'#7#26'actToggleBreakPo' +#9'TMenuItem'#9'popToggle'#6'Action'#7#19'actToggleBreakPoint'#7'OnClick'#7
+'intExecute'#0#0#9'TMenuItem'#2'N1'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#15'po' +#26'actToggleBreakPointExecute'#0#0#9'TMenuItem'#2'N1'#7'Caption'#6#1'-'#0#0
+'pSetAsCurrent'#6'Action'#7#13'actSetCurrent'#7'OnClick'#7#20'actSetAsCurren' +#9'TMenuItem'#15'popSetAsCurrent'#6'Action'#7#13'actSetCurrent'#7'OnClick'#7
+'tClick'#0#0#9'TMenuItem'#10'popCopyAll'#6'Action'#7#10'actCopyAll'#7'OnClic' +#20'actSetAsCurrentClick'#0#0#9'TMenuItem'#10'popCopyAll'#6'Action'#7#10'act'
+'k'#7#15'actCopyAllClick'#0#0#0#242#2#3#11'TActionList'#10'aclActions'#4'lef' +'CopyAll'#7'OnClick'#7#15'actCopyAllClick'#0#0#0#242#2#3#11'TActionList'#10
+'t'#2'0'#3'top'#2'P'#0#7'TAction'#7'actShow'#7'Caption'#6#4'Show'#9'OnExecut' +'aclActions'#4'left'#2'0'#3'top'#2'P'#0#7'TAction'#7'actShow'#7'Caption'#6#4
+'e'#7#12'actShowClick'#0#0#7'TAction'#13'actSetCurrent'#7'Caption'#6#7'Curre' +'Show'#9'OnExecute'#7#12'actShowClick'#0#0#7'TAction'#13'actSetCurrent'#7'Ca'
+'nt'#9'OnExecute'#7#20'actSetAsCurrentClick'#0#0#7'TAction'#10'actCopyAll'#7 +'ption'#6#7'Current'#9'OnExecute'#7#20'actSetAsCurrentClick'#0#0#7'TAction'
+'Caption'#6#8'Copy All'#9'OnExecute'#7#15'actCopyAllClick'#0#0#7'TAction'#11 +#10'actCopyAll'#7'Caption'#6#8'Copy All'#9'OnExecute'#7#15'actCopyAllClick'#0
+'actViewMore'#8'Category'#6#4'View'#7'Caption'#6#4'More'#9'OnExecute'#7#18'a' +#0#7'TAction'#11'actViewMore'#8'Category'#6#4'View'#7'Caption'#6#4'More'#9'O'
+'ctViewMoreExecute'#0#0#7'TAction'#11'actViewGoto'#8'Category'#6#4'View'#7'C' +'nExecute'#7#18'actViewMoreExecute'#0#0#7'TAction'#11'actViewGoto'#8'Categor'
+'aption'#6#4'Goto'#9'OnExecute'#7#18'actViewGotoExecute'#0#0#7'TAction'#12'a' +'y'#6#4'View'#7'Caption'#6#4'Goto'#9'OnExecute'#7#18'actViewGotoExecute'#0#0
+'ctViewLimit'#8'Category'#6#4'View'#7'Caption'#6#2'10'#9'OnExecute'#7#19'act' +#7'TAction'#12'actViewLimit'#8'Category'#6#4'View'#7'Caption'#6#2'10'#9'OnEx'
+'ViewLimitExecute'#0#0#7'TAction'#10'actViewTop'#8'Category'#6#4'View'#7'Cap' +'ecute'#7#19'actViewLimitExecute'#0#0#7'TAction'#10'actViewTop'#8'Category'#6
+'tion'#6#3'Top'#9'OnExecute'#7#17'actViewTopExecute'#0#0#7'TAction'#13'actVi' +#4'View'#7'Caption'#6#3'Top'#9'OnExecute'#7#17'actViewTopExecute'#0#0#7'TAct'
+'ewBottom'#8'Category'#6#4'View'#7'Caption'#6#6'Bottom'#9'OnExecute'#7#20'ac' +'ion'#13'actViewBottom'#8'Category'#6#4'View'#7'Caption'#6#6'Bottom'#9'OnExe'
+'tViewBottomExecute'#0#0#7'TAction'#19'actToggleBreakPoint'#7'Caption'#6#17 +'cute'#7#20'actViewBottomExecute'#0#0#7'TAction'#19'actToggleBreakPoint'#7'C'
+'Toggle Breakpoint'#9'OnExecute'#7#26'actToggleBreakPointExecute'#0#0#0#242#2 +'aption'#6#17'Toggle Breakpoint'#9'OnExecute'#7#26'actToggleBreakPointExecut'
+#4#10'TPopupMenu'#8'mnuLimit'#4'left'#3#136#0#3'top'#2'P'#0#9'TMenuItem'#10 +'e'#0#0#0#242#2#4#10'TPopupMenu'#8'mnuLimit'#4'left'#3#136#0#3'top'#2'P'#0#9
+'popLimit10'#3'Tag'#2#10#7'Caption'#6#6'Max 10'#7'OnClick'#7#13'popCountClic' +'TMenuItem'#10'popLimit10'#3'Tag'#2#10#7'Caption'#6#6'Max 10'#7'OnClick'#7#13
+'k'#0#0#9'TMenuItem'#10'popLimit25'#3'Tag'#2#25#7'Caption'#6#6'Max 25'#7'OnC' +'popCountClick'#0#0#9'TMenuItem'#10'popLimit25'#3'Tag'#2#25#7'Caption'#6#6'M'
+'lick'#7#13'popCountClick'#0#0#9'TMenuItem'#10'popLimit50'#3'Tag'#2'2'#7'Cap' +'ax 25'#7'OnClick'#7#13'popCountClick'#0#0#9'TMenuItem'#10'popLimit50'#3'Tag'
+'tion'#6#6'Max 50'#7'OnClick'#7#13'popCountClick'#0#0#0#0 +#2'2'#7'Caption'#6#6'Max 50'#7'OnClick'#7#13'popCountClick'#0#0#0#0
]); ]);

View File

@ -330,9 +330,16 @@ begin
Entry := GetCurrentEntry; Entry := GetCurrentEntry;
if Entry = nil then Exit; if Entry = nil then Exit;
Filename := Entry.Source; // check the full name first
if (FileName <> '') and DebugBoss.GetFullFilename(Filename, True) Filename := Entry.FullFileName;
then MainIDE.DoJumpToSourcePosition(Filename, 0, Entry.Line, 0, True, True); if (Filename = '') or not DebugBoss.GetFullFilename(Filename, False) then
begin
// if fails the check the short file name
Filename := Entry.Source;
if (FileName = '') or not DebugBoss.GetFullFilename(Filename, True) then
Exit;
end;
MainIDE.DoJumpToSourcePosition(Filename, 0, Entry.Line, 0, True, True);
end; end;
procedure TCallStackDlg.CopyToClipBoard; procedure TCallStackDlg.CopyToClipBoard;