Carbon: implemented GetCanUndo for WSCustomEdit. issue #16497

git-svn-id: trunk@36085 -
This commit is contained in:
zeljko 2012-03-16 11:06:22 +00:00
parent 017a319d5a
commit 447f19d6e2
2 changed files with 18 additions and 1 deletions

View File

@ -112,6 +112,7 @@ type
TCarbonCustomEdit = class(TCarbonControlWithEdit)
public
function GetCanUndo: Boolean; virtual;
procedure CopyToClip; virtual;
procedure CutToClip; virtual;
procedure PasteFromClip; virtual;
@ -1030,6 +1031,14 @@ end;
{ TCarbonCustomEdit }
function TCarbonCustomEdit.GetCanUndo: Boolean;
var
AStr: CFStringRef;
begin
AStr := nil;
Result := TXNCanUndoAction(HITextViewGetTXNObject(ControlRef(Widget)), AStr);
end;
procedure TCarbonCustomEdit.CopyToClip;
begin
TXNCopy(HITextViewGetTXNObject(ControlRef(Widget)));

View File

@ -127,7 +127,7 @@ type
TCarbonWSCustomEdit = class(TWSCustomEdit)
published
class function CreateHandle(const AWinControl: TWinControl; const AParams: TCreateParams): TLCLIntfHandle; override;
class function GetCanUndo(const ACustomEdit: TCustomEdit): Boolean; override;
class function GetSelStart(const ACustomEdit: TCustomEdit): integer; override;
class function GetSelLength(const ACustomEdit: TCustomEdit): integer; override;
@ -774,6 +774,14 @@ begin
Result := TLCLIntfHandle(TCarbonEdit.Create(AWinControl, AParams));
end;
class function TCarbonWSCustomEdit.GetCanUndo(const ACustomEdit: TCustomEdit
): Boolean;
begin
if not CheckHandle(ACustomEdit, Self, 'GetSelStart') then
Exit(False);
Result := TCarbonEdit(ACustomEdit.Handle).GetCanUndo;
end;
{------------------------------------------------------------------------------
Method: TCarbonWSCustomEdit.GetSelStart
Params: ACustomEdit - LCL custom edit