QmlDesigner: Fix compilation with latest changes of QDeclarative

All files have been renamed from Qml to QDeclarative.
Registration of types is now done in an initializer method.
QmlView/QDeclarativeView doesn't have an execute method any more.
QDeclarativeMetaObject became private API.
QmlMetaProperty / QDeclarativeProperty has now different API.
This commit is contained in:
Kai Koehne
2010-02-26 14:47:44 +01:00
parent 4c59f3f2ce
commit dbfe2e7f5e
83 changed files with 700 additions and 615 deletions

View File

@@ -41,7 +41,7 @@ class QWidget;
class QIODevice; class QIODevice;
class QProcess; class QProcess;
class QPlainTextEdit; class QPlainTextEdit;
class QmlError; class QDeclarativeError;
QT_END_NAMESPACE QT_END_NAMESPACE
namespace QmlDesigner { namespace QmlDesigner {

View File

@@ -33,7 +33,7 @@
#include <QtGui/QTextEdit> #include <QtGui/QTextEdit>
#include <QtGui/QMessageBox> #include <QtGui/QMessageBox>
#include <QmlError> #include <QDeclarativeError>
#include <model.h> #include <model.h>
#include "designdocumentcontroller.h" #include "designdocumentcontroller.h"

View File

@@ -42,7 +42,7 @@
#include <QtGui/QTabWidget> #include <QtGui/QTabWidget>
#include <QtGui/QUndoGroup> #include <QtGui/QUndoGroup>
class QmlError; class QDeclarativeError;
namespace QmlDesigner { namespace QmlDesigner {

View File

@@ -54,9 +54,9 @@
#include <QFileIconProvider> #include <QFileIconProvider>
#include <QImageReader> #include <QImageReader>
#include <QmlView> #include <QDeclarativeView>
#include <QmlGraphicsItem> #include <QDeclarativeItem>
#include <private/qmlengine_p.h> #include <private/qdeclarativeengine_p.h>
namespace QmlDesigner { namespace QmlDesigner {
@@ -106,7 +106,7 @@ public:
Ui::ItemLibrary m_ui; Ui::ItemLibrary m_ui;
Internal::ItemLibraryModel *m_itemLibraryModel; Internal::ItemLibraryModel *m_itemLibraryModel;
QmlView *m_itemsView; QDeclarativeView *m_itemsView;
QDirModel *m_resourcesDirModel; QDirModel *m_resourcesDirModel;
QString m_resourcePath; QString m_resourcePath;
QSize m_itemIconSize, m_resIconSize; QSize m_itemIconSize, m_resIconSize;
@@ -147,24 +147,23 @@ ItemLibrary::ItemLibrary(QWidget *parent) :
m_d->m_ui.ItemLibraryTreeView->setAttribute(Qt::WA_MacShowFocusRect, false); m_d->m_ui.ItemLibraryTreeView->setAttribute(Qt::WA_MacShowFocusRect, false);
m_d->m_ui.ItemLibraryTreeView->setRootIndex(m_d->m_resourcesDirModel->index(m_d->m_resourcePath)); m_d->m_ui.ItemLibraryTreeView->setRootIndex(m_d->m_resourcesDirModel->index(m_d->m_resourcePath));
m_d->m_itemsView = new QmlView(this); m_d->m_itemsView = new QDeclarativeView(this);
m_d->m_itemsView->setSource(QUrl("qrc:/ItemLibrary/qml/ItemsView.qml"));
m_d->m_itemsView->setAttribute(Qt::WA_OpaquePaintEvent); m_d->m_itemsView->setAttribute(Qt::WA_OpaquePaintEvent);
m_d->m_itemsView->setAttribute(Qt::WA_NoSystemBackground); m_d->m_itemsView->setAttribute(Qt::WA_NoSystemBackground);
m_d->m_itemsView->setAcceptDrops(false); m_d->m_itemsView->setAcceptDrops(false);
m_d->m_itemsView->setFocusPolicy(Qt::ClickFocus); m_d->m_itemsView->setFocusPolicy(Qt::ClickFocus);
m_d->m_itemsView->setResizeMode(QmlView::SizeRootObjectToView); m_d->m_itemsView->setResizeMode(QDeclarativeView::SizeRootObjectToView);
m_d->m_ui.ItemLibraryGridLayout->addWidget(m_d->m_itemsView, 0, 0); m_d->m_ui.ItemLibraryGridLayout->addWidget(m_d->m_itemsView, 0, 0);
m_d->m_itemLibraryModel = new Internal::ItemLibraryModel(QmlEnginePrivate::getScriptEngine(m_d->m_itemsView->engine()), this); m_d->m_itemLibraryModel = new Internal::ItemLibraryModel(QDeclarativeEnginePrivate::getScriptEngine(m_d->m_itemsView->engine()), this);
m_d->m_itemLibraryModel->setItemIconSize(m_d->m_itemIconSize); m_d->m_itemLibraryModel->setItemIconSize(m_d->m_itemIconSize);
m_d->m_itemsView->rootContext()->setContextProperty(QLatin1String("itemLibraryModel"), m_d->m_itemLibraryModel); m_d->m_itemsView->rootContext()->setContextProperty(QLatin1String("itemLibraryModel"), m_d->m_itemLibraryModel);
m_d->m_itemsView->rootContext()->setContextProperty(QLatin1String("itemLibraryIconWidth"), m_d->m_itemIconSize.width()); m_d->m_itemsView->rootContext()->setContextProperty(QLatin1String("itemLibraryIconWidth"), m_d->m_itemIconSize.width());
m_d->m_itemsView->rootContext()->setContextProperty(QLatin1String("itemLibraryIconHeight"), m_d->m_itemIconSize.height()); m_d->m_itemsView->rootContext()->setContextProperty(QLatin1String("itemLibraryIconHeight"), m_d->m_itemIconSize.height());
m_d->m_itemsView->execute(); m_d->m_itemsView->setSource(QUrl("qrc:/ItemLibrary/qml/ItemsView.qml"));
QmlGraphicsItem *rootItem = qobject_cast<QmlGraphicsItem*>(m_d->m_itemsView->rootObject()); QDeclarativeItem *rootItem = qobject_cast<QDeclarativeItem*>(m_d->m_itemsView->rootObject());
connect(rootItem, SIGNAL(itemSelected(int)), this, SLOT(showItemInfo(int))); connect(rootItem, SIGNAL(itemSelected(int)), this, SLOT(showItemInfo(int)));
connect(rootItem, SIGNAL(itemDragged(int)), this, SLOT(startDragAndDrop(int))); connect(rootItem, SIGNAL(itemDragged(int)), this, SLOT(startDragAndDrop(int)));
connect(this, SIGNAL(expandAllItems()), rootItem, SLOT(expandAll())); connect(this, SIGNAL(expandAllItems()), rootItem, SLOT(expandAll()));
@@ -262,7 +261,7 @@ void ItemLibrary::startDragAndDrop(int itemLibId)
drag->setPreview(QPixmap::fromImage(image)); drag->setPreview(QPixmap::fromImage(image));
drag->setMimeData(mimeData); drag->setMimeData(mimeData);
QmlGraphicsItem *rootItem = qobject_cast<QmlGraphicsItem*>(m_d->m_itemsView->rootObject()); QDeclarativeItem *rootItem = qobject_cast<QDeclarativeItem*>(m_d->m_itemsView->rootObject());
connect(rootItem, SIGNAL(stopDragAndDrop()), drag, SLOT(stopDrag())); connect(rootItem, SIGNAL(stopDragAndDrop()), drag, SLOT(stopDrag()));
drag->exec(); drag->exec();

View File

@@ -44,7 +44,7 @@ namespace Internal {
template <class T> template <class T>
ItemLibrarySortedModel<T>::ItemLibrarySortedModel(QObject *parent) : ItemLibrarySortedModel<T>::ItemLibrarySortedModel(QObject *parent) :
QmlListModel(parent) QDeclarativeListModel(parent)
{ {
} }
@@ -230,7 +230,7 @@ ItemLibrarySectionModel::ItemLibrarySectionModel(QScriptEngine *scriptEngine, in
QScriptValue::setProperty(QLatin1String("sectionLibId"), sectionLibId); QScriptValue::setProperty(QLatin1String("sectionLibId"), sectionLibId);
QScriptValue::setProperty(QLatin1String("sectionName"), sectionName); QScriptValue::setProperty(QLatin1String("sectionName"), sectionName);
QScriptValue::setProperty(QLatin1String("sectionEntries"), QScriptValue::setProperty(QLatin1String("sectionEntries"),
scriptEngine->newVariant(QVariant::fromValue(static_cast<QmlListModel *>(&m_sectionEntries)))); scriptEngine->newVariant(QVariant::fromValue(static_cast<QDeclarativeListModel *>(&m_sectionEntries))));
} }

View File

@@ -34,7 +34,7 @@
#include <QIcon> #include <QIcon>
#include <QVariant> #include <QVariant>
#include <QScriptEngine> #include <QScriptEngine>
#include <private/qmllistmodel_p.h> #include <private/qdeclarativelistmodel_p.h>
QT_FORWARD_DECLARE_CLASS(QMimeData); QT_FORWARD_DECLARE_CLASS(QMimeData);
@@ -46,7 +46,7 @@ class ItemLibraryInfo;
namespace Internal { namespace Internal {
template <class T> template <class T>
class ItemLibrarySortedModel: public QmlListModel { class ItemLibrarySortedModel: public QDeclarativeListModel {
public: public:
ItemLibrarySortedModel(QObject *parent = 0); ItemLibrarySortedModel(QObject *parent = 0);
~ItemLibrarySortedModel(); ~ItemLibrarySortedModel();

View File

@@ -31,7 +31,6 @@
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
QML_DEFINE_TYPE(Bauhaus,1,0,QBoxLayout,QBoxLayoutObject);
QBoxLayoutObject::QBoxLayoutObject(QObject *parent) QBoxLayoutObject::QBoxLayoutObject(QObject *parent)
: QLayoutObject(parent), _layout(0) : QLayoutObject(parent), _layout(0)
@@ -57,16 +56,22 @@ void QBoxLayoutObject::clearWidget()
{ {
} }
QML_DEFINE_TYPE(Bauhaus,1,0,QHBoxLayout,QHBoxLayoutObject);
QHBoxLayoutObject::QHBoxLayoutObject(QObject *parent) QHBoxLayoutObject::QHBoxLayoutObject(QObject *parent)
: QBoxLayoutObject(new QHBoxLayout, parent) : QBoxLayoutObject(new QHBoxLayout, parent)
{ {
} }
QML_DEFINE_TYPE(Bauhaus,1,0,QVBoxLayout,QVBoxLayoutObject);
QVBoxLayoutObject::QVBoxLayoutObject(QObject *parent) QVBoxLayoutObject::QVBoxLayoutObject(QObject *parent)
: QBoxLayoutObject(new QVBoxLayout, parent) : QBoxLayoutObject(new QVBoxLayout, parent)
{ {
} }
void BasicLayouts::registerDeclarativeTypes()
{
QML_REGISTER_TYPE(Bauhaus,1,0,QBoxLayout,QBoxLayoutObject);
QML_REGISTER_TYPE(Bauhaus,1,0,QHBoxLayout,QHBoxLayoutObject);
QML_REGISTER_TYPE(Bauhaus,1,0,QVBoxLayout,QVBoxLayoutObject);
}
QT_END_NAMESPACE QT_END_NAMESPACE

View File

@@ -43,7 +43,7 @@ class QBoxLayoutObject : public QLayoutObject
{ {
Q_OBJECT Q_OBJECT
Q_PROPERTY(QmlListProperty<QWidget> children READ children) Q_PROPERTY(QDeclarativeListProperty<QWidget> children READ children)
Q_PROPERTY(int topMargin READ topMargin WRITE setTopMargin) Q_PROPERTY(int topMargin READ topMargin WRITE setTopMargin)
Q_PROPERTY(int bottomMargin READ bottomMargin WRITE setBottomMargin) Q_PROPERTY(int bottomMargin READ bottomMargin WRITE setBottomMargin)
@@ -57,8 +57,8 @@ public:
explicit QBoxLayoutObject(QBoxLayout *, QObject *parent=0); explicit QBoxLayoutObject(QBoxLayout *, QObject *parent=0);
virtual QLayout *layout() const; virtual QLayout *layout() const;
QmlListProperty<QWidget> children() { QDeclarativeListProperty<QWidget> children() {
return QmlListProperty<QWidget>(this, 0, children_append, 0, 0, children_clear); return QDeclarativeListProperty<QWidget>(this, 0, children_append, 0, 0, children_clear);
} }
private: private:
@@ -66,11 +66,11 @@ private:
void addWidget(QWidget *); void addWidget(QWidget *);
void clearWidget(); void clearWidget();
static void children_append(QmlListProperty<QWidget> *property, QWidget *widget) { static void children_append(QDeclarativeListProperty<QWidget> *property, QWidget *widget) {
static_cast<QBoxLayoutObject*>(property->object)->addWidget(widget); static_cast<QBoxLayoutObject*>(property->object)->addWidget(widget);
} }
static void children_clear(QmlListProperty<QWidget> *property) { static void children_clear(QDeclarativeListProperty<QWidget> *property) {
static_cast<QBoxLayoutObject*>(property->object)->clearWidget(); static_cast<QBoxLayoutObject*>(property->object)->clearWidget();
} }
@@ -172,6 +172,12 @@ QML_DECLARE_TYPE(QBoxLayoutObject);
QML_DECLARE_TYPE(QHBoxLayoutObject); QML_DECLARE_TYPE(QHBoxLayoutObject);
QML_DECLARE_TYPE(QVBoxLayoutObject); QML_DECLARE_TYPE(QVBoxLayoutObject);
class BasicLayouts {
public:
static void registerDeclarativeTypes();
};
QT_END_HEADER QT_END_HEADER
#endif // BASICLAYOUTS_H #endif // BASICLAYOUTS_H

View File

@@ -29,10 +29,10 @@
#include "basicwidgets.h" #include "basicwidgets.h"
#include <qlayoutobject.h> #include <qlayoutobject.h>
#include <private/graphicswidgets_p.h> //#include <private/graphicswidgets_p.h>
#include <qmlcontext.h> #include <QDeclarativeContext>
#include <qmlengine.h> #include <QDeclarativeEngine>
#include <qmlcomponent.h> #include <QDeclarativeComponent>
#include <QtCore/QDebug> #include <QtCore/QDebug>
#include <QFile> #include <QFile>
#include <QPixmap> #include <QPixmap>
@@ -68,9 +68,9 @@ class QWidgetDeclarativeUI : public QObject
{ {
Q_OBJECT Q_OBJECT
Q_PROPERTY(QmlListProperty<QObject> children READ children) Q_PROPERTY(QDeclarativeListProperty<QObject> children READ children)
Q_PROPERTY(QLayoutObject *layout READ layout WRITE setLayout) Q_PROPERTY(QLayoutObject *layout READ layout WRITE setLayout)
Q_PROPERTY(QmlListProperty<Action> actions READ actions) Q_PROPERTY(QDeclarativeListProperty<Action> actions READ actions)
Q_PROPERTY(QFont font READ font CONSTANT) Q_PROPERTY(QFont font READ font CONSTANT)
Q_PROPERTY(QPoint pos READ pos) Q_PROPERTY(QPoint pos READ pos)
@@ -155,8 +155,8 @@ public:
emit mouseOverChanged(); emit mouseOverChanged();
} }
QmlListProperty<QObject> children() { QDeclarativeListProperty<QObject> children() {
return QmlListProperty<QObject>(this, 0, children_append, children_count, children_at, children_clear); return QDeclarativeListProperty<QObject>(this, 0, children_append, children_count, children_at, children_clear);
} }
QLayoutObject *layout() const { return _layout; } QLayoutObject *layout() const { return _layout; }
@@ -374,8 +374,8 @@ public:
} }
QmlListProperty<Action> actions() { QDeclarativeListProperty<Action> actions() {
return QmlListProperty<Action>(this, 0, actions_append, actions_count, actions_at, actions_clear); return QDeclarativeListProperty<Action>(this, 0, actions_append, actions_count, actions_at, actions_clear);
} }
private: private:
@@ -386,7 +386,7 @@ private:
QGraphicsOpacityEffect *_graphicsOpacityEffect; QGraphicsOpacityEffect *_graphicsOpacityEffect;
bool m_mouseOver; bool m_mouseOver;
static void children_append(QmlListProperty<QObject> *property, QObject *o) { static void children_append(QDeclarativeListProperty<QObject> *property, QObject *o) {
QWidgetDeclarativeUI *p = static_cast<QWidgetDeclarativeUI *>(property->object); QWidgetDeclarativeUI *p = static_cast<QWidgetDeclarativeUI *>(property->object);
QWidget *q = p->q; QWidget *q = p->q;
if (QWidget *w = qobject_cast<QWidget *>(o)) if (QWidget *w = qobject_cast<QWidget *>(o))
@@ -395,19 +395,19 @@ private:
o->setParent(q); o->setParent(q);
} }
static int children_count(QmlListProperty<QObject> *property) { static int children_count(QDeclarativeListProperty<QObject> *property) {
QWidgetDeclarativeUI *p = static_cast<QWidgetDeclarativeUI *>(property->object); QWidgetDeclarativeUI *p = static_cast<QWidgetDeclarativeUI *>(property->object);
QWidget *q = p->q; QWidget *q = p->q;
return q->children().count(); return q->children().count();
} }
static QObject * children_at(QmlListProperty<QObject> *property, int index) { static QObject * children_at(QDeclarativeListProperty<QObject> *property, int index) {
QWidgetDeclarativeUI *p = static_cast<QWidgetDeclarativeUI *>(property->object); QWidgetDeclarativeUI *p = static_cast<QWidgetDeclarativeUI *>(property->object);
QWidget *q = p->q; QWidget *q = p->q;
return q->children().at(index); return q->children().at(index);
} }
static void children_clear(QmlListProperty<QObject> *property) { static void children_clear(QDeclarativeListProperty<QObject> *property) {
QWidgetDeclarativeUI *p = static_cast<QWidgetDeclarativeUI *>(property->object); QWidgetDeclarativeUI *p = static_cast<QWidgetDeclarativeUI *>(property->object);
QWidget *q = p->q; QWidget *q = p->q;
QObjectList c = q->children(); QObjectList c = q->children();
@@ -416,25 +416,25 @@ private:
} }
// ### Original had an insert, and removeAt // ### Original had an insert, and removeAt
static void actions_append(QmlListProperty<Action> *property, Action *o) { static void actions_append(QDeclarativeListProperty<Action> *property, Action *o) {
QWidgetDeclarativeUI *p = static_cast<QWidgetDeclarativeUI *>(property->object); QWidgetDeclarativeUI *p = static_cast<QWidgetDeclarativeUI *>(property->object);
QWidget *w = p->q; QWidget *w = p->q;
o->setParent(w); o->setParent(w);
w->addAction(o); w->addAction(o);
} }
static int actions_count(QmlListProperty<Action> *property) { static int actions_count(QDeclarativeListProperty<Action> *property) {
QWidgetDeclarativeUI *p = static_cast<QWidgetDeclarativeUI *>(property->object); QWidgetDeclarativeUI *p = static_cast<QWidgetDeclarativeUI *>(property->object);
QWidget *w = p->q; QWidget *w = p->q;
return w->actions().count(); return w->actions().count();
} }
static Action *actions_at(QmlListProperty<Action> *property, int index) { static Action *actions_at(QDeclarativeListProperty<Action> *property, int index) {
QWidgetDeclarativeUI *p = static_cast<QWidgetDeclarativeUI *>(property->object); QWidgetDeclarativeUI *p = static_cast<QWidgetDeclarativeUI *>(property->object);
QWidget *w = p->q; QWidget *w = p->q;
return qobject_cast<Action *>(w->actions().at(index)); return qobject_cast<Action *>(w->actions().at(index));
} }
static void actions_clear(QmlListProperty<Action> *property) { static void actions_clear(QDeclarativeListProperty<Action> *property) {
QWidgetDeclarativeUI *p = static_cast<QWidgetDeclarativeUI *>(property->object); QWidgetDeclarativeUI *p = static_cast<QWidgetDeclarativeUI *>(property->object);
QWidget *w = p->q; QWidget *w = p->q;
@@ -614,7 +614,7 @@ public:
} }
private: private:
//if not for the at() function, we could use QmlList instead //if not for the at() function, we could use QDeclarativeList instead
QMenu *menu; QMenu *menu;
@@ -805,7 +805,7 @@ class WidgetLoader : public QWidget
Q_PROPERTY(QString sourceString READ sourceString WRITE setSourceString NOTIFY sourceChanged) Q_PROPERTY(QString sourceString READ sourceString WRITE setSourceString NOTIFY sourceChanged)
Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged) Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged)
Q_PROPERTY(QWidget *widget READ widget NOTIFY widgetChanged) Q_PROPERTY(QWidget *widget READ widget NOTIFY widgetChanged)
Q_PROPERTY(QmlComponent *component READ component NOTIFY sourceChanged) Q_PROPERTY(QDeclarativeComponent *component READ component NOTIFY sourceChanged)
public: public:
WidgetLoader(QWidget * parent = 0) : QWidget(parent), m_source(QUrl()), m_widget(0), WidgetLoader(QWidget * parent = 0) : QWidget(parent), m_source(QUrl()), m_widget(0),
@@ -824,7 +824,7 @@ public:
{ setSource(QUrl(url)); } { setSource(QUrl(url)); }
QWidget *widget() const; QWidget *widget() const;
QmlComponent *component() const QDeclarativeComponent *component() const
{ return m_component; } { return m_component; }
signals: signals:
@@ -834,7 +834,7 @@ signals:
private: private:
QUrl m_source; QUrl m_source;
QWidget *m_widget; QWidget *m_widget;
QmlComponent *m_component; QDeclarativeComponent *m_component;
QVBoxLayout *m_layout; QVBoxLayout *m_layout;
QHash<QString, QWidget*> m_cachedWidgets; QHash<QString, QWidget*> m_cachedWidgets;
}; };
@@ -873,7 +873,7 @@ void WidgetLoader::setSource(const QUrl &source)
m_widget = m_cachedWidgets.value(source.toString()); m_widget = m_cachedWidgets.value(source.toString());
m_widget->show(); m_widget->show();
} else { } else {
m_component = new QmlComponent(qmlEngine(this), m_source, this); m_component = new QDeclarativeComponent(qmlEngine(this), m_source, this);
if (m_component) { if (m_component) {
emit sourceChanged(); emit sourceChanged();
@@ -889,7 +889,7 @@ void WidgetLoader::setSource(const QUrl &source)
return; return;
} }
QmlContext *ctxt = new QmlContext(qmlContext(this)); QDeclarativeContext *ctxt = new QDeclarativeContext(qmlContext(this));
ctxt->addDefaultObject(this); ctxt->addDefaultObject(this);
QObject *obj = m_component->create(ctxt); QObject *obj = m_component->create(ctxt);
@@ -1107,17 +1107,17 @@ class QTabWidgetDeclarativeUI : public QObject
{ {
Q_OBJECT Q_OBJECT
Q_PROPERTY(QmlListProperty<QTabObject> tabs READ tabs) Q_PROPERTY(QDeclarativeListProperty<QTabObject> tabs READ tabs)
Q_CLASSINFO("DefaultProperty", "tabs") Q_CLASSINFO("DefaultProperty", "tabs")
public: public:
QTabWidgetDeclarativeUI(QObject *other) : QObject(other) {} QTabWidgetDeclarativeUI(QObject *other) : QObject(other) {}
QmlListProperty<QTabObject> tabs() { QDeclarativeListProperty<QTabObject> tabs() {
return QmlListProperty<QTabObject>(this, 0, tabs_append, 0, 0, tabs_clear); return QDeclarativeListProperty<QTabObject>(this, 0, tabs_append, 0, 0, tabs_clear);
} }
private: private:
static void tabs_append(QmlListProperty<QTabObject> *property, QTabObject *o) { static void tabs_append(QDeclarativeListProperty<QTabObject> *property, QTabObject *o) {
QTabWidget *tw = static_cast<QTabWidget*>(property->object->parent()); QTabWidget *tw = static_cast<QTabWidget*>(property->object->parent());
if (!o->icon().isNull()) if (!o->icon().isNull())
tw->addTab(o->content(), o->icon(), o->label()); tw->addTab(o->content(), o->icon(), o->label());
@@ -1125,7 +1125,7 @@ private:
tw->addTab(o->content(), o->label()); tw->addTab(o->content(), o->label());
} }
static void tabs_clear(QmlListProperty<QTabObject> *property) { static void tabs_clear(QDeclarativeListProperty<QTabObject> *property) {
QTabWidget *tw = static_cast<QTabWidget*>(property->object->parent()); QTabWidget *tw = static_cast<QTabWidget*>(property->object->parent());
tw->clear(); tw->clear();
} }
@@ -1140,66 +1140,71 @@ public:
{} {}
}; };
QML_DEFINE_EXTENDED_TYPE(Bauhaus,1,0,QWidget,QWidget,QWidgetDeclarativeUI);
//display
QML_DEFINE_TYPE(Bauhaus,1,0,QProgressBar,QProgressBar)
QML_DEFINE_TYPE(Bauhaus,1,0,QLCDNumber,QLCDNumber)
//input
QML_DEFINE_TYPE(Bauhaus,1,0,QLineEdit,QLineEdit)
QML_DEFINE_TYPE(Bauhaus,1,0,QTextEdit,QTextEdit)
QML_DEFINE_TYPE(Bauhaus,1,0,QPlainTextEdit,QPlainTextEdit)
QML_DEFINE_TYPE(Bauhaus,1,0,QSpinBox,QSpinBox)
QML_DEFINE_TYPE(Bauhaus,1,0,QDoubleSpinBox,QDoubleSpinBox)
QML_DEFINE_TYPE(Bauhaus,1,0,QSlider,QSlider)
QML_DEFINE_TYPE(Bauhaus,1,0,QDateTimeEdit,QDateTimeEdit)
QML_DEFINE_TYPE(Bauhaus,1,0,QDateEdit,QDateEdit)
QML_DEFINE_TYPE(Bauhaus,1,0,QTimeEdit,QTimeEdit)
QML_DEFINE_TYPE(Bauhaus,1,0,QFontComboBox,QFontComboBox)
QML_DEFINE_TYPE(Bauhaus,1,0,QDial,QDial)
QML_DEFINE_TYPE(Bauhaus,1,0,QScrollBar,QScrollBar)
QML_DEFINE_TYPE(Bauhaus,1,0,QCalendarWidget, QCalendarWidget)
QML_DECLARE_TYPE(MyGroupBox)
QML_DECLARE_TYPE(WidgetLoader)
QML_DECLARE_TYPE(WidgetFrame)
//QML_DEFINE_TYPE(Bauhaus,1,0,QComboBox,QComboBox); //need a way to populate
//QML_DEFINE_EXTENDED_TYPE(QComboBox,QComboBox, QComboBox); //need a way to populate
//buttons
//QML_DEFINE_TYPE(Bauhaus,1,0,QPushButton,QPushButton);
QML_DEFINE_TYPE(Bauhaus,1,0,QCheckBox,QCheckBox)
QML_DEFINE_TYPE(Bauhaus,1,0,QGroupBox,QGroupBox)
QML_DEFINE_TYPE(Bauhaus,1,0,QAction,Action)
QML_DEFINE_TYPE(Bauhaus,1,0,QRadioButton,QRadioButton)
QML_DEFINE_TYPE(Bauhaus,1,0,FileWidget, FileWidget)
QML_DEFINE_TYPE(Bauhaus,1,0,LayoutWidget, LayoutWidget)
//containers
QML_DEFINE_TYPE(Bauhaus,1,0,QFrame,QFrame)
QML_DEFINE_TYPE(Bauhaus,1,0,WidgetFrame,WidgetFrame)
QML_DEFINE_TYPE(Bauhaus,1,0,WidgetLoader,WidgetLoader)
QML_DEFINE_EXTENDED_TYPE(Bauhaus,1,0,QExtGroupBox,MyGroupBox,QGroupBoxDeclarativeUI)
QML_DEFINE_EXTENDED_TYPE(Bauhaus,1,0,QTabWidget,QTabWidget,QTabWidgetDeclarativeUI)
QML_DEFINE_EXTENDED_TYPE(Bauhaus,1,0,QScrollArea,QScrollArea,QScrollAreaDeclarativeUI)
QML_DEFINE_EXTENDED_TYPE(Bauhaus,1,0,QPushButton,QPushButton,QPushButtonDeclarativeUI)
QML_DEFINE_EXTENDED_TYPE(Bauhaus,1,0,QLabel,QLabel,QLabelDeclarativeUI)
QML_DEFINE_EXTENDED_TYPE(Bauhaus,1,0,QToolButton,QToolButton, QToolButtonDeclarativeUI)
QML_DEFINE_EXTENDED_TYPE(Bauhaus,1,0,QComboBox,QComboBox, QComboBoxDeclarativeUI)
QML_DEFINE_EXTENDED_TYPE(Bauhaus,1,0,QMenu,QMenu, QMenuDeclarativeUI)
//QML_DEFINE_TYPE(Bauhaus,1,0,BauhausoolBox,BauhausoolBox);
//QML_DEFINE_TYPE(Bauhaus,1,0,QScrollArea,QScrollArea);
//QML_DEFINE_EXTENDED_TYPE(BauhausColorButton,BauhausColorButton,BauhausColorButtonDeclarativeUI);
//itemviews
//QML_DEFINE_TYPE(Bauhaus,1,0,QListView,QListView);
//QML_DEFINE_TYPE(Bauhaus,1,0,BauhausreeView,BauhausreeView);
//QML_DEFINE_TYPE(Bauhaus,1,0,BauhausableView,BauhausableView);
QML_DECLARE_TYPE(QTabObject); QML_DECLARE_TYPE(QTabObject);
QML_DEFINE_TYPE(Qt,4,6,QTabObject,QTabObject); //### with namespacing, this should just be 'Tab' QML_DECLARE_TYPE(MyGroupBox);
QML_DECLARE_TYPE(WidgetLoader);
QML_DECLARE_TYPE(WidgetFrame);
void BasicWidgets::registerDeclarativeTypes()
{
QML_REGISTER_EXTENDED_TYPE(Bauhaus,1,0,QWidget,QWidget,QWidgetDeclarativeUI);
//display
QML_REGISTER_TYPE(Bauhaus,1,0,QProgressBar,QProgressBar);
QML_REGISTER_TYPE(Bauhaus,1,0,QLCDNumber,QLCDNumber);
//input
QML_REGISTER_TYPE(Bauhaus,1,0,QLineEdit,QLineEdit);
QML_REGISTER_TYPE(Bauhaus,1,0,QTextEdit,QTextEdit);
QML_REGISTER_TYPE(Bauhaus,1,0,QPlainTextEdit,QPlainTextEdit);
QML_REGISTER_TYPE(Bauhaus,1,0,QSpinBox,QSpinBox);
QML_REGISTER_TYPE(Bauhaus,1,0,QDoubleSpinBox,QDoubleSpinBox);
QML_REGISTER_TYPE(Bauhaus,1,0,QSlider,QSlider);
QML_REGISTER_TYPE(Bauhaus,1,0,QDateTimeEdit,QDateTimeEdit);
QML_REGISTER_TYPE(Bauhaus,1,0,QDateEdit,QDateEdit);
QML_REGISTER_TYPE(Bauhaus,1,0,QTimeEdit,QTimeEdit);
QML_REGISTER_TYPE(Bauhaus,1,0,QFontComboBox,QFontComboBox);
QML_REGISTER_TYPE(Bauhaus,1,0,QDial,QDial);
QML_REGISTER_TYPE(Bauhaus,1,0,QScrollBar,QScrollBar);
QML_REGISTER_TYPE(Bauhaus,1,0,QCalendarWidget, QCalendarWidget);
//QML_REGISTER_TYPE(Bauhaus,1,0,QComboBox,QComboBox); //need a way to populate
//QML_REGISTER_EXTENDED_TYPE(QComboBox,QComboBox, QComboBox); //need a way to populate
//buttons
//QML_REGISTER_TYPE(Bauhaus,1,0,QPushButton,QPushButton);
QML_REGISTER_TYPE(Bauhaus,1,0,QCheckBox,QCheckBox);
QML_REGISTER_TYPE(Bauhaus,1,0,QGroupBox,QGroupBox);
QML_REGISTER_TYPE(Bauhaus,1,0,QAction,Action);
QML_REGISTER_TYPE(Bauhaus,1,0,QRadioButton,QRadioButton);
QML_REGISTER_TYPE(Bauhaus,1,0,FileWidget, FileWidget);
QML_REGISTER_TYPE(Bauhaus,1,0,LayoutWidget, LayoutWidget);
//containers
QML_REGISTER_TYPE(Bauhaus,1,0,QFrame,QFrame);
QML_REGISTER_TYPE(Bauhaus,1,0,WidgetFrame,WidgetFrame);
QML_REGISTER_TYPE(Bauhaus,1,0,WidgetLoader,WidgetLoader);
QML_REGISTER_EXTENDED_TYPE(Bauhaus,1,0,QExtGroupBox,MyGroupBox,QGroupBoxDeclarativeUI);
QML_REGISTER_EXTENDED_TYPE(Bauhaus,1,0,QTabWidget,QTabWidget,QTabWidgetDeclarativeUI);
QML_REGISTER_EXTENDED_TYPE(Bauhaus,1,0,QScrollArea,QScrollArea,QScrollAreaDeclarativeUI);
QML_REGISTER_EXTENDED_TYPE(Bauhaus,1,0,QPushButton,QPushButton,QPushButtonDeclarativeUI);
QML_REGISTER_EXTENDED_TYPE(Bauhaus,1,0,QLabel,QLabel,QLabelDeclarativeUI);
QML_REGISTER_EXTENDED_TYPE(Bauhaus,1,0,QToolButton,QToolButton, QToolButtonDeclarativeUI);
QML_REGISTER_EXTENDED_TYPE(Bauhaus,1,0,QComboBox,QComboBox, QComboBoxDeclarativeUI);
QML_REGISTER_EXTENDED_TYPE(Bauhaus,1,0,QMenu,QMenu, QMenuDeclarativeUI);
//QML_REGISTER_TYPE(Bauhaus,1,0,BauhausoolBox,BauhausoolBox);
//QML_REGISTER_TYPE(Bauhaus,1,0,QScrollArea,QScrollArea);
//QML_REGISTER_EXTENDED_TYPE(BauhausColorButton,BauhausColorButton,BauhausColorButtonDeclarativeUI);
//itemviews
//QML_REGISTER_TYPE(Bauhaus,1,0,QListView,QListView);
//QML_REGISTER_TYPE(Bauhaus,1,0,BauhausreeView,BauhausreeView);
//QML_REGISTER_TYPE(Bauhaus,1,0,BauhausableView,BauhausableView);
QML_REGISTER_TYPE(Qt,4,6,QTabObject,QTabObject); //### with namespacing, this should just be 'Tab'
}
#include "basicwidgets.moc" #include "basicwidgets.moc"

View File

@@ -30,7 +30,7 @@
#ifndef BASICWIDGETS_H #ifndef BASICWIDGETS_H
#define BASICWIDGETS_H #define BASICWIDGETS_H
#include <qml.h> #include <qdeclarative.h>
#include <QGraphicsScene> #include <QGraphicsScene>
#include <QGraphicsView> #include <QGraphicsView>
#include <QLabel> #include <QLabel>
@@ -94,6 +94,7 @@ QML_DECLARE_TYPE(QTabWidget);
QML_DECLARE_TYPE(FileWidget); QML_DECLARE_TYPE(FileWidget);
QML_DECLARE_TYPE(LayoutWidget); QML_DECLARE_TYPE(LayoutWidget);
class Action : public QAction { class Action : public QAction {
Q_OBJECT Q_OBJECT
public: public:
@@ -111,5 +112,9 @@ QML_DECLARE_TYPE(Action);
//QML_DECLARE_TYPE(QTableView); //QML_DECLARE_TYPE(QTableView);
//top-level windows? //top-level windows?
class BasicWidgets {
public:
static void registerDeclarativeTypes();
};
#endif // BASICWIDGETS_H #endif // BASICWIDGETS_H

View File

@@ -39,10 +39,12 @@
#include <QSpinBox> #include <QSpinBox>
QML_DEFINE_TYPE(Bauhaus,1,0,BehaviorWidget,QmlDesigner::BehaviorWidget);
namespace QmlDesigner { namespace QmlDesigner {
void BehaviorDialog::registerDeclarativeType()
{
QML_REGISTER_TYPE(Bauhaus,1,0,BehaviorWidget,QmlDesigner::BehaviorWidget);
}
BehaviorWidget::BehaviorWidget() : QPushButton(), m_BehaviorDialog(new BehaviorDialog(0)) BehaviorWidget::BehaviorWidget() : QPushButton(), m_BehaviorDialog(new BehaviorDialog(0))
{ {

View File

@@ -37,7 +37,7 @@
#include <QDialog> #include <QDialog>
#include <QWeakPointer> #include <QWeakPointer>
#include <QScopedPointer> #include <QScopedPointer>
#include <qml.h> #include <qdeclarative.h>
#include "ui_behaviordialog.h" #include "ui_behaviordialog.h"
@@ -83,6 +83,7 @@ public slots:
virtual void accept(); virtual void accept();
virtual void reject(); virtual void reject();
static void registerDeclarativeType();
private: private:
ModelNode m_modelNode; ModelNode m_modelNode;

View File

@@ -41,13 +41,14 @@
#include <variantproperty.h> #include <variantproperty.h>
#include <qmlobjectnode.h> #include <qmlobjectnode.h>
QML_DEFINE_TYPE(Bauhaus,1,0,ColorButton,QmlDesigner::ColorButton);
QML_DEFINE_TYPE(Bauhaus,1,0,HueControl,QmlDesigner::HueControl);
QML_DEFINE_TYPE(Bauhaus,1,0,ColorBox,QmlDesigner::ColorBox);
namespace QmlDesigner { namespace QmlDesigner {
void ColorWidget::registerDeclarativeTypes() {
QML_REGISTER_TYPE(Bauhaus,1,0,ColorButton,QmlDesigner::ColorButton);
QML_REGISTER_TYPE(Bauhaus,1,0,HueControl,QmlDesigner::HueControl);
QML_REGISTER_TYPE(Bauhaus,1,0,ColorBox,QmlDesigner::ColorBox);
}
void ColorButton::paintEvent(QPaintEvent *event) void ColorButton::paintEvent(QPaintEvent *event)
{ {
QToolButton::paintEvent(event); QToolButton::paintEvent(event);

View File

@@ -36,7 +36,7 @@
#include <QToolButton> #include <QToolButton>
#include <QMouseEvent> #include <QMouseEvent>
#include <modelnode.h> #include <modelnode.h>
#include <qml.h> #include <qdeclarative.h>
#include <propertyeditorvalue.h> #include <propertyeditorvalue.h>
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
@@ -282,6 +282,12 @@ private:
}; };
class ColorWidget {
public:
static void registerDeclarativeTypes();
};
} //QmlDesigner } //QmlDesigner
QML_DECLARE_TYPE(QmlDesigner::ColorButton); QML_DECLARE_TYPE(QmlDesigner::ColorButton);

View File

@@ -36,8 +36,6 @@
#include <QComboBox> #include <QComboBox>
#include <QLabel> #include <QLabel>
QML_DEFINE_TYPE(Bauhaus,1,0,FontWidget,QmlDesigner::FontWidget);
namespace QmlDesigner { namespace QmlDesigner {
FontWidget::FontWidget(QWidget *parent) FontWidget::FontWidget(QWidget *parent)
@@ -169,4 +167,8 @@ void FontWidget::setFontSize(qreal size)
} }
} }
void FontWidget::registerDeclarativeTypes() {
QML_REGISTER_TYPE(Bauhaus,1,0,FontWidget,QmlDesigner::FontWidget);
}
} // namespace QmlDesigner } // namespace QmlDesigner

View File

@@ -32,7 +32,7 @@
#include <QWeakPointer> #include <QWeakPointer>
#include <QWidget> #include <QWidget>
#include <qml.h> #include <qdeclarative.h>
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
@@ -75,6 +75,8 @@ public:
QFont font() const; QFont font() const;
void setFont(QFont size); void setFont(QFont size);
static void registerDeclarativeTypes();
signals: signals:
void familyChanged(); void familyChanged();
void boldChanged(); void boldChanged();

View File

@@ -39,19 +39,27 @@
#include <variantproperty.h> #include <variantproperty.h>
#include "propertyeditorvalue.h" #include "propertyeditorvalue.h"
#include "basiclayouts.h"
#include "basicwidgets.h"
#include "resetwidget.h"
#include "qlayoutobject.h"
#include "colorwidget.h"
#include "behaviordialog.h"
#include "qproxylayoutitem.h"
#include "fontwidget.h"
#include <QtCore/QCoreApplication> #include <QtCore/QCoreApplication>
#include <QtCore/QDir> #include <QtCore/QDir>
#include <QtCore/QFileSystemWatcher> #include <QtCore/QFileSystemWatcher>
#include <QtCore/QFileInfo> #include <QtCore/QFileInfo>
#include <QtCore/QDebug> #include <QtCore/QDebug>
#include <QtDeclarative/QmlView> #include <QtDeclarative/QDeclarativeView>
#include <QtDeclarative/QmlContext> #include <QtDeclarative/QDeclarativeContext>
#include <QtGui/QVBoxLayout> #include <QtGui/QVBoxLayout>
#include <QtGui/QShortcut> #include <QtGui/QShortcut>
#include <QtGui/QStackedWidget> #include <QtGui/QStackedWidget>
#include <QmlEngine> #include <QDeclarativeEngine>
#include <QmlMetaType> #include <private/qdeclarativemetatype_p.h>
#include <QMessageBox> #include <QMessageBox>
#include <QApplication> #include <QApplication>
@@ -61,13 +69,12 @@ enum {
namespace QmlDesigner { namespace QmlDesigner {
PropertyEditor::NodeType::NodeType(const QUrl &qmlFile, PropertyEditor *propertyEditor) : PropertyEditor::NodeType::NodeType(PropertyEditor *propertyEditor) :
m_view(new QmlView) m_view(new QDeclarativeView)
{ {
Q_ASSERT(QFileInfo(":/images/button_normal.png").exists()); Q_ASSERT(QFileInfo(":/images/button_normal.png").exists());
m_view->setResizeMode(QmlView::SizeRootObjectToView); m_view->setResizeMode(QDeclarativeView::SizeRootObjectToView);
m_view->setSource(qmlFile);
connect(&m_backendValuesPropertyMap, SIGNAL(valueChanged(const QString&)), propertyEditor, SLOT(changeValue(const QString&))); connect(&m_backendValuesPropertyMap, SIGNAL(valueChanged(const QString&)), propertyEditor, SLOT(changeValue(const QString&)));
} }
@@ -76,11 +83,11 @@ PropertyEditor::NodeType::~NodeType()
{ {
} }
void setupPropertyEditorValue(const QString &name, QmlPropertyMap *propertyMap, PropertyEditor *propertyEditor) void setupPropertyEditorValue(const QString &name, QDeclarativePropertyMap *propertyMap, PropertyEditor *propertyEditor)
{ {
QString propertyName(name); QString propertyName(name);
propertyName.replace(QLatin1Char('.'), QLatin1Char('_')); propertyName.replace(QLatin1Char('.'), QLatin1Char('_'));
PropertyEditorValue *valueObject = qobject_cast<PropertyEditorValue*>(QmlMetaType::toQObject(propertyMap->value(propertyName))); PropertyEditorValue *valueObject = qobject_cast<PropertyEditorValue*>(QDeclarativeMetaType::toQObject(propertyMap->value(propertyName)));
if (!valueObject) { if (!valueObject) {
valueObject = new PropertyEditorValue(propertyMap); valueObject = new PropertyEditorValue(propertyMap);
QObject::connect(valueObject, SIGNAL(valueChanged(QString)), propertyMap, SIGNAL(valueChanged(QString))); QObject::connect(valueObject, SIGNAL(valueChanged(QString)), propertyMap, SIGNAL(valueChanged(QString)));
@@ -91,11 +98,11 @@ void setupPropertyEditorValue(const QString &name, QmlPropertyMap *propertyMap,
valueObject->setValue(QVariant("")); valueObject->setValue(QVariant(""));
} }
void createPropertyEditorValue(const QmlObjectNode &fxObjectNode, const QString &name, const QVariant &value, QmlPropertyMap *propertyMap, PropertyEditor *propertyEditor) void createPropertyEditorValue(const QmlObjectNode &fxObjectNode, const QString &name, const QVariant &value, QDeclarativePropertyMap *propertyMap, PropertyEditor *propertyEditor)
{ {
QString propertyName(name); QString propertyName(name);
propertyName.replace(QLatin1Char('.'), QLatin1Char('_')); propertyName.replace(QLatin1Char('.'), QLatin1Char('_'));
PropertyEditorValue *valueObject = qobject_cast<PropertyEditorValue*>(QmlMetaType::toQObject(propertyMap->value(propertyName))); PropertyEditorValue *valueObject = qobject_cast<PropertyEditorValue*>(QDeclarativeMetaType::toQObject(propertyMap->value(propertyName)));
if (!valueObject) { if (!valueObject) {
valueObject = new PropertyEditorValue(propertyMap); valueObject = new PropertyEditorValue(propertyMap);
QObject::connect(valueObject, SIGNAL(valueChanged(QString)), propertyMap, SIGNAL(valueChanged(QString))); QObject::connect(valueObject, SIGNAL(valueChanged(QString)), propertyMap, SIGNAL(valueChanged(QString)));
@@ -125,7 +132,7 @@ void PropertyEditor::NodeType::setValue(const QmlObjectNode & /*fxObjectNode*/,
{ {
QString propertyName = name; QString propertyName = name;
propertyName.replace(QLatin1Char('.'), QLatin1Char('_')); propertyName.replace(QLatin1Char('.'), QLatin1Char('_'));
PropertyEditorValue *propertyValue = qobject_cast<PropertyEditorValue*>(QmlMetaType::toQObject(m_backendValuesPropertyMap.value(propertyName))); PropertyEditorValue *propertyValue = qobject_cast<PropertyEditorValue*>(QDeclarativeMetaType::toQObject(m_backendValuesPropertyMap.value(propertyName)));
if (propertyValue) if (propertyValue)
propertyValue->setValue(value); propertyValue->setValue(value);
} }
@@ -135,14 +142,14 @@ void PropertyEditor::NodeType::setup(const QmlObjectNode &fxObjectNode, const QS
if (!fxObjectNode.isValid()) if (!fxObjectNode.isValid())
return; return;
QmlContext *ctxt = m_view->rootContext(); QDeclarativeContext *ctxt = m_view->rootContext();
if (fxObjectNode.isValid()) { if (fxObjectNode.isValid()) {
foreach (const QString &propertyName, fxObjectNode.modelNode().metaInfo().properties(true).keys()) foreach (const QString &propertyName, fxObjectNode.modelNode().metaInfo().properties(true).keys())
createPropertyEditorValue(fxObjectNode, propertyName, fxObjectNode.instanceValue(propertyName), &m_backendValuesPropertyMap, propertyEditor); createPropertyEditorValue(fxObjectNode, propertyName, fxObjectNode.instanceValue(propertyName), &m_backendValuesPropertyMap, propertyEditor);
// className // className
PropertyEditorValue *valueObject = qobject_cast<PropertyEditorValue*>(QmlMetaType::toQObject(m_backendValuesPropertyMap.value("className"))); PropertyEditorValue *valueObject = qobject_cast<PropertyEditorValue*>(QDeclarativeMetaType::toQObject(m_backendValuesPropertyMap.value("className")));
if (!valueObject) if (!valueObject)
valueObject = new PropertyEditorValue(&m_backendValuesPropertyMap); valueObject = new PropertyEditorValue(&m_backendValuesPropertyMap);
valueObject->setName("className"); valueObject->setName("className");
@@ -152,7 +159,7 @@ void PropertyEditor::NodeType::setup(const QmlObjectNode &fxObjectNode, const QS
m_backendValuesPropertyMap.insert("className", QVariant::fromValue(valueObject)); m_backendValuesPropertyMap.insert("className", QVariant::fromValue(valueObject));
// id // id
valueObject = qobject_cast<PropertyEditorValue*>(QmlMetaType::toQObject(m_backendValuesPropertyMap.value("id"))); valueObject = qobject_cast<PropertyEditorValue*>(QDeclarativeMetaType::toQObject(m_backendValuesPropertyMap.value("id")));
if (!valueObject) if (!valueObject)
valueObject = new PropertyEditorValue(&m_backendValuesPropertyMap); valueObject = new PropertyEditorValue(&m_backendValuesPropertyMap);
valueObject->setName("id"); valueObject->setName("id");
@@ -177,14 +184,14 @@ void PropertyEditor::NodeType::setup(const QmlObjectNode &fxObjectNode, const QS
void PropertyEditor::NodeType::initialSetup(const QString &typeName, const QUrl &qmlSpecificsFile, PropertyEditor *propertyEditor) void PropertyEditor::NodeType::initialSetup(const QString &typeName, const QUrl &qmlSpecificsFile, PropertyEditor *propertyEditor)
{ {
QmlContext *ctxt = m_view->rootContext(); QDeclarativeContext *ctxt = m_view->rootContext();
NodeMetaInfo metaInfo = propertyEditor->model()->metaInfo().nodeMetaInfo(typeName, 4, 6); NodeMetaInfo metaInfo = propertyEditor->model()->metaInfo().nodeMetaInfo(typeName, 4, 6);
foreach (const QString &propertyName, metaInfo.properties(true).keys()) foreach (const QString &propertyName, metaInfo.properties(true).keys())
setupPropertyEditorValue(propertyName, &m_backendValuesPropertyMap, propertyEditor); setupPropertyEditorValue(propertyName, &m_backendValuesPropertyMap, propertyEditor);
PropertyEditorValue *valueObject = qobject_cast<PropertyEditorValue*>(QmlMetaType::toQObject(m_backendValuesPropertyMap.value("className"))); PropertyEditorValue *valueObject = qobject_cast<PropertyEditorValue*>(QDeclarativeMetaType::toQObject(m_backendValuesPropertyMap.value("className")));
if (!valueObject) if (!valueObject)
valueObject = new PropertyEditorValue(&m_backendValuesPropertyMap); valueObject = new PropertyEditorValue(&m_backendValuesPropertyMap);
valueObject->setName("className"); valueObject->setName("className");
@@ -194,7 +201,7 @@ void PropertyEditor::NodeType::initialSetup(const QString &typeName, const QUrl
m_backendValuesPropertyMap.insert("className", QVariant::fromValue(valueObject)); m_backendValuesPropertyMap.insert("className", QVariant::fromValue(valueObject));
// id // id
valueObject = qobject_cast<PropertyEditorValue*>(QmlMetaType::toQObject(m_backendValuesPropertyMap.value("id"))); valueObject = qobject_cast<PropertyEditorValue*>(QDeclarativeMetaType::toQObject(m_backendValuesPropertyMap.value("id")));
if (!valueObject) if (!valueObject)
valueObject = new PropertyEditorValue(&m_backendValuesPropertyMap); valueObject = new PropertyEditorValue(&m_backendValuesPropertyMap);
valueObject->setName("id"); valueObject->setName("id");
@@ -227,6 +234,20 @@ PropertyEditor::PropertyEditor(QWidget *parent) :
QString styleSheet = QLatin1String(file.readAll()); QString styleSheet = QLatin1String(file.readAll());
m_stackedWidget->setStyleSheet(styleSheet); m_stackedWidget->setStyleSheet(styleSheet);
m_stackedWidget->setMinimumWidth(360); m_stackedWidget->setMinimumWidth(360);
static bool declarativeTypesRegistered = false;
if (!declarativeTypesRegistered) {
declarativeTypesRegistered = true;
BasicWidgets::registerDeclarativeTypes();
BasicLayouts::registerDeclarativeTypes();
ResetWidget::registerDeclarativeType();
QLayoutObject::registerDeclarativeType();
ColorWidget::registerDeclarativeTypes();
BehaviorDialog::registerDeclarativeType();
QProxyLayoutItem::registerDeclarativeTypes();
PropertyEditorValue::registerDeclarativeTypes();
FontWidget::registerDeclarativeTypes();
}
} }
PropertyEditor::~PropertyEditor() PropertyEditor::~PropertyEditor()
@@ -245,20 +266,20 @@ void PropertyEditor::setupPane(const QString &typeName)
NodeType *type = m_typeHash.value(qmlFile.toString()); NodeType *type = m_typeHash.value(qmlFile.toString());
if (!type) { if (!type) {
type = new NodeType(qmlFile, this); type = new NodeType(this);
QmlContext *ctxt = type->m_view->rootContext(); QDeclarativeContext *ctxt = type->m_view->rootContext();
ctxt->setContextProperty("finishedNotify", QVariant(false) ); ctxt->setContextProperty("finishedNotify", QVariant(false) );
type->initialSetup(typeName, qmlSpecificsFile, this); type->initialSetup(typeName, qmlSpecificsFile, this);
type->m_view->execute(); type->m_view->setSource(qmlFile);
ctxt->setContextProperty("finishedNotify", QVariant(true) ); ctxt->setContextProperty("finishedNotify", QVariant(true) );
m_stackedWidget->addWidget(type->m_view); m_stackedWidget->addWidget(type->m_view);
m_typeHash.insert(qmlFile.toString(), type); m_typeHash.insert(qmlFile.toString(), type);
} else { } else {
QmlContext *ctxt = type->m_view->rootContext(); QDeclarativeContext *ctxt = type->m_view->rootContext();
ctxt->setContextProperty("finishedNotify", QVariant(false) ); ctxt->setContextProperty("finishedNotify", QVariant(false) );
type->initialSetup(typeName, qmlSpecificsFile, this); type->initialSetup(typeName, qmlSpecificsFile, this);
ctxt->setContextProperty("finishedNotify", QVariant(true) ); ctxt->setContextProperty("finishedNotify", QVariant(true) );
} }
QApplication::processEvents(); QApplication::processEvents();
@@ -279,7 +300,7 @@ void PropertyEditor::changeValue(const QString &propertyName)
return; return;
if (propertyName == "id") { if (propertyName == "id") {
PropertyEditorValue *value = qobject_cast<PropertyEditorValue*>(QmlMetaType::toQObject(m_currentType->m_backendValuesPropertyMap.value(propertyName))); PropertyEditorValue *value = qobject_cast<PropertyEditorValue*>(QDeclarativeMetaType::toQObject(m_currentType->m_backendValuesPropertyMap.value(propertyName)));
const QString newId = value->value().toString(); const QString newId = value->value().toString();
try { try {
@@ -297,7 +318,7 @@ void PropertyEditor::changeValue(const QString &propertyName)
//.replace(QLatin1Char('.'), QLatin1Char('_')) //.replace(QLatin1Char('.'), QLatin1Char('_'))
QString underscoreName(propertyName); QString underscoreName(propertyName);
underscoreName.replace(QLatin1Char('.'), QLatin1Char('_')); underscoreName.replace(QLatin1Char('.'), QLatin1Char('_'));
PropertyEditorValue *value = qobject_cast<PropertyEditorValue*>(QmlMetaType::toQObject(m_currentType->m_backendValuesPropertyMap.value(underscoreName))); PropertyEditorValue *value = qobject_cast<PropertyEditorValue*>(QDeclarativeMetaType::toQObject(m_currentType->m_backendValuesPropertyMap.value(underscoreName)));
if (value ==0) { if (value ==0) {
qWarning() << "PropertyEditor:" <<propertyName << " - value is null"; qWarning() << "PropertyEditor:" <<propertyName << " - value is null";
@@ -354,7 +375,7 @@ void PropertyEditor::changeExpression(const QString &name)
return; return;
QmlObjectNode fxObjectNode(m_selectedNode); QmlObjectNode fxObjectNode(m_selectedNode);
PropertyEditorValue *value = qobject_cast<PropertyEditorValue*>(QmlMetaType::toQObject(m_currentType->m_backendValuesPropertyMap.value(name))); PropertyEditorValue *value = qobject_cast<PropertyEditorValue*>(QDeclarativeMetaType::toQObject(m_currentType->m_backendValuesPropertyMap.value(name)));
try { try {
if (fxObjectNode.currentState().isBaseState()) { if (fxObjectNode.currentState().isBaseState()) {
fxObjectNode.modelNode().bindingProperty(name).setExpression(value->expression()); fxObjectNode.modelNode().bindingProperty(name).setExpression(value->expression());
@@ -442,7 +463,7 @@ void PropertyEditor::resetView()
NodeType *type = m_typeHash.value(qmlFile.toString()); NodeType *type = m_typeHash.value(qmlFile.toString());
if (!type) { if (!type) {
type = new NodeType(qmlFile, this); type = new NodeType(this);
m_stackedWidget->addWidget(type->m_view); m_stackedWidget->addWidget(type->m_view);
m_typeHash.insert(qmlFile.toString(), type); m_typeHash.insert(qmlFile.toString(), type);
@@ -454,9 +475,9 @@ void PropertyEditor::resetView()
} }
type->setup(fxObjectNode, currentState().name(), qmlSpecificsFile, this); type->setup(fxObjectNode, currentState().name(), qmlSpecificsFile, this);
QmlContext *ctxt = type->m_view->rootContext(); QDeclarativeContext *ctxt = type->m_view->rootContext();
ctxt->setContextProperty("finishedNotify", QVariant(false)); ctxt->setContextProperty("finishedNotify", QVariant(false));
type->m_view->execute(); type->m_view->setSource(qmlFile);
ctxt->setContextProperty("finishedNotify", QVariant(true)); ctxt->setContextProperty("finishedNotify", QVariant(true));
} else { } else {
QmlObjectNode fxObjectNode; QmlObjectNode fxObjectNode;

View File

@@ -31,9 +31,9 @@
#define QmlPropertyView_h #define QmlPropertyView_h
#include <qmlmodelview.h> #include <qmlmodelview.h>
#include <QmlView> #include <QDeclarativeView>
#include <QHash> #include <QHash>
#include <QmlPropertyMap> #include <QDeclarativePropertyMap>
#include "qmlanchorbindingproxy.h" #include "qmlanchorbindingproxy.h"
@@ -50,16 +50,16 @@ class PropertyEditor: public QmlModelView
class NodeType { class NodeType {
public: public:
NodeType(const QUrl &qmlFile, PropertyEditor *propertyEditor); NodeType(PropertyEditor *propertyEditor);
~NodeType(); ~NodeType();
void setup(const QmlObjectNode &fxObjectNode, const QString &stateName, const QUrl &qmlSpecificsFile, PropertyEditor *propertyEditor); void setup(const QmlObjectNode &fxObjectNode, const QString &stateName, const QUrl &qmlSpecificsFile, PropertyEditor *propertyEditor);
void initialSetup(const QString &typeName, const QUrl &qmlSpecificsFile, PropertyEditor *propertyEditor); void initialSetup(const QString &typeName, const QUrl &qmlSpecificsFile, PropertyEditor *propertyEditor);
void setValue(const QmlObjectNode &fxObjectNode, const QString &name, const QVariant &value); void setValue(const QmlObjectNode &fxObjectNode, const QString &name, const QVariant &value);
QmlView *m_view; QDeclarativeView *m_view;
Internal::QmlAnchorBindingProxy m_backendAnchorBinding; Internal::QmlAnchorBindingProxy m_backendAnchorBinding;
QmlPropertyMap m_backendValuesPropertyMap; QDeclarativePropertyMap m_backendValuesPropertyMap;
}; };
public: public:

View File

@@ -38,11 +38,6 @@
#include <nodeproperty.h> #include <nodeproperty.h>
#include <qmlobjectnode.h> #include <qmlobjectnode.h>
QML_DEFINE_TYPE(Bauhaus,1,0,PropertyEditorValue,PropertyEditorValue)
QML_DEFINE_TYPE(Bauhaus,1,0,PropertyEditorNodeWrapper,PropertyEditorNodeWrapper)
QML_DEFINE_TYPE(Bauhaus,1,0,QmlPropertyMap,QmlPropertyMap)
//using namespace QmlDesigner; //using namespace QmlDesigner;
PropertyEditorValue::PropertyEditorValue(QObject *parent) PropertyEditorValue::PropertyEditorValue(QObject *parent)
@@ -209,6 +204,13 @@ void PropertyEditorValue::unlock()
m_rewriterTransaction.commit(); m_rewriterTransaction.commit();
} }
void PropertyEditorValue::registerDeclarativeTypes()
{
QML_REGISTER_TYPE(Bauhaus,1,0,PropertyEditorValue,PropertyEditorValue);
QML_REGISTER_TYPE(Bauhaus,1,0,PropertyEditorNodeWrapper,PropertyEditorNodeWrapper);
QML_REGISTER_TYPE(Bauhaus,1,0,QDeclarativePropertyMap,QDeclarativePropertyMap);
}
PropertyEditorNodeWrapper::PropertyEditorNodeWrapper(PropertyEditorValue* parent) : m_valuesPropertyMap(this) PropertyEditorNodeWrapper::PropertyEditorNodeWrapper(PropertyEditorValue* parent) : m_valuesPropertyMap(this)
{ {
m_editorValue = parent; m_editorValue = parent;
@@ -246,7 +248,7 @@ QString PropertyEditorNodeWrapper::propertyName() const
return m_editorValue->name(); return m_editorValue->name();
} }
QmlPropertyMap* PropertyEditorNodeWrapper::properties() QDeclarativePropertyMap* PropertyEditorNodeWrapper::properties()
{ {
return &m_valuesPropertyMap; return &m_valuesPropertyMap;
} }
@@ -344,3 +346,4 @@ void PropertyEditorNodeWrapper::update()
emit typeChanged(); emit typeChanged();
} }
} }

View File

@@ -31,8 +31,8 @@
#define PROPERTYEDITORVALUE_H #define PROPERTYEDITORVALUE_H
#include <QObject> #include <QObject>
#include <QmlPropertyMap> #include <QDeclarativePropertyMap>
#include <qml.h> #include <qdeclarative.h>
#include <modelnode.h> #include <modelnode.h>
#include <rewritertransaction.h> #include <rewritertransaction.h>
@@ -45,7 +45,7 @@ class PropertyEditorNodeWrapper : public QObject {
Q_OBJECT Q_OBJECT
Q_PROPERTY(bool exists READ exists NOTIFY existsChanged) Q_PROPERTY(bool exists READ exists NOTIFY existsChanged)
Q_PROPERTY(QmlPropertyMap* properties READ properties NOTIFY propertiesChanged) Q_PROPERTY(QDeclarativePropertyMap* properties READ properties NOTIFY propertiesChanged)
Q_PROPERTY(QString type READ type NOTIFY typeChanged) Q_PROPERTY(QString type READ type NOTIFY typeChanged)
public: public:
@@ -53,7 +53,7 @@ public:
PropertyEditorNodeWrapper(PropertyEditorValue* parent); PropertyEditorNodeWrapper(PropertyEditorValue* parent);
bool exists(); bool exists();
QString type(); QString type();
QmlPropertyMap* properties(); QDeclarativePropertyMap* properties();
ModelNode parentModelNode() const; ModelNode parentModelNode() const;
QString propertyName() const; QString propertyName() const;
@@ -72,7 +72,7 @@ private:
void setup(); void setup();
QmlDesigner::ModelNode m_modelNode; QmlDesigner::ModelNode m_modelNode;
QmlPropertyMap m_valuesPropertyMap; QDeclarativePropertyMap m_valuesPropertyMap;
PropertyEditorValue* m_editorValue; PropertyEditorValue* m_editorValue;
}; };
@@ -117,6 +117,8 @@ public:
PropertyEditorNodeWrapper* complexNode(); PropertyEditorNodeWrapper* complexNode();
static void registerDeclarativeTypes();
public slots: public slots:
void resetValue(); void resetValue();
void lock(); void lock();
@@ -148,6 +150,6 @@ private: //variables
QML_DECLARE_TYPE(PropertyEditorValue); QML_DECLARE_TYPE(PropertyEditorValue);
QML_DECLARE_TYPE(PropertyEditorNodeWrapper); QML_DECLARE_TYPE(PropertyEditorNodeWrapper);
QML_DECLARE_TYPE(QmlPropertyMap); QML_DECLARE_TYPE(QDeclarativePropertyMap);
#endif // PROPERTYEDITORVALUE_H #endif // PROPERTYEDITORVALUE_H

View File

@@ -31,7 +31,11 @@
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
QML_DEFINE_TYPE(Qt,4,6,QLayoutObject,QLayoutObject);
void QLayoutObject::registerDeclarativeType()
{
QML_REGISTER_TYPE(Qt,4,6,QLayoutObject,QLayoutObject);
}
QLayoutObject::QLayoutObject(QObject *parent) QLayoutObject::QLayoutObject(QObject *parent)
: QObject(parent) : QObject(parent)

View File

@@ -32,7 +32,7 @@
#include <QObject> #include <QObject>
#include <QLayout> #include <QLayout>
#include <qml.h> #include <qdeclarative.h>
QT_BEGIN_HEADER QT_BEGIN_HEADER
@@ -47,6 +47,8 @@ public:
QLayoutObject(QObject *parent = 0); QLayoutObject(QObject *parent = 0);
virtual QLayout *layout() const; virtual QLayout *layout() const;
static void registerDeclarativeType();
}; };
QT_END_NAMESPACE QT_END_NAMESPACE

View File

@@ -32,8 +32,6 @@
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
QML_DEFINE_TYPE(Qt,4,6,LayoutItem,QProxyLayoutItem);
QProxyLayoutItem::QProxyLayoutItem(QGraphicsLayoutItem *i) QProxyLayoutItem::QProxyLayoutItem(QGraphicsLayoutItem *i)
: enabled(true), other(i) : enabled(true), other(i)
{ {
@@ -90,8 +88,6 @@ QSizeF QProxyLayoutItem::sizeHint(Qt::SizeHint which, const QSizeF &c) const
return rv; return rv;
} }
QML_DEFINE_TYPE(Qt,4,6,ProxyLayout,QProxyLayout);
QProxyLayout::QProxyLayout(QObject *parent) QProxyLayout::QProxyLayout(QObject *parent)
: QObject(parent), proxy(0) : QObject(parent), proxy(0)
{ {
@@ -162,4 +158,10 @@ QSizeF QProxyLayout::sizeHint(Qt::SizeHint which,
return QSizeF(); return QSizeF();
} }
void QProxyLayoutItem::registerDeclarativeTypes()
{
QML_REGISTER_TYPE(Qt,4,6,LayoutItem,QProxyLayoutItem);
QML_REGISTER_TYPE(Qt,4,6,ProxyLayout,QProxyLayout);
}
QT_END_NAMESPACE QT_END_NAMESPACE

View File

@@ -30,7 +30,7 @@
#ifndef QPROXYLAYOUTITEM_H #ifndef QPROXYLAYOUTITEM_H
#define QPROXYLAYOUTITEM_H #define QPROXYLAYOUTITEM_H
#include <qml.h> #include <qdeclarative.h>
#include <QGraphicsLayout> #include <QGraphicsLayout>
QT_BEGIN_HEADER QT_BEGIN_HEADER
@@ -78,6 +78,9 @@ public:
void setItem(QGraphicsLayoutItem *); void setItem(QGraphicsLayoutItem *);
void setEnabled(bool); void setEnabled(bool);
static void registerDeclarativeTypes();
protected: protected:
virtual QSizeF sizeHint(Qt::SizeHint, const QSizeF &) const; virtual QSizeF sizeHint(Qt::SizeHint, const QSizeF &) const;

View File

@@ -28,7 +28,7 @@
**************************************************************************/ **************************************************************************/
#include "qml.h" #include "qdeclarative.h"
#include "resetwidget.h" #include "resetwidget.h"
#include <QVBoxLayout> #include <QVBoxLayout>
#include <QHBoxLayout> #include <QHBoxLayout>
@@ -41,7 +41,6 @@
#include <QApplication> #include <QApplication>
QML_DECLARE_TYPE(QmlDesigner::ResetWidget); QML_DECLARE_TYPE(QmlDesigner::ResetWidget);
QML_DEFINE_TYPE(Bauhaus, 1, 0, ResetWidget, QmlDesigner::ResetWidget);
namespace QmlDesigner { namespace QmlDesigner {
@@ -58,6 +57,11 @@ ResetWidget::ResetWidget(QWidget *parent) : QGroupBox(parent), m_backendObject(0
setLayout(m_vlayout); setLayout(m_vlayout);
} }
void ResetWidget::registerDeclarativeType()
{
QML_REGISTER_TYPE(Bauhaus, 1, 0, ResetWidget, QmlDesigner::ResetWidget);
}
void ResetWidget::resetView() void ResetWidget::resetView()
{ {
m_tableWidget->clear(); m_tableWidget->clear();

View File

@@ -64,6 +64,8 @@ public:
setupView(); setupView();
} }
static void registerDeclarativeType();
public slots: public slots:
void buttonPressed(const QString &name); void buttonPressed(const QString &name);

View File

@@ -43,10 +43,10 @@
#include <QtGui/QPushButton> #include <QtGui/QPushButton>
#include <QtGui/QMessageBox> #include <QtGui/QMessageBox>
#include <QtDeclarative/QmlView> #include <QtDeclarative/QDeclarativeView>
#include <QtDeclarative/QmlContext> #include <QtDeclarative/QDeclarativeContext>
#include <QtDeclarative/QmlEngine> #include <QtDeclarative/QDeclarativeEngine>
#include <QtDeclarative/QmlGraphicsItem> #include <QtDeclarative/QDeclarativeItem>
enum { enum {
debug = false debug = false
@@ -77,7 +77,7 @@ private slots:
private: private:
StatesEditorWidget *m_q; StatesEditorWidget *m_q;
QWeakPointer<Model> model; QWeakPointer<Model> model;
QWeakPointer<QmlView> listView; QWeakPointer<QDeclarativeView> listView;
QWeakPointer<Internal::StatesEditorModel> statesEditorModel; QWeakPointer<Internal::StatesEditorModel> statesEditorModel;
QWeakPointer<Internal::StatesEditorView> statesEditorView; QWeakPointer<Internal::StatesEditorView> statesEditorView;
friend class QmlDesigner::StatesEditorWidget; friend class QmlDesigner::StatesEditorWidget;
@@ -149,7 +149,7 @@ StatesEditorWidget::StatesEditorWidget(QWidget *parent):
m_d(new Internal::StatesEditorWidgetPrivate(this)) m_d(new Internal::StatesEditorWidgetPrivate(this))
{ {
m_d->statesEditorModel = new Internal::StatesEditorModel(this); m_d->statesEditorModel = new Internal::StatesEditorModel(this);
m_d->listView = new QmlView(this); m_d->listView = new QDeclarativeView(this);
m_d->listView->setAcceptDrops(false); m_d->listView->setAcceptDrops(false);
@@ -158,13 +158,11 @@ StatesEditorWidget::StatesEditorWidget(QWidget *parent):
layout->setSpacing(0); layout->setSpacing(0);
layout->addWidget(m_d->listView.data()); layout->addWidget(m_d->listView.data());
m_d->listView->setSource(QUrl("qrc:/stateseditor/stateslist.qml")); m_d->listView->setResizeMode(QDeclarativeView::SizeRootObjectToView);
m_d->listView->setResizeMode(QmlView::SizeRootObjectToView);
m_d->listView->rootContext()->setContextProperty(QLatin1String("statesEditorModel"), m_d->statesEditorModel.data()); m_d->listView->rootContext()->setContextProperty(QLatin1String("statesEditorModel"), m_d->statesEditorModel.data());
m_d->listView->execute(); m_d->listView->setSource(QUrl("qrc:/stateseditor/stateslist.qml"));
if (!m_d->listView->rootObject()) if (!m_d->listView->rootObject())
throw InvalidQmlSourceException(__LINE__, __FUNCTION__, __FILE__); throw InvalidQmlSourceException(__LINE__, __FUNCTION__, __FILE__);

View File

@@ -37,7 +37,7 @@
#include <QString> #include <QString>
#include <QIcon> #include <QIcon>
#include "propertycontainer.h" #include "propertycontainer.h"
#include <qml.h> #include <qdeclarative.h>
namespace QmlDesigner { namespace QmlDesigner {

View File

@@ -34,7 +34,7 @@
#include <QtCore/QObject> #include <QtCore/QObject>
#include <QtCore/QMimeData> #include <QtCore/QMimeData>
#include <QtCore/QPair> #include <QtCore/QPair>
#include <QtDeclarative/QmlError> #include <QtDeclarative/QDeclarativeError>
#include <import.h> #include <import.h>

View File

@@ -40,7 +40,7 @@
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
class QPainter; class QPainter;
class QStyleOptionGraphicsItem; class QStyleOptionGraphicsItem;
class QmlContext; class QDeclarativeContext;
class QGraphicsItem; class QGraphicsItem;
class QGraphicsTransform; class QGraphicsTransform;
QT_END_NAMESPACE QT_END_NAMESPACE
@@ -92,7 +92,7 @@ public:
bool isGraphicsWidget() const; bool isGraphicsWidget() const;
bool isProxyWidget() const; bool isProxyWidget() const;
bool isWidget() const; bool isWidget() const;
bool isQmlView() const; bool isQDeclarativeView() const;
bool isGraphicsObject() const; bool isGraphicsObject() const;
bool isTransition() const; bool isTransition() const;
@@ -137,11 +137,13 @@ public:
void deactivateState(); void deactivateState();
void refreshState(); void refreshState();
static void registerDeclarativeTypes();
private: // functions private: // functions
NodeInstance(const QSharedPointer<Internal::ObjectNodeInstance> &abstractInstance); NodeInstance(const QSharedPointer<Internal::ObjectNodeInstance> &abstractInstance);
static NodeInstance create(NodeInstanceView *nodeInstanceView, const ModelNode &node, QObject *objectToBeWrapped); static NodeInstance create(NodeInstanceView *nodeInstanceView, const ModelNode &node, QObject *objectToBeWrapped);
static NodeInstance create(NodeInstanceView *nodeInstanceView, const NodeMetaInfo &metaInfo, QmlContext *context); static NodeInstance create(NodeInstanceView *nodeInstanceView, const NodeMetaInfo &metaInfo, QDeclarativeContext *context);
void setDeleteHeldInstance(bool deleteInstance); void setDeleteHeldInstance(bool deleteInstance);
void reparent(const NodeInstance &oldParentInstance, const QString &oldParentProperty, const NodeInstance &newParentInstance, const QString &newParentProperty); void reparent(const NodeInstance &oldParentInstance, const QString &oldParentProperty, const NodeInstance &newParentInstance, const QString &newParentProperty);
@@ -150,7 +152,7 @@ private: // functions
void setId(const QString &id); void setId(const QString &id);
static QSharedPointer<Internal::ObjectNodeInstance> createInstance(const NodeMetaInfo &metaInfo, QmlContext *context, QObject *objectToBeWrapped); static QSharedPointer<Internal::ObjectNodeInstance> createInstance(const NodeMetaInfo &metaInfo, QDeclarativeContext *context, QObject *objectToBeWrapped);
QSharedPointer<Internal::QmlGraphicsItemNodeInstance> qmlGraphicsItemNodeInstance() const; QSharedPointer<Internal::QmlGraphicsItemNodeInstance> qmlGraphicsItemNodeInstance() const;
void paintUpdate(); void paintUpdate();

View File

@@ -42,7 +42,7 @@
#include <nodeinstance.h> #include <nodeinstance.h>
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
class QmlEngine; class QDeclarativeEngine;
class QGraphicsScene; class QGraphicsScene;
class QGraphicsView; class QGraphicsView;
QT_END_NAMESPACE QT_END_NAMESPACE
@@ -134,7 +134,7 @@ private: // functions
void insertInstanceNodeRelationship(const ModelNode &node, const NodeInstance &instance); void insertInstanceNodeRelationship(const ModelNode &node, const NodeInstance &instance);
void removeInstanceNodeRelationship(const ModelNode &node); void removeInstanceNodeRelationship(const ModelNode &node);
QmlEngine *engine() const; QDeclarativeEngine *engine() const;
Internal::ChildrenChangeEventFilter *childrenChangeEventFilter(); Internal::ChildrenChangeEventFilter *childrenChangeEventFilter();
void removeInstanceAndSubInstances(const ModelNode &node); void removeInstanceAndSubInstances(const ModelNode &node);
@@ -144,7 +144,7 @@ private: //variables
QHash<ModelNode, NodeInstance> m_nodeInstanceHash; QHash<ModelNode, NodeInstance> m_nodeInstanceHash;
QHash<QObject*, NodeInstance> m_objectInstanceHash; // This is purely internal. Might contain dangling pointers! QHash<QObject*, NodeInstance> m_objectInstanceHash; // This is purely internal. Might contain dangling pointers!
QWeakPointer<QmlEngine> m_engine; QWeakPointer<QDeclarativeEngine> m_engine;
QWeakPointer<Internal::ChildrenChangeEventFilter> m_childrenChangeEventFilter; QWeakPointer<Internal::ChildrenChangeEventFilter> m_childrenChangeEventFilter;
QWeakPointer<QmlModelView> m_qmlModelView; QWeakPointer<QmlModelView> m_qmlModelView;

View File

@@ -39,7 +39,7 @@
#include "invalidmetainfoexception.h" #include "invalidmetainfoexception.h"
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
class QmlContext; class QDeclarativeContext;
QT_END_NAMESPACE QT_END_NAMESPACE
namespace QmlDesigner { namespace QmlDesigner {
@@ -77,7 +77,7 @@ public:
bool isValid() const; bool isValid() const;
MetaInfo metaInfo() const; MetaInfo metaInfo() const;
QObject *createInstance(QmlContext *parentContext) const; QObject *createInstance(QDeclarativeContext *parentContext) const;
PropertyMetaInfo property(const QString &propertyName, bool resolveDotSyntax = false) const; PropertyMetaInfo property(const QString &propertyName, bool resolveDotSyntax = false) const;

View File

@@ -77,7 +77,7 @@ public:
public: public:
Error(); Error();
Error(const QmlError &qmlError); Error(const QDeclarativeError &qmlError);
Error(Exception *exception); Error(Exception *exception);
Type type() const Type type() const

View File

@@ -37,7 +37,7 @@
#include <QObject> #include <QObject>
#include <QString> #include <QString>
#include <QUrl> #include <QUrl>
#include <private/qmldom_p.h> #include <private/qdeclarativedom_p.h>
namespace QmlDesigner { namespace QmlDesigner {
@@ -49,7 +49,7 @@ public:
~SubComponentManager(); ~SubComponentManager();
void update(const QUrl &fileUrl, const QByteArray &data); void update(const QUrl &fileUrl, const QByteArray &data);
void update(const QUrl &fileUrl, const QList<QmlDomImport> &imports); void update(const QUrl &fileUrl, const QList<QDeclarativeDomImport> &imports);
QStringList qmlFiles() const; QStringList qmlFiles() const;
QStringList directories() const; QStringList directories() const;

View File

@@ -1,6 +1,6 @@
#include "behaviornodeinstance.h" #include "behaviornodeinstance.h"
#include <private/qmlbehavior_p.h> #include <private/qdeclarativebehavior_p.h>
#include "invalidnodeinstanceexception.h" #include "invalidnodeinstanceexception.h"
@@ -13,7 +13,7 @@ BehaviorNodeInstance::BehaviorNodeInstance(QObject *object)
{ {
} }
BehaviorNodeInstance::Pointer BehaviorNodeInstance::create(const NodeMetaInfo &nodeMetaInfo, QmlContext *context, QObject *objectToBeWrapped) BehaviorNodeInstance::Pointer BehaviorNodeInstance::create(const NodeMetaInfo &nodeMetaInfo, QDeclarativeContext *context, QObject *objectToBeWrapped)
{ {
QObject *object = 0; QObject *object = 0;
if (objectToBeWrapped) if (objectToBeWrapped)
@@ -21,7 +21,7 @@ BehaviorNodeInstance::Pointer BehaviorNodeInstance::create(const NodeMetaInfo &n
else else
object = createObject(nodeMetaInfo, context); object = createObject(nodeMetaInfo, context);
QmlBehavior* behavior = qobject_cast<QmlBehavior*>(object); QDeclarativeBehavior* behavior = qobject_cast<QDeclarativeBehavior*>(object);
if (behavior == 0) if (behavior == 0)
throw InvalidNodeInstanceException(__LINE__, __FUNCTION__, __FILE__); throw InvalidNodeInstanceException(__LINE__, __FUNCTION__, __FILE__);

View File

@@ -14,7 +14,7 @@ public:
BehaviorNodeInstance(QObject *object); BehaviorNodeInstance(QObject *object);
static Pointer create(const NodeMetaInfo &metaInfo, QmlContext *context, QObject *objectToBeWrapped); static Pointer create(const NodeMetaInfo &metaInfo, QDeclarativeContext *context, QObject *objectToBeWrapped);
void setPropertyVariant(const QString &name, const QVariant &value); void setPropertyVariant(const QString &name, const QVariant &value);
void setPropertyBinding(const QString &name, const QString &expression); void setPropertyBinding(const QString &name, const QString &expression);

View File

@@ -30,31 +30,31 @@
#include "componentnodeinstance.h" #include "componentnodeinstance.h"
#include <invalidnodeinstanceexception.h> #include <invalidnodeinstanceexception.h>
#include <QmlComponent> #include <QDeclarativeComponent>
#include <QmlContext> #include <QDeclarativeContext>
namespace QmlDesigner { namespace QmlDesigner {
namespace Internal { namespace Internal {
ComponentNodeInstance::ComponentNodeInstance(QmlComponent *component) ComponentNodeInstance::ComponentNodeInstance(QDeclarativeComponent *component)
: ObjectNodeInstance(component) : ObjectNodeInstance(component)
{ {
} }
QmlComponent *ComponentNodeInstance::component() const QDeclarativeComponent *ComponentNodeInstance::component() const
{ {
Q_ASSERT(qobject_cast<QmlComponent*>(object())); Q_ASSERT(qobject_cast<QDeclarativeComponent*>(object()));
return static_cast<QmlComponent*>(object()); return static_cast<QDeclarativeComponent*>(object());
} }
ComponentNodeInstance::Pointer ComponentNodeInstance::create(const NodeMetaInfo &/*metaInfo*/, QmlContext *context, QObject *objectToBeWrapped) ComponentNodeInstance::Pointer ComponentNodeInstance::create(const NodeMetaInfo &/*metaInfo*/, QDeclarativeContext *context, QObject *objectToBeWrapped)
{ {
QmlComponent *component = 0; QDeclarativeComponent *component = 0;
if (objectToBeWrapped) if (objectToBeWrapped)
component = qobject_cast<QmlComponent *>(objectToBeWrapped); component = qobject_cast<QDeclarativeComponent *>(objectToBeWrapped);
else else
component = new QmlComponent(context->engine()); component = new QDeclarativeComponent(context->engine());
if (component == 0) if (component == 0)
throw InvalidNodeInstanceException(__LINE__, __FUNCTION__, __FILE__); throw InvalidNodeInstanceException(__LINE__, __FUNCTION__, __FILE__);
@@ -91,7 +91,7 @@ void ComponentNodeInstance::setPropertyVariant(const QString &name, const QVaria
} }
if (component()->isError()) { if (component()->isError()) {
qDebug() << value; qDebug() << value;
foreach(const QmlError &error, component()->errors()) foreach(const QDeclarativeError &error, component()->errors())
qDebug() << error; qDebug() << error;
} }

View File

@@ -33,7 +33,7 @@
#include "objectnodeinstance.h" #include "objectnodeinstance.h"
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
class QmlComponent; class QDeclarativeComponent;
QT_END_NAMESPACE QT_END_NAMESPACE
namespace QmlDesigner { namespace QmlDesigner {
@@ -44,15 +44,15 @@ class ComponentNodeInstance : public ObjectNodeInstance
public: public:
typedef QSharedPointer<ComponentNodeInstance> Pointer; typedef QSharedPointer<ComponentNodeInstance> Pointer;
typedef QWeakPointer<ComponentNodeInstance> WeakPointer; typedef QWeakPointer<ComponentNodeInstance> WeakPointer;
ComponentNodeInstance(QmlComponent *component); ComponentNodeInstance(QDeclarativeComponent *component);
static Pointer create(const NodeMetaInfo &metaInfo, QmlContext *context, QObject *objectToBeWrapped); static Pointer create(const NodeMetaInfo &metaInfo, QDeclarativeContext *context, QObject *objectToBeWrapped);
void setPropertyVariant(const QString &name, const QVariant &value); void setPropertyVariant(const QString &name, const QVariant &value);
bool hasContent() const; bool hasContent() const;
private: //function private: //function
QmlComponent *component() const; QDeclarativeComponent *component() const;
}; };

View File

@@ -29,7 +29,7 @@
#include "dummynodeinstance.h" #include "dummynodeinstance.h"
#include <QmlMetaType> #include <private/qdeclarativemetatype_p.h>
#include <nodemetainfo.h> #include <nodemetainfo.h>
#include <invalidnodeinstanceexception.h> #include <invalidnodeinstanceexception.h>
@@ -43,7 +43,7 @@ DummyNodeInstance::DummyNodeInstance()
{ {
} }
DummyNodeInstance::Pointer DummyNodeInstance::create(const NodeMetaInfo & metaInfo, QmlContext *context) DummyNodeInstance::Pointer DummyNodeInstance::create(const NodeMetaInfo & metaInfo, QDeclarativeContext *context)
{ {
Q_UNUSED(context); Q_UNUSED(context);
qWarning() << "DummyNodeInstance created" << metaInfo.typeName(); qWarning() << "DummyNodeInstance created" << metaInfo.typeName();

View File

@@ -43,7 +43,7 @@ public:
typedef QSharedPointer<DummyNodeInstance> Pointer; typedef QSharedPointer<DummyNodeInstance> Pointer;
typedef QWeakPointer<DummyNodeInstance> WeakPointer; typedef QWeakPointer<DummyNodeInstance> WeakPointer;
static Pointer create(const NodeMetaInfo &metaInfo, QmlContext *context); static Pointer create(const NodeMetaInfo &metaInfo, QDeclarativeContext *context);
void paint(QPainter *painter) const; void paint(QPainter *painter) const;

View File

@@ -201,7 +201,7 @@ void GraphicsObjectNodeInstance::paint(QPainter *painter) const
painter->restore(); painter->restore();
} }
QPair<QGraphicsObject*, bool> GraphicsObjectNodeInstance::createGraphicsObject(const NodeMetaInfo &metaInfo, QmlContext *context) QPair<QGraphicsObject*, bool> GraphicsObjectNodeInstance::createGraphicsObject(const NodeMetaInfo &metaInfo, QDeclarativeContext *context)
{ {
QObject *object = ObjectNodeInstance::createObject(metaInfo, context); QObject *object = ObjectNodeInstance::createObject(metaInfo, context);
QGraphicsObject *graphicsObject = qobject_cast<QGraphicsObject*>(object); QGraphicsObject *graphicsObject = qobject_cast<QGraphicsObject*>(object);

View File

@@ -80,7 +80,7 @@ public:
protected: protected:
QGraphicsObject *graphicsObject() const; QGraphicsObject *graphicsObject() const;
void paintRecursively(QGraphicsItem *graphicsItem, QPainter *painter) const; void paintRecursively(QGraphicsItem *graphicsItem, QPainter *painter) const;
static QPair<QGraphicsObject*, bool> createGraphicsObject(const NodeMetaInfo &metaInfo, QmlContext *context); static QPair<QGraphicsObject*, bool> createGraphicsObject(const NodeMetaInfo &metaInfo, QDeclarativeContext *context);
private: // variables private: // variables
bool m_isVisible; bool m_isVisible;
bool m_hasContent; bool m_hasContent;

View File

@@ -29,7 +29,7 @@
#include "graphicsscenenodeinstance.h" #include "graphicsscenenodeinstance.h"
#include <QmlMetaType> #include <private/qdeclarativemetatype_p.h>
#include "graphicsviewnodeinstance.h" #include "graphicsviewnodeinstance.h"
@@ -48,7 +48,7 @@ GraphicsSceneNodeInstance::~GraphicsSceneNodeInstance()
{ {
} }
GraphicsSceneNodeInstance::Pointer GraphicsSceneNodeInstance::create(const NodeMetaInfo &nodeMetaInfo, QmlContext *context, QObject *objectToBeWrapped) GraphicsSceneNodeInstance::Pointer GraphicsSceneNodeInstance::create(const NodeMetaInfo &nodeMetaInfo, QDeclarativeContext *context, QObject *objectToBeWrapped)
{ {
QObject *object = 0; QObject *object = 0;
if (objectToBeWrapped) if (objectToBeWrapped)

View File

@@ -45,7 +45,7 @@ public:
~GraphicsSceneNodeInstance(); ~GraphicsSceneNodeInstance();
static Pointer create(const NodeMetaInfo &metaInfo, QmlContext *context, QObject *objectToBeWrapped); static Pointer create(const NodeMetaInfo &metaInfo, QDeclarativeContext *context, QObject *objectToBeWrapped);
void paint(QPainter *painter) const; void paint(QPainter *painter) const;

View File

@@ -29,8 +29,8 @@
#include "graphicsviewnodeinstance.h" #include "graphicsviewnodeinstance.h"
#include <QmlMetaType> #include <private/qdeclarativemetatype_p.h>
#include <QmlEngine> #include <QDeclarativeEngine>
#include <invalidnodeinstanceexception.h> #include <invalidnodeinstanceexception.h>
namespace QmlDesigner { namespace QmlDesigner {
@@ -43,7 +43,7 @@ GraphicsViewNodeInstance::GraphicsViewNodeInstance(QGraphicsView *view)
GraphicsViewNodeInstance::Pointer GraphicsViewNodeInstance::create(const NodeMetaInfo &nodeMetaInfo, GraphicsViewNodeInstance::Pointer GraphicsViewNodeInstance::create(const NodeMetaInfo &nodeMetaInfo,
QmlContext *context, QDeclarativeContext *context,
QObject *objectToBeWrapped) QObject *objectToBeWrapped)
{ {
QObject *object = 0; QObject *object = 0;

View File

@@ -44,7 +44,7 @@ public:
typedef QSharedPointer<GraphicsViewNodeInstance> Pointer; typedef QSharedPointer<GraphicsViewNodeInstance> Pointer;
typedef QWeakPointer<GraphicsViewNodeInstance> WeakPointer; typedef QWeakPointer<GraphicsViewNodeInstance> WeakPointer;
static Pointer create(const NodeMetaInfo &metaInfo, QmlContext *context, QObject *objectToBeWrapped); static Pointer create(const NodeMetaInfo &metaInfo, QDeclarativeContext *context, QObject *objectToBeWrapped);
void setScene(QGraphicsScene *scene); void setScene(QGraphicsScene *scene);

View File

@@ -32,7 +32,7 @@
#include "objectnodeinstance.h" #include "objectnodeinstance.h"
#include <QmlMetaType> #include <private/qdeclarativemetatype_p.h>
#include <invalidnodeinstanceexception.h> #include <invalidnodeinstanceexception.h>
#include <propertymetainfo.h> #include <propertymetainfo.h>
@@ -49,7 +49,7 @@ GraphicsWidgetNodeInstance::~GraphicsWidgetNodeInstance()
{ {
} }
GraphicsWidgetNodeInstance::Pointer GraphicsWidgetNodeInstance::create(const NodeMetaInfo &nodeMetaInfo, QmlContext *context, QObject *objectToBeWrapped) GraphicsWidgetNodeInstance::Pointer GraphicsWidgetNodeInstance::create(const NodeMetaInfo &nodeMetaInfo, QDeclarativeContext *context, QObject *objectToBeWrapped)
{ {
QObject *object = 0; QObject *object = 0;
if (objectToBeWrapped) if (objectToBeWrapped)

View File

@@ -46,7 +46,7 @@ public:
~GraphicsWidgetNodeInstance(); ~GraphicsWidgetNodeInstance();
static Pointer create(const NodeMetaInfo &metaInfo, QmlContext *context, QObject *objectToBeWrapped); static Pointer create(const NodeMetaInfo &metaInfo, QDeclarativeContext *context, QObject *objectToBeWrapped);
void paint(QPainter *painter) const; void paint(QPainter *painter) const;

View File

@@ -52,7 +52,7 @@
#include <QHash> #include <QHash>
#include <QSet> #include <QSet>
#include <QtDeclarative/QmlEngine> #include <QtDeclarative/QDeclarativeEngine>
/*! /*!
\class QmlDesigner::NodeInstance \class QmlDesigner::NodeInstance
@@ -123,19 +123,19 @@ void NodeInstance::paint(QPainter *painter) const
\brief Creates a new NodeInstace for this NodeMetaInfo \brief Creates a new NodeInstace for this NodeMetaInfo
\param metaInfo MetaInfo for which a Instance should be created \param metaInfo MetaInfo for which a Instance should be created
\param context QmlContext which should be used \param context QDeclarativeContext which should be used
\returns Internal Pointer of a NodeInstance \returns Internal Pointer of a NodeInstance
\see NodeMetaInfo \see NodeMetaInfo
*/ */
Internal::ObjectNodeInstance::Pointer NodeInstance::createInstance(const NodeMetaInfo &metaInfo, Internal::ObjectNodeInstance::Pointer NodeInstance::createInstance(const NodeMetaInfo &metaInfo,
QmlContext *context, QObject *objectToBeWrapped) QDeclarativeContext *context, QObject *objectToBeWrapped)
{ {
Internal::ObjectNodeInstance::Pointer instance; Internal::ObjectNodeInstance::Pointer instance;
if (metaInfo.isSubclassOf("Qt/QGraphicsView", 4, 6)) if (metaInfo.isSubclassOf("Qt/QGraphicsView", 4, 6))
instance = Internal::GraphicsViewNodeInstance::create(metaInfo, context, objectToBeWrapped); instance = Internal::GraphicsViewNodeInstance::create(metaInfo, context, objectToBeWrapped);
else if (metaInfo.isSubclassOf("Qt/QmlView", 4, 6)) else if (metaInfo.isSubclassOf("Qt/QDeclarativeView", 4, 6))
instance = Internal::QmlViewNodeInstance::create(metaInfo, context, objectToBeWrapped); instance = Internal::QDeclarativeViewNodeInstance::create(metaInfo, context, objectToBeWrapped);
else if (metaInfo.isSubclassOf("Qt/QGraphicsWidget", 4, 6)) else if (metaInfo.isSubclassOf("Qt/QGraphicsWidget", 4, 6))
instance = Internal::GraphicsWidgetNodeInstance::create(metaInfo, context, objectToBeWrapped); instance = Internal::GraphicsWidgetNodeInstance::create(metaInfo, context, objectToBeWrapped);
else if (metaInfo.isSubclassOf("Qt/Item", 4, 6)) else if (metaInfo.isSubclassOf("Qt/Item", 4, 6))
@@ -175,7 +175,7 @@ NodeInstance NodeInstance::create(NodeInstanceView *nodeInstanceView, const Mode
// for all items. However, this is a hack ... ideally we should // for all items. However, this is a hack ... ideally we should
// rebuild the same context hierarchy as the qml compiler does // rebuild the same context hierarchy as the qml compiler does
QmlContext *context = nodeInstanceView->engine()->rootContext(); QDeclarativeContext *context = nodeInstanceView->engine()->rootContext();
NodeInstance instance(createInstance(node.metaInfo(), context, objectToBeWrapped)); NodeInstance instance(createInstance(node.metaInfo(), context, objectToBeWrapped));
@@ -197,7 +197,7 @@ NodeInstance NodeInstance::create(NodeInstanceView *nodeInstanceView, const Mode
return instance; return instance;
} }
NodeInstance NodeInstance::create(NodeInstanceView *nodeInstanceView, const NodeMetaInfo &metaInfo, QmlContext *context) NodeInstance NodeInstance::create(NodeInstanceView *nodeInstanceView, const NodeMetaInfo &metaInfo, QDeclarativeContext *context)
{ {
NodeInstance instance(createInstance(metaInfo, context, 0)); NodeInstance instance(createInstance(metaInfo, context, 0));
instance.m_nodeInstance->setNodeInstanceView(nodeInstanceView); instance.m_nodeInstance->setNodeInstanceView(nodeInstanceView);
@@ -265,8 +265,8 @@ bool NodeInstance::hasParent() const
} }
/*! /*!
\brief Returns if the NodeInstance is a QmlGraphicsItem. \brief Returns if the NodeInstance is a QDeclarativeItem.
\returns true if this NodeInstance is a QmlGraphicsItem \returns true if this NodeInstance is a QDeclarativeItem
*/ */
bool NodeInstance::isQmlGraphicsItem() const bool NodeInstance::isQmlGraphicsItem() const
{ {
@@ -319,12 +319,12 @@ bool NodeInstance::isWidget() const
} }
/*! /*!
\brief Returns if the NodeInstance is a QmlView. \brief Returns if the NodeInstance is a QDeclarativeView.
\returns true if this NodeInstance is a QmlView \returns true if this NodeInstance is a QDeclarativeView
*/ */
bool NodeInstance::isQmlView() const bool NodeInstance::isQDeclarativeView() const
{ {
return m_nodeInstance->isQmlView(); return m_nodeInstance->isQDeclarativeView();
} }
bool NodeInstance::isGraphicsObject() const bool NodeInstance::isGraphicsObject() const
@@ -610,4 +610,13 @@ void NodeInstance::refreshState()
{ {
m_nodeInstance->refreshState(); m_nodeInstance->refreshState();
} }
/*!
Makes types used in node instances known to the Qml engine. To be called once at initialization time.
*/
void NodeInstance::registerDeclarativeTypes()
{
QML_REGISTER_NOCREATE_TYPE(QmlDesigner::Internal::QmlPropertyChangesObject);
} }
} // namespace QmlDesigner

View File

@@ -8,14 +8,14 @@ namespace QmlDesigner {
namespace Internal { namespace Internal {
NodeInstanceMetaObject::NodeInstanceMetaObject(const ObjectNodeInstance::Pointer &nodeInstance) NodeInstanceMetaObject::NodeInstanceMetaObject(const ObjectNodeInstance::Pointer &nodeInstance)
: QmlOpenMetaObject(nodeInstance->object()), : QDeclarativeOpenMetaObject(nodeInstance->object()),
m_nodeInstance(nodeInstance), m_nodeInstance(nodeInstance),
m_context(nodeInstance->modelNode().isRootNode() ? nodeInstance->context() : 0) m_context(nodeInstance->modelNode().isRootNode() ? nodeInstance->context() : 0)
{ {
} }
NodeInstanceMetaObject::NodeInstanceMetaObject(const ObjectNodeInstancePointer &nodeInstance, QObject *object, const QString &prefix) NodeInstanceMetaObject::NodeInstanceMetaObject(const ObjectNodeInstancePointer &nodeInstance, QObject *object, const QString &prefix)
: QmlOpenMetaObject(object), : QDeclarativeOpenMetaObject(object),
m_nodeInstance(nodeInstance), m_nodeInstance(nodeInstance),
m_prefix(prefix) m_prefix(prefix)
{ {

View File

@@ -1,8 +1,8 @@
#ifndef NODEINSTANCEMETAOBJECT_H #ifndef NODEINSTANCEMETAOBJECT_H
#define NODEINSTANCEMETAOBJECT_H #define NODEINSTANCEMETAOBJECT_H
#include <private/qmlopenmetaobject_p.h> #include <private/qdeclarativeopenmetaobject_p.h>
#include <private/qmlcontext_p.h> #include <private/qdeclarativecontext_p.h>
namespace QmlDesigner { namespace QmlDesigner {
namespace Internal { namespace Internal {
@@ -11,7 +11,7 @@ class ObjectNodeInstance;
typedef QSharedPointer<ObjectNodeInstance> ObjectNodeInstancePointer; typedef QSharedPointer<ObjectNodeInstance> ObjectNodeInstancePointer;
typedef QWeakPointer<ObjectNodeInstance> ObjectNodeInstanceWeakPointer; typedef QWeakPointer<ObjectNodeInstance> ObjectNodeInstanceWeakPointer;
class NodeInstanceMetaObject : public QmlOpenMetaObject class NodeInstanceMetaObject : public QDeclarativeOpenMetaObject
{ {
public: public:
NodeInstanceMetaObject(const ObjectNodeInstancePointer &nodeInstance); NodeInstanceMetaObject(const ObjectNodeInstancePointer &nodeInstance);
@@ -26,7 +26,7 @@ protected:
private: private:
ObjectNodeInstanceWeakPointer m_nodeInstance; ObjectNodeInstanceWeakPointer m_nodeInstance;
QString m_prefix; QString m_prefix;
QWeakPointer<QmlContext> m_context; QWeakPointer<QDeclarativeContext> m_context;
}; };
} // namespace Internal } // namespace Internal

View File

@@ -4,7 +4,7 @@
#include <QMetaProperty> #include <QMetaProperty>
#include <QMetaObject> #include <QMetaObject>
#include <QtDebug> #include <QtDebug>
#include <private/qmlmetaproperty_p.h> #include <private/qdeclarativeproperty_p.h>
#include "objectnodeinstance.h" #include "objectnodeinstance.h"
#include <QSharedPointer> #include <QSharedPointer>
@@ -33,8 +33,8 @@ void NodeInstanceSignalSpy::registerObject(QObject *spiedObject, const QString &
QMetaProperty metaProperty = spiedObject->metaObject()->property(index); QMetaProperty metaProperty = spiedObject->metaObject()->property(index);
if (metaProperty.isReadable() if (metaProperty.isReadable()
&& !metaProperty.isWritable() && !metaProperty.isWritable()
&& QmlMetaType::isQObject(metaProperty.userType())) { && QDeclarativeMetaType::isQObject(metaProperty.userType())) {
QObject *propertyObject = QmlMetaType::toQObject(metaProperty.read(spiedObject)); QObject *propertyObject = QDeclarativeMetaType::toQObject(metaProperty.read(spiedObject));
if (propertyObject) if (propertyObject)
registerObject(propertyObject, prefix + metaProperty.name() + "."); registerObject(propertyObject, prefix + metaProperty.name() + ".");
} else if (metaProperty.hasNotifySignal()) { } else if (metaProperty.hasNotifySignal()) {

View File

@@ -29,15 +29,15 @@
#include "nodeinstanceview.h" #include "nodeinstanceview.h"
#include <QtDeclarative/QmlEngine> #include <QtDeclarative/QDeclarativeEngine>
#include <QtDeclarative/QmlContext> #include <QtDeclarative/QDeclarativeContext>
#include <QtDebug> #include <QtDebug>
#include <QUrl> #include <QUrl>
#include <QGraphicsView> #include <QGraphicsView>
#include <QGraphicsScene> #include <QGraphicsScene>
#include <QGraphicsObject> #include <QGraphicsObject>
#include <private/qmlengine_p.h> #include <private/qdeclarativeengine_p.h>
#include <model.h> #include <model.h>
#include <modelnode.h> #include <modelnode.h>
@@ -91,7 +91,7 @@ deleted too.
NodeInstanceView::NodeInstanceView(QObject *parent) NodeInstanceView::NodeInstanceView(QObject *parent)
: AbstractView(parent), : AbstractView(parent),
m_graphicsView(new QGraphicsView), m_graphicsView(new QGraphicsView),
m_engine(new QmlEngine(this)), m_engine(new QDeclarativeEngine(this)),
m_blockChangeSignal(false), m_blockChangeSignal(false),
m_blockStatePropertyChanges(false) m_blockStatePropertyChanges(false)
{ {
@@ -101,9 +101,9 @@ NodeInstanceView::NodeInstanceView(QObject *parent)
Q_ASSERT(!m_engine.isNull()); Q_ASSERT(!m_engine.isNull());
QmlEnginePrivate *privateQmlEngine = QmlEnginePrivate::get(m_engine.data()); QDeclarativeEnginePrivate *privateQDeclarativeEngine = QDeclarativeEnginePrivate::get(m_engine.data());
Q_ASSERT(privateQmlEngine); Q_ASSERT(privateQDeclarativeEngine);
privateQmlEngine->scriptEngine.setProcessEventsInterval(100); privateQDeclarativeEngine->scriptEngine.setProcessEventsInterval(100);
} }
@@ -474,7 +474,7 @@ void NodeInstanceView::insertInstanceNodeRelationship(const ModelNode &node, con
m_objectInstanceHash.insert(instance.internalObject(), instance); m_objectInstanceHash.insert(instance.internalObject(), instance);
} }
QmlEngine *NodeInstanceView::engine() const QDeclarativeEngine *NodeInstanceView::engine() const
{ {
return m_engine.data(); return m_engine.data();
} }

View File

@@ -47,25 +47,26 @@
#include <nodelistproperty.h> #include <nodelistproperty.h>
#include <metainfo.h> #include <metainfo.h>
#include <propertymetainfo.h> #include <propertymetainfo.h>
#include <qmlmetaproperty.h>
#include <QEvent> #include <QEvent>
#include <QGraphicsScene> #include <QGraphicsScene>
#include <QmlContext> #include <QDeclarativeContext>
#include <QmlError> #include <QDeclarativeError>
#include <QmlBinding> #include <QDeclarativeEngine>
#include <QmlMetaType> #include <QDeclarativeProperty>
#include <QmlEngine>
#include <QSharedPointer> #include <QSharedPointer>
#include <private/qmlcontext_p.h> #include <private/qdeclarativebinding_p.h>
#include <private/qmllistaccessor_p.h> #include <private/qdeclarativecontext_p.h>
#include <private/qmlvaluetype_p.h> #include <private/qdeclarativelistaccessor_p.h>
#include <private/qmlgraphicsanchors_p.h> #include <private/qdeclarativevaluetype_p.h>
#include <private/qmlgraphicsrectangle_p.h> // to get QmlGraphicsPen #include <private/qdeclarativeanchors_p.h>
#include <private/qdeclarativerectangle_p.h> // to get QDeclarativePen
#include <private/qmetaobjectbuilder_p.h> #include <private/qmetaobjectbuilder_p.h>
#include <private/qmlvmemetaobject_p.h> #include <private/qdeclarativevmemetaobject_p.h>
#include <private/qdeclarativemetatype_p.h>
#include <private/qobject_p.h> #include <private/qobject_p.h>
#include <private/qdeclarativeproperty_p.h>
@@ -114,7 +115,7 @@ static bool isChildrenProperty(const QString &name)
static void specialRemoveParentForQmlGraphicsItemChildren(QObject *object) static void specialRemoveParentForQmlGraphicsItemChildren(QObject *object)
{ {
QmlGraphicsItem *item = qobject_cast<QmlGraphicsItem*>(object); QDeclarativeItem *item = qobject_cast<QDeclarativeItem*>(object);
if (item && item->scene()) if (item && item->scene())
item->scene()->removeItem(item); item->scene()->removeItem(item);
@@ -187,8 +188,8 @@ void ObjectNodeInstance::initializePropertyWatcher(const ObjectNodeInstance::Poi
m_metaObject = new NodeInstanceMetaObject(objectNodeInstance); m_metaObject = new NodeInstanceMetaObject(objectNodeInstance);
const QMetaObject *metaObject = objectNodeInstance->object()->metaObject(); const QMetaObject *metaObject = objectNodeInstance->object()->metaObject();
for(int propertyIndex = QObject::staticMetaObject.propertyCount(); propertyIndex < metaObject->propertyCount(); propertyIndex++) { for(int propertyIndex = QObject::staticMetaObject.propertyCount(); propertyIndex < metaObject->propertyCount(); propertyIndex++) {
if (QmlMetaType::isQObject(metaObject->property(propertyIndex).userType())) { if (QDeclarativeMetaType::isQObject(metaObject->property(propertyIndex).userType())) {
QObject *propertyObject = QmlMetaType::toQObject(metaObject->property(propertyIndex).read(objectNodeInstance->object())); QObject *propertyObject = QDeclarativeMetaType::toQObject(metaObject->property(propertyIndex).read(objectNodeInstance->object()));
if (propertyObject && hasPropertiesWitoutNotifications(propertyObject->metaObject())) { if (propertyObject && hasPropertiesWitoutNotifications(propertyObject->metaObject())) {
new NodeInstanceMetaObject(objectNodeInstance, propertyObject, metaObject->property(propertyIndex).name()); new NodeInstanceMetaObject(objectNodeInstance, propertyObject, metaObject->property(propertyIndex).name());
} }
@@ -241,7 +242,7 @@ bool ObjectNodeInstance::isWidget() const
return false; return false;
} }
bool ObjectNodeInstance::isQmlView() const bool ObjectNodeInstance::isQDeclarativeView() const
{ {
return false; return false;
} }
@@ -324,14 +325,14 @@ QPair<QString, NodeInstance> ObjectNodeInstance::anchor(const QString &/*name*/)
} }
static bool isList(const QmlMetaProperty &metaProperty) static bool isList(const QDeclarativeProperty &metaProperty)
{ {
return metaProperty.propertyCategory() == QmlMetaProperty::List; return metaProperty.propertyTypeCategory() == QDeclarativeProperty::List;
} }
static bool isObject(const QmlMetaProperty &metaProperty) static bool isObject(const QDeclarativeProperty &metaProperty)
{ {
return metaProperty.propertyCategory() == QmlMetaProperty::Object; return metaProperty.propertyTypeCategory() == QDeclarativeProperty::Object;
} }
static QVariant objectToVariant(QObject *object) static QVariant objectToVariant(QObject *object)
@@ -339,14 +340,14 @@ static QVariant objectToVariant(QObject *object)
return QVariant::fromValue(object); return QVariant::fromValue(object);
} }
static void removeObjectFromList(const QmlMetaProperty & /*metaProperty*/, QObject * /*object*/, QmlEngine * /*engine*/) static void removeObjectFromList(const QDeclarativeProperty & /*metaProperty*/, QObject * /*object*/, QDeclarativeEngine * /*engine*/)
{ {
// ### Very few QML lists ever responded to removes // ### Very few QML lists ever responded to removes
} }
void ObjectNodeInstance::removeFromOldProperty(QObject *object, QObject *oldParent, const QString &oldParentProperty) void ObjectNodeInstance::removeFromOldProperty(QObject *object, QObject *oldParent, const QString &oldParentProperty)
{ {
QmlMetaProperty metaProperty = QmlMetaProperty::createProperty(oldParent, oldParentProperty, context()); QDeclarativeProperty metaProperty(oldParent, oldParentProperty, context());
if (isList(metaProperty)) { if (isList(metaProperty)) {
removeObjectFromList(metaProperty, object, nodeInstanceView()->engine()); removeObjectFromList(metaProperty, object, nodeInstanceView()->engine());
@@ -359,10 +360,10 @@ void ObjectNodeInstance::removeFromOldProperty(QObject *object, QObject *oldPare
void ObjectNodeInstance::addToNewProperty(QObject *object, QObject *newParent, const QString &newParentProperty) void ObjectNodeInstance::addToNewProperty(QObject *object, QObject *newParent, const QString &newParentProperty)
{ {
QmlMetaProperty metaProperty = QmlMetaProperty::createProperty(newParent, newParentProperty, context()); QDeclarativeProperty metaProperty(newParent, newParentProperty, context());
if (isList(metaProperty)) { if (isList(metaProperty)) {
QmlListReference list = qvariant_cast<QmlListReference>(metaProperty.read()); QDeclarativeListReference list = qvariant_cast<QDeclarativeListReference>(metaProperty.read());
list.append(object); list.append(object);
} else if (isObject(metaProperty)) { } else if (isObject(metaProperty)) {
metaProperty.write(objectToVariant(object)); metaProperty.write(objectToVariant(object));
@@ -372,9 +373,9 @@ void ObjectNodeInstance::addToNewProperty(QObject *object, QObject *newParent, c
Q_ASSERT(objectToVariant(object).isValid()); Q_ASSERT(objectToVariant(object).isValid());
} }
static void specialSetParentForQmlGraphicsItemChildren(QObject *object, QmlGraphicsItem *parent) static void specialSetParentForQmlGraphicsItemChildren(QObject *object, QDeclarativeItem *parent)
{ {
QmlGraphicsItem *item = qobject_cast<QmlGraphicsItem*>(object); QDeclarativeItem *item = qobject_cast<QDeclarativeItem*>(object);
if (item) if (item)
item->setParentItem(parent); item->setParentItem(parent);
else else
@@ -392,7 +393,7 @@ void ObjectNodeInstance::reparent(const NodeInstance &oldParentInstance, const Q
if (newParentInstance.isValid()) { if (newParentInstance.isValid()) {
if (newParentInstance.isQmlGraphicsItem() && isChildrenProperty(newParentProperty)) if (newParentInstance.isQmlGraphicsItem() && isChildrenProperty(newParentProperty))
specialSetParentForQmlGraphicsItemChildren(object(), qobject_cast<QmlGraphicsItem*>(newParentInstance.internalObject())); specialSetParentForQmlGraphicsItemChildren(object(), qobject_cast<QDeclarativeItem*>(newParentInstance.internalObject()));
else else
addToNewProperty(object(), newParentInstance.internalObject(), newParentProperty); addToNewProperty(object(), newParentInstance.internalObject(), newParentProperty);
} }
@@ -402,33 +403,33 @@ void ObjectNodeInstance::reparent(const NodeInstance &oldParentInstance, const Q
void ObjectNodeInstance::setPropertyVariant(const QString &name, const QVariant &value) void ObjectNodeInstance::setPropertyVariant(const QString &name, const QVariant &value)
{ {
QmlMetaProperty qmlMetaProperty = QmlMetaProperty::createProperty(object(), name, context()); QDeclarativeProperty QDeclarativeProperty(object(), name, context());
qmlMetaProperty.write(value); QDeclarativeProperty.write(value);
} }
void ObjectNodeInstance::setPropertyBinding(const QString &name, const QString &expression) void ObjectNodeInstance::setPropertyBinding(const QString &name, const QString &expression)
{ {
QmlContext *qmlContext = QmlEngine::contextForObject(object()); QDeclarativeContext *QDeclarativeContext = QDeclarativeEngine::contextForObject(object());
QmlMetaProperty metaProperty = QmlMetaProperty::createProperty(object(), name, context()); QDeclarativeProperty metaProperty(object(), name, context());
if (metaProperty.isValid() && metaProperty.isProperty()) { if (metaProperty.isValid() && metaProperty.isProperty()) {
QmlBinding *qmlBinding = new QmlBinding(expression, object(), qmlContext); QDeclarativeBinding *binding = new QDeclarativeBinding(expression, object(), QDeclarativeContext);
qmlBinding->setTarget(metaProperty); binding->setTarget(metaProperty);
qmlBinding->setTrackChange(true); binding->setNotifyOnValueChanged(true);
QmlAbstractBinding *oldBinding = metaProperty.setBinding(qmlBinding); QDeclarativeAbstractBinding *oldBinding = QDeclarativePropertyPrivate::setBinding(metaProperty, binding);
delete oldBinding; delete oldBinding;
qmlBinding->update(); binding->update();
} else { } else {
qWarning() << "Cannot set binding for property" << name << ": property is unknown for type" qWarning() << "Cannot set binding for property" << name << ": property is unknown for type"
<< (modelNode().isValid() ? modelNode().type() : "unknown"); << (modelNode().isValid() ? modelNode().type() : "unknown");
} }
} }
void ObjectNodeInstance::deleteObjectsInList(const QmlMetaProperty &metaProperty) void ObjectNodeInstance::deleteObjectsInList(const QDeclarativeProperty &metaProperty)
{ {
QObjectList objectList; QObjectList objectList;
QmlListReference list = qvariant_cast<QmlListReference>(metaProperty.read()); QDeclarativeListReference list = qvariant_cast<QDeclarativeListReference>(metaProperty.read());
for(int i = 0; i < list.count(); i++) { for(int i = 0; i < list.count(); i++) {
objectList += list.at(i); objectList += list.at(i);
@@ -463,10 +464,10 @@ void ObjectNodeInstance::resetProperty(QObject *object, const QString &propertyN
{ {
m_modelAbstractPropertyHash.remove(propertyName); m_modelAbstractPropertyHash.remove(propertyName);
QmlMetaProperty qmlMetaProperty = QmlMetaProperty::createProperty(object, propertyName, context()); QDeclarativeProperty qmlProperty(object, propertyName, context());
QMetaProperty metaProperty = qmlMetaProperty.property(); QMetaProperty metaProperty = qmlProperty.property();
QmlAbstractBinding *binding = qmlMetaProperty.binding(); QDeclarativeAbstractBinding *binding = QDeclarativePropertyPrivate::binding(qmlProperty);
if (binding) { if (binding) {
binding->setEnabled(false, 0); binding->setEnabled(false, 0);
delete binding; delete binding;
@@ -474,12 +475,12 @@ void ObjectNodeInstance::resetProperty(QObject *object, const QString &propertyN
if (metaProperty.isResettable()) { if (metaProperty.isResettable()) {
metaProperty.reset(object); metaProperty.reset(object);
} else if (qmlMetaProperty.isWritable()) { } else if (qmlProperty.isWritable()) {
if (qmlMetaProperty.read() == resetValue(propertyName)) if (qmlProperty.read() == resetValue(propertyName))
return; return;
qmlMetaProperty.write(resetValue(propertyName)); qmlProperty.write(resetValue(propertyName));
} else if (qmlMetaProperty.propertyCategory() == QmlMetaProperty::List) { } else if (qmlProperty.propertyTypeCategory() == QDeclarativeProperty::List) {
qvariant_cast<QmlListReference>(qmlMetaProperty.read()).clear(); qvariant_cast<QDeclarativeListReference>(qmlProperty.read()).clear();
} }
} }
@@ -491,7 +492,7 @@ QVariant ObjectNodeInstance::property(const QString &name) const
// TODO: handle model nodes // TODO: handle model nodes
QmlMetaProperty metaProperty = QmlMetaProperty::createProperty(object(), name, context()); QDeclarativeProperty metaProperty(object(), name, context());
if (metaProperty.property().isEnumType()) { if (metaProperty.property().isEnumType()) {
QVariant value = object()->property(name.toLatin1()); QVariant value = object()->property(name.toLatin1());
return metaProperty.property().enumerator().valueToKey(value.toInt()); return metaProperty.property().enumerator().valueToKey(value.toInt());
@@ -522,7 +523,7 @@ bool ObjectNodeInstance::deleteHeldInstance() const
return m_deleteHeldInstance; return m_deleteHeldInstance;
} }
ObjectNodeInstance::Pointer ObjectNodeInstance::create(const NodeMetaInfo &nodeMetaInfo, QmlContext *context, QObject *objectToBeWrapped) ObjectNodeInstance::Pointer ObjectNodeInstance::create(const NodeMetaInfo &nodeMetaInfo, QDeclarativeContext *context, QObject *objectToBeWrapped)
{ {
QObject *object = 0; QObject *object = 0;
if (objectToBeWrapped) if (objectToBeWrapped)
@@ -540,7 +541,7 @@ ObjectNodeInstance::Pointer ObjectNodeInstance::create(const NodeMetaInfo &nodeM
return instance; return instance;
} }
QObject* ObjectNodeInstance::createObject(const NodeMetaInfo &metaInfo, QmlContext *context) QObject* ObjectNodeInstance::createObject(const NodeMetaInfo &metaInfo, QDeclarativeContext *context)
{ {
QObject *object = metaInfo.createInstance(context); QObject *object = metaInfo.createInstance(context);
@@ -564,9 +565,9 @@ void ObjectNodeInstance::updateAnchors()
{ {
} }
QmlContext *ObjectNodeInstance::context() const QDeclarativeContext *ObjectNodeInstance::context() const
{ {
QmlContext *context = QmlEngine::contextForObject(object()); QDeclarativeContext *context = QDeclarativeEngine::contextForObject(object());
if (context) if (context)
return context; return context;
else if (nodeInstanceView()) else if (nodeInstanceView())
@@ -599,11 +600,11 @@ QStringList propertyNameForWritableProperties(QObject *object, const QString &ba
for (int index = 0; index < metaObject->propertyCount(); ++index) { for (int index = 0; index < metaObject->propertyCount(); ++index) {
QMetaProperty metaProperty = metaObject->property(index); QMetaProperty metaProperty = metaObject->property(index);
if (metaProperty.isReadable() && !metaProperty.isWritable()) { if (metaProperty.isReadable() && !metaProperty.isWritable()) {
QObject *childObject = QmlMetaType::toQObject(metaProperty.read(object)); QObject *childObject = QDeclarativeMetaType::toQObject(metaProperty.read(object));
if (childObject) if (childObject)
propertyNameList.append(propertyNameForWritableProperties(childObject, baseName + QString::fromUtf8(metaProperty.name()) + '.')); propertyNameList.append(propertyNameForWritableProperties(childObject, baseName + QString::fromUtf8(metaProperty.name()) + '.'));
} else if (QmlValueTypeFactory::valueType(metaProperty.userType())) { } else if (QDeclarativeValueTypeFactory::valueType(metaProperty.userType())) {
QmlValueType *valueType = QmlValueTypeFactory::valueType(metaProperty.userType()); QDeclarativeValueType *valueType = QDeclarativeValueTypeFactory::valueType(metaProperty.userType());
valueType->setValue(metaProperty.read(object)); valueType->setValue(metaProperty.read(object));
propertyNameList.append(propertyNameForWritableProperties(valueType, baseName + QString::fromUtf8(metaProperty.name()) + '.')); propertyNameList.append(propertyNameForWritableProperties(valueType, baseName + QString::fromUtf8(metaProperty.name()) + '.'));
} else if (metaProperty.isReadable() && metaProperty.isWritable()) { } else if (metaProperty.isReadable() && metaProperty.isWritable()) {
@@ -619,7 +620,7 @@ void ObjectNodeInstance::populateResetValueHash()
QStringList propertyNameList = propertyNameForWritableProperties(object()); QStringList propertyNameList = propertyNameForWritableProperties(object());
foreach(const QString &propertyName, propertyNameList) { foreach(const QString &propertyName, propertyNameList) {
QmlMetaProperty metaProperty = QmlMetaProperty::createProperty(object(), propertyName, context()); QDeclarativeProperty metaProperty(object(), propertyName, context());
if (metaProperty.isWritable()) if (metaProperty.isWritable())
m_resetValueHash.insert(propertyName, metaProperty.read()); m_resetValueHash.insert(propertyName, metaProperty.read());
} }
@@ -695,10 +696,10 @@ void ObjectNodeInstance::createDynamicProperty(const QString &name, const QStrin
/** /**
Force all bindings in this or a sub context to be re-evaluated. Force all bindings in this or a sub context to be re-evaluated.
*/ */
void ObjectNodeInstance::refreshBindings(QmlContext *context) void ObjectNodeInstance::refreshBindings(QDeclarativeContext *context)
{ {
// TODO: Maybe do this via a timer to prevent update flooding // TODO: Maybe do this via a timer to prevent update flooding
QmlContextPrivate::get(context)->refreshExpressions(); QDeclarativeContextPrivate::get(context)->refreshExpressions();
} }
} }

View File

@@ -43,10 +43,10 @@
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
class QGraphicsItem; class QGraphicsItem;
class QmlContext; class QDeclarativeContext;
class QmlMetaProperty; class QDeclarativeProperty;
class QmlContext; class QDeclarativeContext;
class QmlBinding; class QDeclarativeBinding;
QT_END_NAMESPACE QT_END_NAMESPACE
namespace QmlDesigner { namespace QmlDesigner {
@@ -60,7 +60,7 @@ class GraphicsViewNodeInstance;
class GraphicsSceneNodeInstance; class GraphicsSceneNodeInstance;
class ProxyWidgetNodeInstance; class ProxyWidgetNodeInstance;
class WidgetNodeInstance; class WidgetNodeInstance;
class QmlViewNodeInstance; class QDeclarativeViewNodeInstance;
class ChildrenChangeEventFilter : public QObject class ChildrenChangeEventFilter : public QObject
{ {
@@ -88,7 +88,7 @@ public:
void destroy(); void destroy();
//void setModelNode(const ModelNode &node); //void setModelNode(const ModelNode &node);
static Pointer create(const NodeMetaInfo &metaInfo, QmlContext *context, QObject *objectToBeWrapped); static Pointer create(const NodeMetaInfo &metaInfo, QDeclarativeContext *context, QObject *objectToBeWrapped);
ModelNode modelNode() const; ModelNode modelNode() const;
void setModelNode(const ModelNode &node); void setModelNode(const ModelNode &node);
@@ -112,7 +112,7 @@ public:
virtual bool isGraphicsWidget() const; virtual bool isGraphicsWidget() const;
virtual bool isProxyWidget() const; virtual bool isProxyWidget() const;
virtual bool isWidget() const; virtual bool isWidget() const;
virtual bool isQmlView() const; virtual bool isQDeclarativeView() const;
virtual bool isGraphicsObject() const; virtual bool isGraphicsObject() const;
virtual bool isTransition() const; virtual bool isTransition() const;
@@ -164,20 +164,20 @@ public:
virtual bool hasContent() const; virtual bool hasContent() const;
QmlContext *context() const; QDeclarativeContext *context() const;
protected: protected:
static QObject* createObject(const NodeMetaInfo &metaInfo, QmlContext *context); static QObject* createObject(const NodeMetaInfo &metaInfo, QDeclarativeContext *context);
void resetProperty(QObject *object, const QString &propertyName); void resetProperty(QObject *object, const QString &propertyName);
NodeInstance instanceForNode(const ModelNode &node, const QString &fullname); NodeInstance instanceForNode(const ModelNode &node, const QString &fullname);
void removeFromOldProperty(QObject *object, QObject *oldParent, const QString &oldParentProperty); void removeFromOldProperty(QObject *object, QObject *oldParent, const QString &oldParentProperty);
void addToNewProperty(QObject *object, QObject *newParent, const QString &newParentProperty); void addToNewProperty(QObject *object, QObject *newParent, const QString &newParentProperty);
void deleteObjectsInList(const QmlMetaProperty &metaProperty); void deleteObjectsInList(const QDeclarativeProperty &metaProperty);
private: private:
static void refreshBindings(QmlContext *context); static void refreshBindings(QDeclarativeContext *context);
QHash<QString, QVariant> m_resetValueHash; QHash<QString, QVariant> m_resetValueHash;
QHash<QString, NodeInstance> m_modelAbstractPropertyHash; QHash<QString, NodeInstance> m_modelAbstractPropertyHash;
@@ -189,7 +189,6 @@ private:
QWeakPointer<QObject> m_object; QWeakPointer<QObject> m_object;
NodeInstanceMetaObject *m_metaObject; NodeInstanceMetaObject *m_metaObject;
NodeInstanceSignalSpy m_signalSpy; NodeInstanceSignalSpy m_signalSpy;
}; };

View File

@@ -29,7 +29,7 @@
#include "proxywidgetnodeinstance.h" #include "proxywidgetnodeinstance.h"
#include <QmlMetaType> #include <private/qdeclarativemetatype_p.h>
#include <QGraphicsProxyWidget> #include <QGraphicsProxyWidget>
@@ -45,7 +45,7 @@ ProxyWidgetNodeInstance::ProxyWidgetNodeInstance(QGraphicsProxyWidget *widget)
ProxyWidgetNodeInstance::Pointer ProxyWidgetNodeInstance::create(const QString &typeName) ProxyWidgetNodeInstance::Pointer ProxyWidgetNodeInstance::create(const QString &typeName)
{ {
QObject *object = QmlMetaType::qmlType(typeName.toLatin1(), 4, 6)->create(); QObject *object = QDeclarativeMetaType::qmlType(typeName.toLatin1(), 4, 6)->create();
Q_ASSERT(object); Q_ASSERT(object);
if (object == 0) if (object == 0)
return Pointer(); return Pointer();

View File

@@ -38,10 +38,11 @@
#include "bindingproperty.h" #include "bindingproperty.h"
#include "variantproperty.h" #include "variantproperty.h"
#include <private/qmlgraphicsanchors_p.h> #include <QDeclarativeExpression>
#include <private/qmlgraphicsanchors_p_p.h>
#include <private/qmlgraphicsrectangle_p.h> #include <private/qdeclarativeanchors_p.h>
#include <private/qmlexpression_p.h> #include <private/qdeclarativeanchors_p_p.h>
#include <private/qdeclarativerectangle_p.h>
#include <cmath> #include <cmath>
@@ -50,7 +51,7 @@
namespace QmlDesigner { namespace QmlDesigner {
namespace Internal { namespace Internal {
QmlGraphicsItemNodeInstance::QmlGraphicsItemNodeInstance(QmlGraphicsItem *item, bool hasContent) QmlGraphicsItemNodeInstance::QmlGraphicsItemNodeInstance(QDeclarativeItem *item, bool hasContent)
: GraphicsObjectNodeInstance(item, hasContent), : GraphicsObjectNodeInstance(item, hasContent),
m_hasHeight(false), m_hasHeight(false),
m_hasWidth(false) m_hasWidth(false)
@@ -61,7 +62,7 @@ QmlGraphicsItemNodeInstance::~QmlGraphicsItemNodeInstance()
{ {
} }
QmlGraphicsItemNodeInstance::Pointer QmlGraphicsItemNodeInstance::create(const NodeMetaInfo &metaInfo, QmlContext *context, QObject *objectToBeWrapped) QmlGraphicsItemNodeInstance::Pointer QmlGraphicsItemNodeInstance::create(const NodeMetaInfo &metaInfo, QDeclarativeContext *context, QObject *objectToBeWrapped)
{ {
QPair<QGraphicsObject*, bool> objectPair; QPair<QGraphicsObject*, bool> objectPair;
@@ -70,7 +71,7 @@ QmlGraphicsItemNodeInstance::Pointer QmlGraphicsItemNodeInstance::create(const N
else else
objectPair = GraphicsObjectNodeInstance::createGraphicsObject(metaInfo, context); objectPair = GraphicsObjectNodeInstance::createGraphicsObject(metaInfo, context);
QmlGraphicsItem *qmlGraphicsItem = dynamic_cast<QmlGraphicsItem*>(objectPair.first); QDeclarativeItem *qmlGraphicsItem = dynamic_cast<QDeclarativeItem*>(objectPair.first);
if (qmlGraphicsItem == 0) if (qmlGraphicsItem == 0)
throw InvalidNodeInstanceException(__LINE__, __FUNCTION__, __FILE__); throw InvalidNodeInstanceException(__LINE__, __FUNCTION__, __FILE__);
@@ -170,7 +171,7 @@ QRectF QmlGraphicsItemNodeInstance::boundingRect() const
return qmlGraphicsItem()->boundingRect(); return qmlGraphicsItem()->boundingRect();
} }
//QVariant anchorLineFor(QmlGraphicsItem *item, const AnchorLine &anchorLine) //QVariant anchorLineFor(QDeclarativeItem *item, const AnchorLine &anchorLine)
//{ //{
// switch(anchorLine.type()) { // switch(anchorLine.type()) {
// case AnchorLine::Top : return item->property("top"); // case AnchorLine::Top : return item->property("top");
@@ -268,9 +269,9 @@ void QmlGraphicsItemNodeInstance::resetVertical()
int QmlGraphicsItemNodeInstance::penWidth() const int QmlGraphicsItemNodeInstance::penWidth() const
{ {
QmlGraphicsRectangle *qmlGraphcisRectangle = qobject_cast<QmlGraphicsRectangle*>(object()); QDeclarativeRectangle *rectangle = qobject_cast<QDeclarativeRectangle*>(object());
if (qmlGraphcisRectangle) if (rectangle)
return qmlGraphcisRectangle->border()->width(); return rectangle->border()->width();
return GraphicsObjectNodeInstance::penWidth(); return GraphicsObjectNodeInstance::penWidth();
} }
@@ -330,7 +331,7 @@ void QmlGraphicsItemNodeInstance::resetProperty(const QString &name)
// qmlGraphicsItem()->anchors()->setProperty("top", anchorLineFor(qmlGraphicsItemInstance->qmlGraphicsItem(), anchorLine)); // qmlGraphicsItem()->anchors()->setProperty("top", anchorLineFor(qmlGraphicsItemInstance->qmlGraphicsItem(), anchorLine));
// } // }
// } else { // } else {
// if (qmlGraphicsItem()->anchors()->usedAnchors().testFlag(QmlGraphicsAnchors::HasTopAnchor)) { // if (qmlGraphicsItem()->anchors()->usedAnchors().testFlag(QDeclarativeAnchors::HasTopAnchor)) {
// qmlGraphicsItem()->anchors()->resetTop(); // qmlGraphicsItem()->anchors()->resetTop();
// setPropertyValue("y", modelNode().property("y").value()); // setPropertyValue("y", modelNode().property("y").value());
// setPropertyValue("height", modelNode().property("height").value()); // setPropertyValue("height", modelNode().property("height").value());
@@ -347,7 +348,7 @@ void QmlGraphicsItemNodeInstance::resetProperty(const QString &name)
// qmlGraphicsItem()->anchors()->setProperty("left", anchorLineFor(qmlGraphicsItemInstance->qmlGraphicsItem(), anchorLine)); // qmlGraphicsItem()->anchors()->setProperty("left", anchorLineFor(qmlGraphicsItemInstance->qmlGraphicsItem(), anchorLine));
// } // }
// } else { // } else {
// if (qmlGraphicsItem()->anchors()->usedAnchors().testFlag(QmlGraphicsAnchors::HasLeftAnchor)) { // if (qmlGraphicsItem()->anchors()->usedAnchors().testFlag(QDeclarativeAnchors::HasLeftAnchor)) {
// qmlGraphicsItem()->anchors()->resetLeft(); // qmlGraphicsItem()->anchors()->resetLeft();
// setPropertyValue("x", modelNode().property("x").value()); // setPropertyValue("x", modelNode().property("x").value());
// setPropertyValue("width", modelNode().property("width").value()); // setPropertyValue("width", modelNode().property("width").value());
@@ -364,7 +365,7 @@ void QmlGraphicsItemNodeInstance::resetProperty(const QString &name)
// qmlGraphicsItem()->anchors()->setProperty("right", anchorLineFor(qmlGraphicsItemInstance->qmlGraphicsItem(), anchorLine)); // qmlGraphicsItem()->anchors()->setProperty("right", anchorLineFor(qmlGraphicsItemInstance->qmlGraphicsItem(), anchorLine));
// } // }
// } else { // } else {
// if (qmlGraphicsItem()->anchors()->usedAnchors().testFlag(QmlGraphicsAnchors::HasRightAnchor)) { // if (qmlGraphicsItem()->anchors()->usedAnchors().testFlag(QDeclarativeAnchors::HasRightAnchor)) {
// qmlGraphicsItem()->anchors()->resetRight(); // qmlGraphicsItem()->anchors()->resetRight();
// setPropertyValue("x", modelNode().property("x").value()); // setPropertyValue("x", modelNode().property("x").value());
// setPropertyValue("width", modelNode().property("width").value()); // setPropertyValue("width", modelNode().property("width").value());
@@ -381,7 +382,7 @@ void QmlGraphicsItemNodeInstance::resetProperty(const QString &name)
// qmlGraphicsItem()->anchors()->setProperty("bottom", anchorLineFor(qmlGraphicsItemInstance->qmlGraphicsItem(), anchorLine)); // qmlGraphicsItem()->anchors()->setProperty("bottom", anchorLineFor(qmlGraphicsItemInstance->qmlGraphicsItem(), anchorLine));
// } // }
// } else { // } else {
// if (qmlGraphicsItem()->anchors()->usedAnchors().testFlag(QmlGraphicsAnchors::HasBottomAnchor)) { // if (qmlGraphicsItem()->anchors()->usedAnchors().testFlag(QDeclarativeAnchors::HasBottomAnchor)) {
// qmlGraphicsItem()->anchors()->resetBottom(); // qmlGraphicsItem()->anchors()->resetBottom();
// setPropertyValue("y", modelNode().property("y").value()); // setPropertyValue("y", modelNode().property("y").value());
// setPropertyValue("height", modelNode().property("height").value()); // setPropertyValue("height", modelNode().property("height").value());
@@ -398,7 +399,7 @@ void QmlGraphicsItemNodeInstance::resetProperty(const QString &name)
// qmlGraphicsItem()->anchors()->setProperty("horizontalCenter", anchorLineFor(qmlGraphicsItemInstance->qmlGraphicsItem(), anchorLine)); // qmlGraphicsItem()->anchors()->setProperty("horizontalCenter", anchorLineFor(qmlGraphicsItemInstance->qmlGraphicsItem(), anchorLine));
// } // }
// } else { // } else {
// if (qmlGraphicsItem()->anchors()->usedAnchors().testFlag(QmlGraphicsAnchors::HasHCenterAnchor)) { // if (qmlGraphicsItem()->anchors()->usedAnchors().testFlag(QDeclarativeAnchors::HasHCenterAnchor)) {
// qmlGraphicsItem()->anchors()->resetHorizontalCenter(); // qmlGraphicsItem()->anchors()->resetHorizontalCenter();
// setPropertyValue("x", modelNode().property("x").value()); // setPropertyValue("x", modelNode().property("x").value());
// setPropertyValue("width", modelNode().property("width").value()); // setPropertyValue("width", modelNode().property("width").value());
@@ -415,7 +416,7 @@ void QmlGraphicsItemNodeInstance::resetProperty(const QString &name)
// qmlGraphicsItem()->anchors()->setProperty("verticalCenter",anchorLineFor(qmlGraphicsItemInstance->qmlGraphicsItem(), anchorLine)); // qmlGraphicsItem()->anchors()->setProperty("verticalCenter",anchorLineFor(qmlGraphicsItemInstance->qmlGraphicsItem(), anchorLine));
// } // }
// } else { // } else {
// if (qmlGraphicsItem()->anchors()->usedAnchors().testFlag(QmlGraphicsAnchors::HasVCenterAnchor)) { // if (qmlGraphicsItem()->anchors()->usedAnchors().testFlag(QDeclarativeAnchors::HasVCenterAnchor)) {
// qmlGraphicsItem()->anchors()->resetVerticalCenter(); // qmlGraphicsItem()->anchors()->resetVerticalCenter();
// setPropertyValue("y", modelNode().property("y").value()); // setPropertyValue("y", modelNode().property("y").value());
// setPropertyValue("height", modelNode().property("height").value()); // setPropertyValue("height", modelNode().property("height").value());
@@ -431,45 +432,45 @@ void QmlGraphicsItemNodeInstance::resetProperty(const QString &name)
// qmlGraphicsItem()->anchors()->setVerticalCenterOffset(anchors.margin(AnchorLine::VerticalCenter)); // qmlGraphicsItem()->anchors()->setVerticalCenterOffset(anchors.margin(AnchorLine::VerticalCenter));
//} //}
QmlGraphicsAnchors::UsedAnchor anchorLineFlagForName(const QString &name) QDeclarativeAnchors::UsedAnchor anchorLineFlagForName(const QString &name)
{ {
if (name == "anchors.top") if (name == "anchors.top")
return QmlGraphicsAnchors::HasTopAnchor; return QDeclarativeAnchors::HasTopAnchor;
if (name == "anchors.left") if (name == "anchors.left")
return QmlGraphicsAnchors::HasLeftAnchor; return QDeclarativeAnchors::HasLeftAnchor;
if (name == "anchors.bottom") if (name == "anchors.bottom")
return QmlGraphicsAnchors::HasBottomAnchor; return QDeclarativeAnchors::HasBottomAnchor;
if (name == "anchors.right") if (name == "anchors.right")
return QmlGraphicsAnchors::HasRightAnchor; return QDeclarativeAnchors::HasRightAnchor;
if (name == "anchors.horizontalCenter") if (name == "anchors.horizontalCenter")
return QmlGraphicsAnchors::HasHCenterAnchor; return QDeclarativeAnchors::HasHCenterAnchor;
if (name == "anchors.verticalCenter") if (name == "anchors.verticalCenter")
return QmlGraphicsAnchors::HasVCenterAnchor; return QDeclarativeAnchors::HasVCenterAnchor;
if (name == "anchors.baseline") if (name == "anchors.baseline")
return QmlGraphicsAnchors::HasBaselineAnchor; return QDeclarativeAnchors::HasBaselineAnchor;
Q_ASSERT_X(false, Q_FUNC_INFO, "wrong anchor name - this should never happen"); Q_ASSERT_X(false, Q_FUNC_INFO, "wrong anchor name - this should never happen");
return QmlGraphicsAnchors::HasLeftAnchor; return QDeclarativeAnchors::HasLeftAnchor;
} }
QString propertyNameForAnchorLine(const QmlGraphicsAnchorLine::AnchorLine &anchorLine) QString propertyNameForAnchorLine(const QDeclarativeAnchorLine::AnchorLine &anchorLine)
{ {
switch(anchorLine) { switch(anchorLine) {
case QmlGraphicsAnchorLine::Left: return "left"; case QDeclarativeAnchorLine::Left: return "left";
case QmlGraphicsAnchorLine::Right: return "right"; case QDeclarativeAnchorLine::Right: return "right";
case QmlGraphicsAnchorLine::Top: return "top"; case QDeclarativeAnchorLine::Top: return "top";
case QmlGraphicsAnchorLine::Bottom: return "bottom"; case QDeclarativeAnchorLine::Bottom: return "bottom";
case QmlGraphicsAnchorLine::HCenter: return "horizontalCenter"; case QDeclarativeAnchorLine::HCenter: return "horizontalCenter";
case QmlGraphicsAnchorLine::VCenter: return "verticalCenter"; case QDeclarativeAnchorLine::VCenter: return "verticalCenter";
case QmlGraphicsAnchorLine::Baseline: return "baseline"; case QDeclarativeAnchorLine::Baseline: return "baseline";
case QmlGraphicsAnchorLine::Invalid: case QDeclarativeAnchorLine::Invalid:
default: return QString(); default: return QString();
} }
} }
@@ -502,9 +503,9 @@ QPair<QString, NodeInstance> QmlGraphicsItemNodeInstance::anchor(const QString &
} else if (name == "anchors.centerIn") { } else if (name == "anchors.centerIn") {
targetObject = qmlGraphicsItem()->anchors()->centerIn(); targetObject = qmlGraphicsItem()->anchors()->centerIn();
} else { } else {
QmlMetaProperty metaProperty = QmlMetaProperty::createProperty(object(), name, context()); QDeclarativeProperty metaProperty(object(), name, context());
QmlGraphicsAnchorLine anchorLine = metaProperty.read().value<QmlGraphicsAnchorLine>(); QDeclarativeAnchorLine anchorLine = metaProperty.read().value<QDeclarativeAnchorLine>();
if (anchorLine.anchorLine != QmlGraphicsAnchorLine::Invalid) { if (anchorLine.anchorLine != QDeclarativeAnchorLine::Invalid) {
targetObject = anchorLine.item; targetObject = anchorLine.item;
targetName = propertyNameForAnchorLine(anchorLine.anchorLine); targetName = propertyNameForAnchorLine(anchorLine.anchorLine);
} }
@@ -553,7 +554,7 @@ bool QmlGraphicsItemNodeInstance::hasAnchor(const QString &name) const
return qmlGraphicsItem()->anchors()->usedAnchors().testFlag(anchorLineFlagForName(name)); return qmlGraphicsItem()->anchors()->usedAnchors().testFlag(anchorLineFlagForName(name));
} }
bool isAnchoredTo(QmlGraphicsItem *fromItem, QmlGraphicsItem *toItem) bool isAnchoredTo(QDeclarativeItem *fromItem, QDeclarativeItem *toItem)
{ {
return fromItem->anchors()->fill() == toItem return fromItem->anchors()->fill() == toItem
|| fromItem->anchors()->centerIn() == toItem || fromItem->anchors()->centerIn() == toItem
@@ -566,10 +567,10 @@ bool isAnchoredTo(QmlGraphicsItem *fromItem, QmlGraphicsItem *toItem)
|| fromItem->anchors()->baseline().item == toItem; || fromItem->anchors()->baseline().item == toItem;
} }
bool areChildrenAnchoredTo(QmlGraphicsItem *fromItem, QmlGraphicsItem *toItem) bool areChildrenAnchoredTo(QDeclarativeItem *fromItem, QDeclarativeItem *toItem)
{ {
foreach(QObject *childObject, fromItem->children()) { foreach(QObject *childObject, fromItem->children()) {
QmlGraphicsItem *childItem = qobject_cast<QmlGraphicsItem*>(childObject); QDeclarativeItem *childItem = qobject_cast<QDeclarativeItem*>(childObject);
if (childItem) { if (childItem) {
if (isAnchoredTo(childItem, toItem)) if (isAnchoredTo(childItem, toItem))
return true; return true;
@@ -589,7 +590,7 @@ bool QmlGraphicsItemNodeInstance::isAnchoredBy() const
if (qmlGraphicsItem()->parent()) { if (qmlGraphicsItem()->parent()) {
foreach(QObject *siblingObject, qmlGraphicsItem()->parent()->children()) { // search in siblings for a anchor to this item foreach(QObject *siblingObject, qmlGraphicsItem()->parent()->children()) { // search in siblings for a anchor to this item
QmlGraphicsItem *siblingItem = qobject_cast<QmlGraphicsItem*>(siblingObject); QDeclarativeItem *siblingItem = qobject_cast<QDeclarativeItem*>(siblingObject);
if (siblingItem) { if (siblingItem) {
if (isAnchoredTo(siblingItem, qmlGraphicsItem())) if (isAnchoredTo(siblingItem, qmlGraphicsItem()))
return true; return true;
@@ -605,13 +606,13 @@ bool QmlGraphicsItemNodeInstance::isAnchoredBy() const
QmlGraphicsItem *QmlGraphicsItemNodeInstance::qmlGraphicsItem() const QDeclarativeItem *QmlGraphicsItemNodeInstance::qmlGraphicsItem() const
{ {
if (object() == 0) if (object() == 0)
return 0; return 0;
Q_ASSERT(qobject_cast<QmlGraphicsItem*>(object())); Q_ASSERT(qobject_cast<QDeclarativeItem*>(object()));
return static_cast<QmlGraphicsItem*>(object()); return static_cast<QDeclarativeItem*>(object());
} }
} }
} }

View File

@@ -31,7 +31,7 @@
#define QMLGRAPHICSITEMNODEINSTANCE_H #define QMLGRAPHICSITEMNODEINSTANCE_H
#include "graphicsobjectnodeinstance.h" #include "graphicsobjectnodeinstance.h"
#include <QmlGraphicsItem> #include <QDeclarativeItem>
#include <QWeakPointer> #include <QWeakPointer>
@@ -46,7 +46,7 @@ public:
~QmlGraphicsItemNodeInstance(); ~QmlGraphicsItemNodeInstance();
static Pointer create(const NodeMetaInfo &metaInfo, QmlContext *context, QObject *objectToBeWrapped); static Pointer create(const NodeMetaInfo &metaInfo, QDeclarativeContext *context, QObject *objectToBeWrapped);
bool isQmlGraphicsItem() const; bool isQmlGraphicsItem() const;
@@ -66,8 +66,8 @@ public:
QPair<QString, NodeInstance> anchor(const QString &name) const; QPair<QString, NodeInstance> anchor(const QString &name) const;
bool isAnchoredBy() const; bool isAnchoredBy() const;
protected: protected:
QmlGraphicsItemNodeInstance(QmlGraphicsItem *item, bool hasContent); QmlGraphicsItemNodeInstance(QDeclarativeItem *item, bool hasContent);
QmlGraphicsItem *qmlGraphicsItem() const; QDeclarativeItem *qmlGraphicsItem() const;
void resetHorizontal(); void resetHorizontal();
void resetVertical(); void resetVertical();

View File

@@ -29,28 +29,28 @@
#include "qmlpropertychangesnodeinstance.h" #include "qmlpropertychangesnodeinstance.h"
#include "qmlstatenodeinstance.h" #include "qmlstatenodeinstance.h"
#include <QmlEngine> #include <QDeclarativeEngine>
#include <QmlContext> #include <QDeclarativeContext>
#include <QmlExpression> #include <QDeclarativeExpression>
#include <QmlBinding> #include <private/qdeclarativebinding_p.h>
#include <metainfo.h> #include <metainfo.h>
namespace QmlDesigner { namespace QmlDesigner {
namespace Internal { namespace Internal {
QmlPropertyChangesObject::QmlPropertyChangesObject() : QmlPropertyChangesObject::QmlPropertyChangesObject() :
QmlStateOperation(), QDeclarativeStateOperation(),
m_restoreEntryValues(true), m_restoreEntryValues(true),
m_isExplicit(false) m_isExplicit(false)
{ {
} }
QmlStateOperation::ActionList QmlPropertyChangesObject::actions() QDeclarativeStateOperation::ActionList QmlPropertyChangesObject::actions()
{ {
ActionList list; ActionList list;
foreach (const QString &property, m_properties.keys()) { foreach (const QString &property, m_properties.keys()) {
QmlAction a(m_targetObject.data(), property, m_properties.value(property)); QDeclarativeAction a(m_targetObject.data(), property, m_properties.value(property));
if (a.property.isValid()) { if (a.property.isValid()) {
a.restore = restoreEntryValues(); a.restore = restoreEntryValues();
@@ -75,10 +75,10 @@ QmlStateOperation::ActionList QmlPropertyChangesObject::actions()
// } // }
foreach (const QString &property, m_expressions.keys()) { foreach (const QString &property, m_expressions.keys()) {
QmlMetaProperty mProperty = metaProperty(property); QDeclarativeProperty mProperty = metaProperty(property);
if (mProperty.isValid()) { if (mProperty.isValid()) {
QmlAction a; QDeclarativeAction a;
a.restore = restoreEntryValues(); a.restore = restoreEntryValues();
a.property = mProperty; a.property = mProperty;
a.fromValue = a.property.read(); a.fromValue = a.property.read();
@@ -86,9 +86,9 @@ QmlStateOperation::ActionList QmlPropertyChangesObject::actions()
a.specifiedProperty = property; a.specifiedProperty = property;
if (m_isExplicit) { if (m_isExplicit) {
a.toValue = QmlExpression(qmlContext(object()), m_expressions.value(property), object()).value(); a.toValue = QDeclarativeExpression(qmlContext(object()), m_expressions.value(property), object()).value();
} else { } else {
QmlBinding *newBinding = new QmlBinding(m_expressions.value(property), object(), qmlContext(object())); QDeclarativeBinding *newBinding = new QDeclarativeBinding(m_expressions.value(property), object(), qmlContext(object()));
newBinding->setTarget(mProperty); newBinding->setTarget(mProperty);
a.toBinding = newBinding; a.toBinding = newBinding;
a.deletableToBinding = true; a.deletableToBinding = true;
@@ -101,15 +101,15 @@ QmlStateOperation::ActionList QmlPropertyChangesObject::actions()
return list; return list;
} }
QmlMetaProperty QmlPropertyChangesObject::metaProperty(const QString &property) QDeclarativeProperty QmlPropertyChangesObject::metaProperty(const QString &property)
{ {
QmlMetaProperty prop = QmlMetaProperty::createProperty(m_targetObject.data(), property); QDeclarativeProperty prop(m_targetObject.data(), property);
if (!prop.isValid()) { if (!prop.isValid()) {
qWarning() << "Cannot assign to non-existent property" << property; qWarning() << "Cannot assign to non-existent property" << property;
return QmlMetaProperty(); return QDeclarativeProperty();
} else if (!prop.isWritable()) { } else if (!prop.isWritable()) {
qWarning() << "Cannot assign to read-only property" << property; qWarning() << "Cannot assign to read-only property" << property;
return QmlMetaProperty(); return QDeclarativeProperty();
} }
return prop; return prop;
} }
@@ -121,13 +121,13 @@ QmlPropertyChangesNodeInstance::QmlPropertyChangesNodeInstance(QmlPropertyChange
QmlPropertyChangesNodeInstance::Pointer QmlPropertyChangesNodeInstance::Pointer
QmlPropertyChangesNodeInstance::create(const NodeMetaInfo & /*metaInfo*/, QmlPropertyChangesNodeInstance::create(const NodeMetaInfo & /*metaInfo*/,
QmlContext *context, QDeclarativeContext *context,
QObject *objectToBeWrapped) QObject *objectToBeWrapped)
{ {
Q_ASSERT(!objectToBeWrapped); Q_ASSERT(!objectToBeWrapped);
QmlPropertyChangesObject *object = new QmlPropertyChangesObject; QmlPropertyChangesObject *object = new QmlPropertyChangesObject;
QmlEngine::setContextForObject(object, context); QDeclarativeEngine::setContextForObject(object, context);
Pointer instance(new QmlPropertyChangesNodeInstance(object)); Pointer instance(new QmlPropertyChangesNodeInstance(object));
return instance; return instance;
} }
@@ -202,5 +202,3 @@ void QmlPropertyChangesNodeInstance::updateStateInstance() const
} // namespace Internal } // namespace Internal
} // namespace QmlDesigner } // namespace QmlDesigner
QML_DEFINE_NOCREATE_TYPE(QmlDesigner::Internal::QmlPropertyChangesObject)

View File

@@ -31,7 +31,7 @@
#define QMLPROPERTYCHANGESNODEINSTANCE_H #define QMLPROPERTYCHANGESNODEINSTANCE_H
#include "objectnodeinstance.h" #include "objectnodeinstance.h"
#include <private/qmlstateoperations_p.h> #include <private/qdeclarativestateoperations_p.h>
namespace QmlDesigner { namespace QmlDesigner {
@@ -41,7 +41,7 @@ class QmlPropertyChangesNodeInstance;
// Original QmlPropertyChanges class requires a custom parser // Original QmlPropertyChanges class requires a custom parser
// work around this by writing a replacement class // work around this by writing a replacement class
class QmlPropertyChangesObject : public QmlStateOperation class QmlPropertyChangesObject : public QDeclarativeStateOperation
{ {
Q_OBJECT Q_OBJECT
Q_PROPERTY(QObject *target READ object WRITE setObject) Q_PROPERTY(QObject *target READ object WRITE setObject)
@@ -64,7 +64,7 @@ private:
friend class QmlPropertyChangesNodeInstance; friend class QmlPropertyChangesNodeInstance;
QmlPropertyChangesObject(); QmlPropertyChangesObject();
QmlMetaProperty metaProperty(const QString &property); QDeclarativeProperty metaProperty(const QString &property);
QWeakPointer<QObject> m_targetObject; QWeakPointer<QObject> m_targetObject;
bool m_restoreEntryValues; bool m_restoreEntryValues;
@@ -81,7 +81,7 @@ public:
typedef QSharedPointer<QmlPropertyChangesNodeInstance> Pointer; typedef QSharedPointer<QmlPropertyChangesNodeInstance> Pointer;
typedef QWeakPointer<QmlPropertyChangesNodeInstance> WeakPointer; typedef QWeakPointer<QmlPropertyChangesNodeInstance> WeakPointer;
static Pointer create(const NodeMetaInfo &metaInfo, QmlContext *context, QObject *objectToBeWrapped); static Pointer create(const NodeMetaInfo &metaInfo, QDeclarativeContext *context, QObject *objectToBeWrapped);
virtual void setPropertyVariant(const QString &name, const QVariant &value); virtual void setPropertyVariant(const QString &name, const QVariant &value);
virtual void setPropertyBinding(const QString &name, const QString &expression); virtual void setPropertyBinding(const QString &name, const QString &expression);

View File

@@ -28,7 +28,7 @@
**************************************************************************/ **************************************************************************/
#include "qmlstatenodeinstance.h" #include "qmlstatenodeinstance.h"
#include <private/qmlstategroup_p.h> #include <private/qdeclarativestategroup_p.h>
namespace QmlDesigner { namespace QmlDesigner {
namespace Internal { namespace Internal {
@@ -36,23 +36,23 @@ namespace Internal {
/** /**
\class QmlStateNodeInstance \class QmlStateNodeInstance
QmlStateNodeInstance manages a QmlState object. One can activate / deactivate a state QmlStateNodeInstance manages a QDeclarativeState object. One can activate / deactivate a state
by setting/unsetting the special "__activateState" boolean property. by setting/unsetting the special "__activateState" boolean property.
*/ */
QmlStateNodeInstance::QmlStateNodeInstance(QmlState *object) : QmlStateNodeInstance::QmlStateNodeInstance(QDeclarativeState *object) :
ObjectNodeInstance(object) ObjectNodeInstance(object)
{ {
} }
QmlStateNodeInstance::Pointer QmlStateNodeInstance::Pointer
QmlStateNodeInstance::create(const NodeMetaInfo &metaInfo, QmlStateNodeInstance::create(const NodeMetaInfo &metaInfo,
QmlContext *context, QDeclarativeContext *context,
QObject *objectToBeWrapped) QObject *objectToBeWrapped)
{ {
Q_ASSERT(!objectToBeWrapped); Q_ASSERT(!objectToBeWrapped);
QObject *object = createObject(metaInfo, context); QObject *object = createObject(metaInfo, context);
QmlState *stateObject = qobject_cast<QmlState*>(object); QDeclarativeState *stateObject = qobject_cast<QDeclarativeState*>(object);
Q_ASSERT(stateObject); Q_ASSERT(stateObject);
Pointer instance(new QmlStateNodeInstance(stateObject)); Pointer instance(new QmlStateNodeInstance(stateObject));
@@ -86,14 +86,14 @@ void QmlStateNodeInstance::refreshState()
nodeInstanceView()->setBlockStatePropertyChanges(false); nodeInstanceView()->setBlockStatePropertyChanges(false);
} }
QmlState *QmlStateNodeInstance::stateObject() const QDeclarativeState *QmlStateNodeInstance::stateObject() const
{ {
Q_ASSERT(object()); Q_ASSERT(object());
Q_ASSERT(qobject_cast<QmlState*>(object())); Q_ASSERT(qobject_cast<QDeclarativeState*>(object()));
return static_cast<QmlState*>(object()); return static_cast<QDeclarativeState*>(object());
} }
QmlStateGroup *QmlStateNodeInstance::stateGroup() const QDeclarativeStateGroup *QmlStateNodeInstance::stateGroup() const
{ {
return stateObject()->stateGroup(); return stateObject()->stateGroup();
} }

View File

@@ -31,7 +31,7 @@
#define QMLSTATENODEINSTANCE_H #define QMLSTATENODEINSTANCE_H
#include "objectnodeinstance.h" #include "objectnodeinstance.h"
#include <private/qmlstate_p.h> #include <private/qdeclarativestate_p.h>
namespace QmlDesigner { namespace QmlDesigner {
@@ -43,19 +43,19 @@ public:
typedef QSharedPointer<QmlStateNodeInstance> Pointer; typedef QSharedPointer<QmlStateNodeInstance> Pointer;
typedef QWeakPointer<QmlStateNodeInstance> WeakPointer; typedef QWeakPointer<QmlStateNodeInstance> WeakPointer;
static Pointer create(const NodeMetaInfo &metaInfo, QmlContext *context, QObject *objectToBeWrapped); static Pointer create(const NodeMetaInfo &metaInfo, QDeclarativeContext *context, QObject *objectToBeWrapped);
void activateState(); void activateState();
void deactivateState(); void deactivateState();
void refreshState(); void refreshState();
protected: protected:
QmlStateNodeInstance(QmlState *object); QmlStateNodeInstance(QDeclarativeState *object);
bool isStateActive() const; bool isStateActive() const;
QmlState *stateObject() const; QDeclarativeState *stateObject() const;
QmlStateGroup *stateGroup() const; QDeclarativeStateGroup *stateGroup() const;
}; };
} // namespace Internal } // namespace Internal

View File

@@ -28,19 +28,19 @@
**************************************************************************/ **************************************************************************/
#include "qmltransitionnodeinstance.h" #include "qmltransitionnodeinstance.h"
#include <private/qmltransition_p.h> #include <private/qdeclarativetransition_p.h>
#include <nodemetainfo.h> #include <nodemetainfo.h>
#include "invalidnodeinstanceexception.h" #include "invalidnodeinstanceexception.h"
namespace QmlDesigner { namespace QmlDesigner {
namespace Internal { namespace Internal {
QmlTransitionNodeInstance::QmlTransitionNodeInstance(QmlTransition *transition) QmlTransitionNodeInstance::QmlTransitionNodeInstance(QDeclarativeTransition *transition)
: ObjectNodeInstance(transition) : ObjectNodeInstance(transition)
{ {
} }
QmlTransitionNodeInstance::Pointer QmlTransitionNodeInstance::create(const NodeMetaInfo &nodeMetaInfo, QmlContext *context, QObject *objectToBeWrapped) QmlTransitionNodeInstance::Pointer QmlTransitionNodeInstance::create(const NodeMetaInfo &nodeMetaInfo, QDeclarativeContext *context, QObject *objectToBeWrapped)
{ {
QObject *object = 0; QObject *object = 0;
if (objectToBeWrapped) if (objectToBeWrapped)
@@ -48,7 +48,7 @@ QmlTransitionNodeInstance::Pointer QmlTransitionNodeInstance::create(const NodeM
else else
object = createObject(nodeMetaInfo, context); object = createObject(nodeMetaInfo, context);
QmlTransition *transition = qobject_cast<QmlTransition*>(object); QDeclarativeTransition *transition = qobject_cast<QDeclarativeTransition*>(object);
if (transition == 0) if (transition == 0)
throw InvalidNodeInstanceException(__LINE__, __FUNCTION__, __FILE__); throw InvalidNodeInstanceException(__LINE__, __FUNCTION__, __FILE__);
@@ -78,10 +78,10 @@ void QmlTransitionNodeInstance::setPropertyVariant(const QString &name, const QV
ObjectNodeInstance::setPropertyVariant(name, value); ObjectNodeInstance::setPropertyVariant(name, value);
} }
QmlTransition *QmlTransitionNodeInstance::qmlTransition() const QDeclarativeTransition *QmlTransitionNodeInstance::qmlTransition() const
{ {
Q_ASSERT(qobject_cast<QmlTransition*>(object())); Q_ASSERT(qobject_cast<QDeclarativeTransition*>(object()));
return static_cast<QmlTransition*>(object()); return static_cast<QDeclarativeTransition*>(object());
} }
} }
} }

View File

@@ -33,7 +33,7 @@
#include "objectnodeinstance.h" #include "objectnodeinstance.h"
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
class QmlTransition; class QDeclarativeTransition;
QT_END_NAMESPACE QT_END_NAMESPACE
namespace QmlDesigner { namespace QmlDesigner {
@@ -45,17 +45,17 @@ public:
typedef QSharedPointer<QmlTransitionNodeInstance> Pointer; typedef QSharedPointer<QmlTransitionNodeInstance> Pointer;
typedef QWeakPointer<QmlTransitionNodeInstance> WeakPointer; typedef QWeakPointer<QmlTransitionNodeInstance> WeakPointer;
static Pointer create(const NodeMetaInfo &metaInfo, QmlContext *context, QObject *objectToBeWrapped); static Pointer create(const NodeMetaInfo &metaInfo, QDeclarativeContext *context, QObject *objectToBeWrapped);
void setPropertyVariant(const QString &name, const QVariant &value); void setPropertyVariant(const QString &name, const QVariant &value);
bool isTransition() const; bool isTransition() const;
protected: protected:
QmlTransition *qmlTransition() const; QDeclarativeTransition *qmlTransition() const;
private: private:
QmlTransitionNodeInstance(QmlTransition *transition); QmlTransitionNodeInstance(QDeclarativeTransition *transition);
}; };
} }
} }

View File

@@ -30,22 +30,22 @@
#include "qmlviewnodeinstance.h" #include "qmlviewnodeinstance.h"
#include <QmlMetaType> #include <private/qdeclarativemetatype_p.h>
#include <QmlView> #include <QDeclarativeView>
#include <QmlGraphicsItem> #include <QDeclarativeItem>
#include <invalidnodeinstanceexception.h> #include <invalidnodeinstanceexception.h>
namespace QmlDesigner { namespace QmlDesigner {
namespace Internal { namespace Internal {
QmlViewNodeInstance::QmlViewNodeInstance(QmlView *view) QDeclarativeViewNodeInstance::QDeclarativeViewNodeInstance(QDeclarativeView *view)
: GraphicsViewNodeInstance(view) : GraphicsViewNodeInstance(view)
{ {
} }
QmlViewNodeInstance::Pointer QmlViewNodeInstance::create(const NodeMetaInfo &nodeMetaInfo, QmlContext *context, QObject *objectToBeWrapped) QDeclarativeViewNodeInstance::Pointer QDeclarativeViewNodeInstance::create(const NodeMetaInfo &nodeMetaInfo, QDeclarativeContext *context, QObject *objectToBeWrapped)
{ {
QObject *object = 0; QObject *object = 0;
if (objectToBeWrapped) if (objectToBeWrapped)
@@ -53,11 +53,11 @@ QmlViewNodeInstance::Pointer QmlViewNodeInstance::create(const NodeMetaInfo &nod
else else
createObject(nodeMetaInfo, context); createObject(nodeMetaInfo, context);
QmlView* view = qobject_cast<QmlView*>(object); QDeclarativeView* view = qobject_cast<QDeclarativeView*>(object);
if (view == 0) if (view == 0)
throw InvalidNodeInstanceException(__LINE__, __FUNCTION__, __FILE__); throw InvalidNodeInstanceException(__LINE__, __FUNCTION__, __FILE__);
Pointer instance(new QmlViewNodeInstance(view)); Pointer instance(new QDeclarativeViewNodeInstance(view));
if (objectToBeWrapped) if (objectToBeWrapped)
instance->setDeleteHeldInstance(false); // the object isn't owned instance->setDeleteHeldInstance(false); // the object isn't owned
@@ -67,22 +67,22 @@ QmlViewNodeInstance::Pointer QmlViewNodeInstance::create(const NodeMetaInfo &nod
return instance; return instance;
} }
QmlView* QmlViewNodeInstance::view() const QDeclarativeView* QDeclarativeViewNodeInstance::view() const
{ {
QmlView* view = qobject_cast<QmlView*>(widget()); QDeclarativeView* view = qobject_cast<QDeclarativeView*>(widget());
Q_ASSERT(view); Q_ASSERT(view);
return view; return view;
} }
bool QmlViewNodeInstance::isQmlView() const bool QDeclarativeViewNodeInstance::isQDeclarativeView() const
{ {
return true; return true;
} }
void QmlViewNodeInstance::addItem(QmlGraphicsItem *item) void QDeclarativeViewNodeInstance::addItem(QDeclarativeItem *item)
{ {
QmlGraphicsItem *rootItem = qobject_cast<QmlGraphicsItem *>(view()->rootObject()); QDeclarativeItem *rootItem = qobject_cast<QDeclarativeItem *>(view()->rootObject());
Q_ASSERT_X(rootItem, Q_FUNC_INFO, "root item is QmlGraphicsItem based"); Q_ASSERT_X(rootItem, Q_FUNC_INFO, "root item is QDeclarativeItem based");
item->setParent(rootItem); item->setParent(rootItem);
} }

View File

@@ -31,30 +31,30 @@
#define QMLVIEWNODEINSTANCE_H #define QMLVIEWNODEINSTANCE_H
#include <QWeakPointer> #include <QWeakPointer>
#include <QmlView> #include <QDeclarativeView>
#include <QmlGraphicsItem> #include <QDeclarativeItem>
#include "graphicsviewnodeinstance.h" #include "graphicsviewnodeinstance.h"
namespace QmlDesigner { namespace QmlDesigner {
namespace Internal { namespace Internal {
class QmlViewNodeInstance : public GraphicsViewNodeInstance class QDeclarativeViewNodeInstance : public GraphicsViewNodeInstance
{ {
public: public:
typedef QSharedPointer<QmlViewNodeInstance> Pointer; typedef QSharedPointer<QDeclarativeViewNodeInstance> Pointer;
typedef QWeakPointer<QmlViewNodeInstance> WeakPointer; typedef QWeakPointer<QDeclarativeViewNodeInstance> WeakPointer;
static Pointer create(const NodeMetaInfo &metaInfo, QmlContext *context, QObject *objectToBeWrapped); static Pointer create(const NodeMetaInfo &metaInfo, QDeclarativeContext *context, QObject *objectToBeWrapped);
bool isQmlView() const; bool isQDeclarativeView() const;
void addItem(QmlGraphicsItem *item); void addItem(QDeclarativeItem *item);
protected: protected:
QmlViewNodeInstance(QmlView *view); QDeclarativeViewNodeInstance(QDeclarativeView *view);
QmlView* view() const; QDeclarativeView* view() const;
}; };
} }

View File

@@ -29,7 +29,7 @@
#include "widgetnodeinstance.h" #include "widgetnodeinstance.h"
#include <QmlMetaType> #include <private/qdeclarativemetatype_p.h>
#include "proxywidgetnodeinstance.h" #include "proxywidgetnodeinstance.h"
#include <invalidnodeinstanceexception.h> #include <invalidnodeinstanceexception.h>
@@ -48,7 +48,7 @@ WidgetNodeInstance::~WidgetNodeInstance()
{ {
} }
WidgetNodeInstance::Pointer WidgetNodeInstance::create(const NodeMetaInfo &nodeMetaInfo, QmlContext *context, QObject *objectToBeWrapped) WidgetNodeInstance::Pointer WidgetNodeInstance::create(const NodeMetaInfo &nodeMetaInfo, QDeclarativeContext *context, QObject *objectToBeWrapped)
{ {
QObject *object = 0; QObject *object = 0;
if (objectToBeWrapped) if (objectToBeWrapped)

View File

@@ -43,7 +43,7 @@ public:
typedef QSharedPointer<WidgetNodeInstance> Pointer; typedef QSharedPointer<WidgetNodeInstance> Pointer;
typedef QWeakPointer<WidgetNodeInstance> WeakPointer; typedef QWeakPointer<WidgetNodeInstance> WeakPointer;
static Pointer create(const NodeMetaInfo &metaInfo, QmlContext *context, QObject *objectToBeWrapped); static Pointer create(const NodeMetaInfo &metaInfo, QDeclarativeContext *context, QObject *objectToBeWrapped);
void paint(QPainter *painter) const; void paint(QPainter *painter) const;

View File

@@ -44,9 +44,9 @@
#include <QPair> #include <QPair>
#include <QtAlgorithms> #include <QtAlgorithms>
#include <QMetaProperty> #include <QMetaProperty>
#include <QmlEngine> #include <QDeclarativeEngine>
#include <QmlMetaType> #include <private/qdeclarativemetatype_p.h>
#include <private/qmlgraphicsanchors_p.h> #include <private/qdeclarativeanchors_p.h>
enum { enum {
debug = false debug = false
@@ -109,7 +109,7 @@ void MetaInfoPrivate::initialize()
{ {
// make sure QmlGraphicsItemsModule gets initialized, that is // make sure QmlGraphicsItemsModule gets initialized, that is
// QmlGraphicsItemsModule::defineModule called // QmlGraphicsItemsModule::defineModule called
QmlEngine engine; QDeclarativeEngine engine;
Q_UNUSED(engine); Q_UNUSED(engine);
parseQmlTypes(); parseQmlTypes();
@@ -191,7 +191,7 @@ void MetaInfoPrivate::parseNonQmlClassRecursively(const QMetaObject *qMetaObject
Q_ASSERT_X(qMetaObject, Q_FUNC_INFO, "invalid QMetaObject"); Q_ASSERT_X(qMetaObject, Q_FUNC_INFO, "invalid QMetaObject");
const QString className = qMetaObject->className(); const QString className = qMetaObject->className();
if ( !m_q->hasNodeMetaInfo(className) if ( !m_q->hasNodeMetaInfo(className)
&& !QmlMetaType::qmlTypeNames().contains(typeName(qMetaObject).toAscii()) ) { && !QDeclarativeMetaType::qmlTypeNames().contains(typeName(qMetaObject).toAscii()) ) {
NodeMetaInfo nodeMetaInfo(*m_q); NodeMetaInfo nodeMetaInfo(*m_q);
nodeMetaInfo.setTypeName(typeName(qMetaObject)); nodeMetaInfo.setTypeName(typeName(qMetaObject));
parseProperties(nodeMetaInfo, qMetaObject); parseProperties(nodeMetaInfo, qMetaObject);
@@ -213,7 +213,7 @@ QString MetaInfoPrivate::typeName(const QMetaObject *qMetaObject) const
if (!qMetaObject) if (!qMetaObject)
return QString(); return QString();
QString className = qMetaObject->className(); QString className = qMetaObject->className();
if (QmlType *qmlType = QmlMetaType::qmlType(qMetaObject)) { if (QDeclarativeType *qmlType = QDeclarativeMetaType::qmlType(qMetaObject)) {
QString qmlClassName(qmlType->qmlTypeName()); QString qmlClassName(qmlType->qmlTypeName());
if (!qmlClassName.isEmpty()) if (!qmlClassName.isEmpty())
className = qmlType->qmlTypeName(); // Ensure that we always use the qml name, className = qmlType->qmlTypeName(); // Ensure that we always use the qml name,
@@ -271,12 +271,12 @@ void MetaInfoPrivate::parseValueTypes()
void MetaInfoPrivate::parseQmlTypes() void MetaInfoPrivate::parseQmlTypes()
{ {
foreach (QmlType *qmlType, QmlMetaType::qmlTypes()) { foreach (QDeclarativeType *qmlType, QDeclarativeMetaType::qmlTypes()) {
const QString qtTypeName(qmlType->typeName()); const QString qtTypeName(qmlType->typeName());
const QString qmlTypeName(qmlType->qmlTypeName()); const QString qmlTypeName(qmlType->qmlTypeName());
m_QtTypesToQmlTypes.insert(qtTypeName, qmlTypeName); m_QtTypesToQmlTypes.insert(qtTypeName, qmlTypeName);
} }
foreach (QmlType *qmlType, QmlMetaType::qmlTypes()) { foreach (QDeclarativeType *qmlType, QDeclarativeMetaType::qmlTypes()) {
const QMetaObject *qMetaObject = qmlType->metaObject(); const QMetaObject *qMetaObject = qmlType->metaObject();
// parseQmlTypes is called iteratively e.g. when plugins are loaded // parseQmlTypes is called iteratively e.g. when plugins are loaded
@@ -305,11 +305,11 @@ void MetaInfoPrivate::parseQmlTypes()
void MetaInfoPrivate::parseNonQmlTypes() void MetaInfoPrivate::parseNonQmlTypes()
{ {
foreach (QmlType *qmlType, QmlMetaType::qmlTypes()) { foreach (QDeclarativeType *qmlType, QDeclarativeMetaType::qmlTypes()) {
parseNonQmlClassRecursively(qmlType->metaObject()); parseNonQmlClassRecursively(qmlType->metaObject());
} }
parseNonQmlClassRecursively(&QmlGraphicsAnchors::staticMetaObject); parseNonQmlClassRecursively(&QDeclarativeAnchors::staticMetaObject);
} }

View File

@@ -39,11 +39,11 @@
#include <QtCore/QSharedData> #include <QtCore/QSharedData>
#include <QtCore/QtDebug> #include <QtCore/QtDebug>
#include <QtGui/QIcon> #include <QtGui/QIcon>
#include <QtDeclarative/QmlMetaType> #include <QtDeclarative/private/qdeclarativemetatype_p.h>
#include <QtDeclarative/QmlContext> #include <QtDeclarative/QDeclarativeContext>
#include <QtDeclarative/QmlEngine> #include <QtDeclarative/QDeclarativeEngine>
#include <QtDeclarative/QmlComponent> #include <QtDeclarative/QDeclarativeComponent>
#include <private/qmlvaluetype_p.h> #include <private/qdeclarativevaluetype_p.h>
namespace QmlDesigner { namespace QmlDesigner {
@@ -159,7 +159,7 @@ MetaInfo NodeMetaInfo::metaInfo() const
\throws InvalidArgumentException when the context argument is a null pointer \throws InvalidArgumentException when the context argument is a null pointer
\throws InvalidMetaInfoException if the object is not valid \throws InvalidMetaInfoException if the object is not valid
*/ */
QObject *NodeMetaInfo::createInstance(QmlContext *context) const QObject *NodeMetaInfo::createInstance(QDeclarativeContext *context) const
{ {
if (!context) { if (!context) {
Q_ASSERT_X(0, Q_FUNC_INFO, "Context cannot be null"); Q_ASSERT_X(0, Q_FUNC_INFO, "Context cannot be null");
@@ -175,13 +175,13 @@ QObject *NodeMetaInfo::createInstance(QmlContext *context) const
if (isComponent()) { if (isComponent()) {
// qml component // qml component
// TODO: This is maybe expensive ... // TODO: This is maybe expensive ...
QmlComponent component(context->engine(), QUrl::fromLocalFile(m_data->qmlFile)); QDeclarativeComponent component(context->engine(), QUrl::fromLocalFile(m_data->qmlFile));
object = component.create(context); object = component.create(context);
} else { } else {
// primitive // primitive
object = QmlMetaType::qmlType(typeName().toAscii(), 4, 6)->create(); object = QDeclarativeMetaType::qmlType(typeName().toAscii(), 4, 6)->create();
if (object && context) if (object && context)
QmlEngine::setContextForObject(object, context); QDeclarativeEngine::setContextForObject(object, context);
} }
return object; return object;
} }
@@ -418,7 +418,7 @@ void NodeMetaInfo::addProperty(const PropertyMetaInfo &property)
/*! /*!
\brief Returns the name of the qml type. \brief Returns the name of the qml type.
This is not necessarily the class name: E.g. the class defining "Item" is QmlGraphicsItem. This is not necessarily the class name: E.g. the class defining "Item" is QDeclarativeItem.
\throws InvalidMetaInfoException if the object is not valid \throws InvalidMetaInfoException if the object is not valid
*/ */
@@ -655,7 +655,7 @@ bool NodeMetaInfo::isGraphicsObject() const
} }
/*! /*!
\brief Returns whether the type inherits from "Item/QmlGraphicsItem". \brief Returns whether the type inherits from "Item/QDeclarativeItem".
\throws InvalidMetaInfoException if the object is not valid \throws InvalidMetaInfoException if the object is not valid
*/ */

View File

@@ -34,8 +34,8 @@
#include "invalidmetainfoexception.h" #include "invalidmetainfoexception.h"
#include "metainfo.h" #include "metainfo.h"
#include "modelnode.h" #include "modelnode.h"
#include <private/qmlvaluetype_p.h> #include <private/qdeclarativevaluetype_p.h>
#include <private/qmlstringconverters_p.h> #include <private/qdeclarativestringconverters_p.h>
namespace QmlDesigner { namespace QmlDesigner {
@@ -255,12 +255,12 @@ bool PropertyMetaInfo::isValueType() const
throw InvalidMetaInfoException(__LINE__, Q_FUNC_INFO, __FILE__); throw InvalidMetaInfoException(__LINE__, Q_FUNC_INFO, __FILE__);
} }
QmlValueType *valueType(QmlValueTypeFactory::valueType(variantTypeId())); QDeclarativeValueType *valueType(QDeclarativeValueTypeFactory::valueType(variantTypeId()));
return valueType; return valueType;
} }
/*! /*!
\brief Returns whether the propery is a QmlList. \brief Returns whether the propery is a QDeclarativeList.
*/ */
bool PropertyMetaInfo::isListProperty() const bool PropertyMetaInfo::isListProperty() const
{ {
@@ -269,7 +269,7 @@ bool PropertyMetaInfo::isListProperty() const
throw InvalidMetaInfoException(__LINE__, Q_FUNC_INFO, __FILE__); throw InvalidMetaInfoException(__LINE__, Q_FUNC_INFO, __FILE__);
} }
return type().contains("QmlList"); return type().contains("QDeclarativeList");
} }
/*! /*!
@@ -435,7 +435,7 @@ QVariant PropertyMetaInfo::castedValue(const QVariant &originalVariant) const
return variant; return variant;
} }
return QmlStringConverters::variantFromString(variant.toString()); return QDeclarativeStringConverters::variantFromString(variant.toString());
} }
} }

View File

@@ -33,10 +33,10 @@
#include <QDir> #include <QDir>
#include <QMetaType> #include <QMetaType>
#include <QUrl> #include <QUrl>
#include <QmlEngine> #include <QDeclarativeEngine>
#include <QmlMetaType> #include <private/qdeclarativemetatype_p.h>
#include <QFileSystemWatcher> #include <QFileSystemWatcher>
#include <private/qmldom_p.h> #include <private/qdeclarativedom_p.h>
enum { debug = false }; enum { debug = false };
@@ -68,7 +68,7 @@ class SubComponentManagerPrivate : QObject {
public: public:
SubComponentManagerPrivate(MetaInfo metaInfo, SubComponentManager *q); SubComponentManagerPrivate(MetaInfo metaInfo, SubComponentManager *q);
void addImport(int pos, const QmlDomImport &import); void addImport(int pos, const QDeclarativeDomImport &import);
void removeImport(int pos); void removeImport(int pos);
void parseDirectories(); void parseDirectories();
@@ -79,12 +79,12 @@ public slots:
public: public:
QList<QFileInfo> watchedFiles(const QDir &dirInfo); QList<QFileInfo> watchedFiles(const QDir &dirInfo);
void unregisterQmlFile(const QFileInfo &fileInfo, const QString &qualifier); void unregisterQmlFile(const QFileInfo &fileInfo, const QString &qualifier);
void registerQmlFile(const QFileInfo &fileInfo, const QString &qualifier, const QmlDomDocument &document); void registerQmlFile(const QFileInfo &fileInfo, const QString &qualifier, const QDeclarativeDomDocument &document);
SubComponentManager *m_q; SubComponentManager *m_q;
MetaInfo m_metaInfo; MetaInfo m_metaInfo;
QmlEngine m_engine; QDeclarativeEngine m_engine;
QFileSystemWatcher m_watcher; QFileSystemWatcher m_watcher;
@@ -92,7 +92,7 @@ public:
QUrl m_filePath; QUrl m_filePath;
QList<QmlDomImport> m_imports; QList<QDeclarativeDomImport> m_imports;
}; };
SubComponentManagerPrivate::SubComponentManagerPrivate(MetaInfo metaInfo, SubComponentManager *q) : SubComponentManagerPrivate::SubComponentManagerPrivate(MetaInfo metaInfo, SubComponentManager *q) :
@@ -103,19 +103,19 @@ SubComponentManagerPrivate::SubComponentManagerPrivate(MetaInfo metaInfo, SubCom
connect(&m_watcher, SIGNAL(fileChanged(QString)), this, SLOT(parseFile(QString))); connect(&m_watcher, SIGNAL(fileChanged(QString)), this, SLOT(parseFile(QString)));
} }
void SubComponentManagerPrivate::addImport(int pos, const QmlDomImport &import) void SubComponentManagerPrivate::addImport(int pos, const QDeclarativeDomImport &import)
{ {
if (debug) if (debug)
qDebug() << Q_FUNC_INFO << pos << import.uri(); qDebug() << Q_FUNC_INFO << pos << import.uri();
if (import.type() == QmlDomImport::File) { if (import.type() == QDeclarativeDomImport::File) {
QFileInfo dirInfo = QFileInfo(m_filePath.resolved(import.uri()).toLocalFile()); QFileInfo dirInfo = QFileInfo(m_filePath.resolved(import.uri()).toLocalFile());
if (dirInfo.exists() && dirInfo.isDir()) { if (dirInfo.exists() && dirInfo.isDir()) {
m_watcher.addPath(dirInfo.filePath()); m_watcher.addPath(dirInfo.filePath());
m_dirToQualifier.insertMulti(dirInfo, import.qualifier()); m_dirToQualifier.insertMulti(dirInfo, import.qualifier());
} }
} else { } else {
// TODO: QmlDomImport::Library // TODO: QDeclarativeDomImport::Library
} }
m_imports.insert(pos, import); m_imports.insert(pos, import);
@@ -123,9 +123,9 @@ void SubComponentManagerPrivate::addImport(int pos, const QmlDomImport &import)
void SubComponentManagerPrivate::removeImport(int pos) void SubComponentManagerPrivate::removeImport(int pos)
{ {
const QmlDomImport import = m_imports.takeAt(pos); const QDeclarativeDomImport import = m_imports.takeAt(pos);
if (import.type() == QmlDomImport::File) { if (import.type() == QDeclarativeDomImport::File) {
QFileInfo dirInfo = QFileInfo(m_filePath.resolved(import.uri()).toLocalFile()); QFileInfo dirInfo = QFileInfo(m_filePath.resolved(import.uri()).toLocalFile());
m_dirToQualifier.remove(dirInfo, import.qualifier()); m_dirToQualifier.remove(dirInfo, import.qualifier());
@@ -139,7 +139,7 @@ void SubComponentManagerPrivate::removeImport(int pos)
unregisterQmlFile(monitoredFile, import.qualifier()); unregisterQmlFile(monitoredFile, import.qualifier());
} }
} else { } else {
// TODO: QmlDomImport::Library // TODO: QDeclarativeDomImport::Library
} }
} }
@@ -152,8 +152,8 @@ void SubComponentManagerPrivate::parseDirectories()
parseDirectory(dirInfo.filePath()); parseDirectory(dirInfo.filePath());
} }
foreach (const QmlDomImport &import, m_imports) { foreach (const QDeclarativeDomImport &import, m_imports) {
if (import.type() == QmlDomImport::File) { if (import.type() == QDeclarativeDomImport::File) {
QFileInfo dirInfo = QFileInfo(m_filePath.resolved(import.uri()).toLocalFile()); QFileInfo dirInfo = QFileInfo(m_filePath.resolved(import.uri()).toLocalFile());
if (dirInfo.exists() && dirInfo.isDir()) { if (dirInfo.exists() && dirInfo.isDir()) {
parseDirectory(dirInfo.filePath()); parseDirectory(dirInfo.filePath());
@@ -241,7 +241,7 @@ void SubComponentManagerPrivate::parseFile(const QString &filePath)
return; return;
} }
QmlDomDocument document; QDeclarativeDomDocument document;
if (!document.load(&m_engine, file.readAll(), QUrl::fromLocalFile(filePath))) { if (!document.load(&m_engine, file.readAll(), QUrl::fromLocalFile(filePath))) {
// TODO: Put the errors somewhere? // TODO: Put the errors somewhere?
qWarning() << "Could not load qml file " << filePath; qWarning() << "Could not load qml file " << filePath;
@@ -280,7 +280,7 @@ void SubComponentManagerPrivate::unregisterQmlFile(const QFileInfo &fileInfo, co
} }
} }
void SubComponentManagerPrivate::registerQmlFile(const QFileInfo &fileInfo, const QString &qualifier, const QmlDomDocument &document) void SubComponentManagerPrivate::registerQmlFile(const QFileInfo &fileInfo, const QString &qualifier, const QDeclarativeDomDocument &document)
{ {
QString componentName = fileInfo.baseName(); QString componentName = fileInfo.baseName();
if (!qualifier.isEmpty()) if (!qualifier.isEmpty())
@@ -294,7 +294,7 @@ void SubComponentManagerPrivate::registerQmlFile(const QFileInfo &fileInfo, cons
m_metaInfo.removeNodeInfo(nodeInfo); m_metaInfo.removeNodeInfo(nodeInfo);
} }
const QmlDomObject rootObject = document.rootObject(); const QDeclarativeDomObject rootObject = document.rootObject();
const QString baseType = document.rootObject().objectType(); const QString baseType = document.rootObject().objectType();
Q_ASSERT_X(!baseType.isEmpty(), Q_FUNC_INFO, "Type of root object cannot be empty"); Q_ASSERT_X(!baseType.isEmpty(), Q_FUNC_INFO, "Type of root object cannot be empty");
@@ -310,7 +310,7 @@ void SubComponentManagerPrivate::registerQmlFile(const QFileInfo &fileInfo, cons
m_metaInfo.addItemLibraryInfo(nodeInfo, componentName); m_metaInfo.addItemLibraryInfo(nodeInfo, componentName);
m_metaInfo.addNodeInfo(nodeInfo, baseType); m_metaInfo.addNodeInfo(nodeInfo, baseType);
foreach (const QmlDomDynamicProperty &dynamicProperty, document.rootObject().dynamicProperties()) { foreach (const QDeclarativeDomDynamicProperty &dynamicProperty, document.rootObject().dynamicProperties()) {
Q_ASSERT(!dynamicProperty.propertyName().isEmpty()); Q_ASSERT(!dynamicProperty.propertyName().isEmpty());
Q_ASSERT(!dynamicProperty.propertyTypeName().isEmpty()); Q_ASSERT(!dynamicProperty.propertyTypeName().isEmpty());
@@ -321,7 +321,7 @@ void SubComponentManagerPrivate::registerQmlFile(const QFileInfo &fileInfo, cons
propertyMetaInfo.setReadable(true); propertyMetaInfo.setReadable(true);
propertyMetaInfo.setWritable(true); propertyMetaInfo.setWritable(true);
QmlDomProperty defaultValue = dynamicProperty.defaultValue(); QDeclarativeDomProperty defaultValue = dynamicProperty.defaultValue();
if (defaultValue.value().isLiteral()) { if (defaultValue.value().isLiteral()) {
QVariant defaultValueVariant(defaultValue.value().toLiteral().literal()); QVariant defaultValueVariant(defaultValue.value().toLiteral().literal());
defaultValueVariant.convert((QVariant::Type) dynamicProperty.propertyType()); defaultValueVariant.convert((QVariant::Type) dynamicProperty.propertyType());
@@ -362,7 +362,7 @@ QStringList SubComponentManager::qmlFiles() const
return m_d->m_watcher.files(); return m_d->m_watcher.files();
} }
static bool importEqual(const QmlDomImport &import1, const QmlDomImport &import2) static bool importEqual(const QDeclarativeDomImport &import1, const QDeclarativeDomImport &import2)
{ {
return import1.type() == import2.type() return import1.type() == import2.type()
&& import1.uri() == import2.uri() && import1.uri() == import2.uri()
@@ -372,17 +372,17 @@ static bool importEqual(const QmlDomImport &import1, const QmlDomImport &import2
void SubComponentManager::update(const QUrl &filePath, const QByteArray &data) void SubComponentManager::update(const QUrl &filePath, const QByteArray &data)
{ {
QmlEngine engine; QDeclarativeEngine engine;
QmlDomDocument document; QDeclarativeDomDocument document;
QList<QmlDomImport> imports; QList<QDeclarativeDomImport> imports;
if (document.load(&engine, data, filePath)) if (document.load(&engine, data, filePath))
imports = document.imports(); imports = document.imports();
update(filePath, imports); update(filePath, imports);
} }
void SubComponentManager::update(const QUrl &filePath, const QList<QmlDomImport> &imports) void SubComponentManager::update(const QUrl &filePath, const QList<QDeclarativeDomImport> &imports)
{ {
if (debug) if (debug)
qDebug() << Q_FUNC_INFO << filePath << imports.size(); qDebug() << Q_FUNC_INFO << filePath << imports.size();

View File

@@ -42,7 +42,7 @@
#include "nodelistproperty.h" #include "nodelistproperty.h"
#include <QTextStream> #include <QTextStream>
#include <qmlobjectnode.h> #include <qmlobjectnode.h>
#include <qmlview.h> #include <QDeclarativeView>
namespace QmlDesigner { namespace QmlDesigner {

View File

@@ -995,7 +995,7 @@ Model *Model::create(QString type, int major, int minor)
// componentRootLocation, // componentRootLocation,
// m_d->m_rootInternalNode->baseNodeState()->location()); // m_d->m_rootInternalNode->baseNodeState()->location());
// //
// QList<QmlError> errors; // QList<QDeclarativeError> errors;
// Model *subModel = create(textModifier, m_d->m_fileUrl, &errors); // Model *subModel = create(textModifier, m_d->m_fileUrl, &errors);
// //
// Q_ASSERT(subModel); // Q_ASSERT(subModel);

View File

@@ -30,7 +30,7 @@
#include "propertyparser.h" #include "propertyparser.h"
#include <QUrl> #include <QUrl>
#include <QtCore/QDebug> #include <QtCore/QDebug>
#include <QtDeclarative/private/qmlstringconverters_p.h> #include <QtDeclarative/private/qdeclarativestringconverters_p.h>
#include <modelnode.h> #include <modelnode.h>
#include <metainfo.h> #include <metainfo.h>
@@ -71,28 +71,28 @@ QVariant read(const QString &typeStr, const QString &str)
bool conversionOk = true; bool conversionOk = true;
switch (type) { switch (type) {
case QMetaType::QPoint: case QMetaType::QPoint:
value = QmlStringConverters::pointFFromString(str, &conversionOk).toPoint(); value = QDeclarativeStringConverters::pointFFromString(str, &conversionOk).toPoint();
break; break;
case QMetaType::QPointF: case QMetaType::QPointF:
value = QmlStringConverters::pointFFromString(str, &conversionOk); value = QDeclarativeStringConverters::pointFFromString(str, &conversionOk);
break; break;
case QMetaType::QSize: case QMetaType::QSize:
value = QmlStringConverters::sizeFFromString(str, &conversionOk).toSize(); value = QDeclarativeStringConverters::sizeFFromString(str, &conversionOk).toSize();
break; break;
case QMetaType::QSizeF: case QMetaType::QSizeF:
value = QmlStringConverters::sizeFFromString(str, &conversionOk); value = QDeclarativeStringConverters::sizeFFromString(str, &conversionOk);
break; break;
case QMetaType::QRect: case QMetaType::QRect:
value = QmlStringConverters::rectFFromString(str, &conversionOk).toRect(); value = QDeclarativeStringConverters::rectFFromString(str, &conversionOk).toRect();
break; break;
case QMetaType::QRectF: case QMetaType::QRectF:
value = QmlStringConverters::rectFFromString(str, &conversionOk); value = QDeclarativeStringConverters::rectFFromString(str, &conversionOk);
break; break;
case QMetaType::QUrl: case QMetaType::QUrl:
value = QVariant(QUrl(str)); value = QVariant(QUrl(str));
break; break;
case QMetaType::QColor: case QMetaType::QColor:
value = QmlStringConverters::colorFromString(str); value = QDeclarativeStringConverters::colorFromString(str);
break; break;
default: { default: {
value = QVariant(str); value = QVariant(str);

View File

@@ -29,7 +29,7 @@
#include "qmlitemnode.h" #include "qmlitemnode.h"
#include <metainfo.h> #include <metainfo.h>
#include "qmlview.h" #include <QDeclarativeView>
#include "qmlchangeset.h" #include "qmlchangeset.h"
#include "variantproperty.h" #include "variantproperty.h"
#include "nodelistproperty.h" #include "nodelistproperty.h"

View File

@@ -62,7 +62,7 @@ RewriterView::Error::Error(Exception *exception):
{ {
} }
RewriterView::Error::Error(const QmlError &qmlError): RewriterView::Error::Error(const QDeclarativeError &qmlError):
m_type(ParseError), m_type(ParseError),
m_line(qmlError.line()), m_line(qmlError.line()),
m_column(qmlError.column()), m_column(qmlError.column()),

View File

@@ -38,9 +38,9 @@
#include "rewriterview.h" #include "rewriterview.h"
#include "variantproperty.h" #include "variantproperty.h"
#include <QmlEngine> #include <QDeclarativeEngine>
#include <QSet> #include <QSet>
#include <private/qmldom_p.h> #include <private/qdeclarativedom_p.h>
using namespace QmlDesigner; using namespace QmlDesigner;
using namespace QmlDesigner::Internal; using namespace QmlDesigner::Internal;
@@ -70,20 +70,20 @@ bool TextToModelMerger::isActive() const
return m_isActive; return m_isActive;
} }
void TextToModelMerger::setupImports(QmlDomDocument &doc, void TextToModelMerger::setupImports(QDeclarativeDomDocument &doc,
DifferenceHandler &differenceHandler) DifferenceHandler &differenceHandler)
{ {
QSet<Import> existingImports = m_rewriterView->model()->imports(); QSet<Import> existingImports = m_rewriterView->model()->imports();
foreach (const QmlDomImport &qmlImport, doc.imports()) { foreach (const QDeclarativeDomImport &qmlImport, doc.imports()) {
if (qmlImport.type() == QmlDomImport::Library) { if (qmlImport.type() == QDeclarativeDomImport::Library) {
Import import(Import::createLibraryImport(qmlImport.uri(), Import import(Import::createLibraryImport(qmlImport.uri(),
qmlImport.version(), qmlImport.version(),
qmlImport.qualifier())); qmlImport.qualifier()));
if (!existingImports.remove(import)) if (!existingImports.remove(import))
differenceHandler.modelMissesImport(import); differenceHandler.modelMissesImport(import);
} else if (qmlImport.type() == QmlDomImport::File) { } else if (qmlImport.type() == QDeclarativeDomImport::File) {
Import import(Import:: createFileImport(qmlImport.uri(), Import import(Import:: createFileImport(qmlImport.uri(),
qmlImport.version(), qmlImport.version(),
qmlImport.qualifier())); qmlImport.qualifier()));
@@ -102,22 +102,22 @@ bool TextToModelMerger::load(const QByteArray &data, DifferenceHandler &differen
setActive(true); setActive(true);
try { try {
QmlEngine engine; QDeclarativeEngine engine;
QmlDomDocument doc; QDeclarativeDomDocument doc;
const QUrl url = m_rewriterView->model()->fileUrl(); const QUrl url = m_rewriterView->model()->fileUrl();
const bool success = doc.load(&engine, data, url); const bool success = doc.load(&engine, data, url);
if (success) { if (success) {
setupImports(doc, differenceHandler); setupImports(doc, differenceHandler);
const QmlDomObject rootDomObject = doc.rootObject(); const QDeclarativeDomObject rootDomObject = doc.rootObject();
ModelNode modelRootNode = m_rewriterView->rootModelNode(); ModelNode modelRootNode = m_rewriterView->rootModelNode();
syncNode(modelRootNode, rootDomObject, differenceHandler); syncNode(modelRootNode, rootDomObject, differenceHandler);
m_rewriterView->positionStorage()->cleanupInvalidOffsets(); m_rewriterView->positionStorage()->cleanupInvalidOffsets();
m_rewriterView->clearErrors(); m_rewriterView->clearErrors();
} else { } else {
QList<RewriterView::Error> errors; QList<RewriterView::Error> errors;
foreach (const QmlError &qmlError, doc.errors()) foreach (const QDeclarativeError &qmlError, doc.errors())
errors.append(RewriterView::Error(qmlError)); errors.append(RewriterView::Error(qmlError));
m_rewriterView->setErrors(errors); m_rewriterView->setErrors(errors);
} }
@@ -139,7 +139,7 @@ bool TextToModelMerger::load(const QByteArray &data, DifferenceHandler &differen
} }
void TextToModelMerger::syncNode(ModelNode &modelNode, void TextToModelMerger::syncNode(ModelNode &modelNode,
const QmlDomObject &domObject, const QDeclarativeDomObject &domObject,
DifferenceHandler &differenceHandler) DifferenceHandler &differenceHandler)
{ {
m_rewriterView->positionStorage()->setNodeOffset(modelNode, domObject.position()); m_rewriterView->positionStorage()->setNodeOffset(modelNode, domObject.position());
@@ -155,7 +155,7 @@ void TextToModelMerger::syncNode(ModelNode &modelNode,
{ {
QString domObjectId = domObject.objectId(); QString domObjectId = domObject.objectId();
const QmlDomProperty domIdProperty = domObject.property("id"); const QDeclarativeDomProperty domIdProperty = domObject.property("id");
if (domObjectId.isEmpty() && domIdProperty.value().isLiteral()) if (domObjectId.isEmpty() && domIdProperty.value().isLiteral())
domObjectId = domIdProperty.value().toLiteral().literal(); domObjectId = domIdProperty.value().toLiteral().literal();
@@ -178,7 +178,7 @@ void TextToModelMerger::syncNode(ModelNode &modelNode,
QSet<QString> modelPropertyNames = QSet<QString>::fromList(modelNode.propertyNames()); QSet<QString> modelPropertyNames = QSet<QString>::fromList(modelNode.propertyNames());
foreach (const QmlDomProperty &domProperty, domObject.properties()) { foreach (const QDeclarativeDomProperty &domProperty, domObject.properties()) {
const QString domPropertyName = domProperty.propertyName(); const QString domPropertyName = domProperty.propertyName();
if (isSignalPropertyName(domPropertyName.toUtf8())) if (isSignalPropertyName(domPropertyName.toUtf8()))
@@ -196,7 +196,7 @@ void TextToModelMerger::syncNode(ModelNode &modelNode,
modelPropertyNames.remove(domPropertyName); modelPropertyNames.remove(domPropertyName);
continue; continue;
} else { } else {
const QmlDomDynamicProperty dynamicProperty = domObject.dynamicProperty(domProperty.propertyName()); const QDeclarativeDomDynamicProperty dynamicProperty = domObject.dynamicProperty(domProperty.propertyName());
if (dynamicProperty.isValid() || modelNode.metaInfo().hasProperty(domPropertyName, true) || modelNode.type() == QLatin1String("Qt/PropertyChanges")) { if (dynamicProperty.isValid() || modelNode.metaInfo().hasProperty(domPropertyName, true) || modelNode.type() == QLatin1String("Qt/PropertyChanges")) {
AbstractProperty modelProperty = modelNode.property(domPropertyName); AbstractProperty modelProperty = modelNode.property(domPropertyName);
syncProperty(modelProperty, domProperty, dynamicProperty, differenceHandler); syncProperty(modelProperty, domProperty, dynamicProperty, differenceHandler);
@@ -206,7 +206,7 @@ void TextToModelMerger::syncNode(ModelNode &modelNode,
} }
{ // for new dynamic properties which have no property definitions: { // for new dynamic properties which have no property definitions:
foreach (const QmlDomDynamicProperty &dynamicDomProperty, domObject.dynamicProperties()) { foreach (const QDeclarativeDomDynamicProperty &dynamicDomProperty, domObject.dynamicProperties()) {
const QByteArray propertyName = dynamicDomProperty.propertyName(); const QByteArray propertyName = dynamicDomProperty.propertyName();
if (domObject.property(propertyName).isValid()) if (domObject.property(propertyName).isValid())
continue; continue;
@@ -230,7 +230,7 @@ void TextToModelMerger::syncNode(ModelNode &modelNode,
foreach (const QString &modelPropertyName, modelPropertyNames) { foreach (const QString &modelPropertyName, modelPropertyNames) {
AbstractProperty modelProperty = modelNode.property(modelPropertyName); AbstractProperty modelProperty = modelNode.property(modelPropertyName);
const QmlDomDynamicProperty dynamicDomProperty = domObject.dynamicProperty(modelPropertyName.toUtf8()); const QDeclarativeDomDynamicProperty dynamicDomProperty = domObject.dynamicProperty(modelPropertyName.toUtf8());
if (dynamicDomProperty.isValid()) { if (dynamicDomProperty.isValid()) {
const QString dynamicTypeName = QMetaType::typeName(dynamicDomProperty.propertyType()); const QString dynamicTypeName = QMetaType::typeName(dynamicDomProperty.propertyType());
@@ -251,23 +251,23 @@ void TextToModelMerger::syncNode(ModelNode &modelNode,
} }
void TextToModelMerger::syncProperty(AbstractProperty &modelProperty, void TextToModelMerger::syncProperty(AbstractProperty &modelProperty,
const QmlDomProperty &qmlProperty, const QDeclarativeDomProperty &qmlProperty,
const QmlDomDynamicProperty &qmlDynamicProperty, const QDeclarativeDomDynamicProperty &qmlDynamicProperty,
DifferenceHandler &differenceHandler) DifferenceHandler &differenceHandler)
{ {
Q_ASSERT(modelProperty.name() == qmlProperty.propertyName()); Q_ASSERT(modelProperty.name() == qmlProperty.propertyName());
const QmlDomValue qmlValue = qmlProperty.value(); const QDeclarativeDomValue qmlValue = qmlProperty.value();
if (qmlValue.isBinding()) { if (qmlValue.isBinding()) {
const QString qmlBinding = qmlValue.toBinding().binding(); const QString QDeclarativeBinding = qmlValue.toBinding().binding();
if (modelProperty.isBindingProperty()) { if (modelProperty.isBindingProperty()) {
BindingProperty bindingProperty = modelProperty.toBindingProperty(); BindingProperty bindingProperty = modelProperty.toBindingProperty();
if (bindingProperty.expression() != qmlBinding) { if (bindingProperty.expression() != QDeclarativeBinding) {
differenceHandler.bindingExpressionsDiffer(bindingProperty, qmlBinding); differenceHandler.bindingExpressionsDiffer(bindingProperty, QDeclarativeBinding);
} }
} else { } else {
differenceHandler.shouldBeBindingProperty(modelProperty, qmlBinding); differenceHandler.shouldBeBindingProperty(modelProperty, QDeclarativeBinding);
} }
} else if (qmlValue.isList()) { } else if (qmlValue.isList()) {
if (modelProperty.isNodeListProperty()) { if (modelProperty.isNodeListProperty()) {
@@ -314,13 +314,13 @@ void TextToModelMerger::syncProperty(AbstractProperty &modelProperty,
} }
} }
void TextToModelMerger::syncNodeListProperty(NodeListProperty &modelListProperty, const QmlDomList &domList, DifferenceHandler &differenceHandler) void TextToModelMerger::syncNodeListProperty(NodeListProperty &modelListProperty, const QDeclarativeDomList &domList, DifferenceHandler &differenceHandler)
{ {
QList<ModelNode> modelNodes = modelListProperty.toModelNodeList(); QList<ModelNode> modelNodes = modelListProperty.toModelNodeList();
QList<QmlDomValue> domValues = domList.values(); QList<QDeclarativeDomValue> domValues = domList.values();
int i = 0; int i = 0;
for (; i < modelNodes.size() && i < domValues.size(); ++i) { for (; i < modelNodes.size() && i < domValues.size(); ++i) {
QmlDomValue value = domValues.at(i); QDeclarativeDomValue value = domValues.at(i);
if (value.isObject()) { if (value.isObject()) {
ModelNode modelNode = modelNodes.at(i); ModelNode modelNode = modelNodes.at(i);
syncNode(modelNode, value.toObject(), differenceHandler); syncNode(modelNode, value.toObject(), differenceHandler);
@@ -331,9 +331,9 @@ void TextToModelMerger::syncNodeListProperty(NodeListProperty &modelListProperty
for (int j = i; j < domValues.size(); ++j) { for (int j = i; j < domValues.size(); ++j) {
// more elements in the dom-list, so add them to the model // more elements in the dom-list, so add them to the model
QmlDomValue value = domValues.at(j); QDeclarativeDomValue value = domValues.at(j);
if (value.isObject()) { if (value.isObject()) {
const QmlDomObject qmlObject = value.toObject(); const QDeclarativeDomObject qmlObject = value.toObject();
const ModelNode newNode = differenceHandler.listPropertyMissingModelNode(modelListProperty, qmlObject); const ModelNode newNode = differenceHandler.listPropertyMissingModelNode(modelListProperty, qmlObject);
if (QString::fromUtf8(qmlObject.objectType()) == QLatin1String("Qt/Component")) if (QString::fromUtf8(qmlObject.objectType()) == QLatin1String("Qt/Component"))
setupComponent(newNode); setupComponent(newNode);
@@ -349,14 +349,14 @@ void TextToModelMerger::syncNodeListProperty(NodeListProperty &modelListProperty
} }
} }
ModelNode TextToModelMerger::createModelNode(const QmlDomObject &domObject, DifferenceHandler &differenceHandler) ModelNode TextToModelMerger::createModelNode(const QDeclarativeDomObject &domObject, DifferenceHandler &differenceHandler)
{ {
ModelNode newNode = m_rewriterView->createModelNode(domObject.objectType(), domObject.objectTypeMajorVersion(), domObject.objectTypeMinorVersion()); ModelNode newNode = m_rewriterView->createModelNode(domObject.objectType(), domObject.objectTypeMajorVersion(), domObject.objectTypeMinorVersion());
syncNode(newNode, domObject, differenceHandler); syncNode(newNode, domObject, differenceHandler);
return newNode; return newNode;
} }
QVariant TextToModelMerger::convertToVariant(const ModelNode &node, const QmlDomProperty &qmlProperty, const QmlDomDynamicProperty &qmlDynamicProperty) QVariant TextToModelMerger::convertToVariant(const ModelNode &node, const QDeclarativeDomProperty &qmlProperty, const QDeclarativeDomDynamicProperty &qmlDynamicProperty)
{ {
QString stringValue = qmlProperty.value().toLiteral().literal(); QString stringValue = qmlProperty.value().toLiteral().literal();
@@ -400,19 +400,19 @@ void ModelValidator::importAbsentInQMl(const Import &import)
Q_ASSERT(! m_merger->view()->model()->imports().contains(import)); Q_ASSERT(! m_merger->view()->model()->imports().contains(import));
} }
void ModelValidator::bindingExpressionsDiffer(BindingProperty &modelProperty, const QString &qmlBinding) void ModelValidator::bindingExpressionsDiffer(BindingProperty &modelProperty, const QString &QDeclarativeBinding)
{ {
Q_ASSERT(modelProperty.expression() == qmlBinding); Q_ASSERT(modelProperty.expression() == QDeclarativeBinding);
Q_ASSERT(0); Q_ASSERT(0);
} }
void ModelValidator::shouldBeBindingProperty(AbstractProperty &modelProperty, const QString &/*qmlBinding*/) void ModelValidator::shouldBeBindingProperty(AbstractProperty &modelProperty, const QString &/*QDeclarativeBinding*/)
{ {
Q_ASSERT(modelProperty.isBindingProperty()); Q_ASSERT(modelProperty.isBindingProperty());
Q_ASSERT(0); Q_ASSERT(0);
} }
void ModelValidator::shouldBeNodeListProperty(AbstractProperty &modelProperty, const QmlDomList &/*domList*/) void ModelValidator::shouldBeNodeListProperty(AbstractProperty &modelProperty, const QDeclarativeDomList &/*domList*/)
{ {
Q_ASSERT(modelProperty.isNodeListProperty()); Q_ASSERT(modelProperty.isNodeListProperty());
Q_ASSERT(0); Q_ASSERT(0);
@@ -435,7 +435,7 @@ void ModelValidator::shouldBeVariantProperty(AbstractProperty &modelProperty, co
Q_ASSERT(0); Q_ASSERT(0);
} }
void ModelValidator::shouldBeNodeProperty(AbstractProperty &modelProperty, const QmlDomObject &/*qmlObject*/) void ModelValidator::shouldBeNodeProperty(AbstractProperty &modelProperty, const QDeclarativeDomObject &/*qmlObject*/)
{ {
Q_ASSERT(modelProperty.isNodeProperty()); Q_ASSERT(modelProperty.isNodeProperty());
Q_ASSERT(0); Q_ASSERT(0);
@@ -447,13 +447,13 @@ void ModelValidator::modelNodeAbsentFromQml(ModelNode &modelNode)
Q_ASSERT(0); Q_ASSERT(0);
} }
ModelNode ModelValidator::listPropertyMissingModelNode(NodeListProperty &/*modelProperty*/, const QmlDomObject &/*qmlObject*/) ModelNode ModelValidator::listPropertyMissingModelNode(NodeListProperty &/*modelProperty*/, const QDeclarativeDomObject &/*qmlObject*/)
{ {
Q_ASSERT(0); Q_ASSERT(0);
return ModelNode(); return ModelNode();
} }
void ModelValidator::typeDiffers(bool /*isRootNode*/, ModelNode &modelNode, const QmlDomObject &domObject) void ModelValidator::typeDiffers(bool /*isRootNode*/, ModelNode &modelNode, const QDeclarativeDomObject &domObject)
{ {
Q_ASSERT(modelNode.type() == domObject.objectType()); Q_ASSERT(modelNode.type() == domObject.objectType());
Q_ASSERT(modelNode.majorVersion() == domObject.objectTypeMajorVersion()); Q_ASSERT(modelNode.majorVersion() == domObject.objectTypeMajorVersion());
@@ -483,19 +483,19 @@ void ModelAmender::importAbsentInQMl(const Import &import)
m_merger->view()->model()->removeImport(import); m_merger->view()->model()->removeImport(import);
} }
void ModelAmender::bindingExpressionsDiffer(BindingProperty &modelProperty, const QString &qmlBinding) void ModelAmender::bindingExpressionsDiffer(BindingProperty &modelProperty, const QString &QDeclarativeBinding)
{ {
modelProperty.toBindingProperty().setExpression(qmlBinding); modelProperty.toBindingProperty().setExpression(QDeclarativeBinding);
} }
void ModelAmender::shouldBeBindingProperty(AbstractProperty &modelProperty, const QString &qmlBinding) void ModelAmender::shouldBeBindingProperty(AbstractProperty &modelProperty, const QString &QDeclarativeBinding)
{ {
ModelNode theNode = modelProperty.parentModelNode(); ModelNode theNode = modelProperty.parentModelNode();
BindingProperty newModelProperty = theNode.bindingProperty(modelProperty.name()); BindingProperty newModelProperty = theNode.bindingProperty(modelProperty.name());
newModelProperty.setExpression(qmlBinding); newModelProperty.setExpression(QDeclarativeBinding);
} }
void ModelAmender::shouldBeNodeListProperty(AbstractProperty &modelProperty, const QmlDomList &domList) void ModelAmender::shouldBeNodeListProperty(AbstractProperty &modelProperty, const QDeclarativeDomList &domList)
{ {
ModelNode theNode = modelProperty.parentModelNode(); ModelNode theNode = modelProperty.parentModelNode();
NodeListProperty newNodeListProperty = theNode.nodeListProperty(modelProperty.name()); NodeListProperty newNodeListProperty = theNode.nodeListProperty(modelProperty.name());
@@ -522,7 +522,7 @@ void ModelAmender::shouldBeVariantProperty(AbstractProperty &modelProperty, cons
newModelProperty.setDynamicTypeNameAndValue(dynamicTypeName, qmlVariantValue); newModelProperty.setDynamicTypeNameAndValue(dynamicTypeName, qmlVariantValue);
} }
void ModelAmender::shouldBeNodeProperty(AbstractProperty &modelProperty, const QmlDomObject &qmlObject) void ModelAmender::shouldBeNodeProperty(AbstractProperty &modelProperty, const QDeclarativeDomObject &qmlObject)
{ {
ModelNode theNode = modelProperty.parentModelNode(); ModelNode theNode = modelProperty.parentModelNode();
NodeProperty newNodeProperty = theNode.nodeProperty(modelProperty.name()); NodeProperty newNodeProperty = theNode.nodeProperty(modelProperty.name());
@@ -534,14 +534,14 @@ void ModelAmender::modelNodeAbsentFromQml(ModelNode &modelNode)
modelNode.destroy(); modelNode.destroy();
} }
ModelNode ModelAmender::listPropertyMissingModelNode(NodeListProperty &modelProperty, const QmlDomObject &qmlObject) ModelNode ModelAmender::listPropertyMissingModelNode(NodeListProperty &modelProperty, const QDeclarativeDomObject &qmlObject)
{ {
const ModelNode &newNode = m_merger->createModelNode(qmlObject, *this); const ModelNode &newNode = m_merger->createModelNode(qmlObject, *this);
modelProperty.reparentHere(newNode); modelProperty.reparentHere(newNode);
return newNode; return newNode;
} }
void ModelAmender::typeDiffers(bool isRootNode, ModelNode &modelNode, const QmlDomObject &domObject) void ModelAmender::typeDiffers(bool isRootNode, ModelNode &modelNode, const QDeclarativeDomObject &domObject)
{ {
if (isRootNode) { if (isRootNode) {
modelNode.view()->changeRootNodeType(domObject.objectType(), domObject.objectTypeMajorVersion(), domObject.objectTypeMinorVersion()); modelNode.view()->changeRootNodeType(domObject.objectType(), domObject.objectTypeMajorVersion(), domObject.objectTypeMinorVersion());

View File

@@ -35,7 +35,7 @@
#include "nodelistproperty.h" #include "nodelistproperty.h"
#include "modelnode.h" #include "modelnode.h"
#include <private/qmldom_p.h> #include <private/qdeclarativedom_p.h>
namespace QmlDesigner { namespace QmlDesigner {
@@ -54,7 +54,7 @@ public:
TextToModelMerger(RewriterView *reWriterView); TextToModelMerger(RewriterView *reWriterView);
bool isActive() const; bool isActive() const;
void setupImports(QmlDomDocument &doc, DifferenceHandler &differenceHandler); void setupImports(QDeclarativeDomDocument &doc, DifferenceHandler &differenceHandler);
bool load(const QByteArray &data, DifferenceHandler &differenceHandler); bool load(const QByteArray &data, DifferenceHandler &differenceHandler);
RewriterView *view() const RewriterView *view() const
@@ -65,20 +65,20 @@ protected:
public: public:
void syncNode(ModelNode &modelNode, void syncNode(ModelNode &modelNode,
const QmlDomObject &qmlObject, const QDeclarativeDomObject &qmlObject,
DifferenceHandler &differenceHandler); DifferenceHandler &differenceHandler);
void syncProperty(AbstractProperty &modelProperty, void syncProperty(AbstractProperty &modelProperty,
const QmlDomProperty &qmlProperty, const QDeclarativeDomProperty &qmlProperty,
const QmlDomDynamicProperty &qmlDynamicProperty, const QDeclarativeDomDynamicProperty &qmlDynamicProperty,
DifferenceHandler &differenceHandler); DifferenceHandler &differenceHandler);
void syncNodeListProperty(NodeListProperty &modelListProperty, void syncNodeListProperty(NodeListProperty &modelListProperty,
const QmlDomList &domList, const QDeclarativeDomList &domList,
DifferenceHandler &differenceHandler); DifferenceHandler &differenceHandler);
ModelNode createModelNode(const QmlDomObject &domObject, ModelNode createModelNode(const QDeclarativeDomObject &domObject,
DifferenceHandler &differenceHandler); DifferenceHandler &differenceHandler);
static QVariant convertToVariant(const ModelNode &node, static QVariant convertToVariant(const ModelNode &node,
const QmlDomProperty &qmlProperty, const QDeclarativeDomProperty &qmlProperty,
const QmlDomDynamicProperty &qmlDynamicProperty); const QDeclarativeDomDynamicProperty &qmlDynamicProperty);
private: private:
static bool isSignalPropertyName(const QString &signalName); static bool isSignalPropertyName(const QString &signalName);
@@ -100,15 +100,15 @@ public:
virtual void modelMissesImport(const Import &import) = 0; virtual void modelMissesImport(const Import &import) = 0;
virtual void importAbsentInQMl(const Import &import) = 0; virtual void importAbsentInQMl(const Import &import) = 0;
virtual void bindingExpressionsDiffer(BindingProperty &modelProperty, const QString &qmlBinding) = 0; virtual void bindingExpressionsDiffer(BindingProperty &modelProperty, const QString &QDeclarativeBinding) = 0;
virtual void shouldBeBindingProperty(AbstractProperty &modelProperty, const QString &qmlBinding) = 0; virtual void shouldBeBindingProperty(AbstractProperty &modelProperty, const QString &QDeclarativeBinding) = 0;
virtual void shouldBeNodeListProperty(AbstractProperty &modelProperty, const QmlDomList &domList) = 0; virtual void shouldBeNodeListProperty(AbstractProperty &modelProperty, const QDeclarativeDomList &domList) = 0;
virtual void variantValuesDiffer(VariantProperty &modelProperty, const QVariant &qmlVariantValue, const QString &dynamicTypeName) = 0; virtual void variantValuesDiffer(VariantProperty &modelProperty, const QVariant &qmlVariantValue, const QString &dynamicTypeName) = 0;
virtual void shouldBeVariantProperty(AbstractProperty &modelProperty, const QVariant &qmlVariantValue, const QString &dynamicTypeName) = 0; virtual void shouldBeVariantProperty(AbstractProperty &modelProperty, const QVariant &qmlVariantValue, const QString &dynamicTypeName) = 0;
virtual void shouldBeNodeProperty(AbstractProperty &modelProperty, const QmlDomObject &qmlObject) = 0; virtual void shouldBeNodeProperty(AbstractProperty &modelProperty, const QDeclarativeDomObject &qmlObject) = 0;
virtual void modelNodeAbsentFromQml(ModelNode &modelNode) = 0; virtual void modelNodeAbsentFromQml(ModelNode &modelNode) = 0;
virtual ModelNode listPropertyMissingModelNode(NodeListProperty &modelProperty, const QmlDomObject &qmlObject) = 0; virtual ModelNode listPropertyMissingModelNode(NodeListProperty &modelProperty, const QDeclarativeDomObject &qmlObject) = 0;
virtual void typeDiffers(bool isRootNode, ModelNode &modelNode, const QmlDomObject &domObject) = 0; virtual void typeDiffers(bool isRootNode, ModelNode &modelNode, const QDeclarativeDomObject &domObject) = 0;
virtual void propertyAbsentFromQml(AbstractProperty &modelProperty) = 0; virtual void propertyAbsentFromQml(AbstractProperty &modelProperty) = 0;
virtual void idsDiffer(ModelNode &modelNode, const QString &qmlId) = 0; virtual void idsDiffer(ModelNode &modelNode, const QString &qmlId) = 0;
@@ -127,15 +127,15 @@ public:
virtual void modelMissesImport(const Import &import); virtual void modelMissesImport(const Import &import);
virtual void importAbsentInQMl(const Import &import); virtual void importAbsentInQMl(const Import &import);
virtual void bindingExpressionsDiffer(BindingProperty &modelProperty, const QString &qmlBinding); virtual void bindingExpressionsDiffer(BindingProperty &modelProperty, const QString &QDeclarativeBinding);
virtual void shouldBeBindingProperty(AbstractProperty &modelProperty, const QString &qmlBinding); virtual void shouldBeBindingProperty(AbstractProperty &modelProperty, const QString &QDeclarativeBinding);
virtual void shouldBeNodeListProperty(AbstractProperty &modelProperty, const QmlDomList &domList); virtual void shouldBeNodeListProperty(AbstractProperty &modelProperty, const QDeclarativeDomList &domList);
virtual void variantValuesDiffer(VariantProperty &modelProperty, const QVariant &qmlVariantValue, const QString &dynamicTypeName); virtual void variantValuesDiffer(VariantProperty &modelProperty, const QVariant &qmlVariantValue, const QString &dynamicTypeName);
virtual void shouldBeVariantProperty(AbstractProperty &modelProperty, const QVariant &qmlVariantValue, const QString &dynamicTypeName); virtual void shouldBeVariantProperty(AbstractProperty &modelProperty, const QVariant &qmlVariantValue, const QString &dynamicTypeName);
virtual void shouldBeNodeProperty(AbstractProperty &modelProperty, const QmlDomObject &qmlObject); virtual void shouldBeNodeProperty(AbstractProperty &modelProperty, const QDeclarativeDomObject &qmlObject);
virtual void modelNodeAbsentFromQml(ModelNode &modelNode); virtual void modelNodeAbsentFromQml(ModelNode &modelNode);
virtual ModelNode listPropertyMissingModelNode(NodeListProperty &modelProperty, const QmlDomObject &qmlObject); virtual ModelNode listPropertyMissingModelNode(NodeListProperty &modelProperty, const QDeclarativeDomObject &qmlObject);
virtual void typeDiffers(bool isRootNode, ModelNode &modelNode, const QmlDomObject &domObject); virtual void typeDiffers(bool isRootNode, ModelNode &modelNode, const QDeclarativeDomObject &domObject);
virtual void propertyAbsentFromQml(AbstractProperty &modelProperty); virtual void propertyAbsentFromQml(AbstractProperty &modelProperty);
virtual void idsDiffer(ModelNode &modelNode, const QString &qmlId); virtual void idsDiffer(ModelNode &modelNode, const QString &qmlId);
}; };
@@ -151,15 +151,15 @@ public:
virtual void modelMissesImport(const Import &import); virtual void modelMissesImport(const Import &import);
virtual void importAbsentInQMl(const Import &import); virtual void importAbsentInQMl(const Import &import);
virtual void bindingExpressionsDiffer(BindingProperty &modelProperty, const QString &qmlBinding); virtual void bindingExpressionsDiffer(BindingProperty &modelProperty, const QString &QDeclarativeBinding);
virtual void shouldBeBindingProperty(AbstractProperty &modelProperty, const QString &qmlBinding); virtual void shouldBeBindingProperty(AbstractProperty &modelProperty, const QString &QDeclarativeBinding);
virtual void shouldBeNodeListProperty(AbstractProperty &modelProperty, const QmlDomList &domList); virtual void shouldBeNodeListProperty(AbstractProperty &modelProperty, const QDeclarativeDomList &domList);
virtual void variantValuesDiffer(VariantProperty &modelProperty, const QVariant &qmlVariantValue, const QString &dynamicType); virtual void variantValuesDiffer(VariantProperty &modelProperty, const QVariant &qmlVariantValue, const QString &dynamicType);
virtual void shouldBeVariantProperty(AbstractProperty &modelProperty, const QVariant &qmlVariantValue, const QString &dynamicTypeName); virtual void shouldBeVariantProperty(AbstractProperty &modelProperty, const QVariant &qmlVariantValue, const QString &dynamicTypeName);
virtual void shouldBeNodeProperty(AbstractProperty &modelProperty, const QmlDomObject &qmlObject); virtual void shouldBeNodeProperty(AbstractProperty &modelProperty, const QDeclarativeDomObject &qmlObject);
virtual void modelNodeAbsentFromQml(ModelNode &modelNode); virtual void modelNodeAbsentFromQml(ModelNode &modelNode);
virtual ModelNode listPropertyMissingModelNode(NodeListProperty &modelProperty, const QmlDomObject &qmlObject); virtual ModelNode listPropertyMissingModelNode(NodeListProperty &modelProperty, const QDeclarativeDomObject &qmlObject);
virtual void typeDiffers(bool isRootNode, ModelNode &modelNode, const QmlDomObject &domObject); virtual void typeDiffers(bool isRootNode, ModelNode &modelNode, const QDeclarativeDomObject &domObject);
virtual void propertyAbsentFromQml(AbstractProperty &modelProperty); virtual void propertyAbsentFromQml(AbstractProperty &modelProperty);
virtual void idsDiffer(ModelNode &modelNode, const QString &qmlId); virtual void idsDiffer(ModelNode &modelNode, const QString &qmlId);
}; };

View File

@@ -28,7 +28,7 @@
**************************************************************************/ **************************************************************************/
#include "variantparser.h" #include "variantparser.h"
#include <private/qmlvaluetype_p.h> #include <private/qdeclarativevaluetype_p.h>
#include <QPoint> #include <QPoint>
#include <QPointF> #include <QPointF>
@@ -43,7 +43,7 @@
namespace QmlDesigner { namespace QmlDesigner {
namespace Internal { namespace Internal {
VariantParser::VariantParser(const QVariant &value) : m_valueType(QmlValueTypeFactory::valueType(value.type())) VariantParser::VariantParser(const QVariant &value) : m_valueType(QDeclarativeValueTypeFactory::valueType(value.type()))
{ {
if (m_valueType) { if (m_valueType) {
m_valueType->setValue(value); m_valueType->setValue(value);
@@ -121,21 +121,21 @@ VariantParser VariantParser::create(const QString &type)
void VariantParser::init(const QString &type) void VariantParser::init(const QString &type)
{ {
if (type == "QFont") if (type == "QFont")
m_valueType = QmlValueTypeFactory::valueType(QVariant::Font); m_valueType = QDeclarativeValueTypeFactory::valueType(QVariant::Font);
if (type == "QPoint") if (type == "QPoint")
m_valueType = QmlValueTypeFactory::valueType(QVariant::Point); m_valueType = QDeclarativeValueTypeFactory::valueType(QVariant::Point);
if (type == "QPointF") if (type == "QPointF")
m_valueType = QmlValueTypeFactory::valueType(QVariant::PointF); m_valueType = QDeclarativeValueTypeFactory::valueType(QVariant::PointF);
if (type == "QSize") if (type == "QSize")
m_valueType = QmlValueTypeFactory::valueType(QVariant::Size); m_valueType = QDeclarativeValueTypeFactory::valueType(QVariant::Size);
if (type == "QSizeF") if (type == "QSizeF")
m_valueType = QmlValueTypeFactory::valueType(QVariant::SizeF); m_valueType = QDeclarativeValueTypeFactory::valueType(QVariant::SizeF);
if (type == "QRect") if (type == "QRect")
m_valueType = QmlValueTypeFactory::valueType(QVariant::Rect); m_valueType = QDeclarativeValueTypeFactory::valueType(QVariant::Rect);
if (type == "QRectF") if (type == "QRectF")
m_valueType = QmlValueTypeFactory::valueType(QVariant::RectF); m_valueType = QDeclarativeValueTypeFactory::valueType(QVariant::RectF);
if (type == "QVector3D") if (type == "QVector3D")
m_valueType = QmlValueTypeFactory::valueType(QVariant::Vector3D); m_valueType = QDeclarativeValueTypeFactory::valueType(QVariant::Vector3D);
} }
bool VariantParser::isValid() bool VariantParser::isValid()

View File

@@ -35,7 +35,7 @@
#include <QStringList> #include <QStringList>
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
class QmlValueType; class QDeclarativeValueType;
QT_END_NAMESPACE QT_END_NAMESPACE
namespace QmlDesigner { namespace QmlDesigner {
@@ -56,7 +56,7 @@ public:
static bool isValueType(const QString &type); static bool isValueType(const QString &type);
static VariantParser create(const QString &type); static VariantParser create(const QString &type);
private: private:
QmlValueType *m_valueType; QDeclarativeValueType *m_valueType;
}; };

View File

@@ -45,7 +45,7 @@
#include <QWeakPointer> #include <QWeakPointer>
#include <QmlError> #include <QDeclarativeError>
#include <QtCore/QHash> #include <QtCore/QHash>
#include <QtGui/QWidget> #include <QtGui/QWidget>
#include <QtGui/QToolBar> #include <QtGui/QToolBar>

View File

@@ -31,7 +31,7 @@
#define FXPLUGIN_H #define FXPLUGIN_H
#include <iwidgetplugin.h> #include <iwidgetplugin.h>
#include <QtDeclarative/qml.h> #include <QtDeclarative/qdeclarative.h>
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
QT_END_NAMESPACE QT_END_NAMESPACE