bool QgsMeshLayer::writeXml( QDomNode &layer_node, QDomDocument &document, const QgsReadWriteContext &context ) const { // first get the layer element so that we can append the type attribute QDomElement mapLayerNode = layer_node.toElement(); if ( mapLayerNode.isNull() || ( QLatin1String( "maplayer" ) != mapLayerNode.nodeName() ) ) { QgsDebugMsgLevel( QStringLiteral( "can't find <maplayer>" ), 2 ); return false; } mapLayerNode.setAttribute( QStringLiteral( "type" ), QStringLiteral( "mesh" ) ); // add provider node if ( mDataProvider ) { QDomElement provider = document.createElement( QStringLiteral( "provider" ) ); QDomText providerText = document.createTextNode( providerType() ); provider.appendChild( providerText ); layer_node.appendChild( provider ); } // renderer specific settings QString errorMsg; return writeSymbology( layer_node, document, errorMsg, context ); }
bool QgsProjectBadLayerGuiHandler::findLayer( QString const & fileFilters, QDomNode const & constLayerNode ) { // XXX actually we could possibly get away with a copy of the node QDomNode & layerNode = const_cast<QDomNode&>( constLayerNode ); bool retVal = false; switch ( providerType( layerNode ) ) { case IS_FILE: QgsDebugMsg( "layer is file based" ); retVal = findMissingFile( fileFilters, layerNode ); break; case IS_DATABASE: QgsDebugMsg( "layer is database based" ); break; case IS_URL: QgsDebugMsg( "layer is URL based" ); break; case IS_Unknown: QgsDebugMsg( "layer has an unknown type" ); break; } return retVal; } // findLayer
QString QgsMeshLayer::encodedSource( const QString &source, const QgsReadWriteContext &context ) const { QString src( source ); if ( providerType() == QLatin1String( "mdal" ) ) { src = context.pathResolver().writePath( src ); } return src; }
bool QgsMeshLayer::writeXml( QDomNode &layer_node, QDomDocument &document, const QgsReadWriteContext &context ) const { // first get the layer element so that we can append the type attribute QDomElement mapLayerNode = layer_node.toElement(); if ( mapLayerNode.isNull() || ( QLatin1String( "maplayer" ) != mapLayerNode.nodeName() ) ) { QgsDebugMsgLevel( QStringLiteral( "can't find <maplayer>" ), 2 ); return false; } mapLayerNode.setAttribute( QStringLiteral( "type" ), QStringLiteral( "mesh" ) ); // add provider node if ( mDataProvider ) { QDomElement provider = document.createElement( QStringLiteral( "provider" ) ); QDomText providerText = document.createTextNode( providerType() ); provider.appendChild( providerText ); layer_node.appendChild( provider ); const QStringList extraDatasetUris = mDataProvider->extraDatasets(); QDomElement elemExtraDatasets = document.createElement( QStringLiteral( "extra-datasets" ) ); for ( const QString &uri : extraDatasetUris ) { QString path = context.pathResolver().writePath( uri ); QDomElement elemUri = document.createElement( QStringLiteral( "uri" ) ); elemUri.appendChild( document.createTextNode( path ) ); elemExtraDatasets.appendChild( elemUri ); } layer_node.appendChild( elemExtraDatasets ); } // renderer specific settings QString errorMsg; return writeSymbology( layer_node, document, errorMsg, context ); }