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
4//
5// W A R N I N G
6// -------------
7//
8// This file is not part of the Qt API. It exists for the convenience
9// of Qt Designer. This header
10// file may change from version to version without notice, or even be removed.
11//
12// We mean it.
13//
14
15#ifndef QDESIGNER_TOOLBOX_H
16#define QDESIGNER_TOOLBOX_H
17
21#include <QtGui/qpalette.h>
22
24
25namespace qdesigner_internal {
26 class PromotionTaskMenu;
27}
28
29class QToolBox;
30
31class QAction;
32class QMenu;
33
35{
36 Q_OBJECT
37
38 explicit QToolBoxHelper(QToolBox *toolbox);
39public:
40 // Install helper on QToolBox
41 static void install(QToolBox *toolbox);
42 static QToolBoxHelper *helperOf(const QToolBox *toolbox);
43 // Convenience to add a menu on a toolbox
44 static QMenu *addToolBoxContextMenuActions(const QToolBox *toolbox, QMenu *popup);
45
46 QPalette::ColorRole currentItemBackgroundRole() const;
47 void setCurrentItemBackgroundRole(QPalette::ColorRole role);
48
49 bool eventFilter(QObject *watched, QEvent *event) override;
50 // Add context menu and return page submenu or 0.
51
52 QMenu *addContextMenuActions(QMenu *popup) const;
53
54private slots:
55 void removeCurrentPage();
56 void addPage();
57 void addPageAfter();
58 void changeOrder();
59
60private:
61 QToolBox *m_toolbox;
62 QAction *m_actionDeletePage;
63 QAction *m_actionInsertPage;
64 QAction *m_actionInsertPageAfter;
65 QAction *m_actionChangePageOrder;
66 qdesigner_internal::PromotionTaskMenu* m_pagePromotionTaskMenu;
67};
68
69// PropertySheet to handle the page properties
70class QDESIGNER_SHARED_EXPORT QToolBoxWidgetPropertySheet : public QDesignerPropertySheet {
71public:
72 explicit QToolBoxWidgetPropertySheet(QToolBox *object, QObject *parent = nullptr);
73
74 void setProperty(int index, const QVariant &value) override;
75 QVariant property(int index) const override;
76 bool reset(int index) override;
77 bool isEnabled(int index) const override;
78
79 // Check whether the property is to be saved. Returns false for the page
80 // properties (as the property sheet has no concept of 'stored')
81 static bool checkProperty(const QString &propertyName);
82
83private:
84 enum ToolBoxProperty { PropertyCurrentItemText, PropertyCurrentItemName, PropertyCurrentItemIcon,
85 PropertyCurrentItemToolTip, PropertyTabSpacing, PropertyToolBoxNone };
86
87 static ToolBoxProperty toolBoxPropertyFromName(const QString &name);
88 QToolBox *m_toolBox;
89 struct PageData
90 {
91 qdesigner_internal::PropertySheetStringValue text;
92 qdesigner_internal::PropertySheetStringValue tooltip;
93 qdesigner_internal::PropertySheetIconValue icon;
94 };
95 QHash<QWidget *, PageData> m_pageToData;
96};
97
98using QToolBoxWidgetPropertySheetFactory = QDesignerPropertySheetFactory<QToolBox, QToolBoxWidgetPropertySheet>;
99
100QT_END_NAMESPACE
101
102#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:421
FormEditorOptionsPage(QDesignerFormEditorInterface *core)
QWidget * createPage(QWidget *parent) override
FormEditor(const QStringList &pluginPaths, QObject *parent=nullptr)
void setProperty(int index, const QVariant &value) override
static void markChangedStretchProperties(QDesignerFormEditorInterface *core, QLayout *lt, const DomLayout *domLayout)
static void stretchAttributesToDom(QDesignerFormEditorInterface *core, QLayout *lt, DomLayout *domLayout)
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.
#define QDESIGNER_SHARED_EXPORT