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 }