ACF $AcfVersion:0$
CTabWidgetDelegate.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ACF-Commercial
2#pragma once
3
4
5// Qt includes
6#include <QtCore/QtGlobal>
7#if QT_VERSION >= 0x050000
8#include <QtWidgets/QTabWidget>
9#else
10#include <QtGui/QTabWidget>
11#endif
12
13// ACF includes
15
16
17namespace iwidgets
18{
19
20
25{
26public:
28 QTabWidget::TabPosition tabPosition = QTabWidget::North,
29 bool useDocumentMode = false);
30
31 void SetTabPosition(QWidget& containerWidget, QTabWidget::TabPosition tabPosition);
32 void SetDocumentModeEnabled(QWidget& containerWidget, bool isDocumentModeEnabled = true);
33
34 // reimplemented (iwidgets::IMultiPageWidgetDelegate)
35 virtual QWidget* CreateContainerWidget(
36 QWidget* parentWidgetPtr,
37 int containerGuiFlags = CGF_NONE,
38 int orientation = Qt::Horizontal) override;
40 QWidget& containerWidget,
41 QObject* receiverPtr,
42 const char* receiverSlotName) override;
43 virtual bool SetPageHeaderPosition(QWidget& containerWidget, PageHeaderPosition pageHeaderPosition) override;
44 virtual int InsertPage(
45 QWidget& containerWidget,
46 QWidget* pageWidgetPtr,
47 const QString& pageTitle,
48 int pageIndex = -1) override;
49 virtual void RemovePage(QWidget& containerWidget, int pageIndex) override;
50 virtual void ResetPages(QWidget& containerWidget) override;
51 virtual int GetPagesCount(const QWidget& containerWidget) const override;
52 virtual QWidget* GetPageWidgetPtr(const QWidget& containerWidget, int pageIndex) const override;
53 virtual int GetCurrentPage(const QWidget& containerWidget) const override;
54 virtual bool SetCurrentPage(QWidget& containerWidget, int pageIndex) override;
55 virtual QString GetPageTitle(const QWidget& containerWidget, int pageIndex) const override;
56 virtual void SetPageTitle(QWidget& containerWidget, int pageIndex, const QString& pageTitle) override;
57 virtual QIcon GetPageIcon(const QWidget& containerWidget, int pageIndex) const override;
58 virtual void SetPageIcon(QWidget& containerWidget, int pageIndex, const QIcon& pageIcon) override;
59 virtual QString GetPageToolTip(const QWidget& containerWidget, int pageIndex) const override;
60 virtual void SetPageToolTip(QWidget& containerWidget, int pageIndex, const QString& pageToolTip) override;
61 virtual bool IsPageEnabled(const QWidget& containerWidget, int pageIndex) const override;
62 virtual bool SetPageEnabled(QWidget& containerWidget, int pageIndex, bool isPageEnabled = true) override;
63 virtual bool IsPageVisible(const QWidget& containerWidget, int pageIndex) const override;
64 virtual bool SetPageVisible(QWidget& containerWidget, int pageIndex, bool isPageVisible = true) override;
65 virtual QSize GetPageIconSize(const QWidget& containerWidget) const override;
66 virtual bool SetPageIconSize(QWidget& containerWidget, const QSize& pageIconSize) override;
67
68private:
69 QTabWidget::TabPosition m_tabPosition;
70 bool m_useDocumentMode;
71
72 int m_containerGuiFlags;
73};
74
75
76} // namespace iwidgets
77
78
79
80
Implementation of the IMultiPageWidgetDelegate interface for QTabWidget.
virtual bool SetPageHeaderPosition(QWidget &containerWidget, PageHeaderPosition pageHeaderPosition) override
Set the position of the page header bar on the container UI.
virtual QString GetPageTitle(const QWidget &containerWidget, int pageIndex) const override
Get the title of the given page.
virtual void RemovePage(QWidget &containerWidget, int pageIndex) override
Remove the page from the container.
virtual void SetPageTitle(QWidget &containerWidget, int pageIndex, const QString &pageTitle) override
Set the page title.
virtual void SetPageIcon(QWidget &containerWidget, int pageIndex, const QIcon &pageIcon) override
Set the page icon.
virtual QWidget * CreateContainerWidget(QWidget *parentWidgetPtr, int containerGuiFlags=CGF_NONE, int orientation=Qt::Horizontal) override
Create container for the page widgets.
virtual bool IsPageEnabled(const QWidget &containerWidget, int pageIndex) const override
Get if the page enabled/disabled.
virtual int InsertPage(QWidget &containerWidget, QWidget *pageWidgetPtr, const QString &pageTitle, int pageIndex=-1) override
Add a new page to the container.
virtual bool SetPageVisible(QWidget &containerWidget, int pageIndex, bool isPageVisible=true) override
Set page visible/hidden.
virtual void ResetPages(QWidget &containerWidget) override
Remove all pages from the container.
CTabWidgetDelegate(QTabWidget::TabPosition tabPosition=QTabWidget::North, bool useDocumentMode=false)
virtual bool SetPageIconSize(QWidget &containerWidget, const QSize &pageIconSize) override
Set the size of the icon for all pages in the container.
virtual bool SetPageEnabled(QWidget &containerWidget, int pageIndex, bool isPageEnabled=true) override
Set page enabled/disabled.
virtual int GetCurrentPage(const QWidget &containerWidget) const override
Get currently active page in the container.
virtual bool IsPageVisible(const QWidget &containerWidget, int pageIndex) const override
Get if the page visible/hidden.
void SetDocumentModeEnabled(QWidget &containerWidget, bool isDocumentModeEnabled=true)
virtual QString GetPageToolTip(const QWidget &containerWidget, int pageIndex) const override
Get the page tool tip.
virtual bool ConnectPageIndexListener(QWidget &containerWidget, QObject *receiverPtr, const char *receiverSlotName) override
Connect object, which will be notified about changing of the current selected page index.
virtual int GetPagesCount(const QWidget &containerWidget) const override
Get the number of the pages in the container.
virtual QWidget * GetPageWidgetPtr(const QWidget &containerWidget, int pageIndex) const override
Get page's widget from the container.
void SetTabPosition(QWidget &containerWidget, QTabWidget::TabPosition tabPosition)
virtual QIcon GetPageIcon(const QWidget &containerWidget, int pageIndex) const override
Get the page icon.
virtual bool SetCurrentPage(QWidget &containerWidget, int pageIndex) override
Set active page in the container.
virtual QSize GetPageIconSize(const QWidget &containerWidget) const override
Get the size page icon.
virtual void SetPageToolTip(QWidget &containerWidget, int pageIndex, const QString &pageToolTip) override
Set the page tool tip.
Interface of a delegate object used for operating on concrete UI-container implementation.
@ CGF_NONE
Default behavior of the UI container.
PageHeaderPosition
Enum for describing of page header bar position on the container widget.
Namespace contains implementation of Qt widget extensions.