File indexing completed on 2024-06-02 03:50:58
0001 /* 0002 SPDX-FileCopyrightText: 2008 Nikolas Zimmermann <zimmermann@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "DgmlDiscreteTagHandler.h" 0008 0009 #include "DgmlElementDictionary.h" 0010 #include "DgmlAuxillaryDictionary.h" 0011 #include "GeoParser.h" 0012 #include "GeoSceneZoom.h" 0013 0014 namespace Marble 0015 { 0016 namespace dgml 0017 { 0018 DGML_DEFINE_TAG_HANDLER(Discrete) 0019 0020 GeoNode* DgmlDiscreteTagHandler::parse(GeoParser& parser) const 0021 { 0022 // Check whether the tag is valid 0023 Q_ASSERT(parser.isStartElement() && parser.isValidElement(QLatin1String(dgmlTag_Discrete))); 0024 0025 // Checking for parent item 0026 GeoStackItem parentItem = parser.parentElement(); 0027 if (parentItem.represents(dgmlTag_Zoom)) { 0028 QString parsedText = parser.readElementText().toLower().trimmed(); 0029 parentItem.nodeAs<GeoSceneZoom>()->setDiscrete(parsedText == dgmlValue_true || parsedText == dgmlValue_on); 0030 } 0031 0032 return nullptr; 0033 } 0034 0035 } 0036 }