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
abstractformwindow.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#ifndef ABSTRACTFORMWINDOW_H
6#define ABSTRACTFORMWINDOW_H
7
8#include <QtDesigner/sdk_global.h>
9
10#include <QtWidgets/qwidget.h>
11
12QT_BEGIN_NAMESPACE
13
14class QDesignerFormEditorInterface;
15class QDesignerFormWindowCursorInterface;
16class QDesignerFormWindowToolInterface;
17class QUndoStack;
18class QDir;
19class QtResourceSet;
20
21class QDESIGNER_SDK_EXPORT QDesignerFormWindowInterface: public QWidget
22{
23 Q_OBJECT
24public:
25 enum FeatureFlag
26 {
27 EditFeature = 0x01,
28 GridFeature = 0x02,
29 TabOrderFeature = 0x04,
30 DefaultFeature = EditFeature | GridFeature
31 };
32 Q_DECLARE_FLAGS(Feature, FeatureFlag)
33
34 enum ResourceFileSaveMode
35 {
36 SaveAllResourceFiles,
37 SaveOnlyUsedResourceFiles,
38 DontSaveResourceFiles
39 };
40 Q_ENUM(ResourceFileSaveMode)
41
42 explicit QDesignerFormWindowInterface(QWidget *parent = nullptr, Qt::WindowFlags flags = {});
43 virtual ~QDesignerFormWindowInterface();
44
45 virtual QString fileName() const = 0;
46 virtual QDir absoluteDir() const = 0;
47
48 virtual QString contents() const = 0;
49 virtual QStringList checkContents() const = 0;
50 virtual bool setContents(QIODevice *dev, QString *errorMessage = nullptr) = 0;
51
52 virtual Feature features() const = 0;
53 virtual bool hasFeature(Feature f) const = 0;
54
55 virtual QString author() const = 0;
56 virtual void setAuthor(const QString &author) = 0;
57
58 virtual QString comment() const = 0;
59 virtual void setComment(const QString &comment) = 0;
60
61 virtual void layoutDefault(int *margin, int *spacing) = 0;
62 virtual void setLayoutDefault(int margin, int spacing) = 0;
63
64 virtual void layoutFunction(QString *margin, QString *spacing) = 0;
65 virtual void setLayoutFunction(const QString &margin, const QString &spacing) = 0;
66
67 virtual QString pixmapFunction() const = 0;
68 virtual void setPixmapFunction(const QString &pixmapFunction) = 0;
69
70 virtual QString exportMacro() const = 0;
71 virtual void setExportMacro(const QString &exportMacro) = 0;
72
73 virtual QStringList includeHints() const = 0;
74 virtual void setIncludeHints(const QStringList &includeHints) = 0;
75
76 virtual ResourceFileSaveMode resourceFileSaveMode() const = 0;
77 virtual void setResourceFileSaveMode(ResourceFileSaveMode behaviour) = 0;
78
79 virtual QtResourceSet *resourceSet() const = 0;
80 virtual void setResourceSet(QtResourceSet *resourceSet) = 0;
81
82 QStringList activeResourceFilePaths() const;
83
84 virtual QDesignerFormEditorInterface *core() const;
85 virtual QDesignerFormWindowCursorInterface *cursor() const = 0;
86
87 virtual int toolCount() const = 0;
88
89 virtual int currentTool() const = 0;
90 virtual void setCurrentTool(int index) = 0;
91
92 virtual QDesignerFormWindowToolInterface *tool(int index) const = 0;
93 virtual void registerTool(QDesignerFormWindowToolInterface *tool) = 0;
94
95 virtual QPoint grid() const = 0;
96
97 virtual QWidget *mainContainer() const = 0;
98 virtual void setMainContainer(QWidget *mainContainer) = 0;
99 virtual QWidget *formContainer() const = 0;
100
101 virtual bool isManaged(QWidget *widget) const = 0;
102
103 virtual bool isDirty() const = 0;
104
105 static QDesignerFormWindowInterface *findFormWindow(QWidget *w);
106 static QDesignerFormWindowInterface *findFormWindow(QObject *obj);
107
108 virtual QUndoStack *commandHistory() const = 0;
109 virtual void beginCommand(const QString &description) = 0;
110 virtual void endCommand() = 0;
111
112 virtual void simplifySelection(QList<QWidget*> *widgets) const = 0;
113
114 // notifications
115 virtual void emitSelectionChanged() = 0;
116
117 virtual QStringList resourceFiles() const = 0;
118 virtual void addResourceFile(const QString &path) = 0;
119 virtual void removeResourceFile(const QString &path) = 0;
120
121 virtual void ensureUniqueObjectName(QObject *object) = 0;
122
123public Q_SLOTS:
124 virtual void manageWidget(QWidget *widget) = 0;
125 virtual void unmanageWidget(QWidget *widget) = 0;
126
127 virtual void setFeatures(Feature f) = 0;
128 virtual void setDirty(bool dirty) = 0;
129 virtual void clearSelection(bool changePropertyDisplay = true) = 0;
130 virtual void selectWidget(QWidget *w, bool select = true) = 0;
131 virtual void setGrid(const QPoint &grid) = 0;
132 virtual void setFileName(const QString &fileName) = 0;
133 virtual bool setContents(const QString &contents) = 0;
134
135 virtual void editWidgets() = 0;
136 void activateResourceFilePaths(const QStringList &paths, int *errorCount = nullptr, QString *errorMessages = nullptr);
137
138Q_SIGNALS:
139 void mainContainerChanged(QWidget *mainContainer);
140 void toolChanged(int toolIndex);
141 void fileNameChanged(const QString &fileName);
142 void featureChanged(Feature f);
143 void selectionChanged();
144 void geometryChanged();
145
146 void resourceFilesChanged();
147
148 void widgetManaged(QWidget *widget);
149 void widgetUnmanaged(QWidget *widget);
150 void aboutToUnmanageWidget(QWidget *widget);
151 void activated(QWidget *widget);
152
153 void changed();
154 void widgetRemoved(QWidget *w);
155 void objectRemoved(QObject *o);
156};
157
158QT_END_NAMESPACE
159
160#endif // ABSTRACTFORMWINDOW_H
The QDesignerFormWindowInterface class allows you to query and manipulate form windows appearing in \...
TaskMenuInlineEditor(QWidget *w, TextPropertyValidationMode vm, const QString &property, QObject *parent)
Combined button and popup list for selecting options.
Auxiliary methods to store/retrieve settings.