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

0001 // SPDX-License-Identifier: LGPL-2.1-or-later
0002 //
0003 // SPDX-FileCopyrightText: 2012 Mohammed Nafees <nafees.technocool@gmail.com>
0004 //
0005 
0006 #include "KmlDisplayModeTagHandler.h"
0007 
0008 #include "MarbleDebug.h"
0009 
0010 #include "KmlElementDictionary.h"
0011 #include "GeoDataBalloonStyle.h"
0012 #include "GeoDataParser.h"
0013 
0014 namespace Marble
0015 {
0016 namespace kml
0017 {
0018 KML_DEFINE_TAG_HANDLER( displayMode )
0019 
0020 GeoNode* KmldisplayModeTagHandler::parse( GeoParser& parser ) const
0021 {
0022     Q_ASSERT(parser.isStartElement() && parser.isValidElement(QLatin1String(kmlTag_displayMode)));
0023 
0024     GeoStackItem parentItem = parser.parentElement();
0025 
0026     if ( parentItem.represents( kmlTag_BalloonStyle ) )
0027     {
0028         QString mode = parser.readElementText().trimmed();
0029         GeoDataBalloonStyle::DisplayMode displayMode = GeoDataBalloonStyle::Default;
0030         if (mode == QLatin1String("default")) {
0031                 displayMode = GeoDataBalloonStyle::Default;
0032         } else if (mode == QLatin1String("hide")) {
0033                 displayMode = GeoDataBalloonStyle::Hide;
0034         }
0035 
0036         parentItem.nodeAs<GeoDataBalloonStyle>()->setDisplayMode( displayMode );
0037     }
0038     return nullptr;
0039 }
0040 
0041 }
0042 }