File indexing completed on 2024-06-02 03:51:06
0001 // SPDX-License-Identifier: LGPL-2.1-or-later 0002 // 0003 // SPDX-FileCopyrightText: 2012 Illya Kovalevskyy <illya.kovalevskyy@gmail.com> 0004 // 0005 0006 #include "KmlTourControlTagHandler.h" 0007 #include "KmlPlaylistTagHandler.h" 0008 0009 #include "KmlElementDictionary.h" 0010 #include "KmlObjectTagHandler.h" 0011 #include "GeoParser.h" 0012 #include "GeoDataPlaylist.h" 0013 #include "GeoDataTourControl.h" 0014 0015 namespace Marble 0016 { 0017 namespace kml 0018 { 0019 KML_DEFINE_TAG_HANDLER_GX22( TourControl ) 0020 0021 GeoNode* KmlTourControlTagHandler::parse(GeoParser &parser) const 0022 { 0023 Q_ASSERT(parser.isStartElement() && parser.isValidElement(QLatin1String(kmlTag_TourControl))); 0024 0025 GeoStackItem parentItem = parser.parentElement(); 0026 0027 GeoDataTourControl *tourControl = new GeoDataTourControl; 0028 KmlObjectTagHandler::parseIdentifiers( parser, tourControl ); 0029 0030 if (parentItem.is<GeoDataPlaylist>()) { 0031 //parentItem.nodeAs<GeoDataPlaylist>()->append(tourControl); 0032 parentItem.nodeAs<GeoDataPlaylist>()->addPrimitive(tourControl); 0033 return tourControl; 0034 } else { 0035 delete tourControl; 0036 } 0037 0038 return nullptr; 0039 } 0040 0041 } // namespace kml 0042 } // namespace Marble