forked from qt-creator/qt-creator
Merge branch 'master' of git@scm.dev.nokia.troll.no:creator/mainline
This commit is contained in:
@@ -388,15 +388,20 @@ QPixmap ManhattanStyle::standardPixmap(StandardPixmap standardPixmap, const QSty
|
|||||||
int ManhattanStyle::styleHint(StyleHint hint, const QStyleOption *option, const QWidget *widget,
|
int ManhattanStyle::styleHint(StyleHint hint, const QStyleOption *option, const QWidget *widget,
|
||||||
QStyleHintReturn *returnData) const
|
QStyleHintReturn *returnData) const
|
||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = d->style->styleHint(hint, option, widget, returnData);
|
||||||
switch (hint) {
|
switch (hint) {
|
||||||
|
// Make project explorer alternate rows all the way
|
||||||
|
case QStyle::SH_ItemView_PaintAlternatingRowColorsForEmptyArea:
|
||||||
|
if (widget && widget->property("AlternateEmpty").toBool())
|
||||||
|
ret = true;
|
||||||
|
break;
|
||||||
case QStyle::SH_EtchDisabledText:
|
case QStyle::SH_EtchDisabledText:
|
||||||
ret = false; // We really should only enforce this for panel widgets
|
if (panelWidget(widget))
|
||||||
|
ret = false;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
ret = d->style->styleHint(hint, option, widget, returnData);
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -5,6 +5,7 @@ Including cpp.pri in designer.pro enables them and defines
|
|||||||
CPP_ENABLED.
|
CPP_ENABLED.
|
||||||
|
|
||||||
Resource handling:
|
Resource handling:
|
||||||
|
------------------
|
||||||
|
|
||||||
When the editor is opened for the ui file we remember the internal qrc list
|
When the editor is opened for the ui file we remember the internal qrc list
|
||||||
read from the ui file (m_originalUiQrcPaths). In next step (a call to
|
read from the ui file (m_originalUiQrcPaths). In next step (a call to
|
||||||
@@ -35,3 +36,11 @@ 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.
|
||||||
|
@@ -48,11 +48,11 @@
|
|||||||
#include <utils/qtcassert.h>
|
#include <utils/qtcassert.h>
|
||||||
|
|
||||||
#include <QtDesigner/QDesignerFormEditorPluginInterface>
|
#include <QtDesigner/QDesignerFormEditorPluginInterface>
|
||||||
#include <QtDesigner/private/pluginmanager_p.h>
|
#include <qt_private/pluginmanager_p.h>
|
||||||
|
|
||||||
#include <QtDesigner/private/iconloader_p.h> // createIconSet
|
#include <qt_private/iconloader_p.h> // createIconSet
|
||||||
#include <QtDesigner/private/qdesigner_formwindowmanager_p.h>
|
#include <qt_private/qdesigner_formwindowmanager_p.h>
|
||||||
#include <QtDesigner/private/formwindowbase_p.h>
|
#include <qt_private/formwindowbase_p.h>
|
||||||
#include <QtDesigner/QDesignerFormEditorInterface>
|
#include <QtDesigner/QDesignerFormEditorInterface>
|
||||||
#include <QtDesigner/QDesignerComponents>
|
#include <QtDesigner/QDesignerComponents>
|
||||||
|
|
||||||
|
@@ -34,7 +34,7 @@
|
|||||||
#include "formtemplatewizardpage.h"
|
#include "formtemplatewizardpage.h"
|
||||||
#include "formeditorw.h"
|
#include "formeditorw.h"
|
||||||
|
|
||||||
#include <QtDesigner/private/abstractnewformwidget_p.h>
|
#include <qt_private/abstractnewformwidget_p.h>
|
||||||
|
|
||||||
#include <QtCore/QDebug>
|
#include <QtCore/QDebug>
|
||||||
#include <QtCore/QXmlStreamReader>
|
#include <QtCore/QXmlStreamReader>
|
||||||
|
@@ -45,8 +45,8 @@
|
|||||||
#include <QtDesigner/QDesignerFormWindowInterface>
|
#include <QtDesigner/QDesignerFormWindowInterface>
|
||||||
#include <QtDesigner/QDesignerFormEditorInterface>
|
#include <QtDesigner/QDesignerFormEditorInterface>
|
||||||
#include <QtDesigner/QDesignerFormWindowManagerInterface>
|
#include <QtDesigner/QDesignerFormWindowManagerInterface>
|
||||||
#include <QtDesigner/private/formwindowbase_p.h>
|
#include <qt_private/formwindowbase_p.h>
|
||||||
#include <QtDesigner/private/qtresourcemodel_p.h>
|
#include <qt_private/qtresourcemodel_p.h>
|
||||||
|
|
||||||
#include <QtCore/QFile>
|
#include <QtCore/QFile>
|
||||||
#include <QtCore/QDir>
|
#include <QtCore/QDir>
|
||||||
|
80
src/plugins/designer/qt_private/abstractnewformwidget_p.h
Normal file
80
src/plugins/designer/qt_private/abstractnewformwidget_p.h
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
/***************************************************************************
|
||||||
|
**
|
||||||
|
** This file is part of Qt Creator
|
||||||
|
**
|
||||||
|
** Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
|
||||||
|
**
|
||||||
|
** Contact: Qt Software Information (qt-info@nokia.com)
|
||||||
|
**
|
||||||
|
**
|
||||||
|
** Non-Open Source Usage
|
||||||
|
**
|
||||||
|
** Licensees may use this file in accordance with the Qt Beta Version
|
||||||
|
** License Agreement, Agreement version 2.2 provided with the Software or,
|
||||||
|
** alternatively, in accordance with the terms contained in a written
|
||||||
|
** agreement between you and Nokia.
|
||||||
|
**
|
||||||
|
** GNU General Public License Usage
|
||||||
|
**
|
||||||
|
** Alternatively, this file may be used under the terms of the GNU General
|
||||||
|
** Public License versions 2.0 or 3.0 as published by the Free Software
|
||||||
|
** Foundation and appearing in the file LICENSE.GPL included in the packaging
|
||||||
|
** of this file. Please review the following information to ensure GNU
|
||||||
|
** General Public Licensing requirements will be met:
|
||||||
|
**
|
||||||
|
** http://www.fsf.org/licensing/licenses/info/GPLv2.html and
|
||||||
|
** http://www.gnu.org/copyleft/gpl.html.
|
||||||
|
**
|
||||||
|
** In addition, as a special exception, Nokia gives you certain additional
|
||||||
|
** rights. These rights are described in the Nokia Qt GPL Exception
|
||||||
|
** version 1.3, included in the file GPL_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 <QtDesigner/sdk_global.h>
|
||||||
|
|
||||||
|
#include <QtGui/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
|
71
src/plugins/designer/qt_private/abstractoptionspage_p.h
Normal file
71
src/plugins/designer/qt_private/abstractoptionspage_p.h
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
/***************************************************************************
|
||||||
|
**
|
||||||
|
** This file is part of Qt Creator
|
||||||
|
**
|
||||||
|
** Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
|
||||||
|
**
|
||||||
|
** Contact: Qt Software Information (qt-info@nokia.com)
|
||||||
|
**
|
||||||
|
**
|
||||||
|
** Non-Open Source Usage
|
||||||
|
**
|
||||||
|
** Licensees may use this file in accordance with the Qt Beta Version
|
||||||
|
** License Agreement, Agreement version 2.2 provided with the Software or,
|
||||||
|
** alternatively, in accordance with the terms contained in a written
|
||||||
|
** agreement between you and Nokia.
|
||||||
|
**
|
||||||
|
** GNU General Public License Usage
|
||||||
|
**
|
||||||
|
** Alternatively, this file may be used under the terms of the GNU General
|
||||||
|
** Public License versions 2.0 or 3.0 as published by the Free Software
|
||||||
|
** Foundation and appearing in the file LICENSE.GPL included in the packaging
|
||||||
|
** of this file. Please review the following information to ensure GNU
|
||||||
|
** General Public Licensing requirements will be met:
|
||||||
|
**
|
||||||
|
** http://www.fsf.org/licensing/licenses/info/GPLv2.html and
|
||||||
|
** http://www.gnu.org/copyleft/gpl.html.
|
||||||
|
**
|
||||||
|
** In addition, as a special exception, Nokia gives you certain additional
|
||||||
|
** rights. These rights are described in the Nokia Qt GPL Exception
|
||||||
|
** version 1.3, included in the file GPL_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 <QtDesigner/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
|
79
src/plugins/designer/qt_private/abstractsettings_p.h
Normal file
79
src/plugins/designer/qt_private/abstractsettings_p.h
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
/***************************************************************************
|
||||||
|
**
|
||||||
|
** This file is part of Qt Creator
|
||||||
|
**
|
||||||
|
** Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
|
||||||
|
**
|
||||||
|
** Contact: Qt Software Information (qt-info@nokia.com)
|
||||||
|
**
|
||||||
|
**
|
||||||
|
** Non-Open Source Usage
|
||||||
|
**
|
||||||
|
** Licensees may use this file in accordance with the Qt Beta Version
|
||||||
|
** License Agreement, Agreement version 2.2 provided with the Software or,
|
||||||
|
** alternatively, in accordance with the terms contained in a written
|
||||||
|
** agreement between you and Nokia.
|
||||||
|
**
|
||||||
|
** GNU General Public License Usage
|
||||||
|
**
|
||||||
|
** Alternatively, this file may be used under the terms of the GNU General
|
||||||
|
** Public License versions 2.0 or 3.0 as published by the Free Software
|
||||||
|
** Foundation and appearing in the file LICENSE.GPL included in the packaging
|
||||||
|
** of this file. Please review the following information to ensure GNU
|
||||||
|
** General Public Licensing requirements will be met:
|
||||||
|
**
|
||||||
|
** http://www.fsf.org/licensing/licenses/info/GPLv2.html and
|
||||||
|
** http://www.gnu.org/copyleft/gpl.html.
|
||||||
|
**
|
||||||
|
** In addition, as a special exception, Nokia gives you certain additional
|
||||||
|
** rights. These rights are described in the Nokia Qt GPL Exception
|
||||||
|
** version 1.3, included in the file GPL_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 <QtDesigner/sdk_global.h>
|
||||||
|
|
||||||
|
#include <QVariant>
|
||||||
|
|
||||||
|
QT_BEGIN_HEADER
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
QT_END_HEADER
|
||||||
|
|
||||||
|
#endif // ABSTRACTSETTINGS_P_H
|
194
src/plugins/designer/qt_private/formwindowbase_p.h
Normal file
194
src/plugins/designer/qt_private/formwindowbase_p.h
Normal file
@@ -0,0 +1,194 @@
|
|||||||
|
/***************************************************************************
|
||||||
|
**
|
||||||
|
** This file is part of Qt Creator
|
||||||
|
**
|
||||||
|
** Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
|
||||||
|
**
|
||||||
|
** Contact: Qt Software Information (qt-info@nokia.com)
|
||||||
|
**
|
||||||
|
**
|
||||||
|
** Non-Open Source Usage
|
||||||
|
**
|
||||||
|
** Licensees may use this file in accordance with the Qt Beta Version
|
||||||
|
** License Agreement, Agreement version 2.2 provided with the Software or,
|
||||||
|
** alternatively, in accordance with the terms contained in a written
|
||||||
|
** agreement between you and Nokia.
|
||||||
|
**
|
||||||
|
** GNU General Public License Usage
|
||||||
|
**
|
||||||
|
** Alternatively, this file may be used under the terms of the GNU General
|
||||||
|
** Public License versions 2.0 or 3.0 as published by the Free Software
|
||||||
|
** Foundation and appearing in the file LICENSE.GPL included in the packaging
|
||||||
|
** of this file. Please review the following information to ensure GNU
|
||||||
|
** General Public Licensing requirements will be met:
|
||||||
|
**
|
||||||
|
** http://www.fsf.org/licensing/licenses/info/GPLv2.html and
|
||||||
|
** http://www.gnu.org/copyleft/gpl.html.
|
||||||
|
**
|
||||||
|
** In addition, as a special exception, Nokia gives you certain additional
|
||||||
|
** rights. These rights are described in the Nokia Qt GPL Exception
|
||||||
|
** version 1.3, included in the file GPL_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 <QtDesigner/QDesignerFormWindowInterface>
|
||||||
|
|
||||||
|
#include <QtCore/QVariantMap>
|
||||||
|
#include <QtCore/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 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
|
64
src/plugins/designer/qt_private/iconloader_p.h
Normal file
64
src/plugins/designer/qt_private/iconloader_p.h
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
/***************************************************************************
|
||||||
|
**
|
||||||
|
** This file is part of Qt Creator
|
||||||
|
**
|
||||||
|
** Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
|
||||||
|
**
|
||||||
|
** Contact: Qt Software Information (qt-info@nokia.com)
|
||||||
|
**
|
||||||
|
**
|
||||||
|
** Non-Open Source Usage
|
||||||
|
**
|
||||||
|
** Licensees may use this file in accordance with the Qt Beta Version
|
||||||
|
** License Agreement, Agreement version 2.2 provided with the Software or,
|
||||||
|
** alternatively, in accordance with the terms contained in a written
|
||||||
|
** agreement between you and Nokia.
|
||||||
|
**
|
||||||
|
** GNU General Public License Usage
|
||||||
|
**
|
||||||
|
** Alternatively, this file may be used under the terms of the GNU General
|
||||||
|
** Public License versions 2.0 or 3.0 as published by the Free Software
|
||||||
|
** Foundation and appearing in the file LICENSE.GPL included in the packaging
|
||||||
|
** of this file. Please review the following information to ensure GNU
|
||||||
|
** General Public Licensing requirements will be met:
|
||||||
|
**
|
||||||
|
** http://www.fsf.org/licensing/licenses/info/GPLv2.html and
|
||||||
|
** http://www.gnu.org/copyleft/gpl.html.
|
||||||
|
**
|
||||||
|
** In addition, as a special exception, Nokia gives you certain additional
|
||||||
|
** rights. These rights are described in the Nokia Qt GPL Exception
|
||||||
|
** version 1.3, included in the file GPL_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
|
143
src/plugins/designer/qt_private/pluginmanager_p.h
Normal file
143
src/plugins/designer/qt_private/pluginmanager_p.h
Normal file
@@ -0,0 +1,143 @@
|
|||||||
|
/***************************************************************************
|
||||||
|
**
|
||||||
|
** This file is part of Qt Creator
|
||||||
|
**
|
||||||
|
** Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
|
||||||
|
**
|
||||||
|
** Contact: Qt Software Information (qt-info@nokia.com)
|
||||||
|
**
|
||||||
|
**
|
||||||
|
** Non-Open Source Usage
|
||||||
|
**
|
||||||
|
** Licensees may use this file in accordance with the Qt Beta Version
|
||||||
|
** License Agreement, Agreement version 2.2 provided with the Software or,
|
||||||
|
** alternatively, in accordance with the terms contained in a written
|
||||||
|
** agreement between you and Nokia.
|
||||||
|
**
|
||||||
|
** GNU General Public License Usage
|
||||||
|
**
|
||||||
|
** Alternatively, this file may be used under the terms of the GNU General
|
||||||
|
** Public License versions 2.0 or 3.0 as published by the Free Software
|
||||||
|
** Foundation and appearing in the file LICENSE.GPL included in the packaging
|
||||||
|
** of this file. Please review the following information to ensure GNU
|
||||||
|
** General Public Licensing requirements will be met:
|
||||||
|
**
|
||||||
|
** http://www.fsf.org/licensing/licenses/info/GPLv2.html and
|
||||||
|
** http://www.gnu.org/copyleft/gpl.html.
|
||||||
|
**
|
||||||
|
** In addition, as a special exception, Nokia gives you certain additional
|
||||||
|
** rights. These rights are described in the Nokia Qt GPL Exception
|
||||||
|
** version 1.3, included in the file GPL_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 <QtCore/QSharedDataPointer>
|
||||||
|
#include <QtCore/QMap>
|
||||||
|
#include <QtCore/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:
|
||||||
|
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;
|
||||||
|
|
||||||
|
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;
|
||||||
|
|
||||||
|
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
|
@@ -0,0 +1,90 @@
|
|||||||
|
/***************************************************************************
|
||||||
|
**
|
||||||
|
** This file is part of Qt Creator
|
||||||
|
**
|
||||||
|
** Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
|
||||||
|
**
|
||||||
|
** Contact: Qt Software Information (qt-info@nokia.com)
|
||||||
|
**
|
||||||
|
**
|
||||||
|
** Non-Open Source Usage
|
||||||
|
**
|
||||||
|
** Licensees may use this file in accordance with the Qt Beta Version
|
||||||
|
** License Agreement, Agreement version 2.2 provided with the Software or,
|
||||||
|
** alternatively, in accordance with the terms contained in a written
|
||||||
|
** agreement between you and Nokia.
|
||||||
|
**
|
||||||
|
** GNU General Public License Usage
|
||||||
|
**
|
||||||
|
** Alternatively, this file may be used under the terms of the GNU General
|
||||||
|
** Public License versions 2.0 or 3.0 as published by the Free Software
|
||||||
|
** Foundation and appearing in the file LICENSE.GPL included in the packaging
|
||||||
|
** of this file. Please review the following information to ensure GNU
|
||||||
|
** General Public Licensing requirements will be met:
|
||||||
|
**
|
||||||
|
** http://www.fsf.org/licensing/licenses/info/GPLv2.html and
|
||||||
|
** http://www.gnu.org/copyleft/gpl.html.
|
||||||
|
**
|
||||||
|
** In addition, as a special exception, Nokia gives you certain additional
|
||||||
|
** rights. These rights are described in the Nokia Qt GPL Exception
|
||||||
|
** version 1.3, included in the file GPL_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_FORMWINDOMANAGER_H
|
||||||
|
#define QDESIGNER_FORMWINDOMANAGER_H
|
||||||
|
|
||||||
|
#include "shared_global_p.h"
|
||||||
|
#include <QtDesigner/QDesignerFormWindowManagerInterface>
|
||||||
|
|
||||||
|
QT_BEGIN_NAMESPACE
|
||||||
|
|
||||||
|
namespace qdesigner_internal {
|
||||||
|
|
||||||
|
class PreviewManager;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Convenience methods 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;
|
||||||
|
|
||||||
|
private:
|
||||||
|
void *m_unused;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace qdesigner_internal
|
||||||
|
|
||||||
|
QT_END_NAMESPACE
|
||||||
|
|
||||||
|
#endif // QDESIGNER_FORMWINDOMANAGER_H
|
142
src/plugins/designer/qt_private/qdesigner_integration_p.h
Normal file
142
src/plugins/designer/qt_private/qdesigner_integration_p.h
Normal file
@@ -0,0 +1,142 @@
|
|||||||
|
/***************************************************************************
|
||||||
|
**
|
||||||
|
** This file is part of Qt Creator
|
||||||
|
**
|
||||||
|
** Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
|
||||||
|
**
|
||||||
|
** Contact: Qt Software Information (qt-info@nokia.com)
|
||||||
|
**
|
||||||
|
**
|
||||||
|
** Non-Open Source Usage
|
||||||
|
**
|
||||||
|
** Licensees may use this file in accordance with the Qt Beta Version
|
||||||
|
** License Agreement, Agreement version 2.2 provided with the Software or,
|
||||||
|
** alternatively, in accordance with the terms contained in a written
|
||||||
|
** agreement between you and Nokia.
|
||||||
|
**
|
||||||
|
** GNU General Public License Usage
|
||||||
|
**
|
||||||
|
** Alternatively, this file may be used under the terms of the GNU General
|
||||||
|
** Public License versions 2.0 or 3.0 as published by the Free Software
|
||||||
|
** Foundation and appearing in the file LICENSE.GPL included in the packaging
|
||||||
|
** of this file. Please review the following information to ensure GNU
|
||||||
|
** General Public Licensing requirements will be met:
|
||||||
|
**
|
||||||
|
** http://www.fsf.org/licensing/licenses/info/GPLv2.html and
|
||||||
|
** http://www.gnu.org/copyleft/gpl.html.
|
||||||
|
**
|
||||||
|
** In addition, as a special exception, Nokia gives you certain additional
|
||||||
|
** rights. These rights are described in the Nokia Qt GPL Exception
|
||||||
|
** version 1.3, included in the file GPL_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 <QtDesigner/QDesignerIntegrationInterface>
|
||||||
|
|
||||||
|
#include <QtCore/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;
|
||||||
|
|
||||||
|
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
|
136
src/plugins/designer/qt_private/qtresourcemodel_p.h
Normal file
136
src/plugins/designer/qt_private/qtresourcemodel_p.h
Normal file
@@ -0,0 +1,136 @@
|
|||||||
|
/***************************************************************************
|
||||||
|
**
|
||||||
|
** This file is part of Qt Creator
|
||||||
|
**
|
||||||
|
** Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
|
||||||
|
**
|
||||||
|
** Contact: Qt Software Information (qt-info@nokia.com)
|
||||||
|
**
|
||||||
|
**
|
||||||
|
** Non-Open Source Usage
|
||||||
|
**
|
||||||
|
** Licensees may use this file in accordance with the Qt Beta Version
|
||||||
|
** License Agreement, Agreement version 2.2 provided with the Software or,
|
||||||
|
** alternatively, in accordance with the terms contained in a written
|
||||||
|
** agreement between you and Nokia.
|
||||||
|
**
|
||||||
|
** GNU General Public License Usage
|
||||||
|
**
|
||||||
|
** Alternatively, this file may be used under the terms of the GNU General
|
||||||
|
** Public License versions 2.0 or 3.0 as published by the Free Software
|
||||||
|
** Foundation and appearing in the file LICENSE.GPL included in the packaging
|
||||||
|
** of this file. Please review the following information to ensure GNU
|
||||||
|
** General Public Licensing requirements will be met:
|
||||||
|
**
|
||||||
|
** http://www.fsf.org/licensing/licenses/info/GPLv2.html and
|
||||||
|
** http://www.gnu.org/copyleft/gpl.html.
|
||||||
|
**
|
||||||
|
** In addition, as a special exception, Nokia gives you certain additional
|
||||||
|
** rights. These rights are described in the Nokia Qt GPL Exception
|
||||||
|
** version 1.3, included in the file GPL_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 <QtCore/QMap>
|
||||||
|
#include <QtCore/QObject>
|
||||||
|
|
||||||
|
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;
|
||||||
|
|
||||||
|
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;
|
||||||
|
|
||||||
|
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
|
68
src/plugins/designer/qt_private/shared_global_p.h
Normal file
68
src/plugins/designer/qt_private/shared_global_p.h
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
/***************************************************************************
|
||||||
|
**
|
||||||
|
** This file is part of Qt Creator
|
||||||
|
**
|
||||||
|
** Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
|
||||||
|
**
|
||||||
|
** Contact: Qt Software Information (qt-info@nokia.com)
|
||||||
|
**
|
||||||
|
**
|
||||||
|
** Non-Open Source Usage
|
||||||
|
**
|
||||||
|
** Licensees may use this file in accordance with the Qt Beta Version
|
||||||
|
** License Agreement, Agreement version 2.2 provided with the Software or,
|
||||||
|
** alternatively, in accordance with the terms contained in a written
|
||||||
|
** agreement between you and Nokia.
|
||||||
|
**
|
||||||
|
** GNU General Public License Usage
|
||||||
|
**
|
||||||
|
** Alternatively, this file may be used under the terms of the GNU General
|
||||||
|
** Public License versions 2.0 or 3.0 as published by the Free Software
|
||||||
|
** Foundation and appearing in the file LICENSE.GPL included in the packaging
|
||||||
|
** of this file. Please review the following information to ensure GNU
|
||||||
|
** General Public Licensing requirements will be met:
|
||||||
|
**
|
||||||
|
** http://www.fsf.org/licensing/licenses/info/GPLv2.html and
|
||||||
|
** http://www.gnu.org/copyleft/gpl.html.
|
||||||
|
**
|
||||||
|
** In addition, as a special exception, Nokia gives you certain additional
|
||||||
|
** rights. These rights are described in the Nokia Qt GPL Exception
|
||||||
|
** version 1.3, included in the file GPL_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 <QtCore/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
|
@@ -34,7 +34,7 @@
|
|||||||
#ifndef SETTINGSMANAGER_H
|
#ifndef SETTINGSMANAGER_H
|
||||||
#define SETTINGSMANAGER_H
|
#define SETTINGSMANAGER_H
|
||||||
|
|
||||||
#include <QtDesigner/private/abstractsettings_p.h>
|
#include <qt_private/abstractsettings_p.h>
|
||||||
#include <QtCore/QSettings>
|
#include <QtCore/QSettings>
|
||||||
|
|
||||||
namespace Designer {
|
namespace Designer {
|
||||||
|
@@ -34,7 +34,7 @@
|
|||||||
#include "settingspage.h"
|
#include "settingspage.h"
|
||||||
|
|
||||||
#include <extensionsystem/pluginmanager.h>
|
#include <extensionsystem/pluginmanager.h>
|
||||||
#include <QtDesigner/private/abstractoptionspage_p.h>
|
#include <qt_private/abstractoptionspage_p.h>
|
||||||
|
|
||||||
using namespace Designer::Internal;
|
using namespace Designer::Internal;
|
||||||
|
|
||||||
|
69
src/plugins/designer/syncqtheader.sh
Executable file
69
src/plugins/designer/syncqtheader.sh
Executable file
@@ -0,0 +1,69 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# **************************************************************************
|
||||||
|
#
|
||||||
|
# This file is part of Qt Creator
|
||||||
|
#
|
||||||
|
# Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
|
||||||
|
#
|
||||||
|
# Contact: Qt Software Information (qt-info@nokia.com)
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# Non-Open Source Usage
|
||||||
|
#
|
||||||
|
# Licensees may use this file in accordance with the Qt Beta Version
|
||||||
|
# License Agreement, Agreement version 2.2 provided with the Software or,
|
||||||
|
# alternatively, in accordance with the terms contained in a written
|
||||||
|
# agreement between you and Nokia.
|
||||||
|
#
|
||||||
|
# GNU General Public License Usage
|
||||||
|
#
|
||||||
|
# Alternatively, this file may be used under the terms of the GNU General
|
||||||
|
# Public License versions 2.0 or 3.0 as published by the Free Software
|
||||||
|
# Foundation and appearing in the file LICENSE.GPL included in the packaging
|
||||||
|
# of this file. Please review the following information to ensure GNU
|
||||||
|
# General Public Licensing requirements will be met:
|
||||||
|
#
|
||||||
|
# http://www.fsf.org/licensing/licenses/info/GPLv2.html and
|
||||||
|
# http://www.gnu.org/copyleft/gpl.html.
|
||||||
|
#
|
||||||
|
# In addition, as a special exception, Nokia gives you certain additional
|
||||||
|
# rights. These rights are described in the Nokia Qt GPL Exception
|
||||||
|
# version 1.3, included in the file GPL_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"
|
||||||
|
|
||||||
|
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 32 formwindowfile.h > $TARGET || exit 1
|
||||||
|
tail -n +11 $QTHDR >> $TARGET || exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
for H in $REQUIRED_HEADERS
|
||||||
|
do
|
||||||
|
syncHeader $H
|
||||||
|
done
|
@@ -36,7 +36,7 @@
|
|||||||
|
|
||||||
#include <cpptools/cppmodelmanagerinterface.h>
|
#include <cpptools/cppmodelmanagerinterface.h>
|
||||||
|
|
||||||
#include <QtDesigner/private/qdesigner_integration_p.h>
|
#include <qt_private/qdesigner_integration_p.h>
|
||||||
|
|
||||||
namespace Designer {
|
namespace Designer {
|
||||||
namespace Internal {
|
namespace Internal {
|
||||||
|
@@ -73,6 +73,8 @@ public:
|
|||||||
setContextMenuPolicy(Qt::CustomContextMenu);
|
setContextMenuPolicy(Qt::CustomContextMenu);
|
||||||
setUniformRowHeights(true);
|
setUniformRowHeights(true);
|
||||||
setTextElideMode(Qt::ElideNone);
|
setTextElideMode(Qt::ElideNone);
|
||||||
|
setAlternatingRowColors(true);
|
||||||
|
setProperty("AlternateEmpty", true); // Let Manhattan to override style default
|
||||||
// setExpandsOnDoubleClick(false);
|
// setExpandsOnDoubleClick(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user