mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-17 15:59:13 +02:00
Qt: fixed getClientBounds for TQtPage and TQtGroupBox. It should use QWidget_contentsRect() of underlaying widget or parent. issue #23630
git-svn-id: trunk@39838 -
This commit is contained in:
parent
f4b61649a6
commit
7815ee8a38
@ -710,6 +710,7 @@ type
|
|||||||
procedure DetachEvents; override;
|
procedure DetachEvents; override;
|
||||||
function CanPaintBackground: Boolean; override;
|
function CanPaintBackground: Boolean; override;
|
||||||
function EventFilter(Sender: QObjectH; Event: QEventH): Boolean; cdecl; override;
|
function EventFilter(Sender: QObjectH; Event: QEventH): Boolean; cdecl; override;
|
||||||
|
function getClientBounds: TRect; override;
|
||||||
function getText: WideString; override;
|
function getText: WideString; override;
|
||||||
procedure setText(const W: WideString); override;
|
procedure setText(const W: WideString); override;
|
||||||
procedure setFocusPolicy(const APolicy: QtFocusPolicy); override;
|
procedure setFocusPolicy(const APolicy: QtFocusPolicy); override;
|
||||||
@ -1751,6 +1752,7 @@ type
|
|||||||
function CreateWidget(const AParams: TCreateParams):QWidgetH; override;
|
function CreateWidget(const AParams: TCreateParams):QWidgetH; override;
|
||||||
public
|
public
|
||||||
function EventFilter(Sender: QObjectH; Event: QEventH): Boolean; cdecl; override;
|
function EventFilter(Sender: QObjectH; Event: QEventH): Boolean; cdecl; override;
|
||||||
|
function getClientBounds: TRect; override;
|
||||||
function getIcon: QIconH;
|
function getIcon: QIconH;
|
||||||
function getIndex(const ATextChanging: Boolean = False): Integer;
|
function getIndex(const ATextChanging: Boolean = False): Integer;
|
||||||
function getTabWidget: QTabWidgetH;
|
function getTabWidget: QTabWidgetH;
|
||||||
@ -6956,6 +6958,12 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TQtGroupBox.getClientBounds: TRect;
|
||||||
|
begin
|
||||||
|
QWidget_contentsRect(Widget, @Result);
|
||||||
|
OffsetRect(Result, -Result.Left, -Result.Top);
|
||||||
|
end;
|
||||||
|
|
||||||
function TQtGroupBox.getText: WideString;
|
function TQtGroupBox.getText: WideString;
|
||||||
begin
|
begin
|
||||||
QGroupBox_title(QGroupBoxH(Widget), @Result);
|
QGroupBox_title(QGroupBoxH(Widget), @Result);
|
||||||
@ -15541,6 +15549,19 @@ begin
|
|||||||
Result := inherited EventFilter(Sender, Event);
|
Result := inherited EventFilter(Sender, Event);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TQtPage.getClientBounds: TRect;
|
||||||
|
var
|
||||||
|
w: QWidgetH;
|
||||||
|
begin
|
||||||
|
w := QWidget_parentWidget(Widget);
|
||||||
|
if (FChildOfComplexWidget = ccwTabWidget) and (w <> nil) then
|
||||||
|
begin
|
||||||
|
QWidget_contentsRect(w, @Result);
|
||||||
|
OffsetRect(Result, -Result.Left, -Result.Top);
|
||||||
|
end else
|
||||||
|
Result := inherited getClientBounds;
|
||||||
|
end;
|
||||||
|
|
||||||
function TQtPage.getIcon: QIconH;
|
function TQtPage.getIcon: QIconH;
|
||||||
begin
|
begin
|
||||||
Result := FIcon;
|
Result := FIcon;
|
||||||
|
Loading…
Reference in New Issue
Block a user