mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-10 14:36:09 +02:00
Carbon: implemented GetCanUndo for WSCustomEdit. issue #16497
git-svn-id: trunk@36085 -
This commit is contained in:
parent
017a319d5a
commit
447f19d6e2
@ -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)));
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user