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 }