File indexing completed on 2024-06-02 03:51:03
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 "KmlLineStyleTagHandler.h" 0008 0009 #include "MarbleDebug.h" 0010 0011 #include "KmlElementDictionary.h" 0012 #include "KmlObjectTagHandler.h" 0013 #include "GeoDataStyle.h" 0014 #include "GeoDataLineStyle.h" 0015 #include "GeoParser.h" 0016 0017 namespace Marble 0018 { 0019 namespace kml 0020 { 0021 KML_DEFINE_TAG_HANDLER( LineStyle ) 0022 0023 GeoNode* KmlLineStyleTagHandler::parse( GeoParser& parser ) const 0024 { 0025 Q_ASSERT(parser.isStartElement() && parser.isValidElement(QLatin1String(kmlTag_LineStyle))); 0026 0027 GeoStackItem parentItem = parser.parentElement(); 0028 0029 if ( parentItem.represents( kmlTag_Style ) ) { 0030 GeoDataLineStyle style; 0031 KmlObjectTagHandler::parseIdentifiers( parser, &style ); 0032 parentItem.nodeAs<GeoDataStyle>()->setLineStyle( style ); 0033 return &parentItem.nodeAs<GeoDataStyle>()->lineStyle(); 0034 } 0035 return nullptr; 0036 } 0037 0038 } 0039 }