forked from qt-creator/qt-creator
Remove duplicated Qt 4 private headers used for building the Qt Designer plugin.
As of Qt 5, the Qt Designer integration no longer relies on private Qt Designer headers. Change-Id: Ib2909e856232491e9067ccc9cad6df86e9da086b Reviewed-by: hjk <hjk@theqtcompany.com>
This commit is contained in:
@@ -45,11 +45,3 @@ designer's internal file watcher updates the changes to qrc files silently.
|
|||||||
|
|
||||||
A call to setResourceEditingEnabled(false) removes the edit resources action
|
A call to setResourceEditingEnabled(false) removes the edit resources action
|
||||||
form resource browser in designer
|
form resource browser in designer
|
||||||
|
|
||||||
Building
|
|
||||||
--------
|
|
||||||
|
|
||||||
The plugin accesses some private headers of Qt Designer 4.5.
|
|
||||||
Copies of them are located in qt_private to achieve a clean build
|
|
||||||
from a standard Qt distribution. The script syncqtheader.sh
|
|
||||||
can be used to update them.
|
|
||||||
|
@@ -1,77 +0,0 @@
|
|||||||
/****************************************************************************
|
|
||||||
**
|
|
||||||
** Copyright (C) 2015 The Qt Company Ltd.
|
|
||||||
** Contact: http://www.qt.io/licensing
|
|
||||||
**
|
|
||||||
** This file is part of Qt Creator.
|
|
||||||
**
|
|
||||||
** Commercial License Usage
|
|
||||||
** Licensees holding valid commercial Qt licenses may use this file in
|
|
||||||
** accordance with the commercial license agreement provided with the
|
|
||||||
** Software or, alternatively, in accordance with the terms contained in
|
|
||||||
** a written agreement between you and The Qt Company. For licensing terms and
|
|
||||||
** conditions see http://www.qt.io/terms-conditions. For further information
|
|
||||||
** use the contact form at http://www.qt.io/contact-us.
|
|
||||||
**
|
|
||||||
** GNU Lesser General Public License Usage
|
|
||||||
** Alternatively, this file may be used under the terms of the GNU Lesser
|
|
||||||
** General Public License version 2.1 or version 3 as published by the Free
|
|
||||||
** Software Foundation and appearing in the file LICENSE.LGPLv21 and
|
|
||||||
** LICENSE.LGPLv3 included in the packaging of this file. Please review the
|
|
||||||
** following information to ensure the GNU Lesser General Public License
|
|
||||||
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
|
|
||||||
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
|
||||||
**
|
|
||||||
** In addition, as a special exception, The Qt Company gives you certain additional
|
|
||||||
** rights. These rights are described in The Qt Company LGPL Exception
|
|
||||||
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
|
||||||
**
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
//
|
|
||||||
// W A R N I N G
|
|
||||||
// -------------
|
|
||||||
//
|
|
||||||
// This file is not part of the Qt API. It exists for the convenience
|
|
||||||
// of Qt Designer. This header
|
|
||||||
// file may change from version to version without notice, or even be removed.
|
|
||||||
//
|
|
||||||
// We mean it.
|
|
||||||
//
|
|
||||||
|
|
||||||
#ifndef ABSTRACTNEWFORMWIDGET_H
|
|
||||||
#define ABSTRACTNEWFORMWIDGET_H
|
|
||||||
|
|
||||||
#include <sdk_global.h>
|
|
||||||
|
|
||||||
#include <QWidget>
|
|
||||||
|
|
||||||
QT_BEGIN_HEADER
|
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
|
||||||
|
|
||||||
class QDesignerFormEditorInterface;
|
|
||||||
|
|
||||||
class QDESIGNER_SDK_EXPORT QDesignerNewFormWidgetInterface : public QWidget
|
|
||||||
{
|
|
||||||
Q_DISABLE_COPY(QDesignerNewFormWidgetInterface)
|
|
||||||
Q_OBJECT
|
|
||||||
public:
|
|
||||||
explicit QDesignerNewFormWidgetInterface(QWidget *parent = 0);
|
|
||||||
virtual ~QDesignerNewFormWidgetInterface();
|
|
||||||
|
|
||||||
virtual bool hasCurrentTemplate() const = 0;
|
|
||||||
virtual QString currentTemplate(QString *errorMessage = 0) = 0;
|
|
||||||
|
|
||||||
static QDesignerNewFormWidgetInterface *createNewFormWidget(QDesignerFormEditorInterface *core, QWidget *parent = 0);
|
|
||||||
|
|
||||||
Q_SIGNALS:
|
|
||||||
void templateActivated();
|
|
||||||
void currentTemplateChanged(bool templateSelected);
|
|
||||||
};
|
|
||||||
|
|
||||||
QT_END_NAMESPACE
|
|
||||||
|
|
||||||
QT_END_HEADER
|
|
||||||
|
|
||||||
#endif // ABSTRACTNEWFORMWIDGET_H
|
|
@@ -1,68 +0,0 @@
|
|||||||
/****************************************************************************
|
|
||||||
**
|
|
||||||
** Copyright (C) 2015 The Qt Company Ltd.
|
|
||||||
** Contact: http://www.qt.io/licensing
|
|
||||||
**
|
|
||||||
** This file is part of Qt Creator.
|
|
||||||
**
|
|
||||||
** Commercial License Usage
|
|
||||||
** Licensees holding valid commercial Qt licenses may use this file in
|
|
||||||
** accordance with the commercial license agreement provided with the
|
|
||||||
** Software or, alternatively, in accordance with the terms contained in
|
|
||||||
** a written agreement between you and The Qt Company. For licensing terms and
|
|
||||||
** conditions see http://www.qt.io/terms-conditions. For further information
|
|
||||||
** use the contact form at http://www.qt.io/contact-us.
|
|
||||||
**
|
|
||||||
** GNU Lesser General Public License Usage
|
|
||||||
** Alternatively, this file may be used under the terms of the GNU Lesser
|
|
||||||
** General Public License version 2.1 or version 3 as published by the Free
|
|
||||||
** Software Foundation and appearing in the file LICENSE.LGPLv21 and
|
|
||||||
** LICENSE.LGPLv3 included in the packaging of this file. Please review the
|
|
||||||
** following information to ensure the GNU Lesser General Public License
|
|
||||||
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
|
|
||||||
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
|
||||||
**
|
|
||||||
** In addition, as a special exception, The Qt Company gives you certain additional
|
|
||||||
** rights. These rights are described in The Qt Company LGPL Exception
|
|
||||||
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
|
||||||
**
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
//
|
|
||||||
// W A R N I N G
|
|
||||||
// -------------
|
|
||||||
//
|
|
||||||
// This file is not part of the Qt API. It exists for the convenience
|
|
||||||
// of Qt Designer. This header
|
|
||||||
// file may change from version to version without notice, or even be removed.
|
|
||||||
//
|
|
||||||
// We mean it.
|
|
||||||
//
|
|
||||||
|
|
||||||
#ifndef ABSTRACTOPTIONSPAGE_P_H
|
|
||||||
#define ABSTRACTOPTIONSPAGE_P_H
|
|
||||||
|
|
||||||
#include <sdk_global.h>
|
|
||||||
|
|
||||||
QT_BEGIN_HEADER
|
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
|
||||||
|
|
||||||
class QString;
|
|
||||||
class QWidget;
|
|
||||||
|
|
||||||
class QDESIGNER_SDK_EXPORT QDesignerOptionsPageInterface
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
virtual ~QDesignerOptionsPageInterface() {}
|
|
||||||
virtual QString name() const = 0;
|
|
||||||
virtual QWidget *createPage(QWidget *parent) = 0;
|
|
||||||
virtual void apply() = 0;
|
|
||||||
virtual void finish() = 0;
|
|
||||||
};
|
|
||||||
|
|
||||||
QT_END_NAMESPACE
|
|
||||||
|
|
||||||
QT_END_HEADER
|
|
||||||
|
|
||||||
#endif // ABSTRACTOPTIONSPAGE_P_H
|
|
@@ -1,72 +0,0 @@
|
|||||||
/****************************************************************************
|
|
||||||
**
|
|
||||||
** Copyright (C) 2015 The Qt Company Ltd.
|
|
||||||
** Contact: http://www.qt.io/licensing
|
|
||||||
**
|
|
||||||
** This file is part of Qt Creator.
|
|
||||||
**
|
|
||||||
** Commercial License Usage
|
|
||||||
** Licensees holding valid commercial Qt licenses may use this file in
|
|
||||||
** accordance with the commercial license agreement provided with the
|
|
||||||
** Software or, alternatively, in accordance with the terms contained in
|
|
||||||
** a written agreement between you and The Qt Company. For licensing terms and
|
|
||||||
** conditions see http://www.qt.io/terms-conditions. For further information
|
|
||||||
** use the contact form at http://www.qt.io/contact-us.
|
|
||||||
**
|
|
||||||
** GNU Lesser General Public License Usage
|
|
||||||
** Alternatively, this file may be used under the terms of the GNU Lesser
|
|
||||||
** General Public License version 2.1 or version 3 as published by the Free
|
|
||||||
** Software Foundation and appearing in the file LICENSE.LGPLv21 and
|
|
||||||
** LICENSE.LGPLv3 included in the packaging of this file. Please review the
|
|
||||||
** following information to ensure the GNU Lesser General Public License
|
|
||||||
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
|
|
||||||
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
|
||||||
**
|
|
||||||
** In addition, as a special exception, The Qt Company gives you certain additional
|
|
||||||
** rights. These rights are described in The Qt Company LGPL Exception
|
|
||||||
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
|
||||||
**
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
//
|
|
||||||
// W A R N I N G
|
|
||||||
// -------------
|
|
||||||
//
|
|
||||||
// This file is not part of the Qt API. It exists for the convenience
|
|
||||||
// of Qt Designer. This header
|
|
||||||
// file may change from version to version without notice, or even be removed.
|
|
||||||
//
|
|
||||||
// We mean it.
|
|
||||||
//
|
|
||||||
|
|
||||||
#ifndef ABSTRACTSETTINGS_P_H
|
|
||||||
#define ABSTRACTSETTINGS_P_H
|
|
||||||
|
|
||||||
#include <sdk_global.h>
|
|
||||||
|
|
||||||
#include <QVariant>
|
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
|
||||||
|
|
||||||
class QString;
|
|
||||||
|
|
||||||
/*!
|
|
||||||
To be implemented by IDEs that want to control the way designer retrieves/stores its settings.
|
|
||||||
*/
|
|
||||||
class QDESIGNER_SDK_EXPORT QDesignerSettingsInterface
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
virtual ~QDesignerSettingsInterface() {}
|
|
||||||
|
|
||||||
virtual void beginGroup(const QString &prefix) = 0;
|
|
||||||
virtual void endGroup() = 0;
|
|
||||||
|
|
||||||
virtual bool contains(const QString &key) const = 0;
|
|
||||||
virtual void setValue(const QString &key, const QVariant &value) = 0;
|
|
||||||
virtual QVariant value(const QString &key, const QVariant &defaultValue = QVariant()) const = 0;
|
|
||||||
virtual void remove(const QString &key) = 0;
|
|
||||||
};
|
|
||||||
|
|
||||||
QT_END_NAMESPACE
|
|
||||||
|
|
||||||
#endif // ABSTRACTSETTINGS_P_H
|
|
@@ -1,194 +0,0 @@
|
|||||||
/****************************************************************************
|
|
||||||
**
|
|
||||||
** Copyright (C) 2015 The Qt Company Ltd.
|
|
||||||
** Contact: http://www.qt.io/licensing
|
|
||||||
**
|
|
||||||
** This file is part of Qt Creator.
|
|
||||||
**
|
|
||||||
** Commercial License Usage
|
|
||||||
** Licensees holding valid commercial Qt licenses may use this file in
|
|
||||||
** accordance with the commercial license agreement provided with the
|
|
||||||
** Software or, alternatively, in accordance with the terms contained in
|
|
||||||
** a written agreement between you and The Qt Company. For licensing terms and
|
|
||||||
** conditions see http://www.qt.io/terms-conditions. For further information
|
|
||||||
** use the contact form at http://www.qt.io/contact-us.
|
|
||||||
**
|
|
||||||
** GNU Lesser General Public License Usage
|
|
||||||
** Alternatively, this file may be used under the terms of the GNU Lesser
|
|
||||||
** General Public License version 2.1 or version 3 as published by the Free
|
|
||||||
** Software Foundation and appearing in the file LICENSE.LGPLv21 and
|
|
||||||
** LICENSE.LGPLv3 included in the packaging of this file. Please review the
|
|
||||||
** following information to ensure the GNU Lesser General Public License
|
|
||||||
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
|
|
||||||
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
|
||||||
**
|
|
||||||
** In addition, as a special exception, The Qt Company gives you certain additional
|
|
||||||
** rights. These rights are described in The Qt Company LGPL Exception
|
|
||||||
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
|
||||||
**
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
//
|
|
||||||
// W A R N I N G
|
|
||||||
// -------------
|
|
||||||
//
|
|
||||||
// This file is not part of the Qt API. It exists for the convenience
|
|
||||||
// of Qt Designer. This header
|
|
||||||
// file may change from version to version without notice, or even be removed.
|
|
||||||
//
|
|
||||||
// We mean it.
|
|
||||||
//
|
|
||||||
|
|
||||||
#ifndef FORMWINDOWBASE_H
|
|
||||||
#define FORMWINDOWBASE_H
|
|
||||||
|
|
||||||
#include "shared_global_p.h"
|
|
||||||
|
|
||||||
#include <QDesignerFormWindowInterface>
|
|
||||||
|
|
||||||
#include <QVariantMap>
|
|
||||||
#include <QList>
|
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
|
||||||
|
|
||||||
class QDesignerDnDItemInterface;
|
|
||||||
class QMenu;
|
|
||||||
class QtResourceSet;
|
|
||||||
class QDesignerPropertySheet;
|
|
||||||
|
|
||||||
namespace qdesigner_internal {
|
|
||||||
|
|
||||||
class QEditorFormBuilder;
|
|
||||||
class DeviceProfile;
|
|
||||||
class Grid;
|
|
||||||
|
|
||||||
class DesignerPixmapCache;
|
|
||||||
class DesignerIconCache;
|
|
||||||
class FormWindowBasePrivate;
|
|
||||||
|
|
||||||
class QDESIGNER_SHARED_EXPORT FormWindowBase: public QDesignerFormWindowInterface
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
public:
|
|
||||||
enum HighlightMode { Restore, Highlight };
|
|
||||||
enum SaveResourcesBehaviour { SaveAll, SaveOnlyUsedQrcFiles, DontSaveQrcFiles };
|
|
||||||
|
|
||||||
explicit FormWindowBase(QDesignerFormEditorInterface *core, QWidget *parent = 0, Qt::WindowFlags flags = 0);
|
|
||||||
virtual ~FormWindowBase();
|
|
||||||
|
|
||||||
QVariantMap formData();
|
|
||||||
void setFormData(const QVariantMap &vm);
|
|
||||||
|
|
||||||
// Return contents without warnings. Should be 'contents(bool quiet)'
|
|
||||||
QString fileContents() const;
|
|
||||||
|
|
||||||
// Return the widget containing the form. This is used to
|
|
||||||
// apply embedded design settings to that are inherited (for example font).
|
|
||||||
// These are meant to be applied to the form only and not to the other editors
|
|
||||||
// in the widget stack.
|
|
||||||
virtual QWidget *formContainer() const = 0;
|
|
||||||
|
|
||||||
// Deprecated
|
|
||||||
virtual QPoint grid() const;
|
|
||||||
|
|
||||||
// Deprecated
|
|
||||||
virtual void setGrid(const QPoint &grid);
|
|
||||||
|
|
||||||
virtual bool hasFeature(Feature f) const;
|
|
||||||
virtual Feature features() const;
|
|
||||||
virtual void setFeatures(Feature f);
|
|
||||||
|
|
||||||
const Grid &designerGrid() const;
|
|
||||||
void setDesignerGrid(const Grid& grid);
|
|
||||||
|
|
||||||
bool hasFormGrid() const;
|
|
||||||
void setHasFormGrid(bool b);
|
|
||||||
|
|
||||||
bool gridVisible() const;
|
|
||||||
|
|
||||||
SaveResourcesBehaviour saveResourcesBehaviour() const;
|
|
||||||
void setSaveResourcesBehaviour(SaveResourcesBehaviour behaviour);
|
|
||||||
|
|
||||||
static const Grid &defaultDesignerGrid();
|
|
||||||
static void setDefaultDesignerGrid(const Grid& grid);
|
|
||||||
|
|
||||||
// Overwrite to initialize and return a full popup menu for a managed widget
|
|
||||||
virtual QMenu *initializePopupMenu(QWidget *managedWidget);
|
|
||||||
// Helper to create a basic popup menu from task menu extensions (internal/public)
|
|
||||||
static QMenu *createExtensionTaskMenu(QDesignerFormWindowInterface *fw, QObject *o, bool trailingSeparator = true);
|
|
||||||
|
|
||||||
virtual bool dropWidgets(const QList<QDesignerDnDItemInterface*> &item_list, QWidget *target,
|
|
||||||
const QPoint &global_mouse_pos) = 0;
|
|
||||||
|
|
||||||
// Helper to find the widget at the mouse position with some flags.
|
|
||||||
enum WidgetUnderMouseMode { FindSingleSelectionDropTarget, FindMultiSelectionDropTarget };
|
|
||||||
QWidget *widgetUnderMouse(const QPoint &formPos, WidgetUnderMouseMode m);
|
|
||||||
|
|
||||||
virtual QWidget *widgetAt(const QPoint &pos) = 0;
|
|
||||||
virtual QWidget *findContainer(QWidget *w, bool excludeLayout) const = 0;
|
|
||||||
|
|
||||||
void deleteWidgetList(const QWidgetList &widget_list);
|
|
||||||
|
|
||||||
virtual void highlightWidget(QWidget *w, const QPoint &pos, HighlightMode mode = Highlight) = 0;
|
|
||||||
|
|
||||||
enum PasteMode { PasteAll, PasteActionsOnly };
|
|
||||||
virtual void paste(PasteMode pasteMode) = 0;
|
|
||||||
|
|
||||||
// Factory method to create a form builder
|
|
||||||
virtual QEditorFormBuilder *createFormBuilder() = 0;
|
|
||||||
|
|
||||||
virtual bool blockSelectionChanged(bool blocked) = 0;
|
|
||||||
virtual void emitSelectionChanged() = 0;
|
|
||||||
|
|
||||||
DesignerPixmapCache *pixmapCache() const;
|
|
||||||
DesignerIconCache *iconCache() const;
|
|
||||||
QtResourceSet *resourceSet() const;
|
|
||||||
void setResourceSet(QtResourceSet *resourceSet);
|
|
||||||
void addReloadableProperty(QDesignerPropertySheet *sheet, int index);
|
|
||||||
void removeReloadableProperty(QDesignerPropertySheet *sheet, int index);
|
|
||||||
void addReloadablePropertySheet(QDesignerPropertySheet *sheet, QObject *object);
|
|
||||||
void removeReloadablePropertySheet(QDesignerPropertySheet *sheet);
|
|
||||||
void reloadProperties();
|
|
||||||
|
|
||||||
void emitWidgetRemoved(QWidget *w);
|
|
||||||
void emitObjectRemoved(QObject *o);
|
|
||||||
|
|
||||||
DeviceProfile deviceProfile() const;
|
|
||||||
QString styleName() const;
|
|
||||||
QString deviceProfileName() const;
|
|
||||||
|
|
||||||
enum LineTerminatorMode {
|
|
||||||
LFLineTerminator,
|
|
||||||
CRLFLineTerminator,
|
|
||||||
NativeLineTerminator =
|
|
||||||
#if defined (Q_OS_WIN)
|
|
||||||
CRLFLineTerminator
|
|
||||||
#else
|
|
||||||
LFLineTerminator
|
|
||||||
#endif
|
|
||||||
};
|
|
||||||
|
|
||||||
void setLineTerminatorMode(LineTerminatorMode mode);
|
|
||||||
LineTerminatorMode lineTerminatorMode() const;
|
|
||||||
|
|
||||||
// Connect the 'activated' (doubleclicked) signal of the form window to a
|
|
||||||
// slot triggering the default action (of the task menu)
|
|
||||||
static void setupDefaultAction(QDesignerFormWindowInterface *fw);
|
|
||||||
|
|
||||||
public slots:
|
|
||||||
void resourceSetActivated(QtResourceSet *resourceSet, bool resourceSetChanged);
|
|
||||||
|
|
||||||
private slots:
|
|
||||||
void triggerDefaultAction(QWidget *w);
|
|
||||||
|
|
||||||
private:
|
|
||||||
void syncGridFeature();
|
|
||||||
|
|
||||||
FormWindowBasePrivate *m_d;
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace qdesigner_internal
|
|
||||||
|
|
||||||
QT_END_NAMESPACE
|
|
||||||
|
|
||||||
#endif // FORMWINDOWBASE_H
|
|
@@ -1,61 +0,0 @@
|
|||||||
/****************************************************************************
|
|
||||||
**
|
|
||||||
** Copyright (C) 2015 The Qt Company Ltd.
|
|
||||||
** Contact: http://www.qt.io/licensing
|
|
||||||
**
|
|
||||||
** This file is part of Qt Creator.
|
|
||||||
**
|
|
||||||
** Commercial License Usage
|
|
||||||
** Licensees holding valid commercial Qt licenses may use this file in
|
|
||||||
** accordance with the commercial license agreement provided with the
|
|
||||||
** Software or, alternatively, in accordance with the terms contained in
|
|
||||||
** a written agreement between you and The Qt Company. For licensing terms and
|
|
||||||
** conditions see http://www.qt.io/terms-conditions. For further information
|
|
||||||
** use the contact form at http://www.qt.io/contact-us.
|
|
||||||
**
|
|
||||||
** GNU Lesser General Public License Usage
|
|
||||||
** Alternatively, this file may be used under the terms of the GNU Lesser
|
|
||||||
** General Public License version 2.1 or version 3 as published by the Free
|
|
||||||
** Software Foundation and appearing in the file LICENSE.LGPLv21 and
|
|
||||||
** LICENSE.LGPLv3 included in the packaging of this file. Please review the
|
|
||||||
** following information to ensure the GNU Lesser General Public License
|
|
||||||
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
|
|
||||||
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
|
||||||
**
|
|
||||||
** In addition, as a special exception, The Qt Company gives you certain additional
|
|
||||||
** rights. These rights are described in The Qt Company LGPL Exception
|
|
||||||
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
|
||||||
**
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
//
|
|
||||||
// W A R N I N G
|
|
||||||
// -------------
|
|
||||||
//
|
|
||||||
// This file is not part of the Qt API. It exists for the convenience
|
|
||||||
// of Qt Designer. This header
|
|
||||||
// file may change from version to version without notice, or even be removed.
|
|
||||||
//
|
|
||||||
// We mean it.
|
|
||||||
//
|
|
||||||
|
|
||||||
#ifndef ICONLOADER_H
|
|
||||||
#define ICONLOADER_H
|
|
||||||
|
|
||||||
#include "shared_global_p.h"
|
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
|
||||||
|
|
||||||
class QString;
|
|
||||||
class QIcon;
|
|
||||||
|
|
||||||
namespace qdesigner_internal {
|
|
||||||
|
|
||||||
QDESIGNER_SHARED_EXPORT QIcon createIconSet(const QString &name);
|
|
||||||
QDESIGNER_SHARED_EXPORT QIcon emptyIcon();
|
|
||||||
|
|
||||||
} // namespace qdesigner_internal
|
|
||||||
|
|
||||||
QT_END_NAMESPACE
|
|
||||||
|
|
||||||
#endif // ICONLOADER_H
|
|
@@ -1,148 +0,0 @@
|
|||||||
/****************************************************************************
|
|
||||||
**
|
|
||||||
** Copyright (C) 2015 The Qt Company Ltd.
|
|
||||||
** Contact: http://www.qt.io/licensing
|
|
||||||
**
|
|
||||||
** This file is part of Qt Creator.
|
|
||||||
**
|
|
||||||
** Commercial License Usage
|
|
||||||
** Licensees holding valid commercial Qt licenses may use this file in
|
|
||||||
** accordance with the commercial license agreement provided with the
|
|
||||||
** Software or, alternatively, in accordance with the terms contained in
|
|
||||||
** a written agreement between you and The Qt Company. For licensing terms and
|
|
||||||
** conditions see http://www.qt.io/terms-conditions. For further information
|
|
||||||
** use the contact form at http://www.qt.io/contact-us.
|
|
||||||
**
|
|
||||||
** GNU Lesser General Public License Usage
|
|
||||||
** Alternatively, this file may be used under the terms of the GNU Lesser
|
|
||||||
** General Public License version 2.1 or version 3 as published by the Free
|
|
||||||
** Software Foundation and appearing in the file LICENSE.LGPLv21 and
|
|
||||||
** LICENSE.LGPLv3 included in the packaging of this file. Please review the
|
|
||||||
** following information to ensure the GNU Lesser General Public License
|
|
||||||
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
|
|
||||||
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
|
||||||
**
|
|
||||||
** In addition, as a special exception, The Qt Company gives you certain additional
|
|
||||||
** rights. These rights are described in The Qt Company LGPL Exception
|
|
||||||
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
|
||||||
**
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
//
|
|
||||||
// W A R N I N G
|
|
||||||
// -------------
|
|
||||||
//
|
|
||||||
// This file is not part of the Qt API. It exists for the convenience
|
|
||||||
// of Qt Designer. This header
|
|
||||||
// file may change from version to version without notice, or even be removed.
|
|
||||||
//
|
|
||||||
// We mean it.
|
|
||||||
//
|
|
||||||
|
|
||||||
#ifndef PLUGINMANAGER_H
|
|
||||||
#define PLUGINMANAGER_H
|
|
||||||
|
|
||||||
#include "shared_global_p.h"
|
|
||||||
#include "shared_enums_p.h"
|
|
||||||
|
|
||||||
#include <QSharedDataPointer>
|
|
||||||
#include <QMap>
|
|
||||||
#include <QPair>
|
|
||||||
#include <QStringList>
|
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
|
||||||
|
|
||||||
class QDesignerFormEditorInterface;
|
|
||||||
class QDesignerCustomWidgetInterface;
|
|
||||||
class QDesignerPluginManagerPrivate;
|
|
||||||
|
|
||||||
class QDesignerCustomWidgetSharedData;
|
|
||||||
|
|
||||||
/* Information contained in the Dom XML of a custom widget. */
|
|
||||||
class QDESIGNER_SHARED_EXPORT QDesignerCustomWidgetData {
|
|
||||||
public:
|
|
||||||
// StringPropertyType: validation mode and translatable flag.
|
|
||||||
typedef QPair<qdesigner_internal::TextPropertyValidationMode, bool> StringPropertyType;
|
|
||||||
|
|
||||||
explicit QDesignerCustomWidgetData(const QString &pluginPath = QString());
|
|
||||||
|
|
||||||
enum ParseResult { ParseOk, ParseWarning, ParseError };
|
|
||||||
ParseResult parseXml(const QString &xml, const QString &name, QString *errorMessage);
|
|
||||||
|
|
||||||
QDesignerCustomWidgetData(const QDesignerCustomWidgetData&);
|
|
||||||
QDesignerCustomWidgetData& operator=(const QDesignerCustomWidgetData&);
|
|
||||||
~QDesignerCustomWidgetData();
|
|
||||||
|
|
||||||
bool isNull() const;
|
|
||||||
|
|
||||||
QString pluginPath() const;
|
|
||||||
|
|
||||||
// Data as parsed from the widget's domXML().
|
|
||||||
QString xmlClassName() const;
|
|
||||||
// Optional. The language the plugin is supposed to be used with.
|
|
||||||
QString xmlLanguage() const;
|
|
||||||
// Optional. method used to add pages to a container with a container extension
|
|
||||||
QString xmlAddPageMethod() const;
|
|
||||||
// Optional. Base class
|
|
||||||
QString xmlExtends() const;
|
|
||||||
// Optional. The name to be used in the widget box.
|
|
||||||
QString xmlDisplayName() const;
|
|
||||||
// Type of a string property
|
|
||||||
bool xmlStringPropertyType(const QString &name, StringPropertyType *type) const;
|
|
||||||
|
|
||||||
private:
|
|
||||||
QSharedDataPointer<QDesignerCustomWidgetSharedData> m_d;
|
|
||||||
};
|
|
||||||
|
|
||||||
class QDESIGNER_SHARED_EXPORT QDesignerPluginManager: public QObject
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
public:
|
|
||||||
typedef QList<QDesignerCustomWidgetInterface*> CustomWidgetList;
|
|
||||||
|
|
||||||
explicit QDesignerPluginManager(QDesignerFormEditorInterface *core);
|
|
||||||
virtual ~QDesignerPluginManager();
|
|
||||||
|
|
||||||
QDesignerFormEditorInterface *core() const;
|
|
||||||
|
|
||||||
QObject *instance(const QString &plugin) const;
|
|
||||||
|
|
||||||
QStringList registeredPlugins() const;
|
|
||||||
|
|
||||||
QStringList findPlugins(const QString &path);
|
|
||||||
|
|
||||||
QStringList pluginPaths() const;
|
|
||||||
void setPluginPaths(const QStringList &plugin_paths);
|
|
||||||
|
|
||||||
QStringList disabledPlugins() const;
|
|
||||||
void setDisabledPlugins(const QStringList &disabled_plugins);
|
|
||||||
|
|
||||||
QStringList failedPlugins() const;
|
|
||||||
QString failureReason(const QString &pluginName) const;
|
|
||||||
|
|
||||||
QObjectList instances() const;
|
|
||||||
|
|
||||||
CustomWidgetList registeredCustomWidgets() const;
|
|
||||||
QDesignerCustomWidgetData customWidgetData(QDesignerCustomWidgetInterface *w) const;
|
|
||||||
QDesignerCustomWidgetData customWidgetData(const QString &className) const;
|
|
||||||
|
|
||||||
bool registerNewPlugins();
|
|
||||||
|
|
||||||
public slots:
|
|
||||||
bool syncSettings();
|
|
||||||
void ensureInitialized();
|
|
||||||
|
|
||||||
private:
|
|
||||||
void updateRegisteredPlugins();
|
|
||||||
void registerPath(const QString &path);
|
|
||||||
void registerPlugin(const QString &plugin);
|
|
||||||
|
|
||||||
private:
|
|
||||||
static QStringList defaultPluginPaths();
|
|
||||||
|
|
||||||
QDesignerPluginManagerPrivate *m_d;
|
|
||||||
};
|
|
||||||
|
|
||||||
QT_END_NAMESPACE
|
|
||||||
|
|
||||||
#endif // PLUGINMANAGER_H
|
|
@@ -1,88 +0,0 @@
|
|||||||
/****************************************************************************
|
|
||||||
**
|
|
||||||
** Copyright (C) 2015 The Qt Company Ltd.
|
|
||||||
** Contact: http://www.qt.io/licensing
|
|
||||||
**
|
|
||||||
** This file is part of Qt Creator.
|
|
||||||
**
|
|
||||||
** Commercial License Usage
|
|
||||||
** Licensees holding valid commercial Qt licenses may use this file in
|
|
||||||
** accordance with the commercial license agreement provided with the
|
|
||||||
** Software or, alternatively, in accordance with the terms contained in
|
|
||||||
** a written agreement between you and The Qt Company. For licensing terms and
|
|
||||||
** conditions see http://www.qt.io/terms-conditions. For further information
|
|
||||||
** use the contact form at http://www.qt.io/contact-us.
|
|
||||||
**
|
|
||||||
** GNU Lesser General Public License Usage
|
|
||||||
** Alternatively, this file may be used under the terms of the GNU Lesser
|
|
||||||
** General Public License version 2.1 or version 3 as published by the Free
|
|
||||||
** Software Foundation and appearing in the file LICENSE.LGPLv21 and
|
|
||||||
** LICENSE.LGPLv3 included in the packaging of this file. Please review the
|
|
||||||
** following information to ensure the GNU Lesser General Public License
|
|
||||||
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
|
|
||||||
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
|
||||||
**
|
|
||||||
** In addition, as a special exception, The Qt Company gives you certain additional
|
|
||||||
** rights. These rights are described in The Qt Company LGPL Exception
|
|
||||||
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
|
||||||
**
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
//
|
|
||||||
// W A R N I N G
|
|
||||||
// -------------
|
|
||||||
//
|
|
||||||
// This file is not part of the Qt API. It exists for the convenience
|
|
||||||
// of Qt Designer. This header
|
|
||||||
// file may change from version to version without notice, or even be removed.
|
|
||||||
//
|
|
||||||
// We mean it.
|
|
||||||
//
|
|
||||||
|
|
||||||
#ifndef QDESIGNER_FORMWINDOWMANAGER_H
|
|
||||||
#define QDESIGNER_FORMWINDOWMANAGER_H
|
|
||||||
|
|
||||||
#include "shared_global_p.h"
|
|
||||||
#include <QDesignerFormWindowManagerInterface>
|
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
|
||||||
|
|
||||||
namespace qdesigner_internal {
|
|
||||||
|
|
||||||
class PreviewManager;
|
|
||||||
|
|
||||||
//
|
|
||||||
// Convenience functions to manage form previews (ultimately forwarded to PreviewManager).
|
|
||||||
//
|
|
||||||
class QDESIGNER_SHARED_EXPORT QDesignerFormWindowManager
|
|
||||||
: public QDesignerFormWindowManagerInterface
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
public:
|
|
||||||
explicit QDesignerFormWindowManager(QObject *parent = 0);
|
|
||||||
virtual ~QDesignerFormWindowManager();
|
|
||||||
|
|
||||||
virtual QAction *actionDefaultPreview() const;
|
|
||||||
virtual QActionGroup *actionGroupPreviewInStyle() const;
|
|
||||||
virtual QAction *actionShowFormWindowSettingsDialog() const;
|
|
||||||
|
|
||||||
virtual QPixmap createPreviewPixmap(QString *errorMessage) = 0;
|
|
||||||
|
|
||||||
virtual PreviewManager *previewManager() const = 0;
|
|
||||||
|
|
||||||
Q_SIGNALS:
|
|
||||||
void formWindowSettingsChanged(QDesignerFormWindowInterface *fw);
|
|
||||||
|
|
||||||
public Q_SLOTS:
|
|
||||||
virtual void closeAllPreviews() = 0;
|
|
||||||
void aboutPlugins();
|
|
||||||
|
|
||||||
private:
|
|
||||||
void *m_unused;
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace qdesigner_internal
|
|
||||||
|
|
||||||
QT_END_NAMESPACE
|
|
||||||
|
|
||||||
#endif // QDESIGNER_FORMWINDOWMANAGER_H
|
|
@@ -1,141 +0,0 @@
|
|||||||
/****************************************************************************
|
|
||||||
**
|
|
||||||
** Copyright (C) 2015 The Qt Company Ltd.
|
|
||||||
** Contact: http://www.qt.io/licensing
|
|
||||||
**
|
|
||||||
** This file is part of Qt Creator.
|
|
||||||
**
|
|
||||||
** Commercial License Usage
|
|
||||||
** Licensees holding valid commercial Qt licenses may use this file in
|
|
||||||
** accordance with the commercial license agreement provided with the
|
|
||||||
** Software or, alternatively, in accordance with the terms contained in
|
|
||||||
** a written agreement between you and The Qt Company. For licensing terms and
|
|
||||||
** conditions see http://www.qt.io/terms-conditions. For further information
|
|
||||||
** use the contact form at http://www.qt.io/contact-us.
|
|
||||||
**
|
|
||||||
** GNU Lesser General Public License Usage
|
|
||||||
** Alternatively, this file may be used under the terms of the GNU Lesser
|
|
||||||
** General Public License version 2.1 or version 3 as published by the Free
|
|
||||||
** Software Foundation and appearing in the file LICENSE.LGPLv21 and
|
|
||||||
** LICENSE.LGPLv3 included in the packaging of this file. Please review the
|
|
||||||
** following information to ensure the GNU Lesser General Public License
|
|
||||||
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
|
|
||||||
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
|
||||||
**
|
|
||||||
** In addition, as a special exception, The Qt Company gives you certain additional
|
|
||||||
** rights. These rights are described in The Qt Company LGPL Exception
|
|
||||||
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
|
||||||
**
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
//
|
|
||||||
// W A R N I N G
|
|
||||||
// -------------
|
|
||||||
//
|
|
||||||
// This file is not part of the Qt API. It exists for the convenience
|
|
||||||
// of Qt Designer. This header
|
|
||||||
// file may change from version to version without notice, or even be removed.
|
|
||||||
//
|
|
||||||
// We mean it.
|
|
||||||
//
|
|
||||||
|
|
||||||
#ifndef QDESIGNER_INTEGRATION_H
|
|
||||||
#define QDESIGNER_INTEGRATION_H
|
|
||||||
|
|
||||||
#include "shared_global_p.h"
|
|
||||||
#include <QDesignerIntegrationInterface>
|
|
||||||
|
|
||||||
#include <QObject>
|
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
|
||||||
|
|
||||||
class QDesignerFormEditorInterface;
|
|
||||||
class QDesignerFormWindowInterface;
|
|
||||||
class QDesignerResourceBrowserInterface;
|
|
||||||
|
|
||||||
class QVariant;
|
|
||||||
class QWidget;
|
|
||||||
|
|
||||||
namespace qdesigner_internal {
|
|
||||||
|
|
||||||
struct Selection;
|
|
||||||
class QDesignerIntegrationPrivate;
|
|
||||||
|
|
||||||
class QDESIGNER_SHARED_EXPORT QDesignerIntegration: public QDesignerIntegrationInterface
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
public:
|
|
||||||
explicit QDesignerIntegration(QDesignerFormEditorInterface *core, QObject *parent = 0);
|
|
||||||
virtual ~QDesignerIntegration();
|
|
||||||
|
|
||||||
static void requestHelp(const QDesignerFormEditorInterface *core, const QString &manual, const QString &document);
|
|
||||||
|
|
||||||
virtual QWidget *containerWindow(QWidget *widget) const;
|
|
||||||
|
|
||||||
// Load plugins into widget database and factory.
|
|
||||||
static void initializePlugins(QDesignerFormEditorInterface *formEditor);
|
|
||||||
void emitObjectNameChanged(QDesignerFormWindowInterface *formWindow, QObject *object,
|
|
||||||
const QString &newName, const QString &oldName);
|
|
||||||
void emitNavigateToSlot(const QString &objectName, const QString &signalSignature, const QStringList ¶meterNames);
|
|
||||||
void emitNavigateToSlot(const QString &slotSignature);
|
|
||||||
|
|
||||||
// Create a resource browser specific to integration. Language integration takes precedence
|
|
||||||
virtual QDesignerResourceBrowserInterface *createResourceBrowser(QWidget *parent = 0);
|
|
||||||
|
|
||||||
enum ResourceFileWatcherBehaviour {
|
|
||||||
NoWatcher,
|
|
||||||
ReloadSilently,
|
|
||||||
PromptAndReload
|
|
||||||
};
|
|
||||||
|
|
||||||
ResourceFileWatcherBehaviour resourceFileWatcherBehaviour() const;
|
|
||||||
bool isResourceEditingEnabled() const;
|
|
||||||
bool isSlotNavigationEnabled() const;
|
|
||||||
|
|
||||||
QString contextHelpId() const;
|
|
||||||
|
|
||||||
protected:
|
|
||||||
|
|
||||||
void setResourceFileWatcherBehaviour(ResourceFileWatcherBehaviour behaviour); // PromptAndReload by default
|
|
||||||
void setResourceEditingEnabled(bool enable); // true by default
|
|
||||||
void setSlotNavigationEnabled(bool enable); // false by default
|
|
||||||
|
|
||||||
signals:
|
|
||||||
void propertyChanged(QDesignerFormWindowInterface *formWindow, const QString &name, const QVariant &value);
|
|
||||||
void objectNameChanged(QDesignerFormWindowInterface *formWindow, QObject *object, const QString &newName, const QString &oldName);
|
|
||||||
void helpRequested(const QString &manual, const QString &document);
|
|
||||||
|
|
||||||
void navigateToSlot(const QString &objectName, const QString &signalSignature, const QStringList ¶meterNames);
|
|
||||||
void navigateToSlot(const QString &slotSignature);
|
|
||||||
|
|
||||||
public slots:
|
|
||||||
virtual void updateProperty(const QString &name, const QVariant &value, bool enableSubPropertyHandling);
|
|
||||||
// Additional signals of designer property editor
|
|
||||||
virtual void resetProperty(const QString &name);
|
|
||||||
virtual void addDynamicProperty(const QString &name, const QVariant &value);
|
|
||||||
virtual void removeDynamicProperty(const QString &name);
|
|
||||||
|
|
||||||
virtual void updateActiveFormWindow(QDesignerFormWindowInterface *formWindow);
|
|
||||||
virtual void setupFormWindow(QDesignerFormWindowInterface *formWindow);
|
|
||||||
virtual void updateSelection();
|
|
||||||
virtual void updateGeometry();
|
|
||||||
virtual void activateWidget(QWidget *widget);
|
|
||||||
|
|
||||||
void updateCustomWidgetPlugins();
|
|
||||||
|
|
||||||
private slots:
|
|
||||||
void updatePropertyPrivate(const QString &name, const QVariant &value);
|
|
||||||
|
|
||||||
private:
|
|
||||||
void initialize();
|
|
||||||
void getSelection(Selection &s);
|
|
||||||
QObject *propertyEditorObject();
|
|
||||||
|
|
||||||
QDesignerIntegrationPrivate *m_d;
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace qdesigner_internal
|
|
||||||
|
|
||||||
QT_END_NAMESPACE
|
|
||||||
|
|
||||||
#endif // QDESIGNER_INTEGRATION_H
|
|
@@ -1,153 +0,0 @@
|
|||||||
/****************************************************************************
|
|
||||||
**
|
|
||||||
** Copyright (C) 2015 The Qt Company Ltd.
|
|
||||||
** Contact: http://www.qt.io/licensing
|
|
||||||
**
|
|
||||||
** This file is part of Qt Creator.
|
|
||||||
**
|
|
||||||
** Commercial License Usage
|
|
||||||
** Licensees holding valid commercial Qt licenses may use this file in
|
|
||||||
** accordance with the commercial license agreement provided with the
|
|
||||||
** Software or, alternatively, in accordance with the terms contained in
|
|
||||||
** a written agreement between you and The Qt Company. For licensing terms and
|
|
||||||
** conditions see http://www.qt.io/terms-conditions. For further information
|
|
||||||
** use the contact form at http://www.qt.io/contact-us.
|
|
||||||
**
|
|
||||||
** GNU Lesser General Public License Usage
|
|
||||||
** Alternatively, this file may be used under the terms of the GNU Lesser
|
|
||||||
** General Public License version 2.1 or version 3 as published by the Free
|
|
||||||
** Software Foundation and appearing in the file LICENSE.LGPLv21 and
|
|
||||||
** LICENSE.LGPLv3 included in the packaging of this file. Please review the
|
|
||||||
** following information to ensure the GNU Lesser General Public License
|
|
||||||
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
|
|
||||||
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
|
||||||
**
|
|
||||||
** In addition, as a special exception, The Qt Company gives you certain additional
|
|
||||||
** rights. These rights are described in The Qt Company LGPL Exception
|
|
||||||
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
|
||||||
**
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
//
|
|
||||||
// W A R N I N G
|
|
||||||
// -------------
|
|
||||||
//
|
|
||||||
// This file is not part of the Qt API. It exists for the convenience
|
|
||||||
// of Qt Designer. This header
|
|
||||||
// file may change from version to version without notice, or even be removed.
|
|
||||||
//
|
|
||||||
// We mean it.
|
|
||||||
//
|
|
||||||
|
|
||||||
#ifndef QSIMPLERESOURCE_H
|
|
||||||
#define QSIMPLERESOURCE_H
|
|
||||||
|
|
||||||
#include "shared_global_p.h"
|
|
||||||
#include "abstractformbuilder.h"
|
|
||||||
#include <QStringList>
|
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
|
||||||
|
|
||||||
class DomScript;
|
|
||||||
class DomCustomWidgets;
|
|
||||||
class DomCustomWidget;
|
|
||||||
class DomSlots;
|
|
||||||
|
|
||||||
class QDesignerFormEditorInterface;
|
|
||||||
|
|
||||||
namespace qdesigner_internal {
|
|
||||||
|
|
||||||
class WidgetDataBaseItem;
|
|
||||||
|
|
||||||
class QDESIGNER_SHARED_EXPORT QSimpleResource : public QAbstractFormBuilder
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
explicit QSimpleResource(QDesignerFormEditorInterface *core);
|
|
||||||
virtual ~QSimpleResource();
|
|
||||||
|
|
||||||
QBrush setupBrush(DomBrush *brush);
|
|
||||||
DomBrush *saveBrush(const QBrush &brush);
|
|
||||||
|
|
||||||
inline QDesignerFormEditorInterface *core() const
|
|
||||||
{ return m_core; }
|
|
||||||
|
|
||||||
// Query extensions for additional data
|
|
||||||
static void addExtensionDataToDOM(QAbstractFormBuilder *afb,
|
|
||||||
QDesignerFormEditorInterface *core,
|
|
||||||
DomWidget *ui_widget, QWidget *widget);
|
|
||||||
static void applyExtensionDataFromDOM(QAbstractFormBuilder *afb,
|
|
||||||
QDesignerFormEditorInterface *core,
|
|
||||||
DomWidget *ui_widget, QWidget *widget,
|
|
||||||
bool applyState);
|
|
||||||
// Enable warnings while saving. Turn off for backups.
|
|
||||||
static bool setWarningsEnabled(bool warningsEnabled);
|
|
||||||
static bool warningsEnabled();
|
|
||||||
// Return the script returned by the CustomWidget codeTemplate API
|
|
||||||
static QString customWidgetScript(QDesignerFormEditorInterface *core, QObject *object);
|
|
||||||
static QString customWidgetScript(QDesignerFormEditorInterface *core, const QString &className);
|
|
||||||
static bool hasCustomWidgetScript(QDesignerFormEditorInterface *core, QObject *object);
|
|
||||||
|
|
||||||
// Implementation for FormBuilder::createDomCustomWidgets() that adds
|
|
||||||
// the custom widgets to the widget database
|
|
||||||
static void handleDomCustomWidgets(const QDesignerFormEditorInterface *core,
|
|
||||||
const DomCustomWidgets *dom_custom_widgets);
|
|
||||||
|
|
||||||
protected:
|
|
||||||
virtual QIcon nameToIcon(const QString &filePath, const QString &qrcPath);
|
|
||||||
virtual QString iconToFilePath(const QIcon &pm) const;
|
|
||||||
virtual QString iconToQrcPath(const QIcon &pm) const;
|
|
||||||
virtual QPixmap nameToPixmap(const QString &filePath, const QString &qrcPath);
|
|
||||||
virtual QString pixmapToFilePath(const QPixmap &pm) const;
|
|
||||||
virtual QString pixmapToQrcPath(const QPixmap &pm) const;
|
|
||||||
|
|
||||||
enum ScriptSource { ScriptDesigner, ScriptExtension, ScriptCustomWidgetPlugin };
|
|
||||||
static DomScript*createScript(const QString &script, ScriptSource source);
|
|
||||||
typedef QList<DomScript*> DomScripts;
|
|
||||||
static void addScript(const QString &script, ScriptSource source, DomScripts &domScripts);
|
|
||||||
|
|
||||||
static bool addFakeMethods(const DomSlots *domSlots, QStringList &fakeSlots, QStringList &fakeSignals);
|
|
||||||
|
|
||||||
private:
|
|
||||||
static void addCustomWidgetsToWidgetDatabase(const QDesignerFormEditorInterface *core,
|
|
||||||
QList<DomCustomWidget*>& custom_widget_list);
|
|
||||||
static void addFakeMethodsToWidgetDataBase(const DomCustomWidget *domCustomWidget, WidgetDataBaseItem *item);
|
|
||||||
|
|
||||||
static bool m_warningsEnabled;
|
|
||||||
QDesignerFormEditorInterface *m_core;
|
|
||||||
};
|
|
||||||
|
|
||||||
// Contents of clipboard for formbuilder copy and paste operations
|
|
||||||
// (Actions and widgets)
|
|
||||||
struct QDESIGNER_SHARED_EXPORT FormBuilderClipboard {
|
|
||||||
typedef QList<QAction*> ActionList;
|
|
||||||
|
|
||||||
FormBuilderClipboard() {}
|
|
||||||
FormBuilderClipboard(QWidget *w);
|
|
||||||
|
|
||||||
bool empty() const;
|
|
||||||
|
|
||||||
QWidgetList m_widgets;
|
|
||||||
ActionList m_actions;
|
|
||||||
};
|
|
||||||
|
|
||||||
// Base class for a form builder used in the editor that
|
|
||||||
// provides copy and paste.(move into base interface)
|
|
||||||
class QDESIGNER_SHARED_EXPORT QEditorFormBuilder : public QSimpleResource
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
explicit QEditorFormBuilder(QDesignerFormEditorInterface *core) : QSimpleResource(core) {}
|
|
||||||
|
|
||||||
virtual bool copy(QIODevice *dev, const FormBuilderClipboard &selection) = 0;
|
|
||||||
virtual DomUI *copy(const FormBuilderClipboard &selection) = 0;
|
|
||||||
|
|
||||||
// A widget parent needs to be specified, otherwise, the widget factory cannot locate the form window via parent
|
|
||||||
// and thus is not able to construct special widgets (QLayoutWidget).
|
|
||||||
virtual FormBuilderClipboard paste(DomUI *ui, QWidget *widgetParent, QObject *actionParent = 0) = 0;
|
|
||||||
virtual FormBuilderClipboard paste(QIODevice *dev, QWidget *widgetParent, QObject *actionParent = 0) = 0;
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace qdesigner_internal
|
|
||||||
|
|
||||||
QT_END_NAMESPACE
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,134 +0,0 @@
|
|||||||
/****************************************************************************
|
|
||||||
**
|
|
||||||
** Copyright (C) 2015 The Qt Company Ltd.
|
|
||||||
** Contact: http://www.qt.io/licensing
|
|
||||||
**
|
|
||||||
** This file is part of Qt Creator.
|
|
||||||
**
|
|
||||||
** Commercial License Usage
|
|
||||||
** Licensees holding valid commercial Qt licenses may use this file in
|
|
||||||
** accordance with the commercial license agreement provided with the
|
|
||||||
** Software or, alternatively, in accordance with the terms contained in
|
|
||||||
** a written agreement between you and The Qt Company. For licensing terms and
|
|
||||||
** conditions see http://www.qt.io/terms-conditions. For further information
|
|
||||||
** use the contact form at http://www.qt.io/contact-us.
|
|
||||||
**
|
|
||||||
** GNU Lesser General Public License Usage
|
|
||||||
** Alternatively, this file may be used under the terms of the GNU Lesser
|
|
||||||
** General Public License version 2.1 or version 3 as published by the Free
|
|
||||||
** Software Foundation and appearing in the file LICENSE.LGPLv21 and
|
|
||||||
** LICENSE.LGPLv3 included in the packaging of this file. Please review the
|
|
||||||
** following information to ensure the GNU Lesser General Public License
|
|
||||||
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
|
|
||||||
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
|
||||||
**
|
|
||||||
** In addition, as a special exception, The Qt Company gives you certain additional
|
|
||||||
** rights. These rights are described in The Qt Company LGPL Exception
|
|
||||||
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
|
||||||
**
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
//
|
|
||||||
// W A R N I N G
|
|
||||||
// -------------
|
|
||||||
//
|
|
||||||
// This file is not part of the Qt API. It exists for the convenience
|
|
||||||
// of Qt Designer. This header
|
|
||||||
// file may change from version to version without notice, or even be removed.
|
|
||||||
//
|
|
||||||
// We mean it.
|
|
||||||
//
|
|
||||||
|
|
||||||
#ifndef QTRESOURCEMODEL_H
|
|
||||||
#define QTRESOURCEMODEL_H
|
|
||||||
|
|
||||||
#include "shared_global_p.h"
|
|
||||||
#include <QMap>
|
|
||||||
#include <QObject>
|
|
||||||
#include <QScopedPointer>
|
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
|
||||||
|
|
||||||
class QtResourceModel;
|
|
||||||
|
|
||||||
class QDESIGNER_SHARED_EXPORT QtResourceSet // one instance per one form
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
QStringList activeQrcPaths() const;
|
|
||||||
|
|
||||||
// activateQrcPaths(): if this QtResourceSet is active it emits resourceSetActivated();
|
|
||||||
// otherwise only in case if active QtResource set contains one of
|
|
||||||
// paths which was marked as modified by this resource set, the signal
|
|
||||||
// is emitted (with reload = true);
|
|
||||||
// If new path appears on the list it is automatically added to
|
|
||||||
// loaded list of QtResourceModel. In addition it is marked as modified in case
|
|
||||||
// QtResourceModel didn't contain the path.
|
|
||||||
// If some path is removed from that list (and is not used in any other
|
|
||||||
// resource set) it is automatically unloaded. The removed file can also be
|
|
||||||
// marked as modified (later when another resource set which contains
|
|
||||||
// removed path is activated will be reloaded)
|
|
||||||
void activateQrcPaths(const QStringList &paths, int *errorCount = 0, QString *errorMessages = 0);
|
|
||||||
|
|
||||||
bool isModified(const QString &path) const; // for all paths in resource model (redundant here, maybe it should be removed from here)
|
|
||||||
void setModified(const QString &path); // for all paths in resource model (redundant here, maybe it should be removed from here)
|
|
||||||
private:
|
|
||||||
QtResourceSet();
|
|
||||||
QtResourceSet(QtResourceModel *model);
|
|
||||||
~QtResourceSet();
|
|
||||||
friend class QtResourceModel;
|
|
||||||
|
|
||||||
QScopedPointer<class QtResourceSetPrivate> d_ptr;
|
|
||||||
Q_DECLARE_PRIVATE(QtResourceSet)
|
|
||||||
Q_DISABLE_COPY(QtResourceSet)
|
|
||||||
};
|
|
||||||
|
|
||||||
class QDESIGNER_SHARED_EXPORT QtResourceModel : public QObject // one instance per whole designer
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
public:
|
|
||||||
QtResourceModel(QObject *parent = 0);
|
|
||||||
~QtResourceModel();
|
|
||||||
|
|
||||||
QStringList loadedQrcFiles() const;
|
|
||||||
bool isModified(const QString &path) const; // only for paths which are on loadedQrcFiles() list
|
|
||||||
void setModified(const QString &path); // only for paths which are on loadedQrcPaths() list
|
|
||||||
|
|
||||||
QList<QtResourceSet *> resourceSets() const;
|
|
||||||
|
|
||||||
QtResourceSet *currentResourceSet() const;
|
|
||||||
void setCurrentResourceSet(QtResourceSet *resourceSet, int *errorCount = 0, QString *errorMessages = 0);
|
|
||||||
|
|
||||||
QtResourceSet *addResourceSet(const QStringList &paths);
|
|
||||||
void removeResourceSet(QtResourceSet *resourceSet);
|
|
||||||
|
|
||||||
void reload(const QString &path, int *errorCount = 0, QString *errorMessages = 0);
|
|
||||||
void reload(int *errorCount = 0, QString *errorMessages = 0);
|
|
||||||
|
|
||||||
// Contents of the current resource set (content file to qrc path)
|
|
||||||
QMap<QString, QString> contents() const;
|
|
||||||
// Find the qrc file belonging to the contained file (from current resource set)
|
|
||||||
QString qrcPath(const QString &file) const;
|
|
||||||
|
|
||||||
void setWatcherEnabled(bool enable);
|
|
||||||
bool isWatcherEnabled() const;
|
|
||||||
|
|
||||||
void setWatcherEnabled(const QString &path, bool enable);
|
|
||||||
bool isWatcherEnabled(const QString &path);
|
|
||||||
|
|
||||||
signals:
|
|
||||||
void resourceSetActivated(QtResourceSet *resourceSet, bool resourceSetChanged); // resourceSetChanged since last time it was activated!
|
|
||||||
void qrcFileModifiedExternally(const QString &path);
|
|
||||||
|
|
||||||
private:
|
|
||||||
friend class QtResourceSet;
|
|
||||||
|
|
||||||
QScopedPointer<class QtResourceModelPrivate> d_ptr;
|
|
||||||
Q_DECLARE_PRIVATE(QtResourceModel)
|
|
||||||
Q_DISABLE_COPY(QtResourceModel)
|
|
||||||
|
|
||||||
Q_PRIVATE_SLOT(d_func(), void slotFileChanged(const QString &))
|
|
||||||
};
|
|
||||||
|
|
||||||
QT_END_NAMESPACE
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,88 +0,0 @@
|
|||||||
/****************************************************************************
|
|
||||||
**
|
|
||||||
** Copyright (C) 2015 The Qt Company Ltd.
|
|
||||||
** Contact: http://www.qt.io/licensing
|
|
||||||
**
|
|
||||||
** This file is part of Qt Creator.
|
|
||||||
**
|
|
||||||
** Commercial License Usage
|
|
||||||
** Licensees holding valid commercial Qt licenses may use this file in
|
|
||||||
** accordance with the commercial license agreement provided with the
|
|
||||||
** Software or, alternatively, in accordance with the terms contained in
|
|
||||||
** a written agreement between you and The Qt Company. For licensing terms and
|
|
||||||
** conditions see http://www.qt.io/terms-conditions. For further information
|
|
||||||
** use the contact form at http://www.qt.io/contact-us.
|
|
||||||
**
|
|
||||||
** GNU Lesser General Public License Usage
|
|
||||||
** Alternatively, this file may be used under the terms of the GNU Lesser
|
|
||||||
** General Public License version 2.1 or version 3 as published by the Free
|
|
||||||
** Software Foundation and appearing in the file LICENSE.LGPLv21 and
|
|
||||||
** LICENSE.LGPLv3 included in the packaging of this file. Please review the
|
|
||||||
** following information to ensure the GNU Lesser General Public License
|
|
||||||
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
|
|
||||||
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
|
||||||
**
|
|
||||||
** In addition, as a special exception, The Qt Company gives you certain additional
|
|
||||||
** rights. These rights are described in The Qt Company LGPL Exception
|
|
||||||
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
|
||||||
**
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
//
|
|
||||||
// W A R N I N G
|
|
||||||
// -------------
|
|
||||||
//
|
|
||||||
// This file is not part of the Qt API. It exists for the convenience
|
|
||||||
// of Qt Designer. This header
|
|
||||||
// file may change from version to version without notice, or even be removed.
|
|
||||||
//
|
|
||||||
// We mean it.
|
|
||||||
//
|
|
||||||
|
|
||||||
#ifndef SHAREDENUMS_H
|
|
||||||
#define SHAREDENUMS_H
|
|
||||||
|
|
||||||
#include "shared_global_p.h"
|
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
|
||||||
|
|
||||||
namespace qdesigner_internal {
|
|
||||||
|
|
||||||
// Validation mode of text property line edits
|
|
||||||
enum TextPropertyValidationMode {
|
|
||||||
// Allow for multiline editing using literal "\n".
|
|
||||||
ValidationMultiLine,
|
|
||||||
// Allow for HTML rich text including multiline editing using literal "\n".
|
|
||||||
ValidationRichText,
|
|
||||||
// Validate a stylesheet
|
|
||||||
ValidationStyleSheet,
|
|
||||||
// Single line mode, suppresses newlines
|
|
||||||
ValidationSingleLine,
|
|
||||||
// Allow only for identifier characters
|
|
||||||
ValidationObjectName,
|
|
||||||
// Allow only for identifier characters and colons
|
|
||||||
ValidationObjectNameScope,
|
|
||||||
// URL
|
|
||||||
ValidationURL
|
|
||||||
};
|
|
||||||
|
|
||||||
// Container types
|
|
||||||
enum ContainerType {
|
|
||||||
// A container with pages, at least one of which one must always be present (for example, QTabWidget)
|
|
||||||
PageContainer,
|
|
||||||
// Mdi type container. All pages may be deleted, no concept of page order
|
|
||||||
MdiContainer,
|
|
||||||
// Wizard container
|
|
||||||
WizardContainer
|
|
||||||
};
|
|
||||||
|
|
||||||
enum AuxiliaryItemDataRoles {
|
|
||||||
// item->flags while being edited
|
|
||||||
ItemFlagsShadowRole = 0x13370551
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
QT_END_NAMESPACE
|
|
||||||
|
|
||||||
#endif // SHAREDENUMS_H
|
|
@@ -1,65 +0,0 @@
|
|||||||
/****************************************************************************
|
|
||||||
**
|
|
||||||
** Copyright (C) 2015 The Qt Company Ltd.
|
|
||||||
** Contact: http://www.qt.io/licensing
|
|
||||||
**
|
|
||||||
** This file is part of Qt Creator.
|
|
||||||
**
|
|
||||||
** Commercial License Usage
|
|
||||||
** Licensees holding valid commercial Qt licenses may use this file in
|
|
||||||
** accordance with the commercial license agreement provided with the
|
|
||||||
** Software or, alternatively, in accordance with the terms contained in
|
|
||||||
** a written agreement between you and The Qt Company. For licensing terms and
|
|
||||||
** conditions see http://www.qt.io/terms-conditions. For further information
|
|
||||||
** use the contact form at http://www.qt.io/contact-us.
|
|
||||||
**
|
|
||||||
** GNU Lesser General Public License Usage
|
|
||||||
** Alternatively, this file may be used under the terms of the GNU Lesser
|
|
||||||
** General Public License version 2.1 or version 3 as published by the Free
|
|
||||||
** Software Foundation and appearing in the file LICENSE.LGPLv21 and
|
|
||||||
** LICENSE.LGPLv3 included in the packaging of this file. Please review the
|
|
||||||
** following information to ensure the GNU Lesser General Public License
|
|
||||||
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
|
|
||||||
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
|
||||||
**
|
|
||||||
** In addition, as a special exception, The Qt Company gives you certain additional
|
|
||||||
** rights. These rights are described in The Qt Company LGPL Exception
|
|
||||||
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
|
||||||
**
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
//
|
|
||||||
// W A R N I N G
|
|
||||||
// -------------
|
|
||||||
//
|
|
||||||
// This file is not part of the Qt API. It exists for the convenience
|
|
||||||
// of Qt Designer. This header
|
|
||||||
// file may change from version to version without notice, or even be removed.
|
|
||||||
//
|
|
||||||
// We mean it.
|
|
||||||
//
|
|
||||||
|
|
||||||
#ifndef SHARED_GLOBAL_H
|
|
||||||
#define SHARED_GLOBAL_H
|
|
||||||
|
|
||||||
#include <qglobal.h>
|
|
||||||
|
|
||||||
#ifdef QT_DESIGNER_STATIC
|
|
||||||
#define QDESIGNER_SHARED_EXTERN
|
|
||||||
#define QDESIGNER_SHARED_IMPORT
|
|
||||||
#else
|
|
||||||
#define QDESIGNER_SHARED_EXTERN Q_DECL_EXPORT
|
|
||||||
#define QDESIGNER_SHARED_IMPORT Q_DECL_IMPORT
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef QT_NO_SHARED_EXPORT
|
|
||||||
# ifdef QDESIGNER_SHARED_LIBRARY
|
|
||||||
# define QDESIGNER_SHARED_EXPORT QDESIGNER_SHARED_EXTERN
|
|
||||||
# else
|
|
||||||
# define QDESIGNER_SHARED_EXPORT QDESIGNER_SHARED_IMPORT
|
|
||||||
# endif
|
|
||||||
#else
|
|
||||||
# define QDESIGNER_SHARED_EXPORT
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif // SHARED_GLOBAL_H
|
|
@@ -1,65 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
#############################################################################
|
|
||||||
#
|
|
||||||
# Copyright (C) 2015 The Qt Company Ltd.
|
|
||||||
# Contact: http://www.qt.io/licensing
|
|
||||||
#
|
|
||||||
# This file is part of Qt Creator.
|
|
||||||
#
|
|
||||||
# Commercial License Usage
|
|
||||||
# Licensees holding valid commercial Qt licenses may use this file in
|
|
||||||
# accordance with the commercial license agreement provided with the
|
|
||||||
# Software or, alternatively, in accordance with the terms contained in
|
|
||||||
# a written agreement between you and The Qt Company. For licensing terms and
|
|
||||||
# conditions see http://www.qt.io/terms-conditions. For further information
|
|
||||||
# use the contact form at http://www.qt.io/contact-us.
|
|
||||||
#
|
|
||||||
# GNU Lesser General Public License Usage
|
|
||||||
# Alternatively, this file may be used under the terms of the GNU Lesser
|
|
||||||
# General Public License version 2.1 or version 3 as published by the Free Software
|
|
||||||
# Foundation and appearing in the file LICENSE.LGPLv21 and LICENSE.LGPLv3 included in the
|
|
||||||
# packaging of this file. Please review the following information to
|
|
||||||
# ensure the GNU Lesser General Public License requirements
|
|
||||||
# will be met: https://www.gnu.org/licenses/lgpl.html and http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
|
||||||
#
|
|
||||||
# In addition, as a special exception, The Qt Company gives you certain additional
|
|
||||||
# rights. These rights are described in The Qt Company LGPL Exception
|
|
||||||
# version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
|
||||||
#
|
|
||||||
#############################################################################
|
|
||||||
|
|
||||||
# Internal utility script that synchronizes the Qt Designer private headers
|
|
||||||
# used by the Qt Designer plugin (located in the qt_private) directory
|
|
||||||
# with the Qt source tree pointed to by the environment variable QTDIR.
|
|
||||||
|
|
||||||
REQUIRED_HEADERS="pluginmanager_p.h iconloader_p.h qdesigner_formwindowmanager_p.h formwindowbase_p.h
|
|
||||||
abstractnewformwidget_p.h qtresourcemodel_p.h abstractoptionspage_p.h
|
|
||||||
shared_global_p.h abstractsettings_p.h qdesigner_integration_p.h qsimpleresource_p.h shared_enums_p.h"
|
|
||||||
|
|
||||||
echo Using $QTDIR
|
|
||||||
|
|
||||||
syncHeader()
|
|
||||||
{
|
|
||||||
HDR=$1
|
|
||||||
# Locate the Designer header: look in lib/shared or SDK
|
|
||||||
QTHDR=$QTDIR/tools/designer/src/lib/shared/$HDR
|
|
||||||
if [ ! -f $QTHDR ]
|
|
||||||
then
|
|
||||||
QTHDR=$QTDIR/tools/designer/src/lib/sdk/$HDR
|
|
||||||
fi
|
|
||||||
echo Syncing $QTHDR
|
|
||||||
|
|
||||||
[ -f $QTHDR ] || { echo "$HDR does not exist" ; exit 1 ; }
|
|
||||||
|
|
||||||
TARGET=qt_private/$HDR
|
|
||||||
|
|
||||||
# Exchange license header
|
|
||||||
head -n 28 formwindowfile.h > $TARGET || exit 1
|
|
||||||
tail -n +41 $QTHDR >> $TARGET || exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
for H in $REQUIRED_HEADERS
|
|
||||||
do
|
|
||||||
syncHeader $H
|
|
||||||
done
|
|
Reference in New Issue
Block a user