because of bail I the editor unindents now on pressing }. have fun!

fixed bugs... lalala

updated debug-list
This commit is contained in:
Christian Hammacher 2005-07-22 17:36:51 +00:00
parent 191824d72a
commit 1d853b5fee
2 changed files with 46 additions and 1 deletions

View File

@ -1979,6 +1979,7 @@ object frmMain: TfrmMain
Visible = False Visible = False
OnDblClick = lvDebugDblClick OnDblClick = lvDebugDblClick
OnEnter = lvDebugEnter OnEnter = lvDebugEnter
OnMouseDown = lvDebugMouseDown
end end
object ilMenu: TImageList object ilMenu: TImageList
Left = 826 Left = 826
@ -5797,4 +5798,16 @@ object frmMain: TfrmMain
Left = 698 Left = 698
Top = 4 Top = 4
end end
object ppmCopy: TPopupMenu
Left = 698
Top = 34
object mnuCopyItem: TMenuItem
Caption = 'Copy Item'
OnClick = mnuCopyItemClick
end
object mnuCopyAll: TMenuItem
Caption = 'Copy all'
OnClick = mnuCopyAllClick
end
end
end end

View File

@ -5,7 +5,7 @@ interface
uses uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
ToolWin, ActnMan, ActnCtrls, ActnMenus, ActnList, ToolWin, ActnMan, ActnCtrls, ActnMenus, ActnList,
ImgList, ComCtrls, SciDocuments, SciLexer, ImgList, ComCtrls, SciDocuments, SciLexer, ClipBrd,
SciLexerMod, SciAutoComplete, SciCallTips, SciLexerOptionsDlg, SciLexerMod, SciAutoComplete, SciCallTips, SciLexerOptionsDlg,
SciSearchReplace, StdCtrls, Tabs, Menus, ShellAPI, ScintillaLanguageManager, SciSearchReplace, StdCtrls, Tabs, Menus, ShellAPI, ScintillaLanguageManager,
SciLexerMemo, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, SciLexerMemo, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
@ -68,6 +68,9 @@ type
acSelectAll: TAction; acSelectAll: TAction;
acUnidenter: TAction; acUnidenter: TAction;
acLoopGenerator: TAction; acLoopGenerator: TAction;
ppmCopy: TPopupMenu;
mnuCopyItem: TMenuItem;
mnuCopyAll: TMenuItem;
procedure FormCreate(Sender: TObject); procedure FormCreate(Sender: TObject);
procedure acNewExecute(Sender: TObject); procedure acNewExecute(Sender: TObject);
procedure acOpenExecute(Sender: TObject); procedure acOpenExecute(Sender: TObject);
@ -141,6 +144,10 @@ type
procedure sciEditorModified(Sender: TObject; const position, procedure sciEditorModified(Sender: TObject; const position,
modificationType: Integer; text: PAnsiChar; const length, linesAdded, modificationType: Integer; text: PAnsiChar; const length, linesAdded,
line, foldLevelNow, foldLevelPrev: Integer); line, foldLevelNow, foldLevelPrev: Integer);
procedure lvDebugMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure mnuCopyItemClick(Sender: TObject);
procedure mnuCopyAllClick(Sender: TObject);
private private
eSelectedTab: Integer; eSelectedTab: Integer;
eCurrentLine: Integer; eCurrentLine: Integer;
@ -149,6 +156,7 @@ type
StdAutoComplete: String; // Save this because we add special functions StdAutoComplete: String; // Save this because we add special functions
StdCallTips: String; // etc. dynamically for each file StdCallTips: String; // etc. dynamically for each file
FunctionType: TStringList; FunctionType: TStringList;
CurrItem: TListItem;
function StrLength(eStr: String): Integer; function StrLength(eStr: String): Integer;
procedure OnExceptionHandler(Sender: TObject; E: Exception); procedure OnExceptionHandler(Sender: TObject; E: Exception);
procedure DeleteNode(Node: TTreeNode); procedure DeleteNode(Node: TTreeNode);
@ -1173,4 +1181,28 @@ begin
Result := Length(eStr); Result := Length(eStr);
end; end;
procedure TfrmMain.lvDebugMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if (Button = mbRight) and (Assigned(lvDebug.GetItemAt(X, Y))) then begin
CurrItem := lvDebug.GetItemAt(X, Y);
ppmCopy.Popup(Mouse.CursorPos.X, Mouse.CursorPos.Y);
end;
end;
procedure TfrmMain.mnuCopyItemClick(Sender: TObject);
begin
Clipboard.SetTextBuf(PChar(CurrItem.Caption));
end;
procedure TfrmMain.mnuCopyAllClick(Sender: TObject);
var i: Integer;
eStr: String;
begin
eStr := '';
for i := lvDebug.Items.Count -1 downto 0 do
eStr := lvDebug.Items[i].Caption + #13#10 + eStr;
Clipboard.SetTextBuf(PChar(eStr));
end;
end. end.