File indexing completed on 2024-06-02 03:51:06
0001 // SPDX-License-Identifier: LGPL-2.1-or-later 0002 // 0003 // SPDX-FileCopyrightText: 2013 Mayank Madan <maddiemadan@gmail.com> 0004 // 0005 0006 #include "KmlViewRefreshModeTagHandler.h" 0007 0008 #include "GeoDataLink.h" 0009 #include "GeoParser.h" 0010 #include "KmlElementDictionary.h" 0011 0012 namespace Marble 0013 { 0014 namespace kml 0015 { 0016 0017 KML_DEFINE_TAG_HANDLER( viewRefreshMode ) 0018 0019 GeoNode* KmlviewRefreshModeTagHandler::parse( GeoParser& parser ) const 0020 { 0021 Q_ASSERT(parser.isStartElement() && parser.isValidElement(QLatin1String(kmlTag_viewRefreshMode))); 0022 0023 GeoStackItem parentItem = parser.parentElement(); 0024 if ( parentItem.is<GeoDataLink>() ) { 0025 QString content = parser.readElementText().trimmed(); 0026 0027 GeoDataLink::ViewRefreshMode mode = GeoDataLink::Never; 0028 if (content == QLatin1String("onStop")) { 0029 mode = GeoDataLink::OnStop; 0030 } else if (content == QLatin1String("onRegion")) { 0031 mode = GeoDataLink::OnRegion; 0032 } else if (content == QLatin1String("onRequest")) { 0033 mode = GeoDataLink::OnRequest; 0034 } 0035 0036 parentItem.nodeAs<GeoDataLink>()->setViewRefreshMode( mode ); 0037 } 0038 0039 return nullptr; 0040 } 0041 0042 } 0043 }