File indexing completed on 2024-06-02 03:51:01
0001 /* 0002 SPDX-FileCopyrightText: 2008 Patrick Spendrin <ps_ml@gmx.de> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "KmlColorModeTagHandler.h" 0008 0009 #include "MarbleDebug.h" 0010 #include "KmlElementDictionary.h" 0011 #include "GeoDataColorStyle.h" 0012 #include "GeoParser.h" 0013 0014 namespace Marble 0015 { 0016 namespace kml 0017 { 0018 KML_DEFINE_TAG_HANDLER( colorMode ) 0019 0020 GeoNode* KmlcolorModeTagHandler::parse( GeoParser& parser ) const 0021 { 0022 Q_ASSERT(parser.isStartElement() && parser.isValidElement(QLatin1String(kmlTag_colorMode))); 0023 0024 GeoStackItem parentItem = parser.parentElement(); 0025 0026 if ( parentItem.is<GeoDataColorStyle>() ) { 0027 if (parser.readElementText().trimmed() == QLatin1String("random")) { 0028 parentItem.nodeAs<GeoDataColorStyle>()->setColorMode( GeoDataColorStyle::Random ); 0029 } else { 0030 parentItem.nodeAs<GeoDataColorStyle>()->setColorMode( GeoDataColorStyle::Normal ); 0031 } 0032 } 0033 0034 return nullptr; 0035 } 0036 0037 } 0038 }