4#ifndef QDESIGNER_WORKBENCH_H
5#define QDESIGNER_WORKBENCH_H
9#include <QtCore/qhash.h>
10#include <QtCore/qlist.h>
11#include <QtCore/qobject.h>
12#include <QtCore/qpointer.h>
13#include <QtCore/qrect.h>
14#include <QtCore/qset.h>
35class QDesignerFormEditorInterface;
36class QDesignerFormWindowInterface;
37class QDesignerFormWindowManagerInterface;
38class QDesignerIntegration;
50 QDesignerFormEditorInterface *
core()
const;
55 const QString &editorFileName,
56 QString *errorMessage);
68 bool readInForm(
const QString &fileName)
const;
69 bool writeOutForm(QDesignerFormWindowInterface *formWindow,
const QString &fileName)
const;
70 bool saveForm(QDesignerFormWindowInterface *fw);
92 void switchToDockedMode();
93 void switchToTopLevelMode();
94 void initializeCorePlugins();
95 void handleCloseEvent(QCloseEvent *);
97 void updateWindowMenu(QDesignerFormWindowInterface *fw);
98 void formWindowActionTriggered(QAction *a);
99 void adjustMDIFormPositions();
100 void minimizationStateChanged(QDesignerFormWindowInterface *formWindow,
bool minimized);
102 void restoreUISettings();
103 void notifyUISettingsChanged();
104 void slotFileDropped(
const QString &f);
107 QScreen *screen()
const;
108 QRect availableFormGeometry()
const;
110 Qt::WindowFlags magicalWindowFlags(
const QWidget *widgetForFlags)
const;
111 QDesignerFormWindowManagerInterface *formWindowManager()
const;
112 void closeAllToolWindows();
114 QDesignerFormWindow *loadForm(
const QString &fileName,
bool detectLineTermiantorMode, QString *errorMessage);
116 void saveGeometriesForModeChange();
121 void saveSettings()
const;
123 QDesignerFormEditorInterface *m_core;
124 QDesignerIntegration *m_integration;
127 QActionGroup *m_windowActions;
131 QPointer<QMenuBar> m_globalMenuBar;
133 struct TopLevelData {
135 QList<QToolBar *> toolbars;
137 TopLevelData m_topLevelData;
140 QPointer<DockedMainWindow> m_dockedMainWindow;
142 QList<QDesignerToolWindow *> m_toolWindows;
143 QList<QDesignerFormWindow *> m_formWindows;
145 QMenu *m_toolbarMenu;
151 explicit Position(
const QDockWidget *dockWidget);
152 explicit Position(
const QMdiSubWindow *mdiSubWindow);
153 explicit Position(
const QWidget *topLevelWindow);
155 void applyTo(QMdiSubWindow *mdiSubWindow,
const QPoint &mdiAreaOffset)
const;
156 void applyTo(
QWidget *topLevelWindow,
const QPoint &desktopTopLeft)
const;
157 void applyTo(QDockWidget *dockWidget)
const;
159 QPoint position()
const {
return m_position; }
167 PositionMap m_Positions;
169 enum State { StateInitializing, StateUp, StateClosing };
170 State m_state = StateInitializing;
171 bool m_uiSettingsChanged =
false;
172 bool m_suppressNewFormShow =
false;
bool activateIdentifier(const QString &identifier, QString *errorMessage)
bool showPage(const QString &path, QString *errorMessage)
static QString qtReferenceManualUrl(int qtVersion=0)
static QString designerManualUrl(int qtVersion=0)
static QString documentUrl(const QString &prefix, int qtVersion=0)
bool activateKeyword(const QString &keyword, QString *errorMessage)
void restoreSettings(const QDesignerSettings &s, const DockWidgetList &dws, const QRect &desktopArea)
DockedMainWindow(QDesignerWorkbench *wb, QMenu *toolBarMenu, const DesignerToolWindowList &toolWindows)
DockWidgetList addToolWindows(const DesignerToolWindowList &toolWindows)
void saveSettings(QDesignerSettings &) const
QMdiSubWindow * createMdiSubWindow(QWidget *fw, Qt::WindowFlags f, const QKeySequence &designerCloseActionShortCut)
QMdiArea * mdiArea() const
void formWindowActivated(QDesignerFormWindow *)
bool event(QEvent *event) override
static QString mainWindowTitle()
CloseEventPolicy closeEventPolicy() const
void closeEvent(QCloseEvent *e) override
This event handler is called with the given event when Qt receives a window close request for a top-l...
static int settingsVersion()
static QList< QToolBar * > createToolBars(const QDesignerActions *actions, bool singleToolBar)
void setCloseEventPolicy(CloseEventPolicy pol)
QActionGroup * helpActions() const
QActionGroup * fileActions() const
QActionGroup * settingsActions() const
QAction * minimizeAction() const
QActionGroup * styleActions() const
~QDesignerActions() override
QActionGroup * editActions() const
QActionGroup * uiMode() const
bool writeOutForm(QDesignerFormWindowInterface *formWindow, const QString &fileName, bool check=true)
QString uiExtension() const
QActionGroup * formActions() const
bool openForm(QWidget *parent)
QDesignerFormEditorInterface * core() const
QActionGroup * toolActions() const
QAction * previewFormAction() const
QActionGroup * windowActions() const
bool readInForm(const QString &fileName)
QAction * closeFormAction() const
void setWindowListSeparatorVisible(bool visible)
bool saveForm(QDesignerFormWindowInterface *fw)
QAction * editWidgets() const
QAction * openFormAction() const
QAction * viewCodeAction() const
QDesignerWorkbench * workbench() const
void helpRequested(const QString &manual, const QString &document)
static const char * defaultToolbarPropertyName
void setBringAllToFrontVisible(bool visible)
QActionGroup * recentFilesActions() const
QStringList recentFilesList() const
void setToolWindowFont(const ToolWindowFontSettings &fontSettings)
void setShowNewFormOnStartup(bool showIt)
void setUiMode(UIMode mode)
void setBackup(const QMap< QString, QString > &map)
QVariant value(const QString &key, const QVariant &defaultValue=QVariant()) const
void restoreGeometry(QWidget *w, QRect fallBack=QRect()) const
QByteArray mainWindowState(UIMode mode) const
QDesignerSettings(QDesignerFormEditorInterface *core)
QMap< QString, QString > backup() const
QByteArray toolBarsState(UIMode mode) const
void setRecentFilesList(const QStringList &list)
void setValue(const QString &key, const QVariant &value)
ToolWindowFontSettings toolWindowFont() const
void saveGeometryFor(const QWidget *w)
bool showNewFormOnStartup() const
~QDesignerWorkbench() override
QDesignerActions * actionManager() const
int formWindowCount() const
QActionGroup * modeActionGroup() const
QDesignerToolWindow * toolWindow(int index) const
void toggleFormMinimizationState()
bool saveForm(QDesignerFormWindowInterface *fw)
QDesignerFormEditorInterface * core() const
void setSuppressNewFormShow(bool v)
bool suppressNewFormShow() const
QDesignerFormWindow * formWindow(int index) const
int toolWindowCount() const
void removeFormWindow(QDesignerFormWindow *formWindow)
void updateBackup(QDesignerFormWindowInterface *fwi)
Combined button and popup list for selecting options.
Auxiliary methods to store/retrieve settings.
TextPropertyValidationMode
@ ValidationObjectNameScope
static void addActionsToToolBar(const ActionList &actions, QToolBar *t)
static void addActionsToToolBarManager(const ActionList &al, const QString &title, QtToolBarManager *tbm)
static QToolBar * createToolBar(const QString &title, const QString &objectName, const ActionList &actions)
bool toolBarTitleLessThan(const QToolBar *t1, const QToolBar *t2)
#define QDESIGNER_SHARED_EXPORT
#define QDESIGNER_SHARED_IMPORT