forked from qt-creator/qt-creator
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:
@@ -41,7 +41,7 @@ class QWidget;
|
||||
class QIODevice;
|
||||
class QProcess;
|
||||
class QPlainTextEdit;
|
||||
class QmlError;
|
||||
class QDeclarativeError;
|
||||
QT_END_NAMESPACE
|
||||
|
||||
namespace QmlDesigner {
|
||||
|
@@ -33,7 +33,7 @@
|
||||
#include <QtGui/QTextEdit>
|
||||
#include <QtGui/QMessageBox>
|
||||
|
||||
#include <QmlError>
|
||||
#include <QDeclarativeError>
|
||||
|
||||
#include <model.h>
|
||||
#include "designdocumentcontroller.h"
|
||||
|
@@ -42,7 +42,7 @@
|
||||
#include <QtGui/QTabWidget>
|
||||
#include <QtGui/QUndoGroup>
|
||||
|
||||
class QmlError;
|
||||
class QDeclarativeError;
|
||||
|
||||
namespace QmlDesigner {
|
||||
|
||||
|
@@ -54,9 +54,9 @@
|
||||
#include <QFileIconProvider>
|
||||
#include <QImageReader>
|
||||
|
||||
#include <QmlView>
|
||||
#include <QmlGraphicsItem>
|
||||
#include <private/qmlengine_p.h>
|
||||
#include <QDeclarativeView>
|
||||
#include <QDeclarativeItem>
|
||||
#include <private/qdeclarativeengine_p.h>
|
||||
|
||||
|
||||
namespace QmlDesigner {
|
||||
@@ -106,7 +106,7 @@ public:
|
||||
|
||||
Ui::ItemLibrary m_ui;
|
||||
Internal::ItemLibraryModel *m_itemLibraryModel;
|
||||
QmlView *m_itemsView;
|
||||
QDeclarativeView *m_itemsView;
|
||||
QDirModel *m_resourcesDirModel;
|
||||
QString m_resourcePath;
|
||||
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->setRootIndex(m_d->m_resourcesDirModel->index(m_d->m_resourcePath));
|
||||
|
||||
m_d->m_itemsView = new QmlView(this);
|
||||
m_d->m_itemsView->setSource(QUrl("qrc:/ItemLibrary/qml/ItemsView.qml"));
|
||||
m_d->m_itemsView = new QDeclarativeView(this);
|
||||
m_d->m_itemsView->setAttribute(Qt::WA_OpaquePaintEvent);
|
||||
m_d->m_itemsView->setAttribute(Qt::WA_NoSystemBackground);
|
||||
m_d->m_itemsView->setAcceptDrops(false);
|
||||
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_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_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("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(itemDragged(int)), this, SLOT(startDragAndDrop(int)));
|
||||
connect(this, SIGNAL(expandAllItems()), rootItem, SLOT(expandAll()));
|
||||
@@ -262,7 +261,7 @@ void ItemLibrary::startDragAndDrop(int itemLibId)
|
||||
drag->setPreview(QPixmap::fromImage(image));
|
||||
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()));
|
||||
|
||||
drag->exec();
|
||||
|
@@ -44,7 +44,7 @@ namespace Internal {
|
||||
|
||||
template <class T>
|
||||
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("sectionName"), sectionName);
|
||||
QScriptValue::setProperty(QLatin1String("sectionEntries"),
|
||||
scriptEngine->newVariant(QVariant::fromValue(static_cast<QmlListModel *>(&m_sectionEntries))));
|
||||
scriptEngine->newVariant(QVariant::fromValue(static_cast<QDeclarativeListModel *>(&m_sectionEntries))));
|
||||
}
|
||||
|
||||
|
||||
|
@@ -34,7 +34,7 @@
|
||||
#include <QIcon>
|
||||
#include <QVariant>
|
||||
#include <QScriptEngine>
|
||||
#include <private/qmllistmodel_p.h>
|
||||
#include <private/qdeclarativelistmodel_p.h>
|
||||
|
||||
QT_FORWARD_DECLARE_CLASS(QMimeData);
|
||||
|
||||
@@ -46,7 +46,7 @@ class ItemLibraryInfo;
|
||||
namespace Internal {
|
||||
|
||||
template <class T>
|
||||
class ItemLibrarySortedModel: public QmlListModel {
|
||||
class ItemLibrarySortedModel: public QDeclarativeListModel {
|
||||
public:
|
||||
ItemLibrarySortedModel(QObject *parent = 0);
|
||||
~ItemLibrarySortedModel();
|
||||
|
@@ -31,7 +31,6 @@
|
||||
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
QML_DEFINE_TYPE(Bauhaus,1,0,QBoxLayout,QBoxLayoutObject);
|
||||
|
||||
QBoxLayoutObject::QBoxLayoutObject(QObject *parent)
|
||||
: QLayoutObject(parent), _layout(0)
|
||||
@@ -57,16 +56,22 @@ void QBoxLayoutObject::clearWidget()
|
||||
{
|
||||
}
|
||||
|
||||
QML_DEFINE_TYPE(Bauhaus,1,0,QHBoxLayout,QHBoxLayoutObject);
|
||||
QHBoxLayoutObject::QHBoxLayoutObject(QObject *parent)
|
||||
: QBoxLayoutObject(new QHBoxLayout, parent)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
QML_DEFINE_TYPE(Bauhaus,1,0,QVBoxLayout,QVBoxLayoutObject);
|
||||
QVBoxLayoutObject::QVBoxLayoutObject(QObject *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
|
||||
|
@@ -43,7 +43,7 @@ class QBoxLayoutObject : public QLayoutObject
|
||||
{
|
||||
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 bottomMargin READ bottomMargin WRITE setBottomMargin)
|
||||
@@ -57,8 +57,8 @@ public:
|
||||
explicit QBoxLayoutObject(QBoxLayout *, QObject *parent=0);
|
||||
virtual QLayout *layout() const;
|
||||
|
||||
QmlListProperty<QWidget> children() {
|
||||
return QmlListProperty<QWidget>(this, 0, children_append, 0, 0, children_clear);
|
||||
QDeclarativeListProperty<QWidget> children() {
|
||||
return QDeclarativeListProperty<QWidget>(this, 0, children_append, 0, 0, children_clear);
|
||||
}
|
||||
|
||||
private:
|
||||
@@ -66,11 +66,11 @@ private:
|
||||
void addWidget(QWidget *);
|
||||
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 void children_clear(QmlListProperty<QWidget> *property) {
|
||||
static void children_clear(QDeclarativeListProperty<QWidget> *property) {
|
||||
static_cast<QBoxLayoutObject*>(property->object)->clearWidget();
|
||||
}
|
||||
|
||||
@@ -172,6 +172,12 @@ QML_DECLARE_TYPE(QBoxLayoutObject);
|
||||
QML_DECLARE_TYPE(QHBoxLayoutObject);
|
||||
QML_DECLARE_TYPE(QVBoxLayoutObject);
|
||||
|
||||
|
||||
class BasicLayouts {
|
||||
public:
|
||||
static void registerDeclarativeTypes();
|
||||
};
|
||||
|
||||
QT_END_HEADER
|
||||
|
||||
#endif // BASICLAYOUTS_H
|
||||
|
@@ -29,10 +29,10 @@
|
||||
|
||||
#include "basicwidgets.h"
|
||||
#include <qlayoutobject.h>
|
||||
#include <private/graphicswidgets_p.h>
|
||||
#include <qmlcontext.h>
|
||||
#include <qmlengine.h>
|
||||
#include <qmlcomponent.h>
|
||||
//#include <private/graphicswidgets_p.h>
|
||||
#include <QDeclarativeContext>
|
||||
#include <QDeclarativeEngine>
|
||||
#include <QDeclarativeComponent>
|
||||
#include <QtCore/QDebug>
|
||||
#include <QFile>
|
||||
#include <QPixmap>
|
||||
@@ -68,9 +68,9 @@ class QWidgetDeclarativeUI : public QObject
|
||||
{
|
||||
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(QmlListProperty<Action> actions READ actions)
|
||||
Q_PROPERTY(QDeclarativeListProperty<Action> actions READ actions)
|
||||
Q_PROPERTY(QFont font READ font CONSTANT)
|
||||
|
||||
Q_PROPERTY(QPoint pos READ pos)
|
||||
@@ -155,8 +155,8 @@ public:
|
||||
emit mouseOverChanged();
|
||||
}
|
||||
|
||||
QmlListProperty<QObject> children() {
|
||||
return QmlListProperty<QObject>(this, 0, children_append, children_count, children_at, children_clear);
|
||||
QDeclarativeListProperty<QObject> children() {
|
||||
return QDeclarativeListProperty<QObject>(this, 0, children_append, children_count, children_at, children_clear);
|
||||
}
|
||||
|
||||
QLayoutObject *layout() const { return _layout; }
|
||||
@@ -374,8 +374,8 @@ public:
|
||||
|
||||
}
|
||||
|
||||
QmlListProperty<Action> actions() {
|
||||
return QmlListProperty<Action>(this, 0, actions_append, actions_count, actions_at, actions_clear);
|
||||
QDeclarativeListProperty<Action> actions() {
|
||||
return QDeclarativeListProperty<Action>(this, 0, actions_append, actions_count, actions_at, actions_clear);
|
||||
}
|
||||
|
||||
private:
|
||||
@@ -386,7 +386,7 @@ private:
|
||||
QGraphicsOpacityEffect *_graphicsOpacityEffect;
|
||||
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);
|
||||
QWidget *q = p->q;
|
||||
if (QWidget *w = qobject_cast<QWidget *>(o))
|
||||
@@ -395,19 +395,19 @@ private:
|
||||
o->setParent(q);
|
||||
}
|
||||
|
||||
static int children_count(QmlListProperty<QObject> *property) {
|
||||
static int children_count(QDeclarativeListProperty<QObject> *property) {
|
||||
QWidgetDeclarativeUI *p = static_cast<QWidgetDeclarativeUI *>(property->object);
|
||||
QWidget *q = p->q;
|
||||
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);
|
||||
QWidget *q = p->q;
|
||||
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);
|
||||
QWidget *q = p->q;
|
||||
QObjectList c = q->children();
|
||||
@@ -416,25 +416,25 @@ private:
|
||||
}
|
||||
|
||||
// ### 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);
|
||||
QWidget *w = p->q;
|
||||
o->setParent(w);
|
||||
w->addAction(o);
|
||||
}
|
||||
|
||||
static int actions_count(QmlListProperty<Action> *property) {
|
||||
static int actions_count(QDeclarativeListProperty<Action> *property) {
|
||||
QWidgetDeclarativeUI *p = static_cast<QWidgetDeclarativeUI *>(property->object);
|
||||
QWidget *w = p->q;
|
||||
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);
|
||||
QWidget *w = p->q;
|
||||
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);
|
||||
QWidget *w = p->q;
|
||||
|
||||
@@ -614,7 +614,7 @@ public:
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
@@ -805,7 +805,7 @@ class WidgetLoader : public QWidget
|
||||
Q_PROPERTY(QString sourceString READ sourceString WRITE setSourceString NOTIFY sourceChanged)
|
||||
Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged)
|
||||
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:
|
||||
WidgetLoader(QWidget * parent = 0) : QWidget(parent), m_source(QUrl()), m_widget(0),
|
||||
@@ -824,7 +824,7 @@ public:
|
||||
{ setSource(QUrl(url)); }
|
||||
|
||||
QWidget *widget() const;
|
||||
QmlComponent *component() const
|
||||
QDeclarativeComponent *component() const
|
||||
{ return m_component; }
|
||||
|
||||
signals:
|
||||
@@ -834,7 +834,7 @@ signals:
|
||||
private:
|
||||
QUrl m_source;
|
||||
QWidget *m_widget;
|
||||
QmlComponent *m_component;
|
||||
QDeclarativeComponent *m_component;
|
||||
QVBoxLayout *m_layout;
|
||||
QHash<QString, QWidget*> m_cachedWidgets;
|
||||
};
|
||||
@@ -873,7 +873,7 @@ void WidgetLoader::setSource(const QUrl &source)
|
||||
m_widget = m_cachedWidgets.value(source.toString());
|
||||
m_widget->show();
|
||||
} else {
|
||||
m_component = new QmlComponent(qmlEngine(this), m_source, this);
|
||||
m_component = new QDeclarativeComponent(qmlEngine(this), m_source, this);
|
||||
|
||||
if (m_component) {
|
||||
emit sourceChanged();
|
||||
@@ -889,7 +889,7 @@ void WidgetLoader::setSource(const QUrl &source)
|
||||
return;
|
||||
}
|
||||
|
||||
QmlContext *ctxt = new QmlContext(qmlContext(this));
|
||||
QDeclarativeContext *ctxt = new QDeclarativeContext(qmlContext(this));
|
||||
ctxt->addDefaultObject(this);
|
||||
|
||||
QObject *obj = m_component->create(ctxt);
|
||||
@@ -1107,17 +1107,17 @@ class QTabWidgetDeclarativeUI : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
Q_PROPERTY(QmlListProperty<QTabObject> tabs READ tabs)
|
||||
Q_PROPERTY(QDeclarativeListProperty<QTabObject> tabs READ tabs)
|
||||
Q_CLASSINFO("DefaultProperty", "tabs")
|
||||
public:
|
||||
QTabWidgetDeclarativeUI(QObject *other) : QObject(other) {}
|
||||
|
||||
QmlListProperty<QTabObject> tabs() {
|
||||
return QmlListProperty<QTabObject>(this, 0, tabs_append, 0, 0, tabs_clear);
|
||||
QDeclarativeListProperty<QTabObject> tabs() {
|
||||
return QDeclarativeListProperty<QTabObject>(this, 0, tabs_append, 0, 0, tabs_clear);
|
||||
}
|
||||
|
||||
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());
|
||||
if (!o->icon().isNull())
|
||||
tw->addTab(o->content(), o->icon(), o->label());
|
||||
@@ -1125,7 +1125,7 @@ private:
|
||||
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());
|
||||
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_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"
|
||||
|
@@ -30,7 +30,7 @@
|
||||
#ifndef BASICWIDGETS_H
|
||||
#define BASICWIDGETS_H
|
||||
|
||||
#include <qml.h>
|
||||
#include <qdeclarative.h>
|
||||
#include <QGraphicsScene>
|
||||
#include <QGraphicsView>
|
||||
#include <QLabel>
|
||||
@@ -94,6 +94,7 @@ QML_DECLARE_TYPE(QTabWidget);
|
||||
QML_DECLARE_TYPE(FileWidget);
|
||||
QML_DECLARE_TYPE(LayoutWidget);
|
||||
|
||||
|
||||
class Action : public QAction {
|
||||
Q_OBJECT
|
||||
public:
|
||||
@@ -111,5 +112,9 @@ QML_DECLARE_TYPE(Action);
|
||||
//QML_DECLARE_TYPE(QTableView);
|
||||
|
||||
//top-level windows?
|
||||
class BasicWidgets {
|
||||
public:
|
||||
static void registerDeclarativeTypes();
|
||||
};
|
||||
|
||||
#endif // BASICWIDGETS_H
|
||||
|
@@ -39,10 +39,12 @@
|
||||
#include <QSpinBox>
|
||||
|
||||
|
||||
QML_DEFINE_TYPE(Bauhaus,1,0,BehaviorWidget,QmlDesigner::BehaviorWidget);
|
||||
|
||||
namespace QmlDesigner {
|
||||
|
||||
void BehaviorDialog::registerDeclarativeType()
|
||||
{
|
||||
QML_REGISTER_TYPE(Bauhaus,1,0,BehaviorWidget,QmlDesigner::BehaviorWidget);
|
||||
}
|
||||
|
||||
BehaviorWidget::BehaviorWidget() : QPushButton(), m_BehaviorDialog(new BehaviorDialog(0))
|
||||
{
|
||||
|
@@ -37,7 +37,7 @@
|
||||
#include <QDialog>
|
||||
#include <QWeakPointer>
|
||||
#include <QScopedPointer>
|
||||
#include <qml.h>
|
||||
#include <qdeclarative.h>
|
||||
|
||||
#include "ui_behaviordialog.h"
|
||||
|
||||
@@ -83,6 +83,7 @@ public slots:
|
||||
virtual void accept();
|
||||
virtual void reject();
|
||||
|
||||
static void registerDeclarativeType();
|
||||
|
||||
private:
|
||||
ModelNode m_modelNode;
|
||||
|
@@ -41,13 +41,14 @@
|
||||
#include <variantproperty.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 {
|
||||
|
||||
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)
|
||||
{
|
||||
QToolButton::paintEvent(event);
|
||||
|
@@ -36,7 +36,7 @@
|
||||
#include <QToolButton>
|
||||
#include <QMouseEvent>
|
||||
#include <modelnode.h>
|
||||
#include <qml.h>
|
||||
#include <qdeclarative.h>
|
||||
#include <propertyeditorvalue.h>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
@@ -282,6 +282,12 @@ private:
|
||||
};
|
||||
|
||||
|
||||
class ColorWidget {
|
||||
public:
|
||||
static void registerDeclarativeTypes();
|
||||
};
|
||||
|
||||
|
||||
} //QmlDesigner
|
||||
|
||||
QML_DECLARE_TYPE(QmlDesigner::ColorButton);
|
||||
|
@@ -36,8 +36,6 @@
|
||||
#include <QComboBox>
|
||||
#include <QLabel>
|
||||
|
||||
QML_DEFINE_TYPE(Bauhaus,1,0,FontWidget,QmlDesigner::FontWidget);
|
||||
|
||||
namespace QmlDesigner {
|
||||
|
||||
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
|
||||
|
@@ -32,7 +32,7 @@
|
||||
|
||||
#include <QWeakPointer>
|
||||
#include <QWidget>
|
||||
#include <qml.h>
|
||||
#include <qdeclarative.h>
|
||||
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
@@ -75,6 +75,8 @@ public:
|
||||
QFont font() const;
|
||||
void setFont(QFont size);
|
||||
|
||||
static void registerDeclarativeTypes();
|
||||
|
||||
signals:
|
||||
void familyChanged();
|
||||
void boldChanged();
|
||||
|
@@ -39,19 +39,27 @@
|
||||
#include <variantproperty.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/QDir>
|
||||
#include <QtCore/QFileSystemWatcher>
|
||||
#include <QtCore/QFileInfo>
|
||||
#include <QtCore/QDebug>
|
||||
#include <QtDeclarative/QmlView>
|
||||
#include <QtDeclarative/QmlContext>
|
||||
#include <QtDeclarative/QDeclarativeView>
|
||||
#include <QtDeclarative/QDeclarativeContext>
|
||||
#include <QtGui/QVBoxLayout>
|
||||
#include <QtGui/QShortcut>
|
||||
#include <QtGui/QStackedWidget>
|
||||
#include <QmlEngine>
|
||||
#include <QmlMetaType>
|
||||
#include <QDeclarativeEngine>
|
||||
#include <private/qdeclarativemetatype_p.h>
|
||||
#include <QMessageBox>
|
||||
#include <QApplication>
|
||||
|
||||
@@ -61,13 +69,12 @@ enum {
|
||||
|
||||
namespace QmlDesigner {
|
||||
|
||||
PropertyEditor::NodeType::NodeType(const QUrl &qmlFile, PropertyEditor *propertyEditor) :
|
||||
m_view(new QmlView)
|
||||
PropertyEditor::NodeType::NodeType(PropertyEditor *propertyEditor) :
|
||||
m_view(new QDeclarativeView)
|
||||
{
|
||||
Q_ASSERT(QFileInfo(":/images/button_normal.png").exists());
|
||||
|
||||
m_view->setResizeMode(QmlView::SizeRootObjectToView);
|
||||
m_view->setSource(qmlFile);
|
||||
m_view->setResizeMode(QDeclarativeView::SizeRootObjectToView);
|
||||
|
||||
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);
|
||||
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) {
|
||||
valueObject = new PropertyEditorValue(propertyMap);
|
||||
QObject::connect(valueObject, SIGNAL(valueChanged(QString)), propertyMap, SIGNAL(valueChanged(QString)));
|
||||
@@ -91,11 +98,11 @@ void setupPropertyEditorValue(const QString &name, QmlPropertyMap *propertyMap,
|
||||
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);
|
||||
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) {
|
||||
valueObject = new PropertyEditorValue(propertyMap);
|
||||
QObject::connect(valueObject, SIGNAL(valueChanged(QString)), propertyMap, SIGNAL(valueChanged(QString)));
|
||||
@@ -125,7 +132,7 @@ void PropertyEditor::NodeType::setValue(const QmlObjectNode & /*fxObjectNode*/,
|
||||
{
|
||||
QString propertyName = name;
|
||||
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)
|
||||
propertyValue->setValue(value);
|
||||
}
|
||||
@@ -135,14 +142,14 @@ void PropertyEditor::NodeType::setup(const QmlObjectNode &fxObjectNode, const QS
|
||||
if (!fxObjectNode.isValid())
|
||||
return;
|
||||
|
||||
QmlContext *ctxt = m_view->rootContext();
|
||||
QDeclarativeContext *ctxt = m_view->rootContext();
|
||||
|
||||
if (fxObjectNode.isValid()) {
|
||||
foreach (const QString &propertyName, fxObjectNode.modelNode().metaInfo().properties(true).keys())
|
||||
createPropertyEditorValue(fxObjectNode, propertyName, fxObjectNode.instanceValue(propertyName), &m_backendValuesPropertyMap, propertyEditor);
|
||||
|
||||
// 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)
|
||||
valueObject = new PropertyEditorValue(&m_backendValuesPropertyMap);
|
||||
valueObject->setName("className");
|
||||
@@ -152,7 +159,7 @@ void PropertyEditor::NodeType::setup(const QmlObjectNode &fxObjectNode, const QS
|
||||
m_backendValuesPropertyMap.insert("className", QVariant::fromValue(valueObject));
|
||||
|
||||
// id
|
||||
valueObject = qobject_cast<PropertyEditorValue*>(QmlMetaType::toQObject(m_backendValuesPropertyMap.value("id")));
|
||||
valueObject = qobject_cast<PropertyEditorValue*>(QDeclarativeMetaType::toQObject(m_backendValuesPropertyMap.value("id")));
|
||||
if (!valueObject)
|
||||
valueObject = new PropertyEditorValue(&m_backendValuesPropertyMap);
|
||||
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)
|
||||
{
|
||||
QmlContext *ctxt = m_view->rootContext();
|
||||
QDeclarativeContext *ctxt = m_view->rootContext();
|
||||
|
||||
NodeMetaInfo metaInfo = propertyEditor->model()->metaInfo().nodeMetaInfo(typeName, 4, 6);
|
||||
|
||||
foreach (const QString &propertyName, metaInfo.properties(true).keys())
|
||||
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)
|
||||
valueObject = new PropertyEditorValue(&m_backendValuesPropertyMap);
|
||||
valueObject->setName("className");
|
||||
@@ -194,7 +201,7 @@ void PropertyEditor::NodeType::initialSetup(const QString &typeName, const QUrl
|
||||
m_backendValuesPropertyMap.insert("className", QVariant::fromValue(valueObject));
|
||||
|
||||
// id
|
||||
valueObject = qobject_cast<PropertyEditorValue*>(QmlMetaType::toQObject(m_backendValuesPropertyMap.value("id")));
|
||||
valueObject = qobject_cast<PropertyEditorValue*>(QDeclarativeMetaType::toQObject(m_backendValuesPropertyMap.value("id")));
|
||||
if (!valueObject)
|
||||
valueObject = new PropertyEditorValue(&m_backendValuesPropertyMap);
|
||||
valueObject->setName("id");
|
||||
@@ -227,6 +234,20 @@ PropertyEditor::PropertyEditor(QWidget *parent) :
|
||||
QString styleSheet = QLatin1String(file.readAll());
|
||||
m_stackedWidget->setStyleSheet(styleSheet);
|
||||
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()
|
||||
@@ -245,18 +266,18 @@ void PropertyEditor::setupPane(const QString &typeName)
|
||||
NodeType *type = m_typeHash.value(qmlFile.toString());
|
||||
|
||||
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) );
|
||||
type->initialSetup(typeName, qmlSpecificsFile, this);
|
||||
type->m_view->execute();
|
||||
type->m_view->setSource(qmlFile);
|
||||
ctxt->setContextProperty("finishedNotify", QVariant(true) );
|
||||
|
||||
m_stackedWidget->addWidget(type->m_view);
|
||||
m_typeHash.insert(qmlFile.toString(), type);
|
||||
} else {
|
||||
QmlContext *ctxt = type->m_view->rootContext();
|
||||
QDeclarativeContext *ctxt = type->m_view->rootContext();
|
||||
ctxt->setContextProperty("finishedNotify", QVariant(false) );
|
||||
type->initialSetup(typeName, qmlSpecificsFile, this);
|
||||
ctxt->setContextProperty("finishedNotify", QVariant(true) );
|
||||
@@ -279,7 +300,7 @@ void PropertyEditor::changeValue(const QString &propertyName)
|
||||
return;
|
||||
|
||||
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();
|
||||
|
||||
try {
|
||||
@@ -297,7 +318,7 @@ void PropertyEditor::changeValue(const QString &propertyName)
|
||||
//.replace(QLatin1Char('.'), QLatin1Char('_'))
|
||||
QString underscoreName(propertyName);
|
||||
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) {
|
||||
qWarning() << "PropertyEditor:" <<propertyName << " - value is null";
|
||||
@@ -354,7 +375,7 @@ void PropertyEditor::changeExpression(const QString &name)
|
||||
return;
|
||||
|
||||
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 {
|
||||
if (fxObjectNode.currentState().isBaseState()) {
|
||||
fxObjectNode.modelNode().bindingProperty(name).setExpression(value->expression());
|
||||
@@ -442,7 +463,7 @@ void PropertyEditor::resetView()
|
||||
NodeType *type = m_typeHash.value(qmlFile.toString());
|
||||
|
||||
if (!type) {
|
||||
type = new NodeType(qmlFile, this);
|
||||
type = new NodeType(this);
|
||||
|
||||
m_stackedWidget->addWidget(type->m_view);
|
||||
m_typeHash.insert(qmlFile.toString(), type);
|
||||
@@ -454,9 +475,9 @@ void PropertyEditor::resetView()
|
||||
}
|
||||
type->setup(fxObjectNode, currentState().name(), qmlSpecificsFile, this);
|
||||
|
||||
QmlContext *ctxt = type->m_view->rootContext();
|
||||
QDeclarativeContext *ctxt = type->m_view->rootContext();
|
||||
ctxt->setContextProperty("finishedNotify", QVariant(false));
|
||||
type->m_view->execute();
|
||||
type->m_view->setSource(qmlFile);
|
||||
ctxt->setContextProperty("finishedNotify", QVariant(true));
|
||||
} else {
|
||||
QmlObjectNode fxObjectNode;
|
||||
|
@@ -31,9 +31,9 @@
|
||||
#define QmlPropertyView_h
|
||||
|
||||
#include <qmlmodelview.h>
|
||||
#include <QmlView>
|
||||
#include <QDeclarativeView>
|
||||
#include <QHash>
|
||||
#include <QmlPropertyMap>
|
||||
#include <QDeclarativePropertyMap>
|
||||
|
||||
#include "qmlanchorbindingproxy.h"
|
||||
|
||||
@@ -50,16 +50,16 @@ class PropertyEditor: public QmlModelView
|
||||
|
||||
class NodeType {
|
||||
public:
|
||||
NodeType(const QUrl &qmlFile, PropertyEditor *propertyEditor);
|
||||
NodeType(PropertyEditor *propertyEditor);
|
||||
~NodeType();
|
||||
|
||||
void setup(const QmlObjectNode &fxObjectNode, const QString &stateName, 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);
|
||||
|
||||
QmlView *m_view;
|
||||
QDeclarativeView *m_view;
|
||||
Internal::QmlAnchorBindingProxy m_backendAnchorBinding;
|
||||
QmlPropertyMap m_backendValuesPropertyMap;
|
||||
QDeclarativePropertyMap m_backendValuesPropertyMap;
|
||||
};
|
||||
|
||||
public:
|
||||
|
@@ -38,11 +38,6 @@
|
||||
#include <nodeproperty.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;
|
||||
|
||||
PropertyEditorValue::PropertyEditorValue(QObject *parent)
|
||||
@@ -209,6 +204,13 @@ void PropertyEditorValue::unlock()
|
||||
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)
|
||||
{
|
||||
m_editorValue = parent;
|
||||
@@ -246,7 +248,7 @@ QString PropertyEditorNodeWrapper::propertyName() const
|
||||
return m_editorValue->name();
|
||||
}
|
||||
|
||||
QmlPropertyMap* PropertyEditorNodeWrapper::properties()
|
||||
QDeclarativePropertyMap* PropertyEditorNodeWrapper::properties()
|
||||
{
|
||||
return &m_valuesPropertyMap;
|
||||
}
|
||||
@@ -344,3 +346,4 @@ void PropertyEditorNodeWrapper::update()
|
||||
emit typeChanged();
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -31,8 +31,8 @@
|
||||
#define PROPERTYEDITORVALUE_H
|
||||
|
||||
#include <QObject>
|
||||
#include <QmlPropertyMap>
|
||||
#include <qml.h>
|
||||
#include <QDeclarativePropertyMap>
|
||||
#include <qdeclarative.h>
|
||||
#include <modelnode.h>
|
||||
#include <rewritertransaction.h>
|
||||
|
||||
@@ -45,7 +45,7 @@ class PropertyEditorNodeWrapper : public QObject {
|
||||
Q_OBJECT
|
||||
|
||||
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)
|
||||
|
||||
public:
|
||||
@@ -53,7 +53,7 @@ public:
|
||||
PropertyEditorNodeWrapper(PropertyEditorValue* parent);
|
||||
bool exists();
|
||||
QString type();
|
||||
QmlPropertyMap* properties();
|
||||
QDeclarativePropertyMap* properties();
|
||||
ModelNode parentModelNode() const;
|
||||
QString propertyName() const;
|
||||
|
||||
@@ -72,7 +72,7 @@ private:
|
||||
void setup();
|
||||
|
||||
QmlDesigner::ModelNode m_modelNode;
|
||||
QmlPropertyMap m_valuesPropertyMap;
|
||||
QDeclarativePropertyMap m_valuesPropertyMap;
|
||||
PropertyEditorValue* m_editorValue;
|
||||
};
|
||||
|
||||
@@ -117,6 +117,8 @@ public:
|
||||
|
||||
PropertyEditorNodeWrapper* complexNode();
|
||||
|
||||
static void registerDeclarativeTypes();
|
||||
|
||||
public slots:
|
||||
void resetValue();
|
||||
void lock();
|
||||
@@ -148,6 +150,6 @@ private: //variables
|
||||
|
||||
QML_DECLARE_TYPE(PropertyEditorValue);
|
||||
QML_DECLARE_TYPE(PropertyEditorNodeWrapper);
|
||||
QML_DECLARE_TYPE(QmlPropertyMap);
|
||||
QML_DECLARE_TYPE(QDeclarativePropertyMap);
|
||||
|
||||
#endif // PROPERTYEDITORVALUE_H
|
||||
|
@@ -31,7 +31,11 @@
|
||||
|
||||
|
||||
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)
|
||||
: QObject(parent)
|
||||
|
@@ -32,7 +32,7 @@
|
||||
|
||||
#include <QObject>
|
||||
#include <QLayout>
|
||||
#include <qml.h>
|
||||
#include <qdeclarative.h>
|
||||
|
||||
|
||||
QT_BEGIN_HEADER
|
||||
@@ -47,6 +47,8 @@ public:
|
||||
QLayoutObject(QObject *parent = 0);
|
||||
|
||||
virtual QLayout *layout() const;
|
||||
|
||||
static void registerDeclarativeType();
|
||||
};
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
@@ -32,8 +32,6 @@
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
QML_DEFINE_TYPE(Qt,4,6,LayoutItem,QProxyLayoutItem);
|
||||
|
||||
QProxyLayoutItem::QProxyLayoutItem(QGraphicsLayoutItem *i)
|
||||
: enabled(true), other(i)
|
||||
{
|
||||
@@ -90,8 +88,6 @@ QSizeF QProxyLayoutItem::sizeHint(Qt::SizeHint which, const QSizeF &c) const
|
||||
return rv;
|
||||
}
|
||||
|
||||
QML_DEFINE_TYPE(Qt,4,6,ProxyLayout,QProxyLayout);
|
||||
|
||||
QProxyLayout::QProxyLayout(QObject *parent)
|
||||
: QObject(parent), proxy(0)
|
||||
{
|
||||
@@ -162,4 +158,10 @@ QSizeF QProxyLayout::sizeHint(Qt::SizeHint which,
|
||||
return QSizeF();
|
||||
}
|
||||
|
||||
void QProxyLayoutItem::registerDeclarativeTypes()
|
||||
{
|
||||
QML_REGISTER_TYPE(Qt,4,6,LayoutItem,QProxyLayoutItem);
|
||||
QML_REGISTER_TYPE(Qt,4,6,ProxyLayout,QProxyLayout);
|
||||
}
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
@@ -30,7 +30,7 @@
|
||||
#ifndef QPROXYLAYOUTITEM_H
|
||||
#define QPROXYLAYOUTITEM_H
|
||||
|
||||
#include <qml.h>
|
||||
#include <qdeclarative.h>
|
||||
#include <QGraphicsLayout>
|
||||
|
||||
QT_BEGIN_HEADER
|
||||
@@ -78,6 +78,9 @@ public:
|
||||
void setItem(QGraphicsLayoutItem *);
|
||||
|
||||
void setEnabled(bool);
|
||||
|
||||
static void registerDeclarativeTypes();
|
||||
|
||||
protected:
|
||||
virtual QSizeF sizeHint(Qt::SizeHint, const QSizeF &) const;
|
||||
|
||||
|
@@ -28,7 +28,7 @@
|
||||
**************************************************************************/
|
||||
|
||||
|
||||
#include "qml.h"
|
||||
#include "qdeclarative.h"
|
||||
#include "resetwidget.h"
|
||||
#include <QVBoxLayout>
|
||||
#include <QHBoxLayout>
|
||||
@@ -41,7 +41,6 @@
|
||||
#include <QApplication>
|
||||
|
||||
QML_DECLARE_TYPE(QmlDesigner::ResetWidget);
|
||||
QML_DEFINE_TYPE(Bauhaus, 1, 0, ResetWidget, QmlDesigner::ResetWidget);
|
||||
|
||||
namespace QmlDesigner {
|
||||
|
||||
@@ -58,6 +57,11 @@ ResetWidget::ResetWidget(QWidget *parent) : QGroupBox(parent), m_backendObject(0
|
||||
setLayout(m_vlayout);
|
||||
}
|
||||
|
||||
void ResetWidget::registerDeclarativeType()
|
||||
{
|
||||
QML_REGISTER_TYPE(Bauhaus, 1, 0, ResetWidget, QmlDesigner::ResetWidget);
|
||||
}
|
||||
|
||||
void ResetWidget::resetView()
|
||||
{
|
||||
m_tableWidget->clear();
|
||||
|
@@ -64,6 +64,8 @@ public:
|
||||
setupView();
|
||||
}
|
||||
|
||||
static void registerDeclarativeType();
|
||||
|
||||
public slots:
|
||||
void buttonPressed(const QString &name);
|
||||
|
||||
|
@@ -43,10 +43,10 @@
|
||||
#include <QtGui/QPushButton>
|
||||
#include <QtGui/QMessageBox>
|
||||
|
||||
#include <QtDeclarative/QmlView>
|
||||
#include <QtDeclarative/QmlContext>
|
||||
#include <QtDeclarative/QmlEngine>
|
||||
#include <QtDeclarative/QmlGraphicsItem>
|
||||
#include <QtDeclarative/QDeclarativeView>
|
||||
#include <QtDeclarative/QDeclarativeContext>
|
||||
#include <QtDeclarative/QDeclarativeEngine>
|
||||
#include <QtDeclarative/QDeclarativeItem>
|
||||
|
||||
enum {
|
||||
debug = false
|
||||
@@ -77,7 +77,7 @@ private slots:
|
||||
private:
|
||||
StatesEditorWidget *m_q;
|
||||
QWeakPointer<Model> model;
|
||||
QWeakPointer<QmlView> listView;
|
||||
QWeakPointer<QDeclarativeView> listView;
|
||||
QWeakPointer<Internal::StatesEditorModel> statesEditorModel;
|
||||
QWeakPointer<Internal::StatesEditorView> statesEditorView;
|
||||
friend class QmlDesigner::StatesEditorWidget;
|
||||
@@ -149,7 +149,7 @@ StatesEditorWidget::StatesEditorWidget(QWidget *parent):
|
||||
m_d(new Internal::StatesEditorWidgetPrivate(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);
|
||||
|
||||
@@ -158,13 +158,11 @@ StatesEditorWidget::StatesEditorWidget(QWidget *parent):
|
||||
layout->setSpacing(0);
|
||||
layout->addWidget(m_d->listView.data());
|
||||
|
||||
m_d->listView->setSource(QUrl("qrc:/stateseditor/stateslist.qml"));
|
||||
|
||||
m_d->listView->setResizeMode(QmlView::SizeRootObjectToView);
|
||||
m_d->listView->setResizeMode(QDeclarativeView::SizeRootObjectToView);
|
||||
|
||||
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())
|
||||
throw InvalidQmlSourceException(__LINE__, __FUNCTION__, __FILE__);
|
||||
|
@@ -37,7 +37,7 @@
|
||||
#include <QString>
|
||||
#include <QIcon>
|
||||
#include "propertycontainer.h"
|
||||
#include <qml.h>
|
||||
#include <qdeclarative.h>
|
||||
|
||||
namespace QmlDesigner {
|
||||
|
||||
|
@@ -34,7 +34,7 @@
|
||||
#include <QtCore/QObject>
|
||||
#include <QtCore/QMimeData>
|
||||
#include <QtCore/QPair>
|
||||
#include <QtDeclarative/QmlError>
|
||||
#include <QtDeclarative/QDeclarativeError>
|
||||
|
||||
#include <import.h>
|
||||
|
||||
|
@@ -40,7 +40,7 @@
|
||||
QT_BEGIN_NAMESPACE
|
||||
class QPainter;
|
||||
class QStyleOptionGraphicsItem;
|
||||
class QmlContext;
|
||||
class QDeclarativeContext;
|
||||
class QGraphicsItem;
|
||||
class QGraphicsTransform;
|
||||
QT_END_NAMESPACE
|
||||
@@ -92,7 +92,7 @@ public:
|
||||
bool isGraphicsWidget() const;
|
||||
bool isProxyWidget() const;
|
||||
bool isWidget() const;
|
||||
bool isQmlView() const;
|
||||
bool isQDeclarativeView() const;
|
||||
bool isGraphicsObject() const;
|
||||
bool isTransition() const;
|
||||
|
||||
@@ -137,11 +137,13 @@ public:
|
||||
void deactivateState();
|
||||
void refreshState();
|
||||
|
||||
static void registerDeclarativeTypes();
|
||||
|
||||
private: // functions
|
||||
NodeInstance(const QSharedPointer<Internal::ObjectNodeInstance> &abstractInstance);
|
||||
|
||||
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 reparent(const NodeInstance &oldParentInstance, const QString &oldParentProperty, const NodeInstance &newParentInstance, const QString &newParentProperty);
|
||||
@@ -150,7 +152,7 @@ private: // functions
|
||||
|
||||
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;
|
||||
|
||||
void paintUpdate();
|
||||
|
@@ -42,7 +42,7 @@
|
||||
#include <nodeinstance.h>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
class QmlEngine;
|
||||
class QDeclarativeEngine;
|
||||
class QGraphicsScene;
|
||||
class QGraphicsView;
|
||||
QT_END_NAMESPACE
|
||||
@@ -134,7 +134,7 @@ private: // functions
|
||||
void insertInstanceNodeRelationship(const ModelNode &node, const NodeInstance &instance);
|
||||
void removeInstanceNodeRelationship(const ModelNode &node);
|
||||
|
||||
QmlEngine *engine() const;
|
||||
QDeclarativeEngine *engine() const;
|
||||
Internal::ChildrenChangeEventFilter *childrenChangeEventFilter();
|
||||
void removeInstanceAndSubInstances(const ModelNode &node);
|
||||
|
||||
@@ -144,7 +144,7 @@ private: //variables
|
||||
|
||||
QHash<ModelNode, NodeInstance> m_nodeInstanceHash;
|
||||
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<QmlModelView> m_qmlModelView;
|
||||
|
@@ -39,7 +39,7 @@
|
||||
#include "invalidmetainfoexception.h"
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
class QmlContext;
|
||||
class QDeclarativeContext;
|
||||
QT_END_NAMESPACE
|
||||
|
||||
namespace QmlDesigner {
|
||||
@@ -77,7 +77,7 @@ public:
|
||||
bool isValid() const;
|
||||
MetaInfo metaInfo() const;
|
||||
|
||||
QObject *createInstance(QmlContext *parentContext) const;
|
||||
QObject *createInstance(QDeclarativeContext *parentContext) const;
|
||||
|
||||
PropertyMetaInfo property(const QString &propertyName, bool resolveDotSyntax = false) const;
|
||||
|
||||
|
@@ -77,7 +77,7 @@ public:
|
||||
|
||||
public:
|
||||
Error();
|
||||
Error(const QmlError &qmlError);
|
||||
Error(const QDeclarativeError &qmlError);
|
||||
Error(Exception *exception);
|
||||
|
||||
Type type() const
|
||||
|
@@ -37,7 +37,7 @@
|
||||
#include <QObject>
|
||||
#include <QString>
|
||||
#include <QUrl>
|
||||
#include <private/qmldom_p.h>
|
||||
#include <private/qdeclarativedom_p.h>
|
||||
|
||||
namespace QmlDesigner {
|
||||
|
||||
@@ -49,7 +49,7 @@ public:
|
||||
~SubComponentManager();
|
||||
|
||||
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 directories() const;
|
||||
|
@@ -1,6 +1,6 @@
|
||||
#include "behaviornodeinstance.h"
|
||||
|
||||
#include <private/qmlbehavior_p.h>
|
||||
#include <private/qdeclarativebehavior_p.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;
|
||||
if (objectToBeWrapped)
|
||||
@@ -21,7 +21,7 @@ BehaviorNodeInstance::Pointer BehaviorNodeInstance::create(const NodeMetaInfo &n
|
||||
else
|
||||
object = createObject(nodeMetaInfo, context);
|
||||
|
||||
QmlBehavior* behavior = qobject_cast<QmlBehavior*>(object);
|
||||
QDeclarativeBehavior* behavior = qobject_cast<QDeclarativeBehavior*>(object);
|
||||
if (behavior == 0)
|
||||
throw InvalidNodeInstanceException(__LINE__, __FUNCTION__, __FILE__);
|
||||
|
||||
|
@@ -14,7 +14,7 @@ public:
|
||||
|
||||
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 setPropertyBinding(const QString &name, const QString &expression);
|
||||
|
@@ -30,31 +30,31 @@
|
||||
#include "componentnodeinstance.h"
|
||||
|
||||
#include <invalidnodeinstanceexception.h>
|
||||
#include <QmlComponent>
|
||||
#include <QmlContext>
|
||||
#include <QDeclarativeComponent>
|
||||
#include <QDeclarativeContext>
|
||||
|
||||
namespace QmlDesigner {
|
||||
namespace Internal {
|
||||
|
||||
|
||||
ComponentNodeInstance::ComponentNodeInstance(QmlComponent *component)
|
||||
ComponentNodeInstance::ComponentNodeInstance(QDeclarativeComponent *component)
|
||||
: ObjectNodeInstance(component)
|
||||
{
|
||||
}
|
||||
|
||||
QmlComponent *ComponentNodeInstance::component() const
|
||||
QDeclarativeComponent *ComponentNodeInstance::component() const
|
||||
{
|
||||
Q_ASSERT(qobject_cast<QmlComponent*>(object()));
|
||||
return static_cast<QmlComponent*>(object());
|
||||
Q_ASSERT(qobject_cast<QDeclarativeComponent*>(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)
|
||||
component = qobject_cast<QmlComponent *>(objectToBeWrapped);
|
||||
component = qobject_cast<QDeclarativeComponent *>(objectToBeWrapped);
|
||||
else
|
||||
component = new QmlComponent(context->engine());
|
||||
component = new QDeclarativeComponent(context->engine());
|
||||
|
||||
if (component == 0)
|
||||
throw InvalidNodeInstanceException(__LINE__, __FUNCTION__, __FILE__);
|
||||
@@ -91,7 +91,7 @@ void ComponentNodeInstance::setPropertyVariant(const QString &name, const QVaria
|
||||
}
|
||||
if (component()->isError()) {
|
||||
qDebug() << value;
|
||||
foreach(const QmlError &error, component()->errors())
|
||||
foreach(const QDeclarativeError &error, component()->errors())
|
||||
qDebug() << error;
|
||||
}
|
||||
|
||||
|
@@ -33,7 +33,7 @@
|
||||
#include "objectnodeinstance.h"
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
class QmlComponent;
|
||||
class QDeclarativeComponent;
|
||||
QT_END_NAMESPACE
|
||||
|
||||
namespace QmlDesigner {
|
||||
@@ -44,15 +44,15 @@ class ComponentNodeInstance : public ObjectNodeInstance
|
||||
public:
|
||||
typedef QSharedPointer<ComponentNodeInstance> Pointer;
|
||||
typedef QWeakPointer<ComponentNodeInstance> WeakPointer;
|
||||
ComponentNodeInstance(QmlComponent *component);
|
||||
static Pointer create(const NodeMetaInfo &metaInfo, QmlContext *context, QObject *objectToBeWrapped);
|
||||
ComponentNodeInstance(QDeclarativeComponent *component);
|
||||
static Pointer create(const NodeMetaInfo &metaInfo, QDeclarativeContext *context, QObject *objectToBeWrapped);
|
||||
|
||||
void setPropertyVariant(const QString &name, const QVariant &value);
|
||||
|
||||
bool hasContent() const;
|
||||
|
||||
private: //function
|
||||
QmlComponent *component() const;
|
||||
QDeclarativeComponent *component() const;
|
||||
|
||||
};
|
||||
|
||||
|
@@ -29,7 +29,7 @@
|
||||
|
||||
#include "dummynodeinstance.h"
|
||||
|
||||
#include <QmlMetaType>
|
||||
#include <private/qdeclarativemetatype_p.h>
|
||||
#include <nodemetainfo.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);
|
||||
qWarning() << "DummyNodeInstance created" << metaInfo.typeName();
|
||||
|
@@ -43,7 +43,7 @@ public:
|
||||
typedef QSharedPointer<DummyNodeInstance> Pointer;
|
||||
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;
|
||||
|
||||
|
@@ -201,7 +201,7 @@ void GraphicsObjectNodeInstance::paint(QPainter *painter) const
|
||||
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);
|
||||
QGraphicsObject *graphicsObject = qobject_cast<QGraphicsObject*>(object);
|
||||
|
@@ -80,7 +80,7 @@ public:
|
||||
protected:
|
||||
QGraphicsObject *graphicsObject() 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
|
||||
bool m_isVisible;
|
||||
bool m_hasContent;
|
||||
|
@@ -29,7 +29,7 @@
|
||||
|
||||
#include "graphicsscenenodeinstance.h"
|
||||
|
||||
#include <QmlMetaType>
|
||||
#include <private/qdeclarativemetatype_p.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;
|
||||
if (objectToBeWrapped)
|
||||
|
@@ -45,7 +45,7 @@ public:
|
||||
|
||||
~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;
|
||||
|
||||
|
@@ -29,8 +29,8 @@
|
||||
|
||||
#include "graphicsviewnodeinstance.h"
|
||||
|
||||
#include <QmlMetaType>
|
||||
#include <QmlEngine>
|
||||
#include <private/qdeclarativemetatype_p.h>
|
||||
#include <QDeclarativeEngine>
|
||||
#include <invalidnodeinstanceexception.h>
|
||||
|
||||
namespace QmlDesigner {
|
||||
@@ -43,7 +43,7 @@ GraphicsViewNodeInstance::GraphicsViewNodeInstance(QGraphicsView *view)
|
||||
|
||||
|
||||
GraphicsViewNodeInstance::Pointer GraphicsViewNodeInstance::create(const NodeMetaInfo &nodeMetaInfo,
|
||||
QmlContext *context,
|
||||
QDeclarativeContext *context,
|
||||
QObject *objectToBeWrapped)
|
||||
{
|
||||
QObject *object = 0;
|
||||
|
@@ -44,7 +44,7 @@ public:
|
||||
typedef QSharedPointer<GraphicsViewNodeInstance> Pointer;
|
||||
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);
|
||||
|
||||
|
@@ -32,7 +32,7 @@
|
||||
|
||||
#include "objectnodeinstance.h"
|
||||
|
||||
#include <QmlMetaType>
|
||||
#include <private/qdeclarativemetatype_p.h>
|
||||
|
||||
#include <invalidnodeinstanceexception.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;
|
||||
if (objectToBeWrapped)
|
||||
|
@@ -46,7 +46,7 @@ public:
|
||||
|
||||
~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;
|
||||
|
||||
|
@@ -52,7 +52,7 @@
|
||||
#include <QHash>
|
||||
#include <QSet>
|
||||
|
||||
#include <QtDeclarative/QmlEngine>
|
||||
#include <QtDeclarative/QDeclarativeEngine>
|
||||
|
||||
/*!
|
||||
\class QmlDesigner::NodeInstance
|
||||
@@ -123,19 +123,19 @@ void NodeInstance::paint(QPainter *painter) const
|
||||
\brief Creates a new NodeInstace for this NodeMetaInfo
|
||||
|
||||
\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
|
||||
\see NodeMetaInfo
|
||||
*/
|
||||
Internal::ObjectNodeInstance::Pointer NodeInstance::createInstance(const NodeMetaInfo &metaInfo,
|
||||
QmlContext *context, QObject *objectToBeWrapped)
|
||||
QDeclarativeContext *context, QObject *objectToBeWrapped)
|
||||
{
|
||||
Internal::ObjectNodeInstance::Pointer instance;
|
||||
|
||||
if (metaInfo.isSubclassOf("Qt/QGraphicsView", 4, 6))
|
||||
instance = Internal::GraphicsViewNodeInstance::create(metaInfo, context, objectToBeWrapped);
|
||||
else if (metaInfo.isSubclassOf("Qt/QmlView", 4, 6))
|
||||
instance = Internal::QmlViewNodeInstance::create(metaInfo, context, objectToBeWrapped);
|
||||
else if (metaInfo.isSubclassOf("Qt/QDeclarativeView", 4, 6))
|
||||
instance = Internal::QDeclarativeViewNodeInstance::create(metaInfo, context, objectToBeWrapped);
|
||||
else if (metaInfo.isSubclassOf("Qt/QGraphicsWidget", 4, 6))
|
||||
instance = Internal::GraphicsWidgetNodeInstance::create(metaInfo, context, objectToBeWrapped);
|
||||
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
|
||||
// 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));
|
||||
|
||||
@@ -197,7 +197,7 @@ NodeInstance NodeInstance::create(NodeInstanceView *nodeInstanceView, const Mode
|
||||
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));
|
||||
instance.m_nodeInstance->setNodeInstanceView(nodeInstanceView);
|
||||
@@ -265,8 +265,8 @@ bool NodeInstance::hasParent() const
|
||||
}
|
||||
|
||||
/*!
|
||||
\brief Returns if the NodeInstance is a QmlGraphicsItem.
|
||||
\returns true if this NodeInstance is a QmlGraphicsItem
|
||||
\brief Returns if the NodeInstance is a QDeclarativeItem.
|
||||
\returns true if this NodeInstance is a QDeclarativeItem
|
||||
*/
|
||||
bool NodeInstance::isQmlGraphicsItem() const
|
||||
{
|
||||
@@ -319,12 +319,12 @@ bool NodeInstance::isWidget() const
|
||||
}
|
||||
|
||||
/*!
|
||||
\brief Returns if the NodeInstance is a QmlView.
|
||||
\returns true if this NodeInstance is a QmlView
|
||||
\brief Returns if the NodeInstance is a QDeclarativeView.
|
||||
\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
|
||||
@@ -610,4 +610,13 @@ void 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
|
||||
|
@@ -8,14 +8,14 @@ namespace QmlDesigner {
|
||||
namespace Internal {
|
||||
|
||||
NodeInstanceMetaObject::NodeInstanceMetaObject(const ObjectNodeInstance::Pointer &nodeInstance)
|
||||
: QmlOpenMetaObject(nodeInstance->object()),
|
||||
: QDeclarativeOpenMetaObject(nodeInstance->object()),
|
||||
m_nodeInstance(nodeInstance),
|
||||
m_context(nodeInstance->modelNode().isRootNode() ? nodeInstance->context() : 0)
|
||||
{
|
||||
}
|
||||
|
||||
NodeInstanceMetaObject::NodeInstanceMetaObject(const ObjectNodeInstancePointer &nodeInstance, QObject *object, const QString &prefix)
|
||||
: QmlOpenMetaObject(object),
|
||||
: QDeclarativeOpenMetaObject(object),
|
||||
m_nodeInstance(nodeInstance),
|
||||
m_prefix(prefix)
|
||||
{
|
||||
|
@@ -1,8 +1,8 @@
|
||||
#ifndef NODEINSTANCEMETAOBJECT_H
|
||||
#define NODEINSTANCEMETAOBJECT_H
|
||||
|
||||
#include <private/qmlopenmetaobject_p.h>
|
||||
#include <private/qmlcontext_p.h>
|
||||
#include <private/qdeclarativeopenmetaobject_p.h>
|
||||
#include <private/qdeclarativecontext_p.h>
|
||||
|
||||
namespace QmlDesigner {
|
||||
namespace Internal {
|
||||
@@ -11,7 +11,7 @@ class ObjectNodeInstance;
|
||||
typedef QSharedPointer<ObjectNodeInstance> ObjectNodeInstancePointer;
|
||||
typedef QWeakPointer<ObjectNodeInstance> ObjectNodeInstanceWeakPointer;
|
||||
|
||||
class NodeInstanceMetaObject : public QmlOpenMetaObject
|
||||
class NodeInstanceMetaObject : public QDeclarativeOpenMetaObject
|
||||
{
|
||||
public:
|
||||
NodeInstanceMetaObject(const ObjectNodeInstancePointer &nodeInstance);
|
||||
@@ -26,7 +26,7 @@ protected:
|
||||
private:
|
||||
ObjectNodeInstanceWeakPointer m_nodeInstance;
|
||||
QString m_prefix;
|
||||
QWeakPointer<QmlContext> m_context;
|
||||
QWeakPointer<QDeclarativeContext> m_context;
|
||||
};
|
||||
|
||||
} // namespace Internal
|
||||
|
@@ -4,7 +4,7 @@
|
||||
#include <QMetaProperty>
|
||||
#include <QMetaObject>
|
||||
#include <QtDebug>
|
||||
#include <private/qmlmetaproperty_p.h>
|
||||
#include <private/qdeclarativeproperty_p.h>
|
||||
|
||||
#include "objectnodeinstance.h"
|
||||
#include <QSharedPointer>
|
||||
@@ -33,8 +33,8 @@ void NodeInstanceSignalSpy::registerObject(QObject *spiedObject, const QString &
|
||||
QMetaProperty metaProperty = spiedObject->metaObject()->property(index);
|
||||
if (metaProperty.isReadable()
|
||||
&& !metaProperty.isWritable()
|
||||
&& QmlMetaType::isQObject(metaProperty.userType())) {
|
||||
QObject *propertyObject = QmlMetaType::toQObject(metaProperty.read(spiedObject));
|
||||
&& QDeclarativeMetaType::isQObject(metaProperty.userType())) {
|
||||
QObject *propertyObject = QDeclarativeMetaType::toQObject(metaProperty.read(spiedObject));
|
||||
if (propertyObject)
|
||||
registerObject(propertyObject, prefix + metaProperty.name() + ".");
|
||||
} else if (metaProperty.hasNotifySignal()) {
|
||||
|
@@ -29,15 +29,15 @@
|
||||
|
||||
#include "nodeinstanceview.h"
|
||||
|
||||
#include <QtDeclarative/QmlEngine>
|
||||
#include <QtDeclarative/QmlContext>
|
||||
#include <QtDeclarative/QDeclarativeEngine>
|
||||
#include <QtDeclarative/QDeclarativeContext>
|
||||
|
||||
#include <QtDebug>
|
||||
#include <QUrl>
|
||||
#include <QGraphicsView>
|
||||
#include <QGraphicsScene>
|
||||
#include <QGraphicsObject>
|
||||
#include <private/qmlengine_p.h>
|
||||
#include <private/qdeclarativeengine_p.h>
|
||||
|
||||
#include <model.h>
|
||||
#include <modelnode.h>
|
||||
@@ -91,7 +91,7 @@ deleted too.
|
||||
NodeInstanceView::NodeInstanceView(QObject *parent)
|
||||
: AbstractView(parent),
|
||||
m_graphicsView(new QGraphicsView),
|
||||
m_engine(new QmlEngine(this)),
|
||||
m_engine(new QDeclarativeEngine(this)),
|
||||
m_blockChangeSignal(false),
|
||||
m_blockStatePropertyChanges(false)
|
||||
{
|
||||
@@ -101,9 +101,9 @@ NodeInstanceView::NodeInstanceView(QObject *parent)
|
||||
|
||||
Q_ASSERT(!m_engine.isNull());
|
||||
|
||||
QmlEnginePrivate *privateQmlEngine = QmlEnginePrivate::get(m_engine.data());
|
||||
Q_ASSERT(privateQmlEngine);
|
||||
privateQmlEngine->scriptEngine.setProcessEventsInterval(100);
|
||||
QDeclarativeEnginePrivate *privateQDeclarativeEngine = QDeclarativeEnginePrivate::get(m_engine.data());
|
||||
Q_ASSERT(privateQDeclarativeEngine);
|
||||
privateQDeclarativeEngine->scriptEngine.setProcessEventsInterval(100);
|
||||
}
|
||||
|
||||
|
||||
@@ -474,7 +474,7 @@ void NodeInstanceView::insertInstanceNodeRelationship(const ModelNode &node, con
|
||||
m_objectInstanceHash.insert(instance.internalObject(), instance);
|
||||
}
|
||||
|
||||
QmlEngine *NodeInstanceView::engine() const
|
||||
QDeclarativeEngine *NodeInstanceView::engine() const
|
||||
{
|
||||
return m_engine.data();
|
||||
}
|
||||
|
@@ -47,25 +47,26 @@
|
||||
#include <nodelistproperty.h>
|
||||
#include <metainfo.h>
|
||||
#include <propertymetainfo.h>
|
||||
#include <qmlmetaproperty.h>
|
||||
|
||||
#include <QEvent>
|
||||
#include <QGraphicsScene>
|
||||
#include <QmlContext>
|
||||
#include <QmlError>
|
||||
#include <QmlBinding>
|
||||
#include <QmlMetaType>
|
||||
#include <QmlEngine>
|
||||
#include <QDeclarativeContext>
|
||||
#include <QDeclarativeError>
|
||||
#include <QDeclarativeEngine>
|
||||
#include <QDeclarativeProperty>
|
||||
#include <QSharedPointer>
|
||||
|
||||
#include <private/qmlcontext_p.h>
|
||||
#include <private/qmllistaccessor_p.h>
|
||||
#include <private/qmlvaluetype_p.h>
|
||||
#include <private/qmlgraphicsanchors_p.h>
|
||||
#include <private/qmlgraphicsrectangle_p.h> // to get QmlGraphicsPen
|
||||
#include <private/qdeclarativebinding_p.h>
|
||||
#include <private/qdeclarativecontext_p.h>
|
||||
#include <private/qdeclarativelistaccessor_p.h>
|
||||
#include <private/qdeclarativevaluetype_p.h>
|
||||
#include <private/qdeclarativeanchors_p.h>
|
||||
#include <private/qdeclarativerectangle_p.h> // to get QDeclarativePen
|
||||
#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/qdeclarativeproperty_p.h>
|
||||
|
||||
|
||||
|
||||
@@ -114,7 +115,7 @@ static bool isChildrenProperty(const QString &name)
|
||||
|
||||
static void specialRemoveParentForQmlGraphicsItemChildren(QObject *object)
|
||||
{
|
||||
QmlGraphicsItem *item = qobject_cast<QmlGraphicsItem*>(object);
|
||||
QDeclarativeItem *item = qobject_cast<QDeclarativeItem*>(object);
|
||||
if (item && item->scene())
|
||||
item->scene()->removeItem(item);
|
||||
|
||||
@@ -187,8 +188,8 @@ void ObjectNodeInstance::initializePropertyWatcher(const ObjectNodeInstance::Poi
|
||||
m_metaObject = new NodeInstanceMetaObject(objectNodeInstance);
|
||||
const QMetaObject *metaObject = objectNodeInstance->object()->metaObject();
|
||||
for(int propertyIndex = QObject::staticMetaObject.propertyCount(); propertyIndex < metaObject->propertyCount(); propertyIndex++) {
|
||||
if (QmlMetaType::isQObject(metaObject->property(propertyIndex).userType())) {
|
||||
QObject *propertyObject = QmlMetaType::toQObject(metaObject->property(propertyIndex).read(objectNodeInstance->object()));
|
||||
if (QDeclarativeMetaType::isQObject(metaObject->property(propertyIndex).userType())) {
|
||||
QObject *propertyObject = QDeclarativeMetaType::toQObject(metaObject->property(propertyIndex).read(objectNodeInstance->object()));
|
||||
if (propertyObject && hasPropertiesWitoutNotifications(propertyObject->metaObject())) {
|
||||
new NodeInstanceMetaObject(objectNodeInstance, propertyObject, metaObject->property(propertyIndex).name());
|
||||
}
|
||||
@@ -241,7 +242,7 @@ bool ObjectNodeInstance::isWidget() const
|
||||
return false;
|
||||
}
|
||||
|
||||
bool ObjectNodeInstance::isQmlView() const
|
||||
bool ObjectNodeInstance::isQDeclarativeView() const
|
||||
{
|
||||
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)
|
||||
@@ -339,14 +340,14 @@ static QVariant objectToVariant(QObject *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
|
||||
}
|
||||
|
||||
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)) {
|
||||
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)
|
||||
{
|
||||
QmlMetaProperty metaProperty = QmlMetaProperty::createProperty(newParent, newParentProperty, context());
|
||||
QDeclarativeProperty metaProperty(newParent, newParentProperty, context());
|
||||
|
||||
if (isList(metaProperty)) {
|
||||
QmlListReference list = qvariant_cast<QmlListReference>(metaProperty.read());
|
||||
QDeclarativeListReference list = qvariant_cast<QDeclarativeListReference>(metaProperty.read());
|
||||
list.append(object);
|
||||
} else if (isObject(metaProperty)) {
|
||||
metaProperty.write(objectToVariant(object));
|
||||
@@ -372,9 +373,9 @@ void ObjectNodeInstance::addToNewProperty(QObject *object, QObject *newParent, c
|
||||
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)
|
||||
item->setParentItem(parent);
|
||||
else
|
||||
@@ -392,7 +393,7 @@ void ObjectNodeInstance::reparent(const NodeInstance &oldParentInstance, const Q
|
||||
|
||||
if (newParentInstance.isValid()) {
|
||||
if (newParentInstance.isQmlGraphicsItem() && isChildrenProperty(newParentProperty))
|
||||
specialSetParentForQmlGraphicsItemChildren(object(), qobject_cast<QmlGraphicsItem*>(newParentInstance.internalObject()));
|
||||
specialSetParentForQmlGraphicsItemChildren(object(), qobject_cast<QDeclarativeItem*>(newParentInstance.internalObject()));
|
||||
else
|
||||
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)
|
||||
{
|
||||
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)
|
||||
{
|
||||
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()) {
|
||||
QmlBinding *qmlBinding = new QmlBinding(expression, object(), qmlContext);
|
||||
qmlBinding->setTarget(metaProperty);
|
||||
qmlBinding->setTrackChange(true);
|
||||
QmlAbstractBinding *oldBinding = metaProperty.setBinding(qmlBinding);
|
||||
QDeclarativeBinding *binding = new QDeclarativeBinding(expression, object(), QDeclarativeContext);
|
||||
binding->setTarget(metaProperty);
|
||||
binding->setNotifyOnValueChanged(true);
|
||||
QDeclarativeAbstractBinding *oldBinding = QDeclarativePropertyPrivate::setBinding(metaProperty, binding);
|
||||
delete oldBinding;
|
||||
qmlBinding->update();
|
||||
binding->update();
|
||||
} else {
|
||||
qWarning() << "Cannot set binding for property" << name << ": property is unknown for type"
|
||||
<< (modelNode().isValid() ? modelNode().type() : "unknown");
|
||||
}
|
||||
}
|
||||
|
||||
void ObjectNodeInstance::deleteObjectsInList(const QmlMetaProperty &metaProperty)
|
||||
void ObjectNodeInstance::deleteObjectsInList(const QDeclarativeProperty &metaProperty)
|
||||
{
|
||||
QObjectList objectList;
|
||||
QmlListReference list = qvariant_cast<QmlListReference>(metaProperty.read());
|
||||
QDeclarativeListReference list = qvariant_cast<QDeclarativeListReference>(metaProperty.read());
|
||||
|
||||
for(int i = 0; i < list.count(); i++) {
|
||||
objectList += list.at(i);
|
||||
@@ -463,10 +464,10 @@ void ObjectNodeInstance::resetProperty(QObject *object, const QString &propertyN
|
||||
{
|
||||
m_modelAbstractPropertyHash.remove(propertyName);
|
||||
|
||||
QmlMetaProperty qmlMetaProperty = QmlMetaProperty::createProperty(object, propertyName, context());
|
||||
QMetaProperty metaProperty = qmlMetaProperty.property();
|
||||
QDeclarativeProperty qmlProperty(object, propertyName, context());
|
||||
QMetaProperty metaProperty = qmlProperty.property();
|
||||
|
||||
QmlAbstractBinding *binding = qmlMetaProperty.binding();
|
||||
QDeclarativeAbstractBinding *binding = QDeclarativePropertyPrivate::binding(qmlProperty);
|
||||
if (binding) {
|
||||
binding->setEnabled(false, 0);
|
||||
delete binding;
|
||||
@@ -474,12 +475,12 @@ void ObjectNodeInstance::resetProperty(QObject *object, const QString &propertyN
|
||||
|
||||
if (metaProperty.isResettable()) {
|
||||
metaProperty.reset(object);
|
||||
} else if (qmlMetaProperty.isWritable()) {
|
||||
if (qmlMetaProperty.read() == resetValue(propertyName))
|
||||
} else if (qmlProperty.isWritable()) {
|
||||
if (qmlProperty.read() == resetValue(propertyName))
|
||||
return;
|
||||
qmlMetaProperty.write(resetValue(propertyName));
|
||||
} else if (qmlMetaProperty.propertyCategory() == QmlMetaProperty::List) {
|
||||
qvariant_cast<QmlListReference>(qmlMetaProperty.read()).clear();
|
||||
qmlProperty.write(resetValue(propertyName));
|
||||
} else if (qmlProperty.propertyTypeCategory() == QDeclarativeProperty::List) {
|
||||
qvariant_cast<QDeclarativeListReference>(qmlProperty.read()).clear();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -491,7 +492,7 @@ QVariant ObjectNodeInstance::property(const QString &name) const
|
||||
|
||||
// TODO: handle model nodes
|
||||
|
||||
QmlMetaProperty metaProperty = QmlMetaProperty::createProperty(object(), name, context());
|
||||
QDeclarativeProperty metaProperty(object(), name, context());
|
||||
if (metaProperty.property().isEnumType()) {
|
||||
QVariant value = object()->property(name.toLatin1());
|
||||
return metaProperty.property().enumerator().valueToKey(value.toInt());
|
||||
@@ -522,7 +523,7 @@ bool ObjectNodeInstance::deleteHeldInstance() const
|
||||
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;
|
||||
if (objectToBeWrapped)
|
||||
@@ -540,7 +541,7 @@ ObjectNodeInstance::Pointer ObjectNodeInstance::create(const NodeMetaInfo &nodeM
|
||||
return instance;
|
||||
}
|
||||
|
||||
QObject* ObjectNodeInstance::createObject(const NodeMetaInfo &metaInfo, QmlContext *context)
|
||||
QObject* ObjectNodeInstance::createObject(const NodeMetaInfo &metaInfo, QDeclarativeContext *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)
|
||||
return context;
|
||||
else if (nodeInstanceView())
|
||||
@@ -599,11 +600,11 @@ QStringList propertyNameForWritableProperties(QObject *object, const QString &ba
|
||||
for (int index = 0; index < metaObject->propertyCount(); ++index) {
|
||||
QMetaProperty metaProperty = metaObject->property(index);
|
||||
if (metaProperty.isReadable() && !metaProperty.isWritable()) {
|
||||
QObject *childObject = QmlMetaType::toQObject(metaProperty.read(object));
|
||||
QObject *childObject = QDeclarativeMetaType::toQObject(metaProperty.read(object));
|
||||
if (childObject)
|
||||
propertyNameList.append(propertyNameForWritableProperties(childObject, baseName + QString::fromUtf8(metaProperty.name()) + '.'));
|
||||
} else if (QmlValueTypeFactory::valueType(metaProperty.userType())) {
|
||||
QmlValueType *valueType = QmlValueTypeFactory::valueType(metaProperty.userType());
|
||||
} else if (QDeclarativeValueTypeFactory::valueType(metaProperty.userType())) {
|
||||
QDeclarativeValueType *valueType = QDeclarativeValueTypeFactory::valueType(metaProperty.userType());
|
||||
valueType->setValue(metaProperty.read(object));
|
||||
propertyNameList.append(propertyNameForWritableProperties(valueType, baseName + QString::fromUtf8(metaProperty.name()) + '.'));
|
||||
} else if (metaProperty.isReadable() && metaProperty.isWritable()) {
|
||||
@@ -619,7 +620,7 @@ void ObjectNodeInstance::populateResetValueHash()
|
||||
QStringList propertyNameList = propertyNameForWritableProperties(object());
|
||||
|
||||
foreach(const QString &propertyName, propertyNameList) {
|
||||
QmlMetaProperty metaProperty = QmlMetaProperty::createProperty(object(), propertyName, context());
|
||||
QDeclarativeProperty metaProperty(object(), propertyName, context());
|
||||
if (metaProperty.isWritable())
|
||||
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.
|
||||
*/
|
||||
void ObjectNodeInstance::refreshBindings(QmlContext *context)
|
||||
void ObjectNodeInstance::refreshBindings(QDeclarativeContext *context)
|
||||
{
|
||||
// TODO: Maybe do this via a timer to prevent update flooding
|
||||
QmlContextPrivate::get(context)->refreshExpressions();
|
||||
QDeclarativeContextPrivate::get(context)->refreshExpressions();
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -43,10 +43,10 @@
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
class QGraphicsItem;
|
||||
class QmlContext;
|
||||
class QmlMetaProperty;
|
||||
class QmlContext;
|
||||
class QmlBinding;
|
||||
class QDeclarativeContext;
|
||||
class QDeclarativeProperty;
|
||||
class QDeclarativeContext;
|
||||
class QDeclarativeBinding;
|
||||
QT_END_NAMESPACE
|
||||
|
||||
namespace QmlDesigner {
|
||||
@@ -60,7 +60,7 @@ class GraphicsViewNodeInstance;
|
||||
class GraphicsSceneNodeInstance;
|
||||
class ProxyWidgetNodeInstance;
|
||||
class WidgetNodeInstance;
|
||||
class QmlViewNodeInstance;
|
||||
class QDeclarativeViewNodeInstance;
|
||||
|
||||
class ChildrenChangeEventFilter : public QObject
|
||||
{
|
||||
@@ -88,7 +88,7 @@ public:
|
||||
void destroy();
|
||||
//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;
|
||||
void setModelNode(const ModelNode &node);
|
||||
@@ -112,7 +112,7 @@ public:
|
||||
virtual bool isGraphicsWidget() const;
|
||||
virtual bool isProxyWidget() const;
|
||||
virtual bool isWidget() const;
|
||||
virtual bool isQmlView() const;
|
||||
virtual bool isQDeclarativeView() const;
|
||||
virtual bool isGraphicsObject() const;
|
||||
virtual bool isTransition() const;
|
||||
|
||||
@@ -164,20 +164,20 @@ public:
|
||||
|
||||
virtual bool hasContent() const;
|
||||
|
||||
QmlContext *context() const;
|
||||
QDeclarativeContext *context() const;
|
||||
|
||||
protected:
|
||||
static QObject* createObject(const NodeMetaInfo &metaInfo, QmlContext *context);
|
||||
static QObject* createObject(const NodeMetaInfo &metaInfo, QDeclarativeContext *context);
|
||||
|
||||
void resetProperty(QObject *object, const QString &propertyName);
|
||||
NodeInstance instanceForNode(const ModelNode &node, const QString &fullname);
|
||||
|
||||
void removeFromOldProperty(QObject *object, QObject *oldParent, const QString &oldParentProperty);
|
||||
void addToNewProperty(QObject *object, QObject *newParent, const QString &newParentProperty);
|
||||
void deleteObjectsInList(const QmlMetaProperty &metaProperty);
|
||||
void deleteObjectsInList(const QDeclarativeProperty &metaProperty);
|
||||
|
||||
private:
|
||||
static void refreshBindings(QmlContext *context);
|
||||
static void refreshBindings(QDeclarativeContext *context);
|
||||
|
||||
QHash<QString, QVariant> m_resetValueHash;
|
||||
QHash<QString, NodeInstance> m_modelAbstractPropertyHash;
|
||||
@@ -189,7 +189,6 @@ private:
|
||||
QWeakPointer<QObject> m_object;
|
||||
NodeInstanceMetaObject *m_metaObject;
|
||||
NodeInstanceSignalSpy m_signalSpy;
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
@@ -29,7 +29,7 @@
|
||||
|
||||
#include "proxywidgetnodeinstance.h"
|
||||
|
||||
#include <QmlMetaType>
|
||||
#include <private/qdeclarativemetatype_p.h>
|
||||
|
||||
#include <QGraphicsProxyWidget>
|
||||
|
||||
@@ -45,7 +45,7 @@ ProxyWidgetNodeInstance::ProxyWidgetNodeInstance(QGraphicsProxyWidget *widget)
|
||||
|
||||
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);
|
||||
if (object == 0)
|
||||
return Pointer();
|
||||
|
@@ -38,10 +38,11 @@
|
||||
#include "bindingproperty.h"
|
||||
#include "variantproperty.h"
|
||||
|
||||
#include <private/qmlgraphicsanchors_p.h>
|
||||
#include <private/qmlgraphicsanchors_p_p.h>
|
||||
#include <private/qmlgraphicsrectangle_p.h>
|
||||
#include <private/qmlexpression_p.h>
|
||||
#include <QDeclarativeExpression>
|
||||
|
||||
#include <private/qdeclarativeanchors_p.h>
|
||||
#include <private/qdeclarativeanchors_p_p.h>
|
||||
#include <private/qdeclarativerectangle_p.h>
|
||||
|
||||
#include <cmath>
|
||||
|
||||
@@ -50,7 +51,7 @@
|
||||
namespace QmlDesigner {
|
||||
namespace Internal {
|
||||
|
||||
QmlGraphicsItemNodeInstance::QmlGraphicsItemNodeInstance(QmlGraphicsItem *item, bool hasContent)
|
||||
QmlGraphicsItemNodeInstance::QmlGraphicsItemNodeInstance(QDeclarativeItem *item, bool hasContent)
|
||||
: GraphicsObjectNodeInstance(item, hasContent),
|
||||
m_hasHeight(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;
|
||||
|
||||
@@ -70,7 +71,7 @@ QmlGraphicsItemNodeInstance::Pointer QmlGraphicsItemNodeInstance::create(const N
|
||||
else
|
||||
objectPair = GraphicsObjectNodeInstance::createGraphicsObject(metaInfo, context);
|
||||
|
||||
QmlGraphicsItem *qmlGraphicsItem = dynamic_cast<QmlGraphicsItem*>(objectPair.first);
|
||||
QDeclarativeItem *qmlGraphicsItem = dynamic_cast<QDeclarativeItem*>(objectPair.first);
|
||||
|
||||
if (qmlGraphicsItem == 0)
|
||||
throw InvalidNodeInstanceException(__LINE__, __FUNCTION__, __FILE__);
|
||||
@@ -170,7 +171,7 @@ QRectF QmlGraphicsItemNodeInstance::boundingRect() const
|
||||
return qmlGraphicsItem()->boundingRect();
|
||||
}
|
||||
|
||||
//QVariant anchorLineFor(QmlGraphicsItem *item, const AnchorLine &anchorLine)
|
||||
//QVariant anchorLineFor(QDeclarativeItem *item, const AnchorLine &anchorLine)
|
||||
//{
|
||||
// switch(anchorLine.type()) {
|
||||
// case AnchorLine::Top : return item->property("top");
|
||||
@@ -268,9 +269,9 @@ void QmlGraphicsItemNodeInstance::resetVertical()
|
||||
|
||||
int QmlGraphicsItemNodeInstance::penWidth() const
|
||||
{
|
||||
QmlGraphicsRectangle *qmlGraphcisRectangle = qobject_cast<QmlGraphicsRectangle*>(object());
|
||||
if (qmlGraphcisRectangle)
|
||||
return qmlGraphcisRectangle->border()->width();
|
||||
QDeclarativeRectangle *rectangle = qobject_cast<QDeclarativeRectangle*>(object());
|
||||
if (rectangle)
|
||||
return rectangle->border()->width();
|
||||
|
||||
return GraphicsObjectNodeInstance::penWidth();
|
||||
}
|
||||
@@ -330,7 +331,7 @@ void QmlGraphicsItemNodeInstance::resetProperty(const QString &name)
|
||||
// qmlGraphicsItem()->anchors()->setProperty("top", anchorLineFor(qmlGraphicsItemInstance->qmlGraphicsItem(), anchorLine));
|
||||
// }
|
||||
// } else {
|
||||
// if (qmlGraphicsItem()->anchors()->usedAnchors().testFlag(QmlGraphicsAnchors::HasTopAnchor)) {
|
||||
// if (qmlGraphicsItem()->anchors()->usedAnchors().testFlag(QDeclarativeAnchors::HasTopAnchor)) {
|
||||
// qmlGraphicsItem()->anchors()->resetTop();
|
||||
// setPropertyValue("y", modelNode().property("y").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));
|
||||
// }
|
||||
// } else {
|
||||
// if (qmlGraphicsItem()->anchors()->usedAnchors().testFlag(QmlGraphicsAnchors::HasLeftAnchor)) {
|
||||
// if (qmlGraphicsItem()->anchors()->usedAnchors().testFlag(QDeclarativeAnchors::HasLeftAnchor)) {
|
||||
// qmlGraphicsItem()->anchors()->resetLeft();
|
||||
// setPropertyValue("x", modelNode().property("x").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));
|
||||
// }
|
||||
// } else {
|
||||
// if (qmlGraphicsItem()->anchors()->usedAnchors().testFlag(QmlGraphicsAnchors::HasRightAnchor)) {
|
||||
// if (qmlGraphicsItem()->anchors()->usedAnchors().testFlag(QDeclarativeAnchors::HasRightAnchor)) {
|
||||
// qmlGraphicsItem()->anchors()->resetRight();
|
||||
// setPropertyValue("x", modelNode().property("x").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));
|
||||
// }
|
||||
// } else {
|
||||
// if (qmlGraphicsItem()->anchors()->usedAnchors().testFlag(QmlGraphicsAnchors::HasBottomAnchor)) {
|
||||
// if (qmlGraphicsItem()->anchors()->usedAnchors().testFlag(QDeclarativeAnchors::HasBottomAnchor)) {
|
||||
// qmlGraphicsItem()->anchors()->resetBottom();
|
||||
// setPropertyValue("y", modelNode().property("y").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));
|
||||
// }
|
||||
// } else {
|
||||
// if (qmlGraphicsItem()->anchors()->usedAnchors().testFlag(QmlGraphicsAnchors::HasHCenterAnchor)) {
|
||||
// if (qmlGraphicsItem()->anchors()->usedAnchors().testFlag(QDeclarativeAnchors::HasHCenterAnchor)) {
|
||||
// qmlGraphicsItem()->anchors()->resetHorizontalCenter();
|
||||
// setPropertyValue("x", modelNode().property("x").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));
|
||||
// }
|
||||
// } else {
|
||||
// if (qmlGraphicsItem()->anchors()->usedAnchors().testFlag(QmlGraphicsAnchors::HasVCenterAnchor)) {
|
||||
// if (qmlGraphicsItem()->anchors()->usedAnchors().testFlag(QDeclarativeAnchors::HasVCenterAnchor)) {
|
||||
// qmlGraphicsItem()->anchors()->resetVerticalCenter();
|
||||
// setPropertyValue("y", modelNode().property("y").value());
|
||||
// setPropertyValue("height", modelNode().property("height").value());
|
||||
@@ -431,45 +432,45 @@ void QmlGraphicsItemNodeInstance::resetProperty(const QString &name)
|
||||
// qmlGraphicsItem()->anchors()->setVerticalCenterOffset(anchors.margin(AnchorLine::VerticalCenter));
|
||||
//}
|
||||
|
||||
QmlGraphicsAnchors::UsedAnchor anchorLineFlagForName(const QString &name)
|
||||
QDeclarativeAnchors::UsedAnchor anchorLineFlagForName(const QString &name)
|
||||
{
|
||||
if (name == "anchors.top")
|
||||
return QmlGraphicsAnchors::HasTopAnchor;
|
||||
return QDeclarativeAnchors::HasTopAnchor;
|
||||
|
||||
if (name == "anchors.left")
|
||||
return QmlGraphicsAnchors::HasLeftAnchor;
|
||||
return QDeclarativeAnchors::HasLeftAnchor;
|
||||
|
||||
if (name == "anchors.bottom")
|
||||
return QmlGraphicsAnchors::HasBottomAnchor;
|
||||
return QDeclarativeAnchors::HasBottomAnchor;
|
||||
|
||||
if (name == "anchors.right")
|
||||
return QmlGraphicsAnchors::HasRightAnchor;
|
||||
return QDeclarativeAnchors::HasRightAnchor;
|
||||
|
||||
if (name == "anchors.horizontalCenter")
|
||||
return QmlGraphicsAnchors::HasHCenterAnchor;
|
||||
return QDeclarativeAnchors::HasHCenterAnchor;
|
||||
|
||||
if (name == "anchors.verticalCenter")
|
||||
return QmlGraphicsAnchors::HasVCenterAnchor;
|
||||
return QDeclarativeAnchors::HasVCenterAnchor;
|
||||
|
||||
if (name == "anchors.baseline")
|
||||
return QmlGraphicsAnchors::HasBaselineAnchor;
|
||||
return QDeclarativeAnchors::HasBaselineAnchor;
|
||||
|
||||
|
||||
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) {
|
||||
case QmlGraphicsAnchorLine::Left: return "left";
|
||||
case QmlGraphicsAnchorLine::Right: return "right";
|
||||
case QmlGraphicsAnchorLine::Top: return "top";
|
||||
case QmlGraphicsAnchorLine::Bottom: return "bottom";
|
||||
case QmlGraphicsAnchorLine::HCenter: return "horizontalCenter";
|
||||
case QmlGraphicsAnchorLine::VCenter: return "verticalCenter";
|
||||
case QmlGraphicsAnchorLine::Baseline: return "baseline";
|
||||
case QmlGraphicsAnchorLine::Invalid:
|
||||
case QDeclarativeAnchorLine::Left: return "left";
|
||||
case QDeclarativeAnchorLine::Right: return "right";
|
||||
case QDeclarativeAnchorLine::Top: return "top";
|
||||
case QDeclarativeAnchorLine::Bottom: return "bottom";
|
||||
case QDeclarativeAnchorLine::HCenter: return "horizontalCenter";
|
||||
case QDeclarativeAnchorLine::VCenter: return "verticalCenter";
|
||||
case QDeclarativeAnchorLine::Baseline: return "baseline";
|
||||
case QDeclarativeAnchorLine::Invalid:
|
||||
default: return QString();
|
||||
}
|
||||
}
|
||||
@@ -502,9 +503,9 @@ QPair<QString, NodeInstance> QmlGraphicsItemNodeInstance::anchor(const QString &
|
||||
} else if (name == "anchors.centerIn") {
|
||||
targetObject = qmlGraphicsItem()->anchors()->centerIn();
|
||||
} else {
|
||||
QmlMetaProperty metaProperty = QmlMetaProperty::createProperty(object(), name, context());
|
||||
QmlGraphicsAnchorLine anchorLine = metaProperty.read().value<QmlGraphicsAnchorLine>();
|
||||
if (anchorLine.anchorLine != QmlGraphicsAnchorLine::Invalid) {
|
||||
QDeclarativeProperty metaProperty(object(), name, context());
|
||||
QDeclarativeAnchorLine anchorLine = metaProperty.read().value<QDeclarativeAnchorLine>();
|
||||
if (anchorLine.anchorLine != QDeclarativeAnchorLine::Invalid) {
|
||||
targetObject = anchorLine.item;
|
||||
targetName = propertyNameForAnchorLine(anchorLine.anchorLine);
|
||||
}
|
||||
@@ -553,7 +554,7 @@ bool QmlGraphicsItemNodeInstance::hasAnchor(const QString &name) const
|
||||
return qmlGraphicsItem()->anchors()->usedAnchors().testFlag(anchorLineFlagForName(name));
|
||||
}
|
||||
|
||||
bool isAnchoredTo(QmlGraphicsItem *fromItem, QmlGraphicsItem *toItem)
|
||||
bool isAnchoredTo(QDeclarativeItem *fromItem, QDeclarativeItem *toItem)
|
||||
{
|
||||
return fromItem->anchors()->fill() == toItem
|
||||
|| fromItem->anchors()->centerIn() == toItem
|
||||
@@ -566,10 +567,10 @@ bool isAnchoredTo(QmlGraphicsItem *fromItem, QmlGraphicsItem *toItem)
|
||||
|| fromItem->anchors()->baseline().item == toItem;
|
||||
}
|
||||
|
||||
bool areChildrenAnchoredTo(QmlGraphicsItem *fromItem, QmlGraphicsItem *toItem)
|
||||
bool areChildrenAnchoredTo(QDeclarativeItem *fromItem, QDeclarativeItem *toItem)
|
||||
{
|
||||
foreach(QObject *childObject, fromItem->children()) {
|
||||
QmlGraphicsItem *childItem = qobject_cast<QmlGraphicsItem*>(childObject);
|
||||
QDeclarativeItem *childItem = qobject_cast<QDeclarativeItem*>(childObject);
|
||||
if (childItem) {
|
||||
if (isAnchoredTo(childItem, toItem))
|
||||
return true;
|
||||
@@ -589,7 +590,7 @@ bool QmlGraphicsItemNodeInstance::isAnchoredBy() const
|
||||
|
||||
if (qmlGraphicsItem()->parent()) {
|
||||
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 (isAnchoredTo(siblingItem, qmlGraphicsItem()))
|
||||
return true;
|
||||
@@ -605,13 +606,13 @@ bool QmlGraphicsItemNodeInstance::isAnchoredBy() const
|
||||
|
||||
|
||||
|
||||
QmlGraphicsItem *QmlGraphicsItemNodeInstance::qmlGraphicsItem() const
|
||||
QDeclarativeItem *QmlGraphicsItemNodeInstance::qmlGraphicsItem() const
|
||||
{
|
||||
if (object() == 0)
|
||||
return 0;
|
||||
|
||||
Q_ASSERT(qobject_cast<QmlGraphicsItem*>(object()));
|
||||
return static_cast<QmlGraphicsItem*>(object());
|
||||
Q_ASSERT(qobject_cast<QDeclarativeItem*>(object()));
|
||||
return static_cast<QDeclarativeItem*>(object());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -31,7 +31,7 @@
|
||||
#define QMLGRAPHICSITEMNODEINSTANCE_H
|
||||
|
||||
#include "graphicsobjectnodeinstance.h"
|
||||
#include <QmlGraphicsItem>
|
||||
#include <QDeclarativeItem>
|
||||
#include <QWeakPointer>
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@ public:
|
||||
|
||||
~QmlGraphicsItemNodeInstance();
|
||||
|
||||
static Pointer create(const NodeMetaInfo &metaInfo, QmlContext *context, QObject *objectToBeWrapped);
|
||||
static Pointer create(const NodeMetaInfo &metaInfo, QDeclarativeContext *context, QObject *objectToBeWrapped);
|
||||
|
||||
bool isQmlGraphicsItem() const;
|
||||
|
||||
@@ -66,8 +66,8 @@ public:
|
||||
QPair<QString, NodeInstance> anchor(const QString &name) const;
|
||||
bool isAnchoredBy() const;
|
||||
protected:
|
||||
QmlGraphicsItemNodeInstance(QmlGraphicsItem *item, bool hasContent);
|
||||
QmlGraphicsItem *qmlGraphicsItem() const;
|
||||
QmlGraphicsItemNodeInstance(QDeclarativeItem *item, bool hasContent);
|
||||
QDeclarativeItem *qmlGraphicsItem() const;
|
||||
void resetHorizontal();
|
||||
void resetVertical();
|
||||
|
||||
|
@@ -29,28 +29,28 @@
|
||||
|
||||
#include "qmlpropertychangesnodeinstance.h"
|
||||
#include "qmlstatenodeinstance.h"
|
||||
#include <QmlEngine>
|
||||
#include <QmlContext>
|
||||
#include <QmlExpression>
|
||||
#include <QmlBinding>
|
||||
#include <QDeclarativeEngine>
|
||||
#include <QDeclarativeContext>
|
||||
#include <QDeclarativeExpression>
|
||||
#include <private/qdeclarativebinding_p.h>
|
||||
#include <metainfo.h>
|
||||
|
||||
namespace QmlDesigner {
|
||||
namespace Internal {
|
||||
|
||||
QmlPropertyChangesObject::QmlPropertyChangesObject() :
|
||||
QmlStateOperation(),
|
||||
QDeclarativeStateOperation(),
|
||||
m_restoreEntryValues(true),
|
||||
m_isExplicit(false)
|
||||
{
|
||||
}
|
||||
|
||||
QmlStateOperation::ActionList QmlPropertyChangesObject::actions()
|
||||
QDeclarativeStateOperation::ActionList QmlPropertyChangesObject::actions()
|
||||
{
|
||||
ActionList list;
|
||||
|
||||
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()) {
|
||||
a.restore = restoreEntryValues();
|
||||
@@ -75,10 +75,10 @@ QmlStateOperation::ActionList QmlPropertyChangesObject::actions()
|
||||
// }
|
||||
|
||||
foreach (const QString &property, m_expressions.keys()) {
|
||||
QmlMetaProperty mProperty = metaProperty(property);
|
||||
QDeclarativeProperty mProperty = metaProperty(property);
|
||||
|
||||
if (mProperty.isValid()) {
|
||||
QmlAction a;
|
||||
QDeclarativeAction a;
|
||||
a.restore = restoreEntryValues();
|
||||
a.property = mProperty;
|
||||
a.fromValue = a.property.read();
|
||||
@@ -86,9 +86,9 @@ QmlStateOperation::ActionList QmlPropertyChangesObject::actions()
|
||||
a.specifiedProperty = property;
|
||||
|
||||
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 {
|
||||
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);
|
||||
a.toBinding = newBinding;
|
||||
a.deletableToBinding = true;
|
||||
@@ -101,15 +101,15 @@ QmlStateOperation::ActionList QmlPropertyChangesObject::actions()
|
||||
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()) {
|
||||
qWarning() << "Cannot assign to non-existent property" << property;
|
||||
return QmlMetaProperty();
|
||||
return QDeclarativeProperty();
|
||||
} else if (!prop.isWritable()) {
|
||||
qWarning() << "Cannot assign to read-only property" << property;
|
||||
return QmlMetaProperty();
|
||||
return QDeclarativeProperty();
|
||||
}
|
||||
return prop;
|
||||
}
|
||||
@@ -121,13 +121,13 @@ QmlPropertyChangesNodeInstance::QmlPropertyChangesNodeInstance(QmlPropertyChange
|
||||
|
||||
QmlPropertyChangesNodeInstance::Pointer
|
||||
QmlPropertyChangesNodeInstance::create(const NodeMetaInfo & /*metaInfo*/,
|
||||
QmlContext *context,
|
||||
QDeclarativeContext *context,
|
||||
QObject *objectToBeWrapped)
|
||||
{
|
||||
Q_ASSERT(!objectToBeWrapped);
|
||||
|
||||
QmlPropertyChangesObject *object = new QmlPropertyChangesObject;
|
||||
QmlEngine::setContextForObject(object, context);
|
||||
QDeclarativeEngine::setContextForObject(object, context);
|
||||
Pointer instance(new QmlPropertyChangesNodeInstance(object));
|
||||
return instance;
|
||||
}
|
||||
@@ -202,5 +202,3 @@ void QmlPropertyChangesNodeInstance::updateStateInstance() const
|
||||
|
||||
} // namespace Internal
|
||||
} // namespace QmlDesigner
|
||||
|
||||
QML_DEFINE_NOCREATE_TYPE(QmlDesigner::Internal::QmlPropertyChangesObject)
|
||||
|
@@ -31,7 +31,7 @@
|
||||
#define QMLPROPERTYCHANGESNODEINSTANCE_H
|
||||
|
||||
#include "objectnodeinstance.h"
|
||||
#include <private/qmlstateoperations_p.h>
|
||||
#include <private/qdeclarativestateoperations_p.h>
|
||||
|
||||
namespace QmlDesigner {
|
||||
|
||||
@@ -41,7 +41,7 @@ class QmlPropertyChangesNodeInstance;
|
||||
|
||||
// Original QmlPropertyChanges class requires a custom parser
|
||||
// work around this by writing a replacement class
|
||||
class QmlPropertyChangesObject : public QmlStateOperation
|
||||
class QmlPropertyChangesObject : public QDeclarativeStateOperation
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_PROPERTY(QObject *target READ object WRITE setObject)
|
||||
@@ -64,7 +64,7 @@ private:
|
||||
friend class QmlPropertyChangesNodeInstance;
|
||||
|
||||
QmlPropertyChangesObject();
|
||||
QmlMetaProperty metaProperty(const QString &property);
|
||||
QDeclarativeProperty metaProperty(const QString &property);
|
||||
|
||||
QWeakPointer<QObject> m_targetObject;
|
||||
bool m_restoreEntryValues;
|
||||
@@ -81,7 +81,7 @@ public:
|
||||
typedef QSharedPointer<QmlPropertyChangesNodeInstance> Pointer;
|
||||
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 setPropertyBinding(const QString &name, const QString &expression);
|
||||
|
@@ -28,7 +28,7 @@
|
||||
**************************************************************************/
|
||||
|
||||
#include "qmlstatenodeinstance.h"
|
||||
#include <private/qmlstategroup_p.h>
|
||||
#include <private/qdeclarativestategroup_p.h>
|
||||
|
||||
namespace QmlDesigner {
|
||||
namespace Internal {
|
||||
@@ -36,23 +36,23 @@ namespace Internal {
|
||||
/**
|
||||
\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.
|
||||
*/
|
||||
|
||||
QmlStateNodeInstance::QmlStateNodeInstance(QmlState *object) :
|
||||
QmlStateNodeInstance::QmlStateNodeInstance(QDeclarativeState *object) :
|
||||
ObjectNodeInstance(object)
|
||||
{
|
||||
}
|
||||
|
||||
QmlStateNodeInstance::Pointer
|
||||
QmlStateNodeInstance::create(const NodeMetaInfo &metaInfo,
|
||||
QmlContext *context,
|
||||
QDeclarativeContext *context,
|
||||
QObject *objectToBeWrapped)
|
||||
{
|
||||
Q_ASSERT(!objectToBeWrapped);
|
||||
QObject *object = createObject(metaInfo, context);
|
||||
QmlState *stateObject = qobject_cast<QmlState*>(object);
|
||||
QDeclarativeState *stateObject = qobject_cast<QDeclarativeState*>(object);
|
||||
Q_ASSERT(stateObject);
|
||||
|
||||
Pointer instance(new QmlStateNodeInstance(stateObject));
|
||||
@@ -86,14 +86,14 @@ void QmlStateNodeInstance::refreshState()
|
||||
nodeInstanceView()->setBlockStatePropertyChanges(false);
|
||||
}
|
||||
|
||||
QmlState *QmlStateNodeInstance::stateObject() const
|
||||
QDeclarativeState *QmlStateNodeInstance::stateObject() const
|
||||
{
|
||||
Q_ASSERT(object());
|
||||
Q_ASSERT(qobject_cast<QmlState*>(object()));
|
||||
return static_cast<QmlState*>(object());
|
||||
Q_ASSERT(qobject_cast<QDeclarativeState*>(object()));
|
||||
return static_cast<QDeclarativeState*>(object());
|
||||
}
|
||||
|
||||
QmlStateGroup *QmlStateNodeInstance::stateGroup() const
|
||||
QDeclarativeStateGroup *QmlStateNodeInstance::stateGroup() const
|
||||
{
|
||||
return stateObject()->stateGroup();
|
||||
}
|
||||
|
@@ -31,7 +31,7 @@
|
||||
#define QMLSTATENODEINSTANCE_H
|
||||
|
||||
#include "objectnodeinstance.h"
|
||||
#include <private/qmlstate_p.h>
|
||||
#include <private/qdeclarativestate_p.h>
|
||||
|
||||
namespace QmlDesigner {
|
||||
|
||||
@@ -43,19 +43,19 @@ public:
|
||||
typedef QSharedPointer<QmlStateNodeInstance> Pointer;
|
||||
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 deactivateState();
|
||||
void refreshState();
|
||||
|
||||
protected:
|
||||
QmlStateNodeInstance(QmlState *object);
|
||||
QmlStateNodeInstance(QDeclarativeState *object);
|
||||
|
||||
bool isStateActive() const;
|
||||
|
||||
QmlState *stateObject() const;
|
||||
QmlStateGroup *stateGroup() const;
|
||||
QDeclarativeState *stateObject() const;
|
||||
QDeclarativeStateGroup *stateGroup() const;
|
||||
};
|
||||
|
||||
} // namespace Internal
|
||||
|
@@ -28,19 +28,19 @@
|
||||
**************************************************************************/
|
||||
|
||||
#include "qmltransitionnodeinstance.h"
|
||||
#include <private/qmltransition_p.h>
|
||||
#include <private/qdeclarativetransition_p.h>
|
||||
#include <nodemetainfo.h>
|
||||
#include "invalidnodeinstanceexception.h"
|
||||
|
||||
namespace QmlDesigner {
|
||||
namespace Internal {
|
||||
|
||||
QmlTransitionNodeInstance::QmlTransitionNodeInstance(QmlTransition *transition)
|
||||
QmlTransitionNodeInstance::QmlTransitionNodeInstance(QDeclarativeTransition *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;
|
||||
if (objectToBeWrapped)
|
||||
@@ -48,7 +48,7 @@ QmlTransitionNodeInstance::Pointer QmlTransitionNodeInstance::create(const NodeM
|
||||
else
|
||||
object = createObject(nodeMetaInfo, context);
|
||||
|
||||
QmlTransition *transition = qobject_cast<QmlTransition*>(object);
|
||||
QDeclarativeTransition *transition = qobject_cast<QDeclarativeTransition*>(object);
|
||||
if (transition == 0)
|
||||
throw InvalidNodeInstanceException(__LINE__, __FUNCTION__, __FILE__);
|
||||
|
||||
@@ -78,10 +78,10 @@ void QmlTransitionNodeInstance::setPropertyVariant(const QString &name, const QV
|
||||
ObjectNodeInstance::setPropertyVariant(name, value);
|
||||
}
|
||||
|
||||
QmlTransition *QmlTransitionNodeInstance::qmlTransition() const
|
||||
QDeclarativeTransition *QmlTransitionNodeInstance::qmlTransition() const
|
||||
{
|
||||
Q_ASSERT(qobject_cast<QmlTransition*>(object()));
|
||||
return static_cast<QmlTransition*>(object());
|
||||
Q_ASSERT(qobject_cast<QDeclarativeTransition*>(object()));
|
||||
return static_cast<QDeclarativeTransition*>(object());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -33,7 +33,7 @@
|
||||
#include "objectnodeinstance.h"
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
class QmlTransition;
|
||||
class QDeclarativeTransition;
|
||||
QT_END_NAMESPACE
|
||||
|
||||
namespace QmlDesigner {
|
||||
@@ -45,17 +45,17 @@ public:
|
||||
typedef QSharedPointer<QmlTransitionNodeInstance> Pointer;
|
||||
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);
|
||||
|
||||
bool isTransition() const;
|
||||
|
||||
protected:
|
||||
QmlTransition *qmlTransition() const;
|
||||
QDeclarativeTransition *qmlTransition() const;
|
||||
|
||||
private:
|
||||
QmlTransitionNodeInstance(QmlTransition *transition);
|
||||
QmlTransitionNodeInstance(QDeclarativeTransition *transition);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
@@ -30,22 +30,22 @@
|
||||
#include "qmlviewnodeinstance.h"
|
||||
|
||||
|
||||
#include <QmlMetaType>
|
||||
#include <QmlView>
|
||||
#include <QmlGraphicsItem>
|
||||
#include <private/qdeclarativemetatype_p.h>
|
||||
#include <QDeclarativeView>
|
||||
#include <QDeclarativeItem>
|
||||
|
||||
#include <invalidnodeinstanceexception.h>
|
||||
|
||||
namespace QmlDesigner {
|
||||
namespace Internal {
|
||||
|
||||
QmlViewNodeInstance::QmlViewNodeInstance(QmlView *view)
|
||||
QDeclarativeViewNodeInstance::QDeclarativeViewNodeInstance(QDeclarativeView *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;
|
||||
if (objectToBeWrapped)
|
||||
@@ -53,11 +53,11 @@ QmlViewNodeInstance::Pointer QmlViewNodeInstance::create(const NodeMetaInfo &nod
|
||||
else
|
||||
createObject(nodeMetaInfo, context);
|
||||
|
||||
QmlView* view = qobject_cast<QmlView*>(object);
|
||||
QDeclarativeView* view = qobject_cast<QDeclarativeView*>(object);
|
||||
if (view == 0)
|
||||
throw InvalidNodeInstanceException(__LINE__, __FUNCTION__, __FILE__);
|
||||
|
||||
Pointer instance(new QmlViewNodeInstance(view));
|
||||
Pointer instance(new QDeclarativeViewNodeInstance(view));
|
||||
|
||||
if (objectToBeWrapped)
|
||||
instance->setDeleteHeldInstance(false); // the object isn't owned
|
||||
@@ -67,22 +67,22 @@ QmlViewNodeInstance::Pointer QmlViewNodeInstance::create(const NodeMetaInfo &nod
|
||||
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);
|
||||
return view;
|
||||
}
|
||||
|
||||
bool QmlViewNodeInstance::isQmlView() const
|
||||
bool QDeclarativeViewNodeInstance::isQDeclarativeView() const
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
void QmlViewNodeInstance::addItem(QmlGraphicsItem *item)
|
||||
void QDeclarativeViewNodeInstance::addItem(QDeclarativeItem *item)
|
||||
{
|
||||
QmlGraphicsItem *rootItem = qobject_cast<QmlGraphicsItem *>(view()->rootObject());
|
||||
Q_ASSERT_X(rootItem, Q_FUNC_INFO, "root item is QmlGraphicsItem based");
|
||||
QDeclarativeItem *rootItem = qobject_cast<QDeclarativeItem *>(view()->rootObject());
|
||||
Q_ASSERT_X(rootItem, Q_FUNC_INFO, "root item is QDeclarativeItem based");
|
||||
item->setParent(rootItem);
|
||||
}
|
||||
|
||||
|
@@ -31,30 +31,30 @@
|
||||
#define QMLVIEWNODEINSTANCE_H
|
||||
|
||||
#include <QWeakPointer>
|
||||
#include <QmlView>
|
||||
#include <QmlGraphicsItem>
|
||||
#include <QDeclarativeView>
|
||||
#include <QDeclarativeItem>
|
||||
|
||||
#include "graphicsviewnodeinstance.h"
|
||||
|
||||
namespace QmlDesigner {
|
||||
namespace Internal {
|
||||
|
||||
class QmlViewNodeInstance : public GraphicsViewNodeInstance
|
||||
class QDeclarativeViewNodeInstance : public GraphicsViewNodeInstance
|
||||
{
|
||||
public:
|
||||
typedef QSharedPointer<QmlViewNodeInstance> Pointer;
|
||||
typedef QWeakPointer<QmlViewNodeInstance> WeakPointer;
|
||||
typedef QSharedPointer<QDeclarativeViewNodeInstance> Pointer;
|
||||
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:
|
||||
QmlViewNodeInstance(QmlView *view);
|
||||
QDeclarativeViewNodeInstance(QDeclarativeView *view);
|
||||
|
||||
QmlView* view() const;
|
||||
QDeclarativeView* view() const;
|
||||
};
|
||||
|
||||
}
|
||||
|
@@ -29,7 +29,7 @@
|
||||
|
||||
#include "widgetnodeinstance.h"
|
||||
|
||||
#include <QmlMetaType>
|
||||
#include <private/qdeclarativemetatype_p.h>
|
||||
|
||||
#include "proxywidgetnodeinstance.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;
|
||||
if (objectToBeWrapped)
|
||||
|
@@ -43,7 +43,7 @@ public:
|
||||
typedef QSharedPointer<WidgetNodeInstance> Pointer;
|
||||
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;
|
||||
|
||||
|
@@ -44,9 +44,9 @@
|
||||
#include <QPair>
|
||||
#include <QtAlgorithms>
|
||||
#include <QMetaProperty>
|
||||
#include <QmlEngine>
|
||||
#include <QmlMetaType>
|
||||
#include <private/qmlgraphicsanchors_p.h>
|
||||
#include <QDeclarativeEngine>
|
||||
#include <private/qdeclarativemetatype_p.h>
|
||||
#include <private/qdeclarativeanchors_p.h>
|
||||
|
||||
enum {
|
||||
debug = false
|
||||
@@ -109,7 +109,7 @@ void MetaInfoPrivate::initialize()
|
||||
{
|
||||
// make sure QmlGraphicsItemsModule gets initialized, that is
|
||||
// QmlGraphicsItemsModule::defineModule called
|
||||
QmlEngine engine;
|
||||
QDeclarativeEngine engine;
|
||||
Q_UNUSED(engine);
|
||||
|
||||
parseQmlTypes();
|
||||
@@ -191,7 +191,7 @@ void MetaInfoPrivate::parseNonQmlClassRecursively(const QMetaObject *qMetaObject
|
||||
Q_ASSERT_X(qMetaObject, Q_FUNC_INFO, "invalid QMetaObject");
|
||||
const QString className = qMetaObject->className();
|
||||
if ( !m_q->hasNodeMetaInfo(className)
|
||||
&& !QmlMetaType::qmlTypeNames().contains(typeName(qMetaObject).toAscii()) ) {
|
||||
&& !QDeclarativeMetaType::qmlTypeNames().contains(typeName(qMetaObject).toAscii()) ) {
|
||||
NodeMetaInfo nodeMetaInfo(*m_q);
|
||||
nodeMetaInfo.setTypeName(typeName(qMetaObject));
|
||||
parseProperties(nodeMetaInfo, qMetaObject);
|
||||
@@ -213,7 +213,7 @@ QString MetaInfoPrivate::typeName(const QMetaObject *qMetaObject) const
|
||||
if (!qMetaObject)
|
||||
return QString();
|
||||
QString className = qMetaObject->className();
|
||||
if (QmlType *qmlType = QmlMetaType::qmlType(qMetaObject)) {
|
||||
if (QDeclarativeType *qmlType = QDeclarativeMetaType::qmlType(qMetaObject)) {
|
||||
QString qmlClassName(qmlType->qmlTypeName());
|
||||
if (!qmlClassName.isEmpty())
|
||||
className = qmlType->qmlTypeName(); // Ensure that we always use the qml name,
|
||||
@@ -271,12 +271,12 @@ void MetaInfoPrivate::parseValueTypes()
|
||||
|
||||
void MetaInfoPrivate::parseQmlTypes()
|
||||
{
|
||||
foreach (QmlType *qmlType, QmlMetaType::qmlTypes()) {
|
||||
foreach (QDeclarativeType *qmlType, QDeclarativeMetaType::qmlTypes()) {
|
||||
const QString qtTypeName(qmlType->typeName());
|
||||
const QString qmlTypeName(qmlType->qmlTypeName());
|
||||
m_QtTypesToQmlTypes.insert(qtTypeName, qmlTypeName);
|
||||
}
|
||||
foreach (QmlType *qmlType, QmlMetaType::qmlTypes()) {
|
||||
foreach (QDeclarativeType *qmlType, QDeclarativeMetaType::qmlTypes()) {
|
||||
const QMetaObject *qMetaObject = qmlType->metaObject();
|
||||
|
||||
// parseQmlTypes is called iteratively e.g. when plugins are loaded
|
||||
@@ -305,11 +305,11 @@ void MetaInfoPrivate::parseQmlTypes()
|
||||
|
||||
void MetaInfoPrivate::parseNonQmlTypes()
|
||||
{
|
||||
foreach (QmlType *qmlType, QmlMetaType::qmlTypes()) {
|
||||
foreach (QDeclarativeType *qmlType, QDeclarativeMetaType::qmlTypes()) {
|
||||
parseNonQmlClassRecursively(qmlType->metaObject());
|
||||
}
|
||||
|
||||
parseNonQmlClassRecursively(&QmlGraphicsAnchors::staticMetaObject);
|
||||
parseNonQmlClassRecursively(&QDeclarativeAnchors::staticMetaObject);
|
||||
}
|
||||
|
||||
|
||||
|
@@ -39,11 +39,11 @@
|
||||
#include <QtCore/QSharedData>
|
||||
#include <QtCore/QtDebug>
|
||||
#include <QtGui/QIcon>
|
||||
#include <QtDeclarative/QmlMetaType>
|
||||
#include <QtDeclarative/QmlContext>
|
||||
#include <QtDeclarative/QmlEngine>
|
||||
#include <QtDeclarative/QmlComponent>
|
||||
#include <private/qmlvaluetype_p.h>
|
||||
#include <QtDeclarative/private/qdeclarativemetatype_p.h>
|
||||
#include <QtDeclarative/QDeclarativeContext>
|
||||
#include <QtDeclarative/QDeclarativeEngine>
|
||||
#include <QtDeclarative/QDeclarativeComponent>
|
||||
#include <private/qdeclarativevaluetype_p.h>
|
||||
|
||||
namespace QmlDesigner {
|
||||
|
||||
@@ -159,7 +159,7 @@ MetaInfo NodeMetaInfo::metaInfo() const
|
||||
\throws InvalidArgumentException when the context argument is a null pointer
|
||||
\throws InvalidMetaInfoException if the object is not valid
|
||||
*/
|
||||
QObject *NodeMetaInfo::createInstance(QmlContext *context) const
|
||||
QObject *NodeMetaInfo::createInstance(QDeclarativeContext *context) const
|
||||
{
|
||||
if (!context) {
|
||||
Q_ASSERT_X(0, Q_FUNC_INFO, "Context cannot be null");
|
||||
@@ -175,13 +175,13 @@ QObject *NodeMetaInfo::createInstance(QmlContext *context) const
|
||||
if (isComponent()) {
|
||||
// qml component
|
||||
// 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);
|
||||
} else {
|
||||
// primitive
|
||||
object = QmlMetaType::qmlType(typeName().toAscii(), 4, 6)->create();
|
||||
object = QDeclarativeMetaType::qmlType(typeName().toAscii(), 4, 6)->create();
|
||||
if (object && context)
|
||||
QmlEngine::setContextForObject(object, context);
|
||||
QDeclarativeEngine::setContextForObject(object, context);
|
||||
}
|
||||
return object;
|
||||
}
|
||||
@@ -418,7 +418,7 @@ void NodeMetaInfo::addProperty(const PropertyMetaInfo &property)
|
||||
/*!
|
||||
\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
|
||||
*/
|
||||
@@ -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
|
||||
*/
|
||||
|
@@ -34,8 +34,8 @@
|
||||
#include "invalidmetainfoexception.h"
|
||||
#include "metainfo.h"
|
||||
#include "modelnode.h"
|
||||
#include <private/qmlvaluetype_p.h>
|
||||
#include <private/qmlstringconverters_p.h>
|
||||
#include <private/qdeclarativevaluetype_p.h>
|
||||
#include <private/qdeclarativestringconverters_p.h>
|
||||
|
||||
namespace QmlDesigner {
|
||||
|
||||
@@ -255,12 +255,12 @@ bool PropertyMetaInfo::isValueType() const
|
||||
throw InvalidMetaInfoException(__LINE__, Q_FUNC_INFO, __FILE__);
|
||||
}
|
||||
|
||||
QmlValueType *valueType(QmlValueTypeFactory::valueType(variantTypeId()));
|
||||
QDeclarativeValueType *valueType(QDeclarativeValueTypeFactory::valueType(variantTypeId()));
|
||||
return valueType;
|
||||
}
|
||||
|
||||
/*!
|
||||
\brief Returns whether the propery is a QmlList.
|
||||
\brief Returns whether the propery is a QDeclarativeList.
|
||||
*/
|
||||
bool PropertyMetaInfo::isListProperty() const
|
||||
{
|
||||
@@ -269,7 +269,7 @@ bool PropertyMetaInfo::isListProperty() const
|
||||
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 QmlStringConverters::variantFromString(variant.toString());
|
||||
return QDeclarativeStringConverters::variantFromString(variant.toString());
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -33,10 +33,10 @@
|
||||
#include <QDir>
|
||||
#include <QMetaType>
|
||||
#include <QUrl>
|
||||
#include <QmlEngine>
|
||||
#include <QmlMetaType>
|
||||
#include <QDeclarativeEngine>
|
||||
#include <private/qdeclarativemetatype_p.h>
|
||||
#include <QFileSystemWatcher>
|
||||
#include <private/qmldom_p.h>
|
||||
#include <private/qdeclarativedom_p.h>
|
||||
|
||||
enum { debug = false };
|
||||
|
||||
@@ -68,7 +68,7 @@ class SubComponentManagerPrivate : QObject {
|
||||
public:
|
||||
SubComponentManagerPrivate(MetaInfo metaInfo, SubComponentManager *q);
|
||||
|
||||
void addImport(int pos, const QmlDomImport &import);
|
||||
void addImport(int pos, const QDeclarativeDomImport &import);
|
||||
void removeImport(int pos);
|
||||
void parseDirectories();
|
||||
|
||||
@@ -79,12 +79,12 @@ public slots:
|
||||
public:
|
||||
QList<QFileInfo> watchedFiles(const QDir &dirInfo);
|
||||
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;
|
||||
|
||||
MetaInfo m_metaInfo;
|
||||
QmlEngine m_engine;
|
||||
QDeclarativeEngine m_engine;
|
||||
|
||||
QFileSystemWatcher m_watcher;
|
||||
|
||||
@@ -92,7 +92,7 @@ public:
|
||||
|
||||
QUrl m_filePath;
|
||||
|
||||
QList<QmlDomImport> m_imports;
|
||||
QList<QDeclarativeDomImport> m_imports;
|
||||
};
|
||||
|
||||
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)));
|
||||
}
|
||||
|
||||
void SubComponentManagerPrivate::addImport(int pos, const QmlDomImport &import)
|
||||
void SubComponentManagerPrivate::addImport(int pos, const QDeclarativeDomImport &import)
|
||||
{
|
||||
if (debug)
|
||||
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());
|
||||
if (dirInfo.exists() && dirInfo.isDir()) {
|
||||
m_watcher.addPath(dirInfo.filePath());
|
||||
m_dirToQualifier.insertMulti(dirInfo, import.qualifier());
|
||||
}
|
||||
} else {
|
||||
// TODO: QmlDomImport::Library
|
||||
// TODO: QDeclarativeDomImport::Library
|
||||
}
|
||||
|
||||
m_imports.insert(pos, import);
|
||||
@@ -123,9 +123,9 @@ void SubComponentManagerPrivate::addImport(int pos, const QmlDomImport &import)
|
||||
|
||||
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());
|
||||
|
||||
m_dirToQualifier.remove(dirInfo, import.qualifier());
|
||||
@@ -139,7 +139,7 @@ void SubComponentManagerPrivate::removeImport(int pos)
|
||||
unregisterQmlFile(monitoredFile, import.qualifier());
|
||||
}
|
||||
} else {
|
||||
// TODO: QmlDomImport::Library
|
||||
// TODO: QDeclarativeDomImport::Library
|
||||
}
|
||||
}
|
||||
|
||||
@@ -152,8 +152,8 @@ void SubComponentManagerPrivate::parseDirectories()
|
||||
parseDirectory(dirInfo.filePath());
|
||||
}
|
||||
|
||||
foreach (const QmlDomImport &import, m_imports) {
|
||||
if (import.type() == QmlDomImport::File) {
|
||||
foreach (const QDeclarativeDomImport &import, m_imports) {
|
||||
if (import.type() == QDeclarativeDomImport::File) {
|
||||
QFileInfo dirInfo = QFileInfo(m_filePath.resolved(import.uri()).toLocalFile());
|
||||
if (dirInfo.exists() && dirInfo.isDir()) {
|
||||
parseDirectory(dirInfo.filePath());
|
||||
@@ -241,7 +241,7 @@ void SubComponentManagerPrivate::parseFile(const QString &filePath)
|
||||
return;
|
||||
}
|
||||
|
||||
QmlDomDocument document;
|
||||
QDeclarativeDomDocument document;
|
||||
if (!document.load(&m_engine, file.readAll(), QUrl::fromLocalFile(filePath))) {
|
||||
// TODO: Put the errors somewhere?
|
||||
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();
|
||||
if (!qualifier.isEmpty())
|
||||
@@ -294,7 +294,7 @@ void SubComponentManagerPrivate::registerQmlFile(const QFileInfo &fileInfo, cons
|
||||
m_metaInfo.removeNodeInfo(nodeInfo);
|
||||
}
|
||||
|
||||
const QmlDomObject rootObject = document.rootObject();
|
||||
const QDeclarativeDomObject rootObject = document.rootObject();
|
||||
|
||||
const QString baseType = document.rootObject().objectType();
|
||||
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.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.propertyTypeName().isEmpty());
|
||||
|
||||
@@ -321,7 +321,7 @@ void SubComponentManagerPrivate::registerQmlFile(const QFileInfo &fileInfo, cons
|
||||
propertyMetaInfo.setReadable(true);
|
||||
propertyMetaInfo.setWritable(true);
|
||||
|
||||
QmlDomProperty defaultValue = dynamicProperty.defaultValue();
|
||||
QDeclarativeDomProperty defaultValue = dynamicProperty.defaultValue();
|
||||
if (defaultValue.value().isLiteral()) {
|
||||
QVariant defaultValueVariant(defaultValue.value().toLiteral().literal());
|
||||
defaultValueVariant.convert((QVariant::Type) dynamicProperty.propertyType());
|
||||
@@ -362,7 +362,7 @@ QStringList SubComponentManager::qmlFiles() const
|
||||
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()
|
||||
&& 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)
|
||||
{
|
||||
QmlEngine engine;
|
||||
QmlDomDocument document;
|
||||
QDeclarativeEngine engine;
|
||||
QDeclarativeDomDocument document;
|
||||
|
||||
QList<QmlDomImport> imports;
|
||||
QList<QDeclarativeDomImport> imports;
|
||||
if (document.load(&engine, data, filePath))
|
||||
imports = document.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)
|
||||
qDebug() << Q_FUNC_INFO << filePath << imports.size();
|
||||
|
@@ -42,7 +42,7 @@
|
||||
#include "nodelistproperty.h"
|
||||
#include <QTextStream>
|
||||
#include <qmlobjectnode.h>
|
||||
#include <qmlview.h>
|
||||
#include <QDeclarativeView>
|
||||
|
||||
namespace QmlDesigner {
|
||||
|
||||
|
@@ -995,7 +995,7 @@ Model *Model::create(QString type, int major, int minor)
|
||||
// componentRootLocation,
|
||||
// m_d->m_rootInternalNode->baseNodeState()->location());
|
||||
//
|
||||
// QList<QmlError> errors;
|
||||
// QList<QDeclarativeError> errors;
|
||||
// Model *subModel = create(textModifier, m_d->m_fileUrl, &errors);
|
||||
//
|
||||
// Q_ASSERT(subModel);
|
||||
|
@@ -30,7 +30,7 @@
|
||||
#include "propertyparser.h"
|
||||
#include <QUrl>
|
||||
#include <QtCore/QDebug>
|
||||
#include <QtDeclarative/private/qmlstringconverters_p.h>
|
||||
#include <QtDeclarative/private/qdeclarativestringconverters_p.h>
|
||||
#include <modelnode.h>
|
||||
#include <metainfo.h>
|
||||
|
||||
@@ -71,28 +71,28 @@ QVariant read(const QString &typeStr, const QString &str)
|
||||
bool conversionOk = true;
|
||||
switch (type) {
|
||||
case QMetaType::QPoint:
|
||||
value = QmlStringConverters::pointFFromString(str, &conversionOk).toPoint();
|
||||
value = QDeclarativeStringConverters::pointFFromString(str, &conversionOk).toPoint();
|
||||
break;
|
||||
case QMetaType::QPointF:
|
||||
value = QmlStringConverters::pointFFromString(str, &conversionOk);
|
||||
value = QDeclarativeStringConverters::pointFFromString(str, &conversionOk);
|
||||
break;
|
||||
case QMetaType::QSize:
|
||||
value = QmlStringConverters::sizeFFromString(str, &conversionOk).toSize();
|
||||
value = QDeclarativeStringConverters::sizeFFromString(str, &conversionOk).toSize();
|
||||
break;
|
||||
case QMetaType::QSizeF:
|
||||
value = QmlStringConverters::sizeFFromString(str, &conversionOk);
|
||||
value = QDeclarativeStringConverters::sizeFFromString(str, &conversionOk);
|
||||
break;
|
||||
case QMetaType::QRect:
|
||||
value = QmlStringConverters::rectFFromString(str, &conversionOk).toRect();
|
||||
value = QDeclarativeStringConverters::rectFFromString(str, &conversionOk).toRect();
|
||||
break;
|
||||
case QMetaType::QRectF:
|
||||
value = QmlStringConverters::rectFFromString(str, &conversionOk);
|
||||
value = QDeclarativeStringConverters::rectFFromString(str, &conversionOk);
|
||||
break;
|
||||
case QMetaType::QUrl:
|
||||
value = QVariant(QUrl(str));
|
||||
break;
|
||||
case QMetaType::QColor:
|
||||
value = QmlStringConverters::colorFromString(str);
|
||||
value = QDeclarativeStringConverters::colorFromString(str);
|
||||
break;
|
||||
default: {
|
||||
value = QVariant(str);
|
||||
|
@@ -29,7 +29,7 @@
|
||||
|
||||
#include "qmlitemnode.h"
|
||||
#include <metainfo.h>
|
||||
#include "qmlview.h"
|
||||
#include <QDeclarativeView>
|
||||
#include "qmlchangeset.h"
|
||||
#include "variantproperty.h"
|
||||
#include "nodelistproperty.h"
|
||||
|
@@ -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_line(qmlError.line()),
|
||||
m_column(qmlError.column()),
|
||||
|
@@ -38,9 +38,9 @@
|
||||
#include "rewriterview.h"
|
||||
#include "variantproperty.h"
|
||||
|
||||
#include <QmlEngine>
|
||||
#include <QDeclarativeEngine>
|
||||
#include <QSet>
|
||||
#include <private/qmldom_p.h>
|
||||
#include <private/qdeclarativedom_p.h>
|
||||
|
||||
using namespace QmlDesigner;
|
||||
using namespace QmlDesigner::Internal;
|
||||
@@ -70,20 +70,20 @@ bool TextToModelMerger::isActive() const
|
||||
return m_isActive;
|
||||
}
|
||||
|
||||
void TextToModelMerger::setupImports(QmlDomDocument &doc,
|
||||
void TextToModelMerger::setupImports(QDeclarativeDomDocument &doc,
|
||||
DifferenceHandler &differenceHandler)
|
||||
{
|
||||
QSet<Import> existingImports = m_rewriterView->model()->imports();
|
||||
|
||||
foreach (const QmlDomImport &qmlImport, doc.imports()) {
|
||||
if (qmlImport.type() == QmlDomImport::Library) {
|
||||
foreach (const QDeclarativeDomImport &qmlImport, doc.imports()) {
|
||||
if (qmlImport.type() == QDeclarativeDomImport::Library) {
|
||||
Import import(Import::createLibraryImport(qmlImport.uri(),
|
||||
qmlImport.version(),
|
||||
qmlImport.qualifier()));
|
||||
|
||||
if (!existingImports.remove(import))
|
||||
differenceHandler.modelMissesImport(import);
|
||||
} else if (qmlImport.type() == QmlDomImport::File) {
|
||||
} else if (qmlImport.type() == QDeclarativeDomImport::File) {
|
||||
Import import(Import:: createFileImport(qmlImport.uri(),
|
||||
qmlImport.version(),
|
||||
qmlImport.qualifier()));
|
||||
@@ -102,22 +102,22 @@ bool TextToModelMerger::load(const QByteArray &data, DifferenceHandler &differen
|
||||
setActive(true);
|
||||
|
||||
try {
|
||||
QmlEngine engine;
|
||||
QmlDomDocument doc;
|
||||
QDeclarativeEngine engine;
|
||||
QDeclarativeDomDocument doc;
|
||||
const QUrl url = m_rewriterView->model()->fileUrl();
|
||||
const bool success = doc.load(&engine, data, url);
|
||||
|
||||
if (success) {
|
||||
setupImports(doc, differenceHandler);
|
||||
|
||||
const QmlDomObject rootDomObject = doc.rootObject();
|
||||
const QDeclarativeDomObject rootDomObject = doc.rootObject();
|
||||
ModelNode modelRootNode = m_rewriterView->rootModelNode();
|
||||
syncNode(modelRootNode, rootDomObject, differenceHandler);
|
||||
m_rewriterView->positionStorage()->cleanupInvalidOffsets();
|
||||
m_rewriterView->clearErrors();
|
||||
} else {
|
||||
QList<RewriterView::Error> errors;
|
||||
foreach (const QmlError &qmlError, doc.errors())
|
||||
foreach (const QDeclarativeError &qmlError, doc.errors())
|
||||
errors.append(RewriterView::Error(qmlError));
|
||||
m_rewriterView->setErrors(errors);
|
||||
}
|
||||
@@ -139,7 +139,7 @@ bool TextToModelMerger::load(const QByteArray &data, DifferenceHandler &differen
|
||||
}
|
||||
|
||||
void TextToModelMerger::syncNode(ModelNode &modelNode,
|
||||
const QmlDomObject &domObject,
|
||||
const QDeclarativeDomObject &domObject,
|
||||
DifferenceHandler &differenceHandler)
|
||||
{
|
||||
m_rewriterView->positionStorage()->setNodeOffset(modelNode, domObject.position());
|
||||
@@ -155,7 +155,7 @@ void TextToModelMerger::syncNode(ModelNode &modelNode,
|
||||
|
||||
{
|
||||
QString domObjectId = domObject.objectId();
|
||||
const QmlDomProperty domIdProperty = domObject.property("id");
|
||||
const QDeclarativeDomProperty domIdProperty = domObject.property("id");
|
||||
if (domObjectId.isEmpty() && domIdProperty.value().isLiteral())
|
||||
domObjectId = domIdProperty.value().toLiteral().literal();
|
||||
|
||||
@@ -178,7 +178,7 @@ void TextToModelMerger::syncNode(ModelNode &modelNode,
|
||||
|
||||
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();
|
||||
|
||||
if (isSignalPropertyName(domPropertyName.toUtf8()))
|
||||
@@ -196,7 +196,7 @@ void TextToModelMerger::syncNode(ModelNode &modelNode,
|
||||
modelPropertyNames.remove(domPropertyName);
|
||||
continue;
|
||||
} 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")) {
|
||||
AbstractProperty modelProperty = modelNode.property(domPropertyName);
|
||||
syncProperty(modelProperty, domProperty, dynamicProperty, differenceHandler);
|
||||
@@ -206,7 +206,7 @@ void TextToModelMerger::syncNode(ModelNode &modelNode,
|
||||
}
|
||||
|
||||
{ // 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();
|
||||
if (domObject.property(propertyName).isValid())
|
||||
continue;
|
||||
@@ -230,7 +230,7 @@ void TextToModelMerger::syncNode(ModelNode &modelNode,
|
||||
|
||||
foreach (const QString &modelPropertyName, modelPropertyNames) {
|
||||
AbstractProperty modelProperty = modelNode.property(modelPropertyName);
|
||||
const QmlDomDynamicProperty dynamicDomProperty = domObject.dynamicProperty(modelPropertyName.toUtf8());
|
||||
const QDeclarativeDomDynamicProperty dynamicDomProperty = domObject.dynamicProperty(modelPropertyName.toUtf8());
|
||||
|
||||
if (dynamicDomProperty.isValid()) {
|
||||
const QString dynamicTypeName = QMetaType::typeName(dynamicDomProperty.propertyType());
|
||||
@@ -251,23 +251,23 @@ void TextToModelMerger::syncNode(ModelNode &modelNode,
|
||||
}
|
||||
|
||||
void TextToModelMerger::syncProperty(AbstractProperty &modelProperty,
|
||||
const QmlDomProperty &qmlProperty,
|
||||
const QmlDomDynamicProperty &qmlDynamicProperty,
|
||||
const QDeclarativeDomProperty &qmlProperty,
|
||||
const QDeclarativeDomDynamicProperty &qmlDynamicProperty,
|
||||
DifferenceHandler &differenceHandler)
|
||||
{
|
||||
Q_ASSERT(modelProperty.name() == qmlProperty.propertyName());
|
||||
|
||||
const QmlDomValue qmlValue = qmlProperty.value();
|
||||
const QDeclarativeDomValue qmlValue = qmlProperty.value();
|
||||
|
||||
if (qmlValue.isBinding()) {
|
||||
const QString qmlBinding = qmlValue.toBinding().binding();
|
||||
const QString QDeclarativeBinding = qmlValue.toBinding().binding();
|
||||
if (modelProperty.isBindingProperty()) {
|
||||
BindingProperty bindingProperty = modelProperty.toBindingProperty();
|
||||
if (bindingProperty.expression() != qmlBinding) {
|
||||
differenceHandler.bindingExpressionsDiffer(bindingProperty, qmlBinding);
|
||||
if (bindingProperty.expression() != QDeclarativeBinding) {
|
||||
differenceHandler.bindingExpressionsDiffer(bindingProperty, QDeclarativeBinding);
|
||||
}
|
||||
} else {
|
||||
differenceHandler.shouldBeBindingProperty(modelProperty, qmlBinding);
|
||||
differenceHandler.shouldBeBindingProperty(modelProperty, QDeclarativeBinding);
|
||||
}
|
||||
} else if (qmlValue.isList()) {
|
||||
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<QmlDomValue> domValues = domList.values();
|
||||
QList<QDeclarativeDomValue> domValues = domList.values();
|
||||
int i = 0;
|
||||
for (; i < modelNodes.size() && i < domValues.size(); ++i) {
|
||||
QmlDomValue value = domValues.at(i);
|
||||
QDeclarativeDomValue value = domValues.at(i);
|
||||
if (value.isObject()) {
|
||||
ModelNode modelNode = modelNodes.at(i);
|
||||
syncNode(modelNode, value.toObject(), differenceHandler);
|
||||
@@ -331,9 +331,9 @@ void TextToModelMerger::syncNodeListProperty(NodeListProperty &modelListProperty
|
||||
|
||||
for (int j = i; j < domValues.size(); ++j) {
|
||||
// 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()) {
|
||||
const QmlDomObject qmlObject = value.toObject();
|
||||
const QDeclarativeDomObject qmlObject = value.toObject();
|
||||
const ModelNode newNode = differenceHandler.listPropertyMissingModelNode(modelListProperty, qmlObject);
|
||||
if (QString::fromUtf8(qmlObject.objectType()) == QLatin1String("Qt/Component"))
|
||||
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());
|
||||
syncNode(newNode, domObject, differenceHandler);
|
||||
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();
|
||||
|
||||
@@ -400,19 +400,19 @@ void ModelValidator::importAbsentInQMl(const Import &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);
|
||||
}
|
||||
|
||||
void ModelValidator::shouldBeBindingProperty(AbstractProperty &modelProperty, const QString &/*qmlBinding*/)
|
||||
void ModelValidator::shouldBeBindingProperty(AbstractProperty &modelProperty, const QString &/*QDeclarativeBinding*/)
|
||||
{
|
||||
Q_ASSERT(modelProperty.isBindingProperty());
|
||||
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(0);
|
||||
@@ -435,7 +435,7 @@ void ModelValidator::shouldBeVariantProperty(AbstractProperty &modelProperty, co
|
||||
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(0);
|
||||
@@ -447,13 +447,13 @@ void ModelValidator::modelNodeAbsentFromQml(ModelNode &modelNode)
|
||||
Q_ASSERT(0);
|
||||
}
|
||||
|
||||
ModelNode ModelValidator::listPropertyMissingModelNode(NodeListProperty &/*modelProperty*/, const QmlDomObject &/*qmlObject*/)
|
||||
ModelNode ModelValidator::listPropertyMissingModelNode(NodeListProperty &/*modelProperty*/, const QDeclarativeDomObject &/*qmlObject*/)
|
||||
{
|
||||
Q_ASSERT(0);
|
||||
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.majorVersion() == domObject.objectTypeMajorVersion());
|
||||
@@ -483,19 +483,19 @@ void ModelAmender::importAbsentInQMl(const Import &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();
|
||||
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();
|
||||
NodeListProperty newNodeListProperty = theNode.nodeListProperty(modelProperty.name());
|
||||
@@ -522,7 +522,7 @@ void ModelAmender::shouldBeVariantProperty(AbstractProperty &modelProperty, cons
|
||||
newModelProperty.setDynamicTypeNameAndValue(dynamicTypeName, qmlVariantValue);
|
||||
}
|
||||
|
||||
void ModelAmender::shouldBeNodeProperty(AbstractProperty &modelProperty, const QmlDomObject &qmlObject)
|
||||
void ModelAmender::shouldBeNodeProperty(AbstractProperty &modelProperty, const QDeclarativeDomObject &qmlObject)
|
||||
{
|
||||
ModelNode theNode = modelProperty.parentModelNode();
|
||||
NodeProperty newNodeProperty = theNode.nodeProperty(modelProperty.name());
|
||||
@@ -534,14 +534,14 @@ void ModelAmender::modelNodeAbsentFromQml(ModelNode &modelNode)
|
||||
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);
|
||||
modelProperty.reparentHere(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) {
|
||||
modelNode.view()->changeRootNodeType(domObject.objectType(), domObject.objectTypeMajorVersion(), domObject.objectTypeMinorVersion());
|
||||
|
@@ -35,7 +35,7 @@
|
||||
#include "nodelistproperty.h"
|
||||
#include "modelnode.h"
|
||||
|
||||
#include <private/qmldom_p.h>
|
||||
#include <private/qdeclarativedom_p.h>
|
||||
|
||||
namespace QmlDesigner {
|
||||
|
||||
@@ -54,7 +54,7 @@ public:
|
||||
TextToModelMerger(RewriterView *reWriterView);
|
||||
bool isActive() const;
|
||||
|
||||
void setupImports(QmlDomDocument &doc, DifferenceHandler &differenceHandler);
|
||||
void setupImports(QDeclarativeDomDocument &doc, DifferenceHandler &differenceHandler);
|
||||
bool load(const QByteArray &data, DifferenceHandler &differenceHandler);
|
||||
|
||||
RewriterView *view() const
|
||||
@@ -65,20 +65,20 @@ protected:
|
||||
|
||||
public:
|
||||
void syncNode(ModelNode &modelNode,
|
||||
const QmlDomObject &qmlObject,
|
||||
const QDeclarativeDomObject &qmlObject,
|
||||
DifferenceHandler &differenceHandler);
|
||||
void syncProperty(AbstractProperty &modelProperty,
|
||||
const QmlDomProperty &qmlProperty,
|
||||
const QmlDomDynamicProperty &qmlDynamicProperty,
|
||||
const QDeclarativeDomProperty &qmlProperty,
|
||||
const QDeclarativeDomDynamicProperty &qmlDynamicProperty,
|
||||
DifferenceHandler &differenceHandler);
|
||||
void syncNodeListProperty(NodeListProperty &modelListProperty,
|
||||
const QmlDomList &domList,
|
||||
const QDeclarativeDomList &domList,
|
||||
DifferenceHandler &differenceHandler);
|
||||
ModelNode createModelNode(const QmlDomObject &domObject,
|
||||
ModelNode createModelNode(const QDeclarativeDomObject &domObject,
|
||||
DifferenceHandler &differenceHandler);
|
||||
static QVariant convertToVariant(const ModelNode &node,
|
||||
const QmlDomProperty &qmlProperty,
|
||||
const QmlDomDynamicProperty &qmlDynamicProperty);
|
||||
const QDeclarativeDomProperty &qmlProperty,
|
||||
const QDeclarativeDomDynamicProperty &qmlDynamicProperty);
|
||||
|
||||
private:
|
||||
static bool isSignalPropertyName(const QString &signalName);
|
||||
@@ -100,15 +100,15 @@ public:
|
||||
|
||||
virtual void modelMissesImport(const Import &import) = 0;
|
||||
virtual void importAbsentInQMl(const Import &import) = 0;
|
||||
virtual void bindingExpressionsDiffer(BindingProperty &modelProperty, const QString &qmlBinding) = 0;
|
||||
virtual void shouldBeBindingProperty(AbstractProperty &modelProperty, const QString &qmlBinding) = 0;
|
||||
virtual void shouldBeNodeListProperty(AbstractProperty &modelProperty, const QmlDomList &domList) = 0;
|
||||
virtual void bindingExpressionsDiffer(BindingProperty &modelProperty, const QString &QDeclarativeBinding) = 0;
|
||||
virtual void shouldBeBindingProperty(AbstractProperty &modelProperty, const QString &QDeclarativeBinding) = 0;
|
||||
virtual void shouldBeNodeListProperty(AbstractProperty &modelProperty, const QDeclarativeDomList &domList) = 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 shouldBeNodeProperty(AbstractProperty &modelProperty, const QmlDomObject &qmlObject) = 0;
|
||||
virtual void shouldBeNodeProperty(AbstractProperty &modelProperty, const QDeclarativeDomObject &qmlObject) = 0;
|
||||
virtual void modelNodeAbsentFromQml(ModelNode &modelNode) = 0;
|
||||
virtual ModelNode listPropertyMissingModelNode(NodeListProperty &modelProperty, const QmlDomObject &qmlObject) = 0;
|
||||
virtual void typeDiffers(bool isRootNode, ModelNode &modelNode, const QmlDomObject &domObject) = 0;
|
||||
virtual ModelNode listPropertyMissingModelNode(NodeListProperty &modelProperty, const QDeclarativeDomObject &qmlObject) = 0;
|
||||
virtual void typeDiffers(bool isRootNode, ModelNode &modelNode, const QDeclarativeDomObject &domObject) = 0;
|
||||
virtual void propertyAbsentFromQml(AbstractProperty &modelProperty) = 0;
|
||||
virtual void idsDiffer(ModelNode &modelNode, const QString &qmlId) = 0;
|
||||
|
||||
@@ -127,15 +127,15 @@ public:
|
||||
|
||||
virtual void modelMissesImport(const Import &import);
|
||||
virtual void importAbsentInQMl(const Import &import);
|
||||
virtual void bindingExpressionsDiffer(BindingProperty &modelProperty, const QString &qmlBinding);
|
||||
virtual void shouldBeBindingProperty(AbstractProperty &modelProperty, const QString &qmlBinding);
|
||||
virtual void shouldBeNodeListProperty(AbstractProperty &modelProperty, const QmlDomList &domList);
|
||||
virtual void bindingExpressionsDiffer(BindingProperty &modelProperty, const QString &QDeclarativeBinding);
|
||||
virtual void shouldBeBindingProperty(AbstractProperty &modelProperty, const QString &QDeclarativeBinding);
|
||||
virtual void shouldBeNodeListProperty(AbstractProperty &modelProperty, const QDeclarativeDomList &domList);
|
||||
virtual void variantValuesDiffer(VariantProperty &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 ModelNode listPropertyMissingModelNode(NodeListProperty &modelProperty, const QmlDomObject &qmlObject);
|
||||
virtual void typeDiffers(bool isRootNode, ModelNode &modelNode, const QmlDomObject &domObject);
|
||||
virtual ModelNode listPropertyMissingModelNode(NodeListProperty &modelProperty, const QDeclarativeDomObject &qmlObject);
|
||||
virtual void typeDiffers(bool isRootNode, ModelNode &modelNode, const QDeclarativeDomObject &domObject);
|
||||
virtual void propertyAbsentFromQml(AbstractProperty &modelProperty);
|
||||
virtual void idsDiffer(ModelNode &modelNode, const QString &qmlId);
|
||||
};
|
||||
@@ -151,15 +151,15 @@ public:
|
||||
|
||||
virtual void modelMissesImport(const Import &import);
|
||||
virtual void importAbsentInQMl(const Import &import);
|
||||
virtual void bindingExpressionsDiffer(BindingProperty &modelProperty, const QString &qmlBinding);
|
||||
virtual void shouldBeBindingProperty(AbstractProperty &modelProperty, const QString &qmlBinding);
|
||||
virtual void shouldBeNodeListProperty(AbstractProperty &modelProperty, const QmlDomList &domList);
|
||||
virtual void bindingExpressionsDiffer(BindingProperty &modelProperty, const QString &QDeclarativeBinding);
|
||||
virtual void shouldBeBindingProperty(AbstractProperty &modelProperty, const QString &QDeclarativeBinding);
|
||||
virtual void shouldBeNodeListProperty(AbstractProperty &modelProperty, const QDeclarativeDomList &domList);
|
||||
virtual void variantValuesDiffer(VariantProperty &modelProperty, const QVariant &qmlVariantValue, const QString &dynamicType);
|
||||
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 ModelNode listPropertyMissingModelNode(NodeListProperty &modelProperty, const QmlDomObject &qmlObject);
|
||||
virtual void typeDiffers(bool isRootNode, ModelNode &modelNode, const QmlDomObject &domObject);
|
||||
virtual ModelNode listPropertyMissingModelNode(NodeListProperty &modelProperty, const QDeclarativeDomObject &qmlObject);
|
||||
virtual void typeDiffers(bool isRootNode, ModelNode &modelNode, const QDeclarativeDomObject &domObject);
|
||||
virtual void propertyAbsentFromQml(AbstractProperty &modelProperty);
|
||||
virtual void idsDiffer(ModelNode &modelNode, const QString &qmlId);
|
||||
};
|
||||
|
@@ -28,7 +28,7 @@
|
||||
**************************************************************************/
|
||||
|
||||
#include "variantparser.h"
|
||||
#include <private/qmlvaluetype_p.h>
|
||||
#include <private/qdeclarativevaluetype_p.h>
|
||||
|
||||
#include <QPoint>
|
||||
#include <QPointF>
|
||||
@@ -43,7 +43,7 @@
|
||||
namespace QmlDesigner {
|
||||
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) {
|
||||
m_valueType->setValue(value);
|
||||
@@ -121,21 +121,21 @@ VariantParser VariantParser::create(const QString &type)
|
||||
void VariantParser::init(const QString &type)
|
||||
{
|
||||
if (type == "QFont")
|
||||
m_valueType = QmlValueTypeFactory::valueType(QVariant::Font);
|
||||
m_valueType = QDeclarativeValueTypeFactory::valueType(QVariant::Font);
|
||||
if (type == "QPoint")
|
||||
m_valueType = QmlValueTypeFactory::valueType(QVariant::Point);
|
||||
m_valueType = QDeclarativeValueTypeFactory::valueType(QVariant::Point);
|
||||
if (type == "QPointF")
|
||||
m_valueType = QmlValueTypeFactory::valueType(QVariant::PointF);
|
||||
m_valueType = QDeclarativeValueTypeFactory::valueType(QVariant::PointF);
|
||||
if (type == "QSize")
|
||||
m_valueType = QmlValueTypeFactory::valueType(QVariant::Size);
|
||||
m_valueType = QDeclarativeValueTypeFactory::valueType(QVariant::Size);
|
||||
if (type == "QSizeF")
|
||||
m_valueType = QmlValueTypeFactory::valueType(QVariant::SizeF);
|
||||
m_valueType = QDeclarativeValueTypeFactory::valueType(QVariant::SizeF);
|
||||
if (type == "QRect")
|
||||
m_valueType = QmlValueTypeFactory::valueType(QVariant::Rect);
|
||||
m_valueType = QDeclarativeValueTypeFactory::valueType(QVariant::Rect);
|
||||
if (type == "QRectF")
|
||||
m_valueType = QmlValueTypeFactory::valueType(QVariant::RectF);
|
||||
m_valueType = QDeclarativeValueTypeFactory::valueType(QVariant::RectF);
|
||||
if (type == "QVector3D")
|
||||
m_valueType = QmlValueTypeFactory::valueType(QVariant::Vector3D);
|
||||
m_valueType = QDeclarativeValueTypeFactory::valueType(QVariant::Vector3D);
|
||||
}
|
||||
|
||||
bool VariantParser::isValid()
|
||||
|
@@ -35,7 +35,7 @@
|
||||
#include <QStringList>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
class QmlValueType;
|
||||
class QDeclarativeValueType;
|
||||
QT_END_NAMESPACE
|
||||
|
||||
namespace QmlDesigner {
|
||||
@@ -56,7 +56,7 @@ public:
|
||||
static bool isValueType(const QString &type);
|
||||
static VariantParser create(const QString &type);
|
||||
private:
|
||||
QmlValueType *m_valueType;
|
||||
QDeclarativeValueType *m_valueType;
|
||||
};
|
||||
|
||||
|
||||
|
@@ -45,7 +45,7 @@
|
||||
|
||||
|
||||
#include <QWeakPointer>
|
||||
#include <QmlError>
|
||||
#include <QDeclarativeError>
|
||||
#include <QtCore/QHash>
|
||||
#include <QtGui/QWidget>
|
||||
#include <QtGui/QToolBar>
|
||||
|
@@ -31,7 +31,7 @@
|
||||
#define FXPLUGIN_H
|
||||
|
||||
#include <iwidgetplugin.h>
|
||||
#include <QtDeclarative/qml.h>
|
||||
#include <QtDeclarative/qdeclarative.h>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
QT_END_NAMESPACE
|
||||
|
Reference in New Issue
Block a user