Example #1
0
QgsLayerTreeLayer* QgsLayerTreeLayer::readXML( QDomElement& element )
{
    if ( element.tagName() != "layer-tree-layer" )
        return 0;

    QString layerID = element.attribute( "id" );
    QString layerName = element.attribute( "name" );
    Qt::CheckState checked = QgsLayerTreeUtils::checkStateFromXml( element.attribute( "checked" ) );
    bool isExpanded = ( element.attribute( "expanded", "1" ) == "1" );

    QgsLayerTreeLayer* nodeLayer = 0;

    QgsMapLayer* layer = QgsMapLayerRegistry::instance()->mapLayer( layerID );

    if ( layer )
        nodeLayer = new QgsLayerTreeLayer( layer );
    else
        nodeLayer = new QgsLayerTreeLayer( layerID, layerName );

    nodeLayer->readCommonXML( element );

    nodeLayer->setVisible( checked );
    nodeLayer->setExpanded( isExpanded );
    return nodeLayer;
}