File indexing completed on 2024-06-02 03:51:06

0001 // SPDX-License-Identifier: LGPL-2.1-or-later
0002 //
0003 // SPDX-FileCopyrightText: 2013 Sanjiban Bairagya <sanjiban22393@gmail.com>
0004 //
0005 
0006 #include "KmlTargetHrefTagHandler.h"
0007 
0008 #include "MarbleDebug.h"
0009 
0010 #include "KmlElementDictionary.h"
0011 #include "GeoParser.h"
0012 #include "GeoDataAlias.h"
0013 #include "GeoDataUpdate.h"
0014 
0015 
0016 namespace Marble
0017 {
0018 namespace kml
0019 {
0020 KML_DEFINE_TAG_HANDLER( targetHref )
0021 
0022 GeoNode* KmltargetHrefTagHandler::parse( GeoParser& parser ) const
0023 {
0024     Q_ASSERT(parser.isStartElement() && parser.isValidElement(QLatin1String(kmlTag_targetHref)));
0025 
0026     GeoStackItem parentItem = parser.parentElement();
0027     QString content = parser.readElementText().trimmed();
0028 
0029     if ( parentItem.is<GeoDataAlias>() ){
0030         parentItem.nodeAs<GeoDataAlias>()->setTargetHref( content );
0031     }
0032     else if ( parentItem.is<GeoDataUpdate>() ){
0033         parentItem.nodeAs<GeoDataUpdate>()->setTargetHref( content );
0034     }
0035 
0036     return nullptr;
0037 }
0038 
0039 }
0040 }