From e6cc12dc01bc0a0d6d1a173e6d3a5c6dc2c6537d Mon Sep 17 00:00:00 2001 From: zeljko Date: Wed, 6 Sep 2017 14:12:09 +0000 Subject: [PATCH] Qt,Qt5: implemented ScrollBy for TWSCustomFrame git-svn-id: trunk@55790 - --- lcl/interfaces/qt/qtwsforms.pp | 17 +++++++++++++++++ lcl/interfaces/qt5/qtwsforms.pp | 17 +++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/lcl/interfaces/qt/qtwsforms.pp b/lcl/interfaces/qt/qtwsforms.pp index 4bccfdef26..61de307cb9 100644 --- a/lcl/interfaces/qt/qtwsforms.pp +++ b/lcl/interfaces/qt/qtwsforms.pp @@ -50,6 +50,7 @@ type TQtWSCustomFrame = class(TWSCustomFrame) published class function CreateHandle(const AWinControl: TWinControl; const AParams: TCreateParams): TLCLIntfHandle; override; + class procedure ScrollBy(const AWinControl: TWinControl; DeltaX, DeltaY: integer); override; end; { TQtWSFrame } @@ -156,6 +157,22 @@ begin Result := TLCLIntfHandle(QtFrame); end; +class procedure TQtWSCustomFrame.ScrollBy(const AWinControl: TWinControl; + DeltaX, DeltaY: integer); +{$IFDEF QTSCROLLABLEFORMS} +var + Widget: TQtMainWindow; +{$ENDIF} +begin + {$IFDEF QTSCROLLABLEFORMS} + if not WSCheckHandleAllocated(AWinControl, 'ScrollBy') then + Exit; + Widget := TQtMainWindow(AWinControl.Handle); + if Assigned(Widget.ScrollArea) then + Widget.ScrollArea.scroll(DeltaX, DeltaY); + {$ENDIF} +end; + {------------------------------------------------------------------------------ Method: TQtWSCustomForm.CreateHandle Params: None diff --git a/lcl/interfaces/qt5/qtwsforms.pp b/lcl/interfaces/qt5/qtwsforms.pp index 04b6ddcf41..29e4b99c1d 100644 --- a/lcl/interfaces/qt5/qtwsforms.pp +++ b/lcl/interfaces/qt5/qtwsforms.pp @@ -49,6 +49,7 @@ type TQtWSCustomFrame = class(TWSCustomFrame) published class function CreateHandle(const AWinControl: TWinControl; const AParams: TCreateParams): TLCLIntfHandle; override; + class procedure ScrollBy(const AWinControl: TWinControl; DeltaX, DeltaY: integer); override; end; { TQtWSFrame } @@ -155,6 +156,22 @@ begin Result := TLCLIntfHandle(QtFrame); end; +class procedure TQtWSCustomFrame.ScrollBy(const AWinControl: TWinControl; + DeltaX, DeltaY: integer); +{$IFDEF QTSCROLLABLEFORMS} +var + Widget: TQtMainWindow; +{$ENDIF} +begin + {$IFDEF QTSCROLLABLEFORMS} + if not WSCheckHandleAllocated(AWinControl, 'ScrollBy') then + Exit; + Widget := TQtMainWindow(AWinControl.Handle); + if Assigned(Widget.ScrollArea) then + Widget.ScrollArea.scroll(DeltaX, DeltaY); + {$ENDIF} +end; + {------------------------------------------------------------------------------ Method: TQtWSCustomForm.CreateHandle Params: None