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 }