File indexing completed on 2024-06-02 03:51:06
0001 /* 0002 SPDX-FileCopyrightText: 2008-2009 Patrick Spendrin <ps_ml@gmx.de> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "KmlStyleMapTagHandler.h" 0008 0009 #include "MarbleDebug.h" 0010 0011 #include "KmlElementDictionary.h" 0012 #include "KmlObjectTagHandler.h" 0013 #include "GeoDataFeature.h" 0014 #include "GeoDataDocument.h" 0015 #include "GeoDataStyleMap.h" 0016 0017 #include "GeoParser.h" 0018 0019 namespace Marble 0020 { 0021 namespace kml 0022 { 0023 KML_DEFINE_TAG_HANDLER( StyleMap ) 0024 0025 GeoNode* KmlStyleMapTagHandler::parse( GeoParser& parser ) const 0026 { 0027 Q_ASSERT(parser.isStartElement() && parser.isValidElement(QLatin1String(kmlTag_StyleMap))); 0028 0029 GeoStackItem parentItem = parser.parentElement(); 0030 0031 if( parentItem.represents( kmlTag_Document ) ) { 0032 GeoDataStyleMap styleMap; 0033 KmlObjectTagHandler::parseIdentifiers( parser, &styleMap ); 0034 parentItem.nodeAs<GeoDataDocument>()->addStyleMap( styleMap ); 0035 return &parentItem.nodeAs<GeoDataDocument>()->styleMap( styleMap.id() ); 0036 } else if( parentItem.is<GeoDataFeature>() ) { 0037 /* GeoDataStyleMap styleMap; 0038 parentItem.nodeAs<GeoDataFeature>()->setStyleMap( styleMap );*/ 0039 } 0040 0041 return nullptr; 0042 } 0043 0044 } 0045 }