123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- unit Stack;
- interface
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, ExtCtrls, StdCtrls, ComCtrls, Main, JvComponent, Misc, ImgList,
- JvDockControlForm, JvExStdCtrls, JvListComb, JvExComCtrls,
- JvListView, JvDotNetControls, lua, lualib, lauxlib, LuaUtils;
- type
- TfrmStack = class(TForm)
- JvDockClient1: TJvDockClient;
- imlCallStack: TImageList;
- lstCallStack: TJvDotNetListView;
- procedure lstCallStackDblClick(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
- var
- frmStack: TfrmStack;
- implementation
- {$R *.dfm}
- procedure TfrmStack.lstCallStackDblClick(Sender: TObject);
- var
- x: Integer;
- pBreakInfo: TBreakInfo;
- begin
- if Assigned(lstCallStack.Selected) then
- begin
- pBreakInfo := TBreakInfo(lstCallStack.Selected.Data);
-
- if pBreakInfo.Line <> -1 then
- begin
- frmStack.lstCallStack.Items.BeginUpdate;
- for x := 0 to frmStack.lstCallStack.Items.Count - 1 do
- begin
- if x = 0 then
- frmStack.lstCallStack.Items[x].ImageIndex := 0
- else
- frmStack.lstCallStack.Items[x].ImageIndex := -1;
- end;
- // update locals...
- frmLuaEditMain.PrintLocal(frmLuaEditMain.LuaState, lstCallStack.Selected.Index);
- frmLuaEditMain.PrintWatch(frmLuaEditMain.LuaState);
- frmStack.lstCallStack.Items.EndUpdate;
- lstCallStack.Selected.ImageIndex := 1;
- TLuaEditDebugFile(frmLuaEditMain.PopUpUnitToScreen(pBreakInfo.FileName, pBreakInfo.Line)).DebugInfos.iStackMarker := pBreakInfo.Line+1;
- TLuaEditUnit(frmLuaEditMain.jvUnitBar.SelectedTab.Data).synUnit.Refresh;
- end;
- end;
- end;
- end.
|