debugger: copy event text to clipboard in event log form when standard clipboard key combination is used

git-svn-id: trunk@30622 -
This commit is contained in:
paul 2011-05-08 15:53:18 +00:00
parent a76e3248bf
commit 1f7970e2eb
2 changed files with 30 additions and 2 deletions

View File

@ -254,4 +254,16 @@ inherited DbgEventsForm: TDbgEventsForm
000600000001FFFFFF00FFFFFF00
}
end
object ActionList1: TActionList[2]
left = 216
top = 64
object EditCopy1: TEditCopy
Category = 'Edit'
Caption = '&Copy'
Hint = 'Copy'
OnExecute = EditCopy1Execute
OnUpdate = EditCopy1Update
ShortCut = 16451
end
end
end

View File

@ -33,15 +33,19 @@ unit DebugEventsForm;
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, ExtCtrls, ComCtrls,
Debugger, DebuggerDlg, LazarusIDEStrConsts, EnvironmentOpts;
Classes, SysUtils, Forms, Controls, Graphics, ExtCtrls, ComCtrls, ActnList,
StdActns, ClipBrd, Debugger, DebuggerDlg, LazarusIDEStrConsts, EnvironmentOpts;
type
{ TDbgEventsForm }
TDbgEventsForm = class(TDebuggerDlg)
ActionList1: TActionList;
EditCopy1: TEditCopy;
imlMain: TImageList;
tvFilteredEvents: TTreeView;
procedure EditCopy1Execute(Sender: TObject);
procedure EditCopy1Update(Sender: TObject);
procedure tvFilteredEventsAdvancedCustomDrawItem(Sender: TCustomTreeView;
Node: TTreeNode; State: TCustomDrawState; Stage: TCustomDrawStage;
var PaintImages, DefaultDraw: Boolean);
@ -100,6 +104,18 @@ begin
Sender.Canvas.TextOut(TextRect.Left, TextY, Node.Text);
end;
procedure TDbgEventsForm.EditCopy1Execute(Sender: TObject);
begin
Clipboard.Open;
Clipboard.AsText := tvFilteredEvents.Selected.Text;
Clipboard.Close;
end;
procedure TDbgEventsForm.EditCopy1Update(Sender: TObject);
begin
EditCopy1.Enabled := Assigned(tvFilteredEvents.Selected);
end;
procedure TDbgEventsForm.UpdateFilteredList;
const
CategoryImages: array [TDBGEventCategory] of Integer = (