* Implement Copy to Clipboard on non windows widgetset

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1047 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
blikblum
2009-12-12 21:58:55 +00:00
parent db29d2cbfb
commit 8bf4cb4e37

View File

@ -319,6 +319,7 @@ uses
Windows,
{$endif}
ActiveX,
Clipbrd,
OleUtils,
LCLIntf,
DelphiCompat,
@ -3350,6 +3351,10 @@ type
function CanExportNode(Node: PVirtualNode): Boolean;
function CalculateTextWidth(Canvas: TCanvas; Node: PVirtualNode; Column: TColumnIndex; const Text: String): Integer; virtual;
function ColumnIsEmpty(Node: PVirtualNode; Column: TColumnIndex): Boolean; override;
{$ifndef LCLWin32}
procedure CopyToClipBoard; override;
procedure CutToClipBoard; override;
{$endif}
function DoCreateEditor(Node: PVirtualNode; Column: TColumnIndex): IVTEditLink; override;
function DoGetNodeHint(Node: PVirtualNode; Column: TColumnIndex; var LineBreakStyle: TVTTooltipLineBreakStyle): String; override;
function DoGetNodeTooltip(Node: PVirtualNode; Column: TColumnIndex; var LineBreakStyle: TVTTooltipLineBreakStyle): String; override;
@ -31987,6 +31992,23 @@ begin
end;
//----------------------------------------------------------------------------------------------------------------------
{$ifndef LCLWin32}
procedure TCustomVirtualStringTree.CopyToClipBoard;
begin
MarkCutCopyNodes;
DoStateChange([tsCopyPending]);
Clipboard.AsText := ContentToUTF8(tstCutCopySet, #9);
DoStateChange([], [tsCopyPending]);
end;
//----------------------------------------------------------------------------------------------------------------------
procedure TCustomVirtualStringTree.CutToClipBoard;
begin
//todo: currently there's no way in LCL to know when the clipboard was used
CopyToClipBoard;
end;
{$endif}
//----------------------------------------------------------------------------------------------------------------------