[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdeedu/marble/src/lib/geodata/handlers/kml
From: Bastian Holst <bastianholst () gmx ! de>
Date: 2009-08-26 20:41:31
Message-ID: 1251319291.343044.16869.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 1016033 by bholst:
Marble KmlParser: Adding handlers for LatLonAltBox.
M +27 -24 KmlAltitudeModeTagHandler.cpp
AM KmlEastTagHandler.cpp [License: LGPL]
AM KmlEastTagHandler.h [License: LGPL]
AM KmlMaxAltitudeTagHandler.cpp [License: LGPL]
AM KmlMaxAltitudeTagHandler.h [License: LGPL]
AM KmlMinAltitudeTagHandler.cpp [License: LGPL]
AM KmlMinAltitudeTagHandler.h [License: LGPL]
AM KmlNorthTagHandler.cpp [License: LGPL]
AM KmlNorthTagHandler.h [License: LGPL]
AM KmlSouthTagHandler.cpp [License: LGPL]
AM KmlSouthTagHandler.h [License: LGPL]
AM KmlWestTagHandler.cpp [License: LGPL]
AM KmlWestTagHandler.h [License: LGPL]
--- trunk/KDE/kdeedu/marble/src/lib/geodata/handlers/kml/KmlAltitudeModeTagHandler.cpp \
#1016032:1016033 @@ -1,5 +1,6 @@
/*
Copyright (C) 2008 Patrick Spendrin <ps_ml@gmx.de>
+ Copyright (C) 2009 Bastian Holst <bastianholst@gmx.de>
This file is part of the KDE project
@@ -41,38 +42,40 @@
{
Q_ASSERT( parser.isStartElement() && parser.isValidElement( kmlTag_altitudeMode \
) );
+ QString content = parser.readElementText().trimmed();
+
+ AltitudeMode mode;
+ if( content == QString( "relativeToGround" ) ) {
+ mode = RelativeToGround;
+ }
+ else if( content == QString( "absolute" ) ) {
+ mode = Absolute;
+ }
+ else { // clampToGround is Standard
+ mode = ClampToGround;
+ }
+
GeoStackItem parentItem = parser.parentElement();
-
- GeoDataGeometry* geometry;
- bool validParents = false;
- if( parentItem.is<GeoDataFeature>() &&
- parentItem.nodeAs<GeoDataFeature>()->featureId() == GeoDataPlacemarkId &&
- parentItem.represents( kmlTag_Point ) ) {
- geometry = parentItem.nodeAs<GeoDataPlacemark>()->geometry();
- validParents = true;
- } else if( parentItem.is<GeoDataGeometry>() &&
- parentItem.nodeAs<GeoDataPoint>()->geometryId() == GeoDataPointId ) {
- geometry = parentItem.nodeAs<GeoDataPoint>();
- validParents = true;
+ if ( parentItem.is<GeoDataFeature>()
+ && parentItem.nodeAs<GeoDataFeature>()->featureId() == GeoDataPlacemarkId
+ && parentItem.represents( kmlTag_Point ) )
+ {
+ parentItem.nodeAs<GeoDataPlacemark>()->geometry()->setAltitudeMode( mode );
}
+ else if ( parentItem.is<GeoDataGeometry>()
+ && parentItem.nodeAs<GeoDataPoint>()->geometryId() == GeoDataPointId )
+ {
+ parentItem.nodeAs<GeoDataPoint>()->setAltitudeMode( mode );
+ }
+ else if ( parentItem.is<GeoDataLatLonAltBox>() ) {
+ parentItem.nodeAs<GeoDataLatLonAltBox>()->setAltitudeMode( mode );
+ }
- if( validParents ) {
- QString content = parser.readElementText().trimmed();
-
- if( content == QString( "relativeToGround" ) ) {
- geometry->setAltitudeMode( RelativeToGround );
- } else if( content == QString( "absolute" ) ) {
- geometry->setAltitudeMode( Absolute );
- } else { // clampToGround is Standard
- geometry->setAltitudeMode( ClampToGround );
- }
#ifdef DEBUG_TAGS
qDebug() << "Parsed <" << kmlTag_altitudeMode << "> containing: " << content
<< " parent item name: " << parentItem.qualifiedName().first;
#endif
- }
-
return 0;
}
** trunk/KDE/kdeedu/marble/src/lib/geodata/handlers/kml/KmlEastTagHandler.cpp \
#property svn:eol-style + native
** trunk/KDE/kdeedu/marble/src/lib/geodata/handlers/kml/KmlEastTagHandler.h #property \
svn:eol-style + native
** trunk/KDE/kdeedu/marble/src/lib/geodata/handlers/kml/KmlMaxAltitudeTagHandler.cpp \
#property svn:eol-style + native
** trunk/KDE/kdeedu/marble/src/lib/geodata/handlers/kml/KmlMaxAltitudeTagHandler.h \
#property svn:eol-style + native
** trunk/KDE/kdeedu/marble/src/lib/geodata/handlers/kml/KmlMinAltitudeTagHandler.cpp \
#property svn:eol-style + native
** trunk/KDE/kdeedu/marble/src/lib/geodata/handlers/kml/KmlMinAltitudeTagHandler.h \
#property svn:eol-style + native
** trunk/KDE/kdeedu/marble/src/lib/geodata/handlers/kml/KmlNorthTagHandler.cpp \
#property svn:eol-style + native
** trunk/KDE/kdeedu/marble/src/lib/geodata/handlers/kml/KmlNorthTagHandler.h \
#property svn:eol-style + native
** trunk/KDE/kdeedu/marble/src/lib/geodata/handlers/kml/KmlSouthTagHandler.cpp \
#property svn:eol-style + native
** trunk/KDE/kdeedu/marble/src/lib/geodata/handlers/kml/KmlSouthTagHandler.h \
#property svn:eol-style + native
** trunk/KDE/kdeedu/marble/src/lib/geodata/handlers/kml/KmlWestTagHandler.cpp \
#property svn:eol-style + native
** trunk/KDE/kdeedu/marble/src/lib/geodata/handlers/kml/KmlWestTagHandler.h #property \
svn:eol-style + native
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic