QgsProjectParser::QgsProjectParser( QDomDocument* xmlDoc, const QString& filePath ): QgsConfigParser(), mXMLDoc( xmlDoc ), mProjectPath( filePath ) { mOutputUnits = QgsMapRenderer::Millimeters; setLegendParametersFromProject(); setSelectionColor(); setMaxWidthHeight(); //accelerate search for layers and groups if ( mXMLDoc ) { QDomNodeList layerNodeList = mXMLDoc->elementsByTagName( "maplayer" ); QDomElement currentElement; int nNodes = layerNodeList.size(); for ( int i = 0; i < nNodes; ++i ) { currentElement = layerNodeList.at( i ).toElement(); mProjectLayerElements.push_back( currentElement ); mProjectLayerElementsByName.insert( layerName( currentElement ), currentElement ); mProjectLayerElementsById.insert( layerId( currentElement ), currentElement ); } QDomElement legendElement = mXMLDoc->documentElement().firstChildElement( "legend" ); if ( !legendElement.isNull() ) { QDomNodeList groupNodeList = legendElement.elementsByTagName( "legendgroup" ); for ( int i = 0; i < groupNodeList.size(); ++i ) { mLegendGroupElements.push_back( groupNodeList.at( i ).toElement() ); } } } }
QgsProjectParser::QgsProjectParser( QDomDocument* xmlDoc, const QString& filePath ): QgsConfigParser(), mXMLDoc( xmlDoc ), mProjectPath( filePath ) { mOutputUnits = QgsMapRenderer::Millimeters; setLegendParametersFromProject(); setSelectionColor(); }