本文整理汇总了C++中qmljs::document::Ptr::setSource方法的典型用法代码示例。如果您正苦于以下问题:C++ Ptr::setSource方法的具体用法?C++ Ptr::setSource怎么用?C++ Ptr::setSource使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qmljs::document::Ptr
的用法示例。
在下文中一共展示了Ptr::setSource方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: propertyBaseClass
QString ObjectPropertiesView::propertyBaseClass(const QDeclarativeDebugObjectReference &object, const QDeclarativeDebugPropertyReference &property, int &depth)
{
ExtensionSystem::PluginManager *pluginManager = ExtensionSystem::PluginManager::instance();
QmlJSEditor::ModelManagerInterface *modelManager = pluginManager->getObject<QmlJSEditor::ModelManagerInterface>();
QmlJS::Snapshot snapshot = modelManager->snapshot();
QmlJS::Document::Ptr document = snapshot.document(object.source().url().path());
if (document.isNull()) {
QFile inFile(object.source().url().path());
QString contents;
if (inFile.open(QIODevice::ReadOnly)) {
QTextStream ins(&inFile);
contents = ins.readAll();
inFile.close();
}
document = QmlJS::Document::create(object.source().url().path());
document->setSource(contents);
if (!document->parse())
return QString();
snapshot.insert(document);
}
PropertyTypeFinder find(document, snapshot, modelManager->importPaths());
QString baseClassName = find(object.source().lineNumber(), object.source().columnNumber(), property.name());
if (baseClassName.isEmpty()) {
if (!object.idString().isEmpty())
baseClassName = object.idString();
else
baseClassName = QString("<%1>").arg(object.className());
}
depth = find.depth();
return baseClassName;
}