File indexing completed on 2024-06-02 03:50:59

0001 /*
0002     SPDX-FileCopyrightText: 2007 Nikolas Zimmermann <zimmermann@kde.org>
0003     SPDX-FileCopyrightText: 2008 Torsten Rahn <tackat@kde.org>
0004 
0005     SPDX-License-Identifier: LGPL-2.0-or-later
0006 */
0007 
0008 #include "DgmlLegendTagHandler.h"
0009 
0010 #include "MarbleDebug.h"
0011 
0012 #include "DgmlElementDictionary.h"
0013 #include "GeoParser.h"
0014 #include "GeoSceneDocument.h"
0015 #include "GeoSceneLegend.h"
0016 
0017 namespace Marble
0018 {
0019 namespace dgml
0020 {
0021 DGML_DEFINE_TAG_HANDLER(Legend)
0022 
0023 GeoNode* DgmlLegendTagHandler::parse(GeoParser& parser) const
0024 {
0025     Q_ASSERT(parser.isStartElement() && parser.isValidElement(QLatin1String(dgmlTag_Legend)));
0026 
0027     // Checking for parent item
0028     GeoStackItem parentItem = parser.parentElement();
0029     if (parentItem.represents(dgmlTag_Document))
0030         return parentItem.nodeAs<GeoSceneDocument>()->legend();
0031 
0032     return nullptr;
0033 }
0034 
0035 }
0036 }