mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-27 16:40:32 +02:00
- take QTabBar size into account during QTabWidget clientrect calculation
git-svn-id: trunk@13059 -
This commit is contained in:
parent
0b543bb9da
commit
c7ecf6373c
@ -587,6 +587,7 @@ type
|
||||
function insertTab(index: Integer; page: QWidgetH; icon: QIconH; p2: WideString): Integer; overload;
|
||||
function getClientBounds: TRect; override;
|
||||
function getCurrentIndex: Integer;
|
||||
function getTabPosition: QTabWidgetTabPosition;
|
||||
procedure removeTab(AIndex: Integer);
|
||||
procedure setCurrentIndex(AIndex: Integer);
|
||||
procedure setFocusPolicy(const APolicy: QtFocusPolicy); override;
|
||||
@ -2158,8 +2159,8 @@ begin
|
||||
|
||||
NewSize := QResizeEvent_size(QResizeEventH(Event))^;
|
||||
|
||||
{
|
||||
if LCLObject is TTabSheet then
|
||||
|
||||
{ if LCLObject is TTabSheet then
|
||||
WriteLn('SlotResize: ', dbgsName(LCLObject), ' ANewWidth = ', NewSize.cx, ' ANewHeight = ', NewSize.cy);
|
||||
}
|
||||
|
||||
@ -4862,12 +4863,22 @@ end;
|
||||
|
||||
function TQtTabWidget.getClientBounds: TRect;
|
||||
var
|
||||
ATabSize: TSize;
|
||||
option: QStyleOptionTabWidgetFrameH;
|
||||
begin
|
||||
option := QStyleOptionTabWidgetFrame_create();
|
||||
QStyleOption_initFrom(QStyleOptionH(option), Widget);
|
||||
QStyle_subElementRect(QWidget_style(Widget), @Result, QStyleSE_TabWidgetTabContents, option, Widget);
|
||||
QStyleOptionTabWidgetFrame_destroy(option);
|
||||
|
||||
QWidget_size(TabBar, @ATabSize);
|
||||
case getTabPosition of
|
||||
QTabWidgetNorth: inc(Result.Top, ATabSize.cy);
|
||||
QTabWidgetSouth: dec(Result.Bottom, ATabSize.cy);
|
||||
QTabWidgetWest : inc(Result.Left, ATabSize.cx);
|
||||
QTabWidgetEast : dec(Result.Right, ATabSize.cx);
|
||||
end;
|
||||
//WriteLn(dbgs(Result));
|
||||
end;
|
||||
|
||||
function TQtTabWidget.getCurrentIndex: Integer;
|
||||
@ -4875,6 +4886,11 @@ begin
|
||||
Result := QTabWidget_currentIndex(QTabWidgetH(Widget));
|
||||
end;
|
||||
|
||||
function TQtTabWidget.getTabPosition: QTabWidgetTabPosition;
|
||||
begin
|
||||
Result := QTabWidget_tabPosition(QTabWidgetH(Widget));
|
||||
end;
|
||||
|
||||
procedure TQtTabWidget.removeTab(AIndex: Integer);
|
||||
begin
|
||||
QTabWidget_removeTab(QTabWidgetH(Widget), AIndex);
|
||||
|
Loading…
Reference in New Issue
Block a user