Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qdesigner_toolbox_p.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
3// Qt-Security score:significant reason:default
4
5//
6// W A R N I N G
7// -------------
8//
9// This file is not part of the Qt API. It exists for the convenience
10// of Qt Designer. This header
11// file may change from version to version without notice, or even be removed.
12//
13// We mean it.
14//
15
16#ifndef QDESIGNER_TOOLBOX_H
17#define QDESIGNER_TOOLBOX_H
18
22#include <QtGui/qpalette.h>
23
25
26namespace qdesigner_internal {
27 class PromotionTaskMenu;
28}
29
30class QToolBox;
31
32class QAction;
33class QMenu;
34
36{
37 Q_OBJECT
38
39 explicit QToolBoxHelper(QToolBox *toolbox);
40public:
41 // Install helper on QToolBox
42 static void install(QToolBox *toolbox);
43 static QToolBoxHelper *helperOf(const QToolBox *toolbox);
44 // Convenience to add a menu on a toolbox
45 static QMenu *addToolBoxContextMenuActions(const QToolBox *toolbox, QMenu *popup);
46
47 QPalette::ColorRole currentItemBackgroundRole() const;
48 void setCurrentItemBackgroundRole(QPalette::ColorRole role);
49
50 bool eventFilter(QObject *watched, QEvent *event) override;
51 // Add context menu and return page submenu or 0.
52
53 QMenu *addContextMenuActions(QMenu *popup) const;
54
55private slots:
56 void removeCurrentPage();
57 void addPage();
58 void addPageAfter();
59 void changeOrder();
60
61private:
62 QToolBox *m_toolbox;
63 QAction *m_actionDeletePage;
64 QAction *m_actionInsertPage;
65 QAction *m_actionInsertPageAfter;
66 QAction *m_actionChangePageOrder;
67 qdesigner_internal::PromotionTaskMenu* m_pagePromotionTaskMenu;
68};
69
70// PropertySheet to handle the page properties
71class QDESIGNER_SHARED_EXPORT QToolBoxWidgetPropertySheet : public QDesignerPropertySheet {
72public:
73 explicit QToolBoxWidgetPropertySheet(QToolBox *object, QObject *parent = nullptr);
74
75 void setProperty(int index, const QVariant &value) override;
76 QVariant property(int index) const override;
77 bool reset(int index) override;
78 bool isEnabled(int index) const override;
79
80 // Check whether the property is to be saved. Returns false for the page
81 // properties (as the property sheet has no concept of 'stored')
82 static bool checkProperty(const QString &propertyName);
83
84private:
85 enum ToolBoxProperty { PropertyCurrentItemText, PropertyCurrentItemName, PropertyCurrentItemIcon,
86 PropertyCurrentItemToolTip, PropertyTabSpacing, PropertyToolBoxNone };
87
88 static ToolBoxProperty toolBoxPropertyFromName(const QString &name);
89 QToolBox *m_toolBox;
90 struct PageData
91 {
92 qdesigner_internal::PropertySheetStringValue text;
93 qdesigner_internal::PropertySheetStringValue tooltip;
94 qdesigner_internal::PropertySheetIconValue icon;
95 };
96 QHash<QWidget *, PageData> m_pageToData;
97};
98
99using QToolBoxWidgetPropertySheetFactory = QDesignerPropertySheetFactory<QToolBox, QToolBoxWidgetPropertySheet>;
100
101QT_END_NAMESPACE
102
103#endif // QDESIGNER_TOOLBOX_H
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)
friend class QWidget
Definition qpainter.h:432
FormEditorOptionsPage(QDesignerFormEditorInterface *core)
QWidget * createPage(QWidget *parent) override
FormEditor(const QStringList &pluginPaths, QObject *parent=nullptr)
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
bool isVisible(int index) const override
void setProperty(int index, const QVariant &value) override
void setProperty(int index, const QVariant &value) override
QWidget * widget(int index) const override
void insertWidget(int index, QWidget *widget) override
void addWidget(QWidget *widget) override
static void positionNewMdiChild(const QWidget *area, QWidget *mdiChild)
QWidget * widget(int index) const override
void insertWidget(int index, QWidget *widget) override
void setProperty(int index, const QVariant &value) override
static bool checkProperty(const QString &propertyName)
QVariant property(int index) const override
void addWidget(QWidget *widget) override
QWidget * widget(int index) const override
void insertWidget(int index, QWidget *widget) override
bool isVisible(int index) const override
void setProperty(int index, const QVariant &value) override
QWidget * createPage(QWidget *parent) override
static QString chooseTemplatePath(QDesignerFormEditorInterface *core, QWidget *parent)
#define QT_FORMEDITOR_EXPORT
Combined button and popup list for selecting options.
Auxiliary methods to store/retrieve settings.
QDesignerPropertySheetFactory< QWizardPage, QWizardPagePropertySheet > QWizardPagePropertySheetFactory
#define QDESIGNER_SHARED_EXPORT