QHash<int, QByteArray> rolesToNames = roleNames();
rolesToNames[role] = m_rolesToNames[role];
- setRoleNames(rolesToNames);
+// setRoleNames(rolesToNames);
+#warning Need to find out how to expose role names to QML
}
int BookListProxyModel::columnCount(const QModelIndex &parent) const
if (parent.isValid())
return QModelIndex();
- return createIndex(row, 0, 0);
+ return createIndex(row, 0, (void*)0);
}
QModelIndex BookListProxyModel::parent(const QModelIndex &child) const
LIBS += -L ../../lib -ldeclarativewidgets
-QT += declarative sql
+QT += qml widgets quick sql
SOURCES += \
main.cpp \
#include <QApplication>
#include <QDebug>
-#include <QDeclarativeContext>
-#include <QDeclarativeEngine>
-#include <QDeclarativeView>
+#include <QQmlContext>
+#include <QQmlEngine>
+#include <QQuickView>
#include <QWidget>
static QWidget *createDeclarativeWidgetsUi(BookStore *bookStore, const QString &fileName)
return widget;
}
-static QWidget *createQtQuickUi(BookStore *bookStore, const QString &fileName)
+static QQuickView *createQtQuickUi(BookStore *bookStore, const QString &fileName)
{
- QDeclarativeView *view = new QDeclarativeView();
+ QQuickView *view = new QQuickView();
QObject::connect(view->engine(), SIGNAL(quit()), QCoreApplication::instance(), SLOT(quit()));
BookStore bookStore;
- QWidget *widget = useDeclarativeWidgets ? createDeclarativeWidgetsUi(&bookStore, fileName) : createQtQuickUi(&bookStore, fileName);
+ if(useDeclarativeWidgets)
+ createDeclarativeWidgetsUi(&bookStore, fileName)->show();
+ else
+ createQtQuickUi(&bookStore, fileName)->show();
- widget->show();
return app.exec();
}
LIBS += -L ../../lib -ldeclarativewidgets
-QT += declarative
+QT += qml widgets
TARGET = config-editor
#include <QDebug>
#include <QDesktopServices>
+#include <QStandardPaths>
#include <QDir>
#include <QFile>
#include <QFileInfo>
}
// otherwise look into our data storage location
- const QString dataDirLocation = QDesktopServices::storageLocation(QDesktopServices::DataLocation);
+ const QString dataDirLocation = QStandardPaths::writableLocation(QStandardPaths::DataLocation);
qDebug() << "dataDirLocation" << dataDirLocation;
if (!dataDirLocation.isEmpty()) {
qmlFileInfo = QFileInfo(QDir(dataDirLocation + "config-editor"), qmlFile);
#include "declarativewidgetsdocument.h"
#include <QApplication>
-#include <QDeclarativeEngine>
+#include <QQmlEngine>
#include <QWidget>
int main(int argc, char *argv[])
#include <QApplication>
#include <QDebug>
-#include <QDeclarativeEngine>
+#include <QQmlEngine>
#include <QWidget>
int main(int argc, char **argv)
LIBS += -L ../../lib -ldeclarativewidgets
-QT += declarative
+QT += qml widgets
# Input
SOURCES += \
TEMPLATE = lib
TARGET = declarativewidgetsplugin
-QT += declarative webkit
+QT += qml quick widgets
+# QT += webkit
CONFIG += qt plugin
TARGET = $$qtLibraryTarget($$TARGET)
#include <QComboBox>
#include <QCommandLinkButton>
#include <QDateTimeEdit>
-#include <QDeclarativeView>
+#include <QQuickView>
#include <QDial>
#include <QDialogButtonBox>
#include <QDoubleSpinBox>
#include <QPlainTextEdit>
#include <QProgressBar>
#include <QRadioButton>
+#include <QScrollArea>
#include <QScrollBar>
#include <QStackedWidget>
#include <QStringListModel>
#include <QToolBar>
#include <QToolButton>
#include <QTreeView>
-#include <QWebView>
+// #include <QWebView>
-#include <qdeclarative.h>
+#include <qqml.h>
// @uri QtWidgets
void ExtensionpluginPlugin::registerTypes(const char *uri)
qmlRegisterExtendedType<QComboBox, DeclarativeComboBoxExtension>(uri, 1, 0, "ComboBox");
qmlRegisterExtendedType<QDateEdit, DeclarativeWidgetExtension>(uri, 1, 0, "DateEdit");
qmlRegisterExtendedType<QDateTimeEdit, DeclarativeWidgetExtension>(uri, 1, 0, "DateTimeEdit");
- qmlRegisterExtendedType<QDeclarativeView, DeclarativeDeclarativeViewExtension>(uri, 1, 0, "DeclarativeView");
+ qmlRegisterExtendedType<QQuickView, DeclarativeDeclarativeViewExtension>(uri, 1, 0, "DeclarativeView");
qmlRegisterExtendedType<QDial, DeclarativeWidgetExtension>(uri, 1, 0, "Dial");
qmlRegisterExtendedType<Dialog, DeclarativeWidgetExtension>(uri, 1, 0, "Dialog");
qmlRegisterExtendedType<QDialogButtonBox, DeclarativeWidgetExtension>(uri, 1, 0, "DialogButtonBox");
qmlRegisterExtendedType<QToolBar, DeclarativeContainerWidgetExtension<ToolBarWidgetContainer> >(uri, 1, 0, "ToolBar");
qmlRegisterExtendedType<QToolButton, DeclarativeWidgetExtension>(uri, 1, 0, "ToolButton");
qmlRegisterExtendedType<QTreeView, DeclarativeTreeViewExtension>(uri, 1, 0, "TreeView");
- qmlRegisterExtendedType<QWebView, DeclarativeWidgetExtension>(uri, 1, 0, "WebView");
+// qmlRegisterExtendedType<QWebView, DeclarativeWidgetExtension>(uri, 1, 0, "WebView");
+#warning Need to reenable WebKit
qmlRegisterExtendedType<QWidget, DeclarativeWidgetExtension>(uri, 1, 0, "Widget");
}
-Q_EXPORT_PLUGIN2(Extensionplugin, ExtensionpluginPlugin)
-
#ifndef EXTENSIONPLUGIN_PLUGIN_H
#define EXTENSIONPLUGIN_PLUGIN_H
-#include <QDeclarativeExtensionPlugin>
+#include <QQmlExtensionPlugin>
-class ExtensionpluginPlugin : public QDeclarativeExtensionPlugin
+class ExtensionpluginPlugin : public QQmlExtensionPlugin
{
Q_OBJECT
+ Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
public:
void registerTypes(const char *uri);
DeclarativeObjectProxy<DeclarativeContext>::dataAppend(object);
}
-CUSTOM_METAOBJECT(DeclarativeDeclarativeContext, DeclarativeContext)
+//TODO: Find a solution to make the macro public but the usage of QMetaObjectBuilder private
+
+#include "qmetaobjectbuilder_p.h"
+
+QMetaObject DeclarativeDeclarativeContext::staticMetaObject;
+
+bool DeclarativeDeclarativeContext::metaObjectInitialized = DeclarativeDeclarativeContext::initializeMetaObject();
+
+bool DeclarativeDeclarativeContext::initializeMetaObject()
+{
+ QMetaObjectBuilder builder;
+ const QMetaObject *mo = &DeclarativeContext::staticMetaObject;
+ builder.addMetaObject(mo);
+ builder.addMetaObject(&AbstractDeclarativeObject::staticMetaObject);
+ builder.setSuperClass(DeclarativeContext::staticMetaObject.superClass());
+ builder.setClassName("DeclarativeDeclarativeContext");
+ DeclarativeDeclarativeContext::staticMetaObject = *builder.toMetaObject();
+ return true;
+}
+
+const QMetaObject &DeclarativeDeclarativeContext::getStaticMetaObject()
+{
+ return DeclarativeDeclarativeContext::staticMetaObject;
+}
+
+const QMetaObject* DeclarativeDeclarativeContext::metaObject() const
+{
+ QMetaObject*mobj=QObject::d_ptr->dynamicMetaObject();
+ return mobj ? mobj : &staticMetaObject;
+}
+
+void* DeclarativeDeclarativeContext::qt_metacast(const char*)
+{
+ return 0;
+}
+
+int DeclarativeDeclarativeContext::qt_metacall(QMetaObject::Call call, int id, void **argv)
+{
+ if (call == QMetaObject::ReadProperty || call == QMetaObject::WriteProperty) {
+ if (id >= DeclarativeContext::staticMetaObject.propertyCount()) {
+ id = AbstractDeclarativeObject::qt_metacall(call, id - DeclarativeContext::staticMetaObject.propertyCount() + 1, argv);
+ id += DeclarativeContext::staticMetaObject.propertyCount() - 1;
+ } else {
+ id = m_proxiedObject->qt_metacall(call, id, argv);
+ }
+ if (id < 0)
+ return 0;
+ } else if (call == QMetaObject::InvokeMetaMethod) {
+ if (DeclarativeDeclarativeContext::staticMetaObject.method(id).methodType() == QMetaMethod::Signal)
+ QMetaObject::activate(this, id, argv);
+ else
+ id = m_proxiedObject->qt_metacall(call, id, argv);
+ id -= 1;
+ }
+ return id;
+}
#include "declarativedeclarativecontext_p.h"
-#include <QDeclarativeView>
+#include <QQuickView>
DeclarativeDeclarativeViewExtension::DeclarativeDeclarativeViewExtension(QObject *parent)
: DeclarativeWidgetExtension(parent)
{
}
-QDeclarativeView *DeclarativeDeclarativeViewExtension::extendedDeclarativeView() const
+QQuickView *DeclarativeDeclarativeViewExtension::extendedDeclarativeView() const
{
- QDeclarativeView *declarativeView = qobject_cast<QDeclarativeView*>(extendedWidget());
+ QQuickView *declarativeView = qobject_cast<QQuickView*>(extendedWidget());
Q_ASSERT(declarativeView);
return declarativeView;
#include <QPointer>
class DeclarativeContext;
-class QDeclarativeView;
+class QQuickView;
class DeclarativeDeclarativeViewExtension : public DeclarativeWidgetExtension
{
explicit DeclarativeDeclarativeViewExtension(QObject *parent = 0);
~DeclarativeDeclarativeViewExtension();
- QDeclarativeView *extendedDeclarativeView() const;
+ QQuickView *extendedDeclarativeView() const;
void setDeclarativeRootContext(QObject *context);
QObject *declarativeRootContext() const;
#include "staticdialogmethodattached_p.h"
-#include <qdeclarative.h>
+#include <qqml.h>
#include <QFileDialog>
class DeclarativeFileDialogAttached : public StaticDialogMethodAttached
#include "staticdialogmethodattached_p.h"
-#include <qdeclarative.h>
+#include <qqml.h>
#include <QFontDialog>
class DeclarativeFontDialogAttached : public StaticDialogMethodAttached
#include "layoutcontainerinterface_p.h"
-#include <QDeclarativeInfo>
+#include <QQmlInfo>
#include <QLabel>
#include <QPointer>
#include "declarativelayoutextension.h"
-#include <qdeclarative.h>
+#include <qqml.h>
#include <QFormLayout>
class DeclarativeFormLayoutAttached : public QObject
#include "layoutcontainerinterface_p.h"
-#include <QDeclarativeInfo>
+#include <QQmlInfo>
#include <QPointer>
#include <QWidget>
#include "declarativelayoutextension.h"
-#include <qdeclarative.h>
+#include <qqml.h>
#include <QGridLayout>
class DeclarativeGridLayoutAttached : public QObject
#include "layoutcontainerinterface_p.h"
-#include <QDeclarativeInfo>
+#include <QQmlInfo>
#include <QWidget>
DeclarativeHBoxLayout::DeclarativeHBoxLayout(QObject *parent)
#include "declarativeboxlayout_p.h"
#include "declarativelayoutextension.h"
-#include <qdeclarative.h>
+#include <qqml.h>
#include <QHBoxLayout>
class DeclarativeHBoxLayout : public QHBoxLayout
#ifndef DECLARATIVEICON_P_H
#define DECLARATIVEICON_P_H
-#include <qdeclarative.h>
+#include <qqml.h>
#include <QIcon>
#include <QObject>
#include <QStringList>
#include "staticdialogmethodattached_p.h"
-#include <qdeclarative.h>
+#include <qqml.h>
#include <QInputDialog>
class DeclarativeInputDialogAttached : public StaticDialogMethodAttached
#include "abstractdeclarativeobject_p.h"
#include <QDebug>
-#include <qdeclarative.h>
-#include <QDeclarativeComponent>
+#include <qqml.h>
+#include <QQmlComponent>
#include <QVBoxLayout>
class DeclarativeLoaderWidget::Private
public:
QUrl source;
- QDeclarativeComponent *component;
+ QQmlComponent *component;
};
DeclarativeLoaderWidget::DeclarativeLoaderWidget(QWidget *parent)
return;
}
- d->component = new QDeclarativeComponent(qmlEngine(this), d->source, this);
+ d->component = new QQmlComponent(qmlEngine(this), d->source, this);
if (d->component->isLoading()) {
connect(d->component, SIGNAL(statusChanged(QDeclarativeComponent::Status)), this, SLOT(onStatusChanged()));
return;
void DeclarativeLoaderWidget::onStatusChanged()
{
if (d->component->isError()) {
- foreach (const QDeclarativeError &error, d->component->errors()) {
+ foreach (const QQmlError &error, d->component->errors()) {
qDebug() << error.toString();
}
return;
#include "staticdialogmethodattached_p.h"
-#include <qdeclarative.h>
+#include <qqml.h>
#include <QMessageBox>
class DeclarativeMessageBoxAttached : public StaticDialogMethodAttached
QVector<QObject*> m_children;
};
-//TODO: Find a solution to make the macro public but the usage of QMetaObjectBuilder private
-
-#include "qmetaobjectbuilder_p.h"
-
-#define CUSTOM_METAOBJECT(ClassName, ProxyObjectType) \
-QMetaObject ClassName::staticMetaObject;\
-bool ClassName::metaObjectInitialized = ClassName::initializeMetaObject(); \
-bool ClassName::initializeMetaObject() \
-{ \
- QMetaObjectBuilder builder; \
- const QMetaObject *mo = &ProxyObjectType::staticMetaObject; \
- builder.addMetaObject(mo); \
- builder.addMetaObject(&AbstractDeclarativeObject::staticMetaObject); \
- builder.setSuperClass(ProxyObjectType::staticMetaObject.superClass()); \
- builder.setClassName(""#ClassName); \
- ClassName::staticMetaObject = *builder.toMetaObject(); \
- return true; \
-} \
-const QMetaObject &ClassName::getStaticMetaObject() \
-{ \
- return ClassName::staticMetaObject; \
-} \
-const QMetaObject* ClassName::metaObject() const \
-{ \
- return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; \
-} \
-void* ClassName::qt_metacast(const char*) \
-{ \
- return 0; \
-} \
-int ClassName::qt_metacall(QMetaObject::Call call, int id, void **argv) \
-{ \
- if (call == QMetaObject::ReadProperty || call == QMetaObject::WriteProperty) { \
- if (id >= ProxyObjectType::staticMetaObject.propertyCount()) { \
- id = AbstractDeclarativeObject::qt_metacall(call, id - ProxyObjectType::staticMetaObject.propertyCount() + 1, argv); \
- id += ProxyObjectType::staticMetaObject.propertyCount() - 1; \
- } else { \
- id = m_proxiedObject->qt_metacall(call, id, argv); \
- } \
- if (id < 0) \
- return 0; \
- } else if (call == QMetaObject::InvokeMetaMethod) {\
- if (ClassName::staticMetaObject.method(id).methodType() == QMetaMethod::Signal) \
- QMetaObject::activate(this, id, argv); \
- else \
- id = m_proxiedObject->qt_metacall(call, id, argv); \
- id -= 1; \
- } \
- return id; \
-}
-
#endif
#ifndef DECLARATIVEPIXMAP_P_H
#define DECLARATIVEPIXMAP_P_H
-#include <qdeclarative.h>
+#include <qqml.h>
#include <QPixmap>
#include <QObject>
#include <QStringList>
#include "layoutcontainerinterface_p.h"
-#include <QDeclarativeInfo>
+#include <QQmlInfo>
#include <QWidget>
DeclarativeStackedLayout::DeclarativeStackedLayout(QObject *parent)
#include "declarativelayoutextension.h"
-#include <qdeclarative.h>
+#include <qqml.h>
#include <QStackedLayout>
class DeclarativeStackedLayout : public QStackedLayout
#include "declarativestatusbar_p.h"
-#include <QDeclarativeInfo>
+#include <QQmlInfo>
class DeclarativeStatusBarAttached::Private
{
#include "defaultwidgetcontainer.h"
-#include <qdeclarative.h>
+#include <qqml.h>
#include <QStatusBar>
class DeclarativeStatusBarAttached : public QObject
#include "declarativetabwidget_p.h"
-#include <QDeclarativeInfo>
+#include <QQmlInfo>
#include <QPointer>
class DeclarativeTabWidgetAttached::Private
#include "defaultwidgetcontainer.h"
-#include <qdeclarative.h>
+#include <qqml.h>
#include <QTabWidget>
class DeclarativeTabWidgetAttached : public QObject
#include "layoutcontainerinterface_p.h"
-#include <QDeclarativeInfo>
+#include <QQmlInfo>
#include <QWidget>
DeclarativeVBoxLayout::DeclarativeVBoxLayout(QObject *parent)
#include "declarativeboxlayout_p.h"
#include "declarativelayoutextension.h"
-#include <qdeclarative.h>
+#include <qqml.h>
#include <QVBoxLayout>
class DeclarativeVBoxLayout : public QVBoxLayout
#include "widgetcontainerinterface_p.h"
#include <QAction>
-#include <QDeclarativeInfo>
+#include <QQmlInfo>
#include <QEvent>
#include <QLayout>
#include <QWidget>
#include <QCoreApplication>
#include <QDateTimeEdit>
#include <QDebug>
-#include <QDeclarativeView>
-#include <QDeclarativeComponent>
-#include <QDeclarativeContext>
-#include <QDeclarativeEngine>
+#include <QQuickView>
+#include <QQmlComponent>
+#include <QQmlContext>
+#include <QQmlEngine>
#include <QDial>
#include <QDialogButtonBox>
#include <QDoubleSpinBox>
#include <QPlainTextEdit>
#include <QProgressBar>
#include <QRadioButton>
+#include <QScrollArea>
#include <QScrollBar>
#include <QStackedWidget>
#include <QStringListModel>
#include <QToolBar>
#include <QToolButton>
#include <QTreeView>
-#include <QWebView>
+//#include <QWebView>
class DeclarativeWidgetsDocument::Private
{
Private(DeclarativeWidgetsDocument *qq, const QUrl &url)
: q(qq)
, m_url(url)
- , m_engine(new QDeclarativeEngine(q))
- , m_component(new QDeclarativeComponent(m_engine, q))
+ , m_engine(new QQmlEngine(q))
+ , m_component(new QQmlComponent(m_engine, q))
{
}
DeclarativeWidgetsDocument* q;
QUrl m_url;
- QDeclarativeEngine* m_engine;
- QDeclarativeComponent* m_component;
+ QQmlEngine* m_engine;
+ QQmlComponent* m_component;
};
DeclarativeWidgetsDocument::DeclarativeWidgetsDocument(const QUrl &url, QObject *parent)
qmlRegisterExtendedType<QComboBox, DeclarativeComboBoxExtension>("QtWidgets", 1, 0, "ComboBox");
qmlRegisterExtendedType<QDateEdit, DeclarativeWidgetExtension>("QtWidgets", 1, 0, "DateEdit");
qmlRegisterExtendedType<QDateTimeEdit, DeclarativeWidgetExtension>("QtWidgets", 1, 0, "DateTimeEdit");
- qmlRegisterExtendedType<QDeclarativeView, DeclarativeDeclarativeViewExtension>("QtWidgets", 1, 0, "DeclarativeView");
+ qmlRegisterExtendedType<QQuickView, DeclarativeDeclarativeViewExtension>("QtWidgets", 1, 0, "DeclarativeView");
qmlRegisterExtendedType<QDial, DeclarativeWidgetExtension>("QtWidgets", 1, 0, "Dial");
qmlRegisterExtendedType<Dialog, DeclarativeWidgetExtension>("QtWidgets", 1, 0, "Dialog");
qmlRegisterExtendedType<QDialogButtonBox, DeclarativeWidgetExtension>("QtWidgets", 1, 0, "DialogButtonBox");
qmlRegisterExtendedType<QToolBar, DeclarativeContainerWidgetExtension<ToolBarWidgetContainer> >("QtWidgets", 1, 0, "ToolBar");
qmlRegisterExtendedType<QToolButton, DeclarativeWidgetExtension>("QtWidgets", 1, 0, "ToolButton");
qmlRegisterExtendedType<QTreeView, DeclarativeTreeViewExtension>("QtWidgets", 1, 0, "TreeView");
- qmlRegisterExtendedType<QWebView, DeclarativeWidgetExtension>("QtWidgets", 1, 0, "WebView");
+// qmlRegisterExtendedType<QWebView, DeclarativeWidgetExtension>("QtWidgets", 1, 0, "WebView");
+#warning Need to reenable WebView (QtWebKit)
qmlRegisterExtendedType<QWidget, DeclarativeWidgetExtension>("QtWidgets", 1, 0, "Widget");
d->m_component->loadUrl(d->m_url);
if (d->m_component->isError()) {
- foreach (const QDeclarativeError &error, d->m_component->errors())
+ foreach (const QQmlError &error, d->m_component->errors())
qDebug() << error.toString();
}
}
d->m_engine->rootContext()->setContextProperty(name, object);
}
-QDeclarativeEngine* DeclarativeWidgetsDocument::engine() const
+QQmlEngine* DeclarativeWidgetsDocument::engine() const
{
return d->m_engine;
}
#include <QObject>
#include <QUrl>
-class QDeclarativeEngine;
+class QQmlEngine;
class DeclarativeWidgetsDocument : public QObject
{
void setContextProperty(const QString &name, const QVariant &value);
void setContextProperty(const QString &name, QObject *object);
- QDeclarativeEngine* engine() const;
+ QQmlEngine* engine() const;
template <typename T>
T* create()
#include "defaultwidgetcontainer.h"
-#include <QDeclarativeInfo>
+#include <QQmlInfo>
#include <QLayout>
#include <QWidget>
#include "mainwindowwidgetcontainer_p.h"
-#include <QDeclarativeInfo>
+#include <QQmlInfo>
#include <QDialog>
#include <QMainWindow>
#include <QMenuBar>
#include "menubarwidgetcontainer_p.h"
-#include <QDeclarativeInfo>
+#include <QQmlInfo>
#include <QMenuBar>
MenuBarWidgetContainer::MenuBarWidgetContainer(QObject *parent)
#include "menuwidgetcontainer_p.h"
-#include <QDeclarativeInfo>
+#include <QQmlInfo>
#include <QMenu>
MenuWidgetContainer::MenuWidgetContainer(QObject *parent)
#include <QAbstractButton>
#include <QDebug>
-#include <QDeclarativeInfo>
+#include <QQmlInfo>
// DeclarativeContext
-DeclarativeContext::DeclarativeContext(QDeclarativeEngine *engine, QObject *parent)
+DeclarativeContext::DeclarativeContext(QQmlEngine *engine, QObject *parent)
: QObject(parent),
m_context(new QDeclarativeContext(engine, parent))
{
QList<QByteArray> classInfoNames;
QList<QByteArray> classInfoValues;
QList<QMetaEnumBuilderPrivate> enumerators;
-#ifdef Q_NO_DATA_RELOCATION
- QList<QMetaObjectAccessor> relatedMetaObjects;
-#else
QList<const QMetaObject *> relatedMetaObjects;
-#endif
int flags;
};
{
QMetaMethodBuilder method;
if (prototype.methodType() == QMetaMethod::Method)
- method = addMethod(prototype.signature());
+ method = addMethod(prototype.methodSignature());
else if (prototype.methodType() == QMetaMethod::Signal)
- method = addSignal(prototype.signature());
+ method = addSignal(prototype.methodSignature());
else if (prototype.methodType() == QMetaMethod::Slot)
- method = addSlot(prototype.signature());
+ method = addSlot(prototype.methodSignature());
else if (prototype.methodType() == QMetaMethod::Constructor)
- method = addConstructor(prototype.signature());
+ method = addConstructor(prototype.methodSignature());
method.setReturnType(prototype.typeName());
method.setParameterNames(prototype.parameterNames());
method.setTag(prototype.tag());
QMetaMethodBuilder QMetaObjectBuilder::addConstructor(const QMetaMethod& prototype)
{
Q_ASSERT(prototype.methodType() == QMetaMethod::Constructor);
- QMetaMethodBuilder ctor = addConstructor(prototype.signature());
+ QMetaMethodBuilder ctor = addConstructor(prototype.methodSignature());
ctor.setReturnType(prototype.typeName());
ctor.setParameterNames(prototype.parameterNames());
ctor.setTag(prototype.tag());
if (prototype.hasNotifySignal()) {
// Find an existing method for the notify signal, or add a new one.
QMetaMethod method = prototype.notifySignal();
- int index = indexOfMethod(method.signature());
+ int index = indexOfMethod(method.methodSignature());
if (index == -1)
index = addMethod(method).index();
d->properties[property._index].notifySignal = index;
\sa relatedMetaObjectCount(), relatedMetaObject()
\sa removeRelatedMetaObject()
*/
-#ifdef Q_NO_DATA_RELOCATION
-int QMetaObjectBuilder::addRelatedMetaObject(const QMetaObjectAccessor &meta)
-#else
int QMetaObjectBuilder::addRelatedMetaObject(const QMetaObject *meta)
-#endif
{
Q_ASSERT(meta);
int index = d->relatedMetaObjects.size();
}
if ((members & RelatedMetaObjects) != 0) {
-#ifdef Q_NO_DATA_RELOCATION
- const QMetaObjectAccessor *objects = 0;
-#else
const QMetaObject **objects;
- if (priv(prototype->d.data)->revision < 2) {
- objects = (const QMetaObject **)(prototype->d.extradata);
- } else
-#endif
- {
- const QMetaObjectExtraData *extra = (const QMetaObjectExtraData *)(prototype->d.extradata);
- if (extra)
- objects = extra->objects;
- else
- objects = 0;
- }
+ objects = prototype->d.relatedMetaObjects;
if (objects) {
while (*objects != 0) {
addRelatedMetaObject(*objects);
}
if ((members & StaticMetacall) != 0) {
- if (priv(prototype->d.data)->revision >= 6) {
- const QMetaObjectExtraData *extra =
- (const QMetaObjectExtraData *)(prototype->d.extradata);
- if (extra && extra->static_metacall)
- setStaticMetacallFunction(extra->static_metacall);
- }
+ if (prototype->d.static_metacall)
+ setStaticMetacallFunction(prototype->d.static_metacall);
}
}
const QMetaObject *QMetaObjectBuilder::relatedMetaObject(int index) const
{
if (index >= 0 && index < d->relatedMetaObjects.size())
-#ifdef Q_NO_DATA_RELOCATION
- return &((*(d->relatedMetaObjects[index]))());
-#else
return d->relatedMetaObjects[index];
-#endif
else
return 0;
}
// If "buf" is null, then return the number of bytes needed to
// build the QMetaObject. Returns -1 if the metaobject if
// relocatable is set, but the metaobject contains extradata.
-static int buildMetaObject(QMetaObjectBuilderPrivate *d, char *buf,
- bool relocatable)
+static int buildMetaObject(QMetaObjectBuilderPrivate *d, char *buf)
{
int size = 0;
int dataIndex;
int index;
bool hasNotifySignals = false;
- if (relocatable &&
- (d->relatedMetaObjects.size() > 0 || d->staticMetacallFunction))
- return -1;
-
// Create the main QMetaObject structure at the start of the buffer.
QMetaObject *meta = reinterpret_cast<QMetaObject *>(buf);
size += sizeof(QMetaObject);
ALIGN(size, int);
if (buf) {
- if (!relocatable) meta->d.superdata = d->superClass;
+ meta->d.superdata = d->superClass;
meta->d.extradata = 0;
}
size += dataIndex * sizeof(int);
char *str = reinterpret_cast<char *>(buf + size);
if (buf) {
- if (relocatable) {
- meta->d.stringdata = reinterpret_cast<const char *>((quintptr)size);
- meta->d.data = reinterpret_cast<uint *>((quintptr)pmetaSize);
- } else {
- meta->d.stringdata = str;
+ meta->d.stringdata = QTypedArrayData<char>::fromRawData(str,strlen(str));
meta->d.data = reinterpret_cast<uint *>(data);
- }
}
// Reset the current data position to just past the QMetaObjectPrivate.
// Output the zero terminator in the data array.
if (buf)
data[enumIndex] = 0;
-
+#if 0
// Create the extradata block if we need one.
if (d->relatedMetaObjects.size() > 0 || d->staticMetacallFunction) {
ALIGN(size, QMetaObject **);
reinterpret_cast<QMetaObjectExtraData *>(buf + size);
size += sizeof(QMetaObjectExtraData);
ALIGN(size, QMetaObject *);
-#ifdef Q_NO_DATA_RELOCATION
- QMetaObjectAccessor *objects =
- reinterpret_cast<QMetaObjectAccessor *>(buf + size);
-#else
const QMetaObject **objects =
reinterpret_cast<const QMetaObject **>(buf + size);
-#endif
if (buf) {
if (d->relatedMetaObjects.size() > 0) {
extra->objects = objects;
if (d->relatedMetaObjects.size() > 0)
size += sizeof(QMetaObject *) * (d->relatedMetaObjects.size() + 1);
}
-
+#endif
+#warning OUCH! Need to rewrite toMetaObject method!
// Align the final size and return it.
ALIGN(size, void *);
return size;
*/
QMetaObject *QMetaObjectBuilder::toMetaObject() const
{
- int size = buildMetaObject(d, 0, false);
- char *buf = reinterpret_cast<char *>(qMalloc(size));
+ int size = buildMetaObject(d, 0);
+ char *buf = reinterpret_cast<char *>(malloc(size));
memset(buf, 0, size);
- buildMetaObject(d, buf, false);
+ buildMetaObject(d, buf);
return reinterpret_cast<QMetaObject *>(buf);
}
-/*
- \internal
-
- Converts this meta object builder into relocatable data. This data can
- be stored, copied and later passed to fromRelocatableData() to create a
- concrete QMetaObject.
-
- The data is specific to the architecture on which it was created, but is not
- specific to the process that created it. Not all meta object builder's can
- be converted to data in this way. If \a ok is provided, it will be set to
- true if the conversion succeeds, and false otherwise. If a
- staticMetacallFunction() or any relatedMetaObject()'s are specified the
- conversion to relocatable data will fail.
-*/
-QByteArray QMetaObjectBuilder::toRelocatableData(bool *ok) const
-{
- int size = buildMetaObject(d, 0, true);
- if (size == -1) {
- if (ok) *ok = false;
- return QByteArray();
- }
-
- QByteArray data;
- data.resize(size);
- char *buf = data.data();
- memset(buf, 0, size);
- buildMetaObject(d, buf, true);
- if (ok) *ok = true;
- return data;
-}
-
-/*
- \internal
-
- Sets the \a data returned from toRelocatableData() onto a concrete
- QMetaObject instance, \a output. As the meta object's super class is not
- saved in the relocatable data, it must be passed as \a superClass.
-*/
-void QMetaObjectBuilder::fromRelocatableData(QMetaObject *output,
- const QMetaObject *superclass,
- const QByteArray &data)
-{
- if (!output)
- return;
-
- const char *buf = data.constData();
- const QMetaObject *dataMo = reinterpret_cast<const QMetaObject *>(buf);
-
- quintptr stringdataOffset = (quintptr)dataMo->d.stringdata;
- quintptr dataOffset = (quintptr)dataMo->d.data;
-
- output->d.superdata = superclass;
- output->d.stringdata = buf + stringdataOffset;
- output->d.data = reinterpret_cast<const uint *>(buf + dataOffset);
-}
/*!
\typedef QMetaObjectBuilder::StaticMetacallFunction
}
// Write the related meta objects.
-#ifdef Q_NO_DATA_RELOCATION
- //### What do we do here?
-#else
for (index = 0; index < d->relatedMetaObjects.size(); ++index) {
const QMetaObject *meta = d->relatedMetaObjects[index];
stream << QByteArray(meta->className());
}
-#endif
// Add an extra empty QByteArray for additional data in future versions.
// This should help maintain backwards compatibility, allowing older
}
// Read the related meta objects.
-#ifdef Q_NO_DATA_RELOCATION
- //### What do we do here
-#else
for (index = 0; index < relatedMetaObjectCount; ++index) {
if (stream.status() != QDataStream::Ok)
return;
}
addRelatedMetaObject(cl);
}
-#endif
// Read the extra data block, which is reserved for future use.
stream >> name;
int addClassInfo(const QByteArray& name, const QByteArray& value);
-#ifdef Q_NO_DATA_RELOCATION
- int addRelatedMetaObject(const QMetaObjectAccessor &meta);
-#else
int addRelatedMetaObject(const QMetaObject *meta);
-#endif
void addMetaObject(const QMetaObject *prototype, QMetaObjectBuilder::AddMembers members = AllMembers);
void setStaticMetacallFunction(QMetaObjectBuilder::StaticMetacallFunction value);
QMetaObject *toMetaObject() const;
- QByteArray toRelocatableData(bool * = 0) const;
- static void fromRelocatableData(QMetaObject *, const QMetaObject *, const QByteArray &);
#ifndef QT_NO_DATASTREAM
void serialize(QDataStream& stream) const;
#include "scrollareawidgetcontainer_p.h"
-#include <QDeclarativeInfo>
+#include <QQmlInfo>
#include <QScrollArea>
ScrollAreaWidgetContainer::ScrollAreaWidgetContainer(QObject *parent)
#include "stackedwidgetwidgetcontainer_p.h"
-#include <QDeclarativeInfo>
+#include <QQmlInfo>
#include <QStackedWidget>
StackedWidgetWidgetContainer::StackedWidgetWidgetContainer(QObject *parent)
#include "toolbarwidgetcontainer_p.h"
-#include <QDeclarativeInfo>
+#include <QQmlInfo>
#include <QToolBar>
ToolBarWidgetContainer::ToolBarWidgetContainer(QObject *parent)
#include <QApplication>
#include <QDebug>
-#include <QDeclarativeEngine>
+#include <QQmlEngine>
#include <QDir>
#include <QFileInfo>
#include <QWidget>
LIBS += -L lib -ldeclarativewidgets
-QT += declarative
+QT += qml widgets
# Input
SOURCES += \