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