Marble

DgmlMinimumTagHandler.cpp
1 /*
2  SPDX-FileCopyrightText: 2008 Nikolas Zimmermann <[email protected]>
3 
4  SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6 
7 #include "DgmlMinimumTagHandler.h"
8 
9 #include "DgmlElementDictionary.h"
10 #include "GeoParser.h"
11 #include "GeoSceneZoom.h"
12 
13 namespace Marble
14 {
15 namespace dgml
16 {
17 DGML_DEFINE_TAG_HANDLER(Minimum)
18 
19 GeoNode* DgmlMinimumTagHandler::parse(GeoParser& parser) const
20 {
21  // Check whether the tag is valid
22  Q_ASSERT(parser.isStartElement() && parser.isValidElement(QLatin1String(dgmlTag_Minimum)));
23 
24  // Checking for parent item
25  GeoStackItem parentItem = parser.parentElement();
26  if (parentItem.represents(dgmlTag_Zoom)) {
27  QString parsedText = parser.readElementText();
28 
29  bool ok = false;
30  int parsedInt = parsedText.toInt(&ok);
31 
32  if (ok)
33  parentItem.nodeAs<GeoSceneZoom>()->setMinimum(parsedInt);
34  else
35  parser.raiseWarning(QObject::tr("Could not convert <minimum> child text content to integer. Was: '%1'").arg(parsedText));
36  }
37 
38 
39  return nullptr;
40 }
41 
42 }
43 }
int toInt(bool *ok, int base) const const
Binds a QML item to a specific geodetic location in screen coordinates.
QString tr(const char *sourceText, const char *disambiguation, int n)
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Mon Oct 2 2023 03:52:07 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.