mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-10 23:16:09 +02:00
git-svn-id: trunk@17580 -
This commit is contained in:
parent
bf81770999
commit
c734f2f286
@ -622,7 +622,9 @@ type
|
||||
FTabBarEventHook: QWidget_hookH;
|
||||
FTabBarChangedHook: QTabBar_hookH;
|
||||
FTabBar: QTabBarH;
|
||||
FStackWidget: QWidgetH;
|
||||
function getShowTabs: Boolean;
|
||||
function getStackWidget: QWidgetH;
|
||||
function getTabBar: QTabBarH;
|
||||
procedure setShowTabs(const AValue: Boolean);
|
||||
protected
|
||||
@ -652,6 +654,7 @@ type
|
||||
|
||||
property ShowTabs: Boolean read getShowTabs write setShowTabs;
|
||||
property TabBar: QTabBarH read getTabBar;
|
||||
property StackWidget: QWidgetH read getStackWidget;
|
||||
end;
|
||||
|
||||
{ TQtComboBox }
|
||||
@ -5499,6 +5502,8 @@ function TQtTabWidget.getTabBar: QTabBarH;
|
||||
begin
|
||||
if FTabBar = nil then
|
||||
begin
|
||||
{$note we can remove QLCLTabWidget, and get it like StackWidget,
|
||||
objectName is qt_tabwidget_tabbar.}
|
||||
FTabBar := QLCLTabWidget_tabBarHandle(QTabWidgetH(Widget));
|
||||
QWidget_setFocusPolicy(FTabBar, QtNoFocus);
|
||||
end;
|
||||
@ -5510,6 +5515,32 @@ begin
|
||||
Result := QWidget_isVisible(TabBar);
|
||||
end;
|
||||
|
||||
function TQtTabWidget.getStackWidget: QWidgetH;
|
||||
var
|
||||
List: TPtrIntArray;
|
||||
Obj: QObjectH;
|
||||
i: Integer;
|
||||
WStr: WideString;
|
||||
begin
|
||||
if FStackWidget = nil then
|
||||
begin
|
||||
QObject_children(Widget, @List);
|
||||
for i := 0 to High(List) do
|
||||
begin
|
||||
Obj := QObjectH(List[i]);
|
||||
QObject_objectName(Obj, @WStr);
|
||||
{do not localize !}
|
||||
if WStr = 'qt_tabwidget_stackedwidget' then
|
||||
begin
|
||||
FStackWidget := QWidgetH(List[i]);
|
||||
break;
|
||||
end;
|
||||
end;
|
||||
FCentralWidget := FStackWidget;
|
||||
end;
|
||||
Result := FStackWidget;
|
||||
end;
|
||||
|
||||
procedure TQtTabWidget.setShowTabs(const AValue: Boolean);
|
||||
begin
|
||||
QWidget_setVisible(TabBar, AValue);
|
||||
@ -5608,23 +5639,8 @@ begin
|
||||
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));
|
||||
QWidget_contentsRect(StackWidget, @Result)
|
||||
end;
|
||||
|
||||
function TQtTabWidget.getCurrentIndex: Integer;
|
||||
|
Loading…
Reference in New Issue
Block a user