16#ifndef QDESIGNER_TABWIDGET_H
17#define QDESIGNER_TABWIDGET_H
23#include <QtCore/qhash.h>
24#include <QtCore/qpointer.h>
25#include <QtGui/qicon.h>
29class QDesignerFormWindowInterface;
36 class PromotionTaskMenu;
43 explicit QTabWidgetEventFilter(QTabWidget *parent);
44 ~QTabWidgetEventFilter() override;
47 static void install(QTabWidget *tabWidget);
48 static QTabWidgetEventFilter *eventFilterOf(
const QTabWidget *tabWidget);
50 static QMenu *addTabWidgetContextMenuActions(
const QTabWidget *tabWidget, QMenu *popup);
53 QMenu *addContextMenuActions(QMenu *popup);
55 bool eventFilter(QObject *o, QEvent *e) override;
57 QDesignerFormWindowInterface *formWindow()
const;
60 void removeCurrentPage();
65 int pageFromPosition(
const QPoint &pos, QRect &rect)
const;
66 QTabBar *tabBar()
const;
68 QTabWidget *m_tabWidget;
69 mutable QPointer<QTabBar> m_cachedTabBar;
71 QWidget *m_dropIndicator =
nullptr;
73 QWidget *m_dragPage =
nullptr;
76 bool m_mousePressed =
false;
77 QAction *m_actionDeletePage;
78 QAction *m_actionInsertPage;
79 QAction *m_actionInsertPageAfter;
80 qdesigner_internal::PromotionTaskMenu* m_pagePromotionTaskMenu;
86 explicit QTabWidgetPropertySheet(QTabWidget *object, QObject *parent =
nullptr);
88 void setProperty(
int index,
const QVariant &value) override;
89 QVariant property(
int index)
const override;
90 bool reset(
int index) override;
91 bool isEnabled(
int index)
const override;
95 static bool checkProperty(
const QString &propertyName);
98 enum TabWidgetProperty { PropertyCurrentTabText, PropertyCurrentTabName, PropertyCurrentTabIcon,
99 PropertyCurrentTabToolTip, PropertyCurrentTabWhatsThis, PropertyTabWidgetNone };
101 static TabWidgetProperty tabWidgetPropertyFromName(
const QString &name);
102 QTabWidget *m_tabWidget;
105 qdesigner_internal::PropertySheetStringValue text;
106 qdesigner_internal::PropertySheetStringValue tooltip;
107 qdesigner_internal::PropertySheetStringValue whatsthis;
108 qdesigner_internal::PropertySheetIconValue icon;
110 QHash<QWidget *, PageData> m_pageToData;
113using QTabWidgetPropertySheetFactory = QDesignerPropertySheetFactory<QTabWidget, QTabWidgetPropertySheet>;
virtual bool dynamicPropertiesAllowed() const =0
virtual bool isDynamicProperty(int index) const =0
virtual int addDynamicProperty(const QString &propertyName, const QVariant &value)=0
virtual bool canAddDynamicProperty(const QString &propertyName) const =0
virtual bool removeDynamicProperty(int index)=0
virtual ~QDesignerDynamicPropertySheetExtension()=default
QDesignerPropertySheetFactory(QExtensionManager *parent=nullptr)
static void registerExtension(QExtensionManager *mgr)
FormEditorOptionsPage(QDesignerFormEditorInterface *core)
QString name() const override
QWidget * createPage(QWidget *parent) override
bool reset(int index) override
~LayoutPropertySheet() override
void setProperty(int index, const QVariant &value) override
void setChanged(int index, bool changed) override
QVariant property(int index) const override
QString propertyGroup(int index) const override
~LinePropertySheet() override
bool isVisible(int index) const override
void setProperty(int index, const QVariant &value) override
void remove(int index) override
QWidget * widget(int index) const override
void insertWidget(int index, QWidget *widget) override
void addWidget(QWidget *widget) override
int count() const override
bool canAddWidget() const override
int currentIndex() const override
bool canRemove(int) const override
void setCurrentIndex(int index) override
bool canRemove(int) const override
void addWidget(QWidget *widget) override
bool canAddWidget() const override
int count() const override
void remove(int index) override
static void positionNewMdiChild(const QWidget *area, QWidget *mdiChild)
int currentIndex() const override
QWidget * widget(int index) const override
void insertWidget(int index, QWidget *widget) override
void setCurrentIndex(int index) override
bool isChanged(int index) const override
void setProperty(int index, const QVariant &value) override
static bool checkProperty(const QString &propertyName)
bool isEnabled(int index) const override
bool reset(int index) override
QVariant property(int index) const override
int currentIndex() const override
void addWidget(QWidget *widget) override
int count() const override
QWidget * widget(int index) const override
void remove(int index) override
bool canRemove(int) const override
bool canAddWidget() const override
void insertWidget(int index, QWidget *widget) override
void setCurrentIndex(int index) override
static const char * pageIdProperty
bool reset(int index) override
bool isVisible(int index) const override
void setProperty(int index, const QVariant &value) override
~SpacerPropertySheet() override
bool dynamicPropertiesAllowed() const override
bool isVisible(int index) const override
QString name() const override
QWidget * createPage(QWidget *parent) override
Combined button and popup list for selecting options.
Auxiliary methods to store/retrieve settings.
QDesignerPropertySheetFactory< QWizardPage, QWizardPagePropertySheet > QWizardPagePropertySheetFactory
#define QDESIGNER_SHARED_EXPORT