mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-26 18:23:46 +02:00
Qt5: implemented TCustomMemo.setCaretPos(). Patch by Joeny Ang. Issue #39373
This commit is contained in:
parent
05b1e7d170
commit
fc6854704d
lcl/interfaces/qt5
@ -924,6 +924,7 @@ type
|
||||
procedure setAlignment(const AAlignment: QtAlignment);
|
||||
procedure setBorder(const ABorder: Boolean);
|
||||
procedure setCursorPosition(const ACursorPosition: Integer);
|
||||
procedure setCursorPosition(const APoint: TPoint);
|
||||
procedure setDefaultColorRoles; override;
|
||||
procedure setEchoMode(const AMode: QLineEditEchoMode);
|
||||
procedure setLineWrapMode(const AMode: QTextEditLineWrapMode);
|
||||
@ -10079,6 +10080,34 @@ begin
|
||||
QTextCursor_destroy(TextCursor);
|
||||
end;
|
||||
|
||||
procedure TQtTextEdit.setCursorPosition(const APoint: TPoint);
|
||||
var
|
||||
TextCursor: QTextCursorH;
|
||||
WrapMode: QTextEditLineWrapMode;
|
||||
begin
|
||||
{we must remove wrapping to get correct line !}
|
||||
WrapMode := QTextEdit_lineWrapMode(QTextEditH(Widget));
|
||||
setLineWrapMode(QTextEditNoWrap);
|
||||
|
||||
TextCursor := QTextCursor_create();
|
||||
try
|
||||
QTextEdit_textCursor(QTextEditH(Widget), TextCursor);
|
||||
if not QTextCursor_isNull(TextCursor) then
|
||||
begin
|
||||
QTextCursor_movePosition(TextCursor, QTextCursorStart,
|
||||
QTextCursorMoveAnchor);
|
||||
QTextCursor_movePosition(TextCursor, QTextCursorDown,
|
||||
QTextCursorMoveAnchor, APoint.Y);
|
||||
QTextCursor_movePosition(TextCursor, QTextCursorRight,
|
||||
QTextCursorMoveAnchor, APoint.X);
|
||||
end;
|
||||
QTextEdit_setTextCursor(QTextEditH(Widget), TextCursor);
|
||||
finally
|
||||
QTextCursor_destroy(TextCursor);
|
||||
setLineWrapMode(WrapMode);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TQtTextEdit.setDefaultColorRoles;
|
||||
begin
|
||||
WidgetColorRole := QPaletteBase;
|
||||
|
@ -173,6 +173,7 @@ type
|
||||
class procedure AppendText(const ACustomMemo: TCustomMemo; const AText: string); override;
|
||||
class function GetStrings(const ACustomMemo: TCustomMemo): TStrings; override;
|
||||
class procedure SetAlignment(const ACustomEdit: TCustomEdit; const AAlignment: TAlignment); override;
|
||||
class procedure SetCaretPos(const ACustomEdit: TCustomEdit; const NewPos: TPoint); override;
|
||||
class procedure SetScrollbars(const ACustomMemo: TCustomMemo; const NewScrollbars: TScrollStyle); override;
|
||||
class procedure SetWantReturns(const ACustomMemo: TCustomMemo; const NewWantReturns: boolean); override;
|
||||
class procedure SetWantTabs(const ACustomMemo: TCustomMemo; const NewWantTabs: boolean); override;
|
||||
@ -784,6 +785,14 @@ begin
|
||||
TQtTextEdit(ACustomEdit.Handle).setAlignment(AlignmentMap[AAlignment]);
|
||||
end;
|
||||
|
||||
class procedure TQtWSCustomMemo.SetCaretPos(const ACustomEdit: TCustomEdit;
|
||||
const NewPos: TPoint);
|
||||
begin
|
||||
if not WSCheckHandleAllocated(ACustomEdit, 'SetCaretPos') then
|
||||
Exit;
|
||||
TQtTextEdit(ACustomEdit.Handle).setCursorPosition(NewPos);
|
||||
end;
|
||||
|
||||
class procedure TQtWSCustomMemo.SetScrollbars(const ACustomMemo: TCustomMemo;
|
||||
const NewScrollbars: TScrollStyle);
|
||||
begin
|
||||
|
Loading…
Reference in New Issue
Block a user