MerDevicesXmlReader::MerDevicesXmlReader(const QString &fileName, QObject *parent) : QObject(parent), d(new MerDevicesXmlReaderPrivate) { Utils::FileReader reader; d->error = !reader.fetch(fileName, QIODevice::ReadOnly); if (d->error) { d->errorString = reader.errorString(); return; } QXmlSchema schema; schema.setMessageHandler(&d->messageHandler); Utils::FileReader schemeReader; d->error = !schemeReader.fetch(QString::fromLatin1("%1/mer/devices.xsd").arg(sharedDirPath()), QIODevice::ReadOnly); if (d->error) { d->errorString = schemeReader.errorString(); return; } schema.load(schemeReader.data()); d->error = !schema.isValid(); if (d->error) { d->errorString = d->messageHandler.errorString(); return; } QXmlSchemaValidator validator(schema); validator.setMessageHandler(&d->messageHandler); d->error = !validator.validate(reader.data()); if (d->error) { d->errorString = d->messageHandler.errorString(); return; } d->query.setQuery(QString::fromLatin1("doc('%1')").arg(fileName)); d->query.setMessageHandler(&d->messageHandler); d->error = !d->query.isValid(); if (d->error) { d->errorString = d->messageHandler.errorString(); return; } d->error = !d->query.evaluateTo(d->receiver); if (d->error) d->errorString = d->messageHandler.errorString(); }
PropertyEditor::NodeType::NodeType(PropertyEditor *propertyEditor) : m_view(new DeclarativeWidgetView), m_propertyEditorTransaction(new PropertyEditorTransaction(propertyEditor)), m_dummyPropertyEditorValue(new PropertyEditorValue()), m_contextObject(new PropertyEditorContextObject()) { Q_ASSERT(QFileInfo(":/images/button_normal.png").exists()); QDeclarativeContext *ctxt = m_view->rootContext(); m_view->engine()->setOutputWarningsToStandardError(debug); m_view->engine()->addImportPath(sharedDirPath() + QLatin1String("/propertyeditor")); m_dummyPropertyEditorValue->setValue("#000000"); ctxt->setContextProperty("dummyBackendValue", m_dummyPropertyEditorValue.data()); m_contextObject->setBackendValues(&m_backendValuesPropertyMap); ctxt->setContextObject(m_contextObject.data()); connect(&m_backendValuesPropertyMap, SIGNAL(valueChanged(QString,QVariant)), propertyEditor, SLOT(changeValue(QString))); }
static inline QString propertyTemplatesPath() { return sharedDirPath() + QLatin1String("/propertyeditor/PropertyTemplates/"); }